From 92b5cd0b21f26cea4b6b19850f9ff869b5c50c16 Mon Sep 17 00:00:00 2001 From: parthmaheshwari Date: Wed, 11 Mar 2020 02:54:46 +0530 Subject: [PATCH] Initial commit --- Minor2.cbp | 47 + Minor2.depend | 62 + Minor2.layout | 10 + Start.cpp | 461 ++++++ Start.o | Bin 0 -> 90155 bytes bin/Debug/Minor2.exe | Bin 0 -> 1224455 bytes bin/Debug/libmysql.dll | Bin 0 -> 1449984 bytes bin/Debug/mysqlfileimportexport.dll | Bin 0 -> 12288 bytes c language - Shortcut.lnk | Bin 0 -> 1087 bytes indexing/common_lang_constants.h | 185 +++ indexing/string_util.h | 1235 ++++++++++++++ main.cpp | 9 + obj/Debug/Start.o | Bin 0 -> 222232 bytes obj/Debug/main.o | Bin 0 -> 11670 bytes stemming/danish_stem.h | 268 +++ stemming/dutch_stem.h | 318 ++++ stemming/english_stem.h | 1003 ++++++++++++ stemming/finnish_stem.h | 550 +++++++ stemming/french_stem.h | 1398 ++++++++++++++++ stemming/german_stem.h | 280 ++++ stemming/italian_stem.h | 902 +++++++++++ stemming/norwegian_stem.h | 308 ++++ stemming/portuguese_stem.h | 1016 ++++++++++++ stemming/russian_stem.h | 540 ++++++ stemming/spanish_stem.h | 1398 ++++++++++++++++ stemming/stemming.h | 2341 +++++++++++++++++++++++++++ stemming/swedish_stem.h | 332 ++++ stopwords.txt | 536 ++++++ utilities/debug_logic.h | 77 + utilities/safe_math.h | 115 ++ utilities/utilities.h | 164 ++ 31 files changed, 13555 insertions(+) create mode 100755 Minor2.cbp create mode 100755 Minor2.depend create mode 100755 Minor2.layout create mode 100755 Start.cpp create mode 100755 Start.o create mode 100755 bin/Debug/Minor2.exe create mode 100755 bin/Debug/libmysql.dll create mode 100755 bin/Debug/mysqlfileimportexport.dll create mode 100755 c language - Shortcut.lnk create mode 100755 indexing/common_lang_constants.h create mode 100755 indexing/string_util.h create mode 100755 main.cpp create mode 100755 obj/Debug/Start.o create mode 100755 obj/Debug/main.o create mode 100755 stemming/danish_stem.h create mode 100755 stemming/dutch_stem.h create mode 100755 stemming/english_stem.h create mode 100755 stemming/finnish_stem.h create mode 100755 stemming/french_stem.h create mode 100755 stemming/german_stem.h create mode 100755 stemming/italian_stem.h create mode 100755 stemming/norwegian_stem.h create mode 100755 stemming/portuguese_stem.h create mode 100755 stemming/russian_stem.h create mode 100755 stemming/spanish_stem.h create mode 100755 stemming/stemming.h create mode 100755 stemming/swedish_stem.h create mode 100755 stopwords.txt create mode 100755 utilities/debug_logic.h create mode 100755 utilities/safe_math.h create mode 100755 utilities/utilities.h diff --git a/Minor2.cbp b/Minor2.cbp new file mode 100755 index 0000000..694c7ee --- /dev/null +++ b/Minor2.cbp @@ -0,0 +1,47 @@ + + + + + + diff --git a/Minor2.depend b/Minor2.depend new file mode 100755 index 0000000..6bb69fe --- /dev/null +++ b/Minor2.depend @@ -0,0 +1,62 @@ +# depslib dependency file v1.0 +1446667744 source:c:\users\parthmaheswari\documents\c language\minor2\main.cpp + + +1526219939 source:c:\users\parthmaheswari\documents\c language\minor2\start.cpp + + + + + + + + + + "stemming/english_stem.h" + +1475890966 c:\users\parthmaheswari\documents\c language\minor2\stemming\english_stem.h + "stemming.h" + +1475890966 c:\users\parthmaheswari\documents\c language\minor2\stemming\stemming.h + + "../indexing/string_util.h" + "../indexing/common_lang_constants.h" + +1475890966 c:\users\parthmaheswari\documents\c language\minor2\indexing\string_util.h + + + + + + + + + + + + + + "common_lang_constants.h" + "../utilities/safe_math.h" + "../utilities/utilities.h" + "../utilities/debug_logic.h" + +1475890966 c:\users\parthmaheswari\documents\c language\minor2\indexing\common_lang_constants.h + + +1475890966 c:\users\parthmaheswari\documents\c language\minor2\utilities\safe_math.h + + + + +1475890966 c:\users\parthmaheswari\documents\c language\minor2\utilities\utilities.h + + + + + +1475890966 c:\users\parthmaheswari\documents\c language\minor2\utilities\debug_logic.h + + + + diff --git a/Minor2.layout b/Minor2.layout new file mode 100755 index 0000000..2e237d4 --- /dev/null +++ b/Minor2.layout @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Start.cpp b/Start.cpp new file mode 100755 index 0000000..ac5ebfe --- /dev/null +++ b/Start.cpp @@ -0,0 +1,461 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "stemming/english_stem.h" + +using namespace std; +string id,gfname,glname,phone,gemail,age,resume_name; + +class FileProcessor { +private: + string input_filename, resume_filename, p_resume_filename, txt = ".txt", ptxt = "_processed.txt", space = " "; + ifstream resume_file, stopword_file; // Open the files under these names. + ofstream processed_resume_file; // To store the processed Resume File. + char resume_word[50]; + char contact[14], fname[20] , lname[20], email[40]; + string sw = "stopwords.txt"; // File containing stop words. + + void CaseLower(char *); // To change words to lower Case. + char *FindNumber(); + + void FindName(); + + char *FindEmail(); + +public: + void StopWord(string); // To remove stop words. + void FindDetails(); // To extract details such as names,Contact no. etc + void RemoveComma(char[]); + void stem_func(char[]); +}; + + +void FileProcessor::FindDetails() { + int qstate; + MYSQL* conn; + string sname, pros_resume_name; + resume_file.open(p_resume_filename.c_str()); + cout<> resume_word; + word = resume_word; + if (strlen(word) >= 10) { + if (word[0] == '+' || (word[0] >= 48 && word[0] <= 57)) { + flag = 't'; + break; + } + } + } + if (flag == 't'){ + return word; + } + else + return "NA"; +} + +char *FileProcessor::FindEmail() // E-MAIL +{ + size_t i; + char *word, email[40]; + while (resume_file.good()) { + resume_file >> resume_word; + word = resume_word; + for (i = 0; i < strlen(word); i++) { + if (word[i] == '@') { + strcpy(email,word); + return email; + } + } + } + return "NA"; +} + + +void FileProcessor::FindName() // NAME +{ + size_t i, count = 0; + char *word, flag; + while (resume_file.good()) { + if (count > 1) + break; + resume_file >> resume_word; + word = resume_word; + for (i = 0; i < strlen(word); i++) { + if (((word[i] >= 65 && word[i] <= 90) || + (word[i] >= 97 && word[i] <= 122))) { // Not a letter of Alphabet + flag = 't'; + } else { + flag = 'f'; + break; + } + } + if (count == 1 && flag == 't') { + strcpy(lname , word); + if (islower(lname[0])) lname[0] = toupper(lname[0]); + count++; + } else if (count == 0 && flag == 't') { + strcpy(fname , word); + if (islower(fname[0])) fname[0] = toupper(fname[0]); + count++; + + } + } +} + + +void FileProcessor::CaseLower(char *word) { + for (size_t i = 0; i < strlen(word); i++) { + if (isupper(word[i])) word[i] = tolower(word[i]); + } +} + +void FileProcessor::StopWord(string x) { + + + cin.clear(); + //cin >> input_filename; // Enter the name of the Resume File. + input_filename = x; + resume_filename = "C:\\Users\\Parthmaheswari\\Documents\\c language\\Minor2\\Resume\\" + input_filename + txt; + + p_resume_filename = input_filename + ptxt; + + resume_file.open(resume_filename.c_str()); + if (!resume_file.is_open()) { + exit(EXIT_FAILURE); + } + + char stop_word[50]; + + stopword_file.open(sw.c_str()); + if (!stopword_file.is_open()) { + + exit(EXIT_FAILURE); + } + int is_a_stop_word; + + processed_resume_file.open(p_resume_filename.c_str()); + if (!processed_resume_file.is_open()) { + exit(EXIT_FAILURE); + } + + while (resume_file.good()) { + resume_file >> resume_word; + CaseLower(resume_word); + RemoveComma(resume_word); + stem_func(resume_word); + is_a_stop_word = 0; + stopword_file.clear(); + stopword_file.seekg(0, ios::beg); + stopword_file >> stop_word; + + while (stopword_file.good()) { + if (std::strcmp(resume_word, stop_word) == 0) // if it is a stop word. + { + is_a_stop_word = 1; + break; + } + stopword_file >> stop_word; + } + if (is_a_stop_word) { + resume_file >> resume_word; + continue; + } + processed_resume_file << resume_word; + processed_resume_file << space; + } + FindDetails(); + resume_file.close(); + stopword_file.close(); + processed_resume_file.close(); + + system("PAUSE"); + +} + +void FileProcessor::RemoveComma(char word[]) +{ + for(int i=0;i<50;i++) + { + if(word[i]==','||word[i]==';') + word[i] = ' '; + } +} + +void FileProcessor::stem_func(char *input){ + //string input; + //cin>>input; + string str(input); + wstring str2(str.length(), L' '); + copy(str.begin(), str.end(), str2.begin()); + wstring word(str2); + stemming::english_stem<> StemEnglish; + //wcout << L"(English) Original text:\t" << word.c_str() << endl; + StemEnglish(word); + //wcout << L"(English) Stemmed text:\t" << word.c_str() << endl; +} + +int main() +{ + FileProcessor worker; + MYSQL_ROW row; + MYSQL_RES *res; + char cont; + int qstate; + int choice; + MYSQL* conn; + + conn = mysql_init(0); + + conn = mysql_real_connect(conn,"localhost","root","","recruitment",0,NULL,0); + do { + if (conn) { + cout << "Welcome to Recruitment Portal" << endl; + cout << "Connection to database successful " << endl; + cout << "Enter your choice:" << endl; + cout << "1. Insert a record" << endl; + cout << "2. Delete a record" << endl; + cout << "3. Search for a record" << endl; + cout << "4. Display all records" << endl; + cout << "5. Filter records" << endl; + //cout<<"6. Process resume"<> choice; + + switch (choice) { + + case (1) : { + + cout << "Enter EnrollmentId: " << endl; + cin >> id; + //cout<<"Enter First Name: "<>fname; + //cout<<"Enter Last Name: "<>lname; + //cout<<"Enter MobileNo: "<>phone; + //cout<<"Enter Email: "<>email; + //cout<<"Enter Resume: "<>resume_name; + + string proc_resume; + proc_resume = id + "_processed"; + + worker.StopWord(id); + + string query = + "insert into recruitment_info(FName,LName,Mob,Email,EnrollmentID,Resume,ProcessedResume) values('" + + gfname + "','" + glname + "','" + phone + "','" + gemail + "','" + id + "','" + id + "','" + + proc_resume + "')"; + + const char *q = query.c_str(); + + cout << "query is: " << q << endl << endl; + qstate = mysql_query(conn, q); + + if (!qstate) { + cout << "record inserted successfully..." << endl; + } else + cout << "query problem: " << mysql_error(conn) << endl; + } + + break; + + + case (2) : { + string delete_id, delete_query; + cout << "Enter Enrollment number of student to be deleted" << endl; + cin >> delete_id; + delete_query = "delete from recruitment_info where EnrollmentID = " + delete_id; + qstate = mysql_query(conn, delete_query.c_str()); + if (!qstate) + cout << "record deleted successfully..." << endl; + else + cout << "query problem: " << mysql_error(conn) << endl; + } + + break; + + case (3) : { + string rno, resume_query, open_loc; + char x[20]; + ifstream inFile; + cout << "Enter Enrollment number" << endl; + cin >> rno; + resume_query = "select Resume from recruitment_info where EnrollmentId = " + rno; + qstate = mysql_query(conn, resume_query.c_str()); + if (!qstate) { + res = mysql_store_result(conn); + row = mysql_fetch_row(res); + cout << "File name is " << row[0] << ".txt" << endl << endl; + } else + cout << "query error: " << mysql_error(conn) << endl; + + open_loc = "C:\\Users\\Parthmaheswari\\Documents\\c language\\Minor2\\Resume\\" + rno + ".txt"; + inFile.open(open_loc.c_str()); + if (!inFile) { + cout << "Unable to open file " << rno << ".txt"; + exit(1); // call system to stop + } + int wcount = 0; + while (inFile.eof() == 0 && wcount < 40) { + inFile >> x; + cout << x << " "; + wcount++; + } + inFile.close(); + + } + + case (4) : { + qstate = mysql_query(conn, "select * from recruitment_info"); + + if (!qstate) { + res = mysql_store_result(conn); + while (row = mysql_fetch_row(res)) { + cout << "name: " << row[0] << " " + << "age: " << row[1] << " " + << "phone: " << row[2] << " " + << "email: " << row[3] << " " + << "id: " << row[4] << endl; + } + } else + cout << "query error: " << mysql_error(conn) << endl; + } + + case (5) : { + int i = 0, j = 0, ns, wf = 0, num_rows, + total_words = 0, flag = 1, temp; + float tf, idf; + ifstream inFile; + char skills[10][5]; + float tf_arr[10]; + string tf_roll [10]; + char x[40]; + string myrow, pros_resume_name, resume_name, temp2; + string lang, open_loc; + cout << "Enter number of skills you are interested in\n"; + cin >> ns; + cout << "Enter the skills\n"; + for (i = 0; i < ns; i++) { + cin >> skills[i]; + } + + qstate = mysql_query(conn, "SELECT COUNT(Resume) FROM recruitment_info"); + + if (!qstate) { + res = mysql_store_result(conn); + row = mysql_fetch_row(res); + myrow = row[0]; + num_rows = (int) myrow[0] - 48; + //cout << endl << " NUM Rows = " << num_rows<< endl; + } else + cout << "query error: " << mysql_error(conn) << endl; + + + qstate = mysql_query(conn, "SELECT Resume,ProcessedResume FROM recruitment_info"); + + if (!qstate) { + res = mysql_store_result(conn); + while (row = mysql_fetch_row(res)) { + //cout<> x; + total_words++; + for (int k = 0; k < ns; k++) { + if (strcmp(skills[k], x) == 0) { + wf++; + } + } + } + tf = (wf * 1.0) / (total_words * 1.0); + tf_arr[j] = tf; + tf_roll[j] = resume_name; + inFile.close(); + j++; + } + + for (i = 1; (i <= num_rows) && flag; i++) { // SORTING + flag = 0; + for (j = 0; j < (num_rows - 1); j++) { + if (tf_arr[j + 1] > tf_arr[j]) // ascending order simply changes to < + { + // swap elements + temp = tf_arr[j]; temp2 = tf_roll[j]; + tf_arr[j] = tf_arr[j + 1]; tf_roll[j] = tf_roll[j + 1]; + tf_arr[j + 1] = temp; tf_roll[j+1] = temp2; + flag = 1; // indicates that a swap occurred. + } + } + } + for (i = 0; i < num_rows; i++) { + cout << endl << "resume : " << tf_roll[i] << " scored : " << tf_arr[i] << endl; + } + + } else + cout << "query error: " << mysql_error(conn) << endl; + } + + /*case (6) : + { + string rno; + char present; + cout<<"Enter Resume name/Enrollment ID"<>rno; + worker.StopWord(rno); + }*/ + } + } else + cout << "connection problem: " << mysql_error(conn) << endl; + + cout << endl <> cont; + }while( cont == 'y' || cont == 'Y'); + + return 0; + +} diff --git a/Start.o b/Start.o new file mode 100755 index 0000000000000000000000000000000000000000..69f4d49ad5ff91e0e5539f4913b27eaea07d9691 GIT binary patch literal 90155 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 literal 0 HcmV?d00001 diff --git a/bin/Debug/Minor2.exe b/bin/Debug/Minor2.exe new file mode 100755 index 0000000000000000000000000000000000000000..8018ac8a2b2b1a550ffe39af58e5dd56fa990843 GIT binary patch literal 1224455 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

-2M}Rq@Jksw!T)is`_2bM$6dANCbVl-d$^9sx@6 zDUJ2D6uBPJ7rw7UwwB4?6;L{PFSRfa=4!Q+8hj3#5_bj2E%0+rrmDp9#XxY9T?^D(PppKZY zkN41_xk2z*h5;N*=RZwPEaWrc3@+mJ#$nb3AJ!Y!w1w%?dSgFeg|rT9Jf?blMI?hU zL+rK8Ry!wY1_EoijD&gz-aZPg&Zp%vn;&EC7NKXf&vF22V)~FqfYDxnh`&RQSo$wX zUn+h00ePg9^nnO}Y$$vL)I^V8nBHtw7E2ySL`w%G&KKb^cz?sL=*Q%3lu8+uf08xM zr@7C|L5EeMbv&z@WcbbQx_U&BT z2taAFc^}LwvO{>#&F0Y}2ehg&rELjnS!wxrR$Jd1tG)@TBvG9Y>$TUXx_nsMnj8_3 z`4TElvx+-On+EX8#CtLN$%|sUKc}CW#F!|45-}1IPqsa%@~I-KLBlqDEiUdjj}v>6X#R$nW;M?rg@2Ih{1iMc(6|*F{4S>%(#diH&>G2h z>}A9JWLNZYj7rq6u;fg06a8*`hgg}ab|SC4e_v4BOBXz8ID8^;{E4Z!9`t-399o89C8g5oLk1M4$O%^afC;$VN_{Pb_Eo zD*jxJ)b>_v8yTE)8D14UTuk~TpTM23p*@iNcaS`?%MtAB#JEY;zwBcwFv4FGd#H$I zO{LMNxd=b;mhvVlCY>?DPtZ@&V`KWq^fQGnS2*|?1V8(yM{duGdWlj8GkS3zHh4Wn;zxksXNEc%hB=tLiK2M$%eF@+++7R>b6)S&vncSckTFbc#`Z6{# z5P32%AP2!iEKZTtO57bycc0T8Sa8Mr+z{2;k3lK62G3ztv99pslx2$!q@K_VH%0m2 zTzYJZoO=98S3He1SNHxrL;)-em|M#IL*O(N<^cQm9Q%V1WMBsYcD$frOw|n$5ZLxb zk40@Ui5_-2-VH+XkjFrpBEK31U(9uT=*!U`m@ADpAz$q9sWmrXmzw#OcNg}lt(kE|t#*%KOdo-Y@SL%KKgNx>{c6%j*bPuSVX_k=Jzj zyjtFml=nV)O_SH2@>(zJ^^^A-;a$m=3`-6^kwCEN~q-&x-0%Bx3S>tuPR zyx%16bL4%Iyhi2oe0iTGuifM|LtYoidi&({YWaMKyk^U5R9=_K>l}IQDZgW!Ew8iW z^96iG{+!;}#ZmJmX-LhMnZQHM}@JRVra^RTcM<=Imo1`lv@Ab%5Ci==xw=`Kzv6 zhprOv1q#8E9RS>38>pk!$Z`46dZ?nVp}a->WGhgIV~9=E z5;X>_YC*0I*1IIIy$s7|RBtgbm3`r`LO(j$7e59`Y-5QB817SeWrPB0E#za22-_r) zY8_&fS-hz>ur&RGB5d7W7QK0(ClaWMlt#_W*WNn3uLrM1m?Qj=Ks7Llj>ZlaD}d_Q z6aZJbB6{ZFmdNLC3f1`VjKUB+>!_aj@eC$S&syVIB(MX&df{MXKtzV5(LKZi(L7lV z2?gfCO?k`@qIX}=lDHwNpNHy^z}EouDZq5P7l3mGAf+b&*hc|U^;Qh{PyBit=QVSW z8Iiz0CEzdth;W7g+bBS){*I^~s>uXO2$Kl?3Hd&1qE$Lb#8X6~^z?f9l)v{Dm`B-t zJnea*4;X)gUzf^`s~!Ml^hhB6lIR;p3sB#Yfs$H+7y^ixiB8PG97#X7F$edt9|?e- z6L}{mp4X`7g#8hT=hM}5YWb%*!~|-G=#Utr0%82^#Y7#I#aqe>l2BRU*t7Ktf;+N! zZ@1*)46sQSpLP-Hi0m4t=Os#xbeE(hO7;}HU`Uf>YoFUC3fT}VpDbRUC_W)_Tc#D5 zAF7z=AD?cO%vX7P^Nz&c?&@9byW*&uAEvyrf!g=9P3z9-w+(TbFzHn2z<%Msk`4k?jE(p-jL zL>%2A^=%Ow#)|07uKbjFzle2yMRcNi28J(UbzTvDjSX-IvwD%#;6JNpVDciVzcbY{ zuy>Kv-ihiN40;i(=!)nq;u#)DtG@ydVnv{UIlMGfv4}amh&jB&!Qll&giy9cQa}~O zM8pC!uz=*p6@;>>3JcECD+q!md?ZCN(XQlwAt{ctdBFx*{8Wl!;)pDsl%klJBa5#~ zQA~W2#eI^B6J;mMGSV()V{{&lJ%|KYHO%k!Bi6rKXqOn@FsjkWaBl=7L%q)kZ$%&Q zl++VFKlcqD58&ysD2hSOKa|ShU&i7}+SVO2r^*_maxOg=sa=9=Sf;^UDB*6Ea4i@v zcn4re7YXKV9p(ZFbF+kb53_D;OYH#|(o}-^lMbWf_n3fj4V`Es3vK-PEKC$_%zd44 z<)JyY0_%|U@ODhz@Sdj;?m(_M!H|;=)L|ZXXjDo@lKD}4--}KXjMN$O1LjciRAX51Vc1NKC8oBA>r;V6Ryxc833H=_@e7z#jBJ6>k$86Gs}4qc!^o7VamkSuDubZmF=$duEfJvoU1(J~uz35=% zi){oWuemR^W*x0}c(Ekx4oTRt++mVtZ4;d&7^0i#m*3e8QA~VZhtV1Gf`D;q);JwT zXULrbCKW^aNrv3F(7}*uOyEefiYKS`b*=Oc^+3|k9VYp@cSR=&hUkOF2IT1-VT@wR z!#bSK$k`H3YNXPxQXNh=?GX&;@^yJSj4puA0>Q-uO3-L%IY%{#Hm{5~`4XT!+(r*pmzwBtjL^H|j9M2p7y} z$Ky)#*;@n*5vnw$s}7?x^c;a-_-2f6MCe%)rLWKk{q_Zo(1Eh^n`GzTVU3SeyqcaT zr1O#vr~8;!7|uoLL>)#abh3bP5;{nS(HUAS@C#4E;7^2JfIWmfN#@K-LIu5gL%k)T z*GWQsl2FMYCDHZx9GxpJ(BqGHu(<1Bkdo>Q9Zt8)Sq#SvQc^9|VRRfv2pD3JigogI z7+n)O3;e>@q8DON?mf~;4g`s42;}qg?SIt>?JF7d2g#tX@X-t+R5DgEXub}oYr5tCe~4h(KYCI z0>)`#-~8nOgns+AAoO^MoCy8rozld#Jk*nVLwe^=i-z=Bf0+)aJKLKj++4vRr9o%t zaQ&zpj&mfgpb?ZxbHwave@*>=g{>V(f`JjLulva}K?BGWPptHGb%f{Q=vE z$-|x6Mo9cSOie@et&Q*`cmf~{v{@6L)f>`>j`^aYN+}RPGu&-DobE72OE@VIW%y_7 za5}LC5>5(4Y3#39l68&cI-EzsRRclLr-qL;I-D+$b@=)am`hQe8a`&|FnV9J1Plp; z)~U#`mg+FNKt?c(5q?z0+gBqEm`WfSdP90tcZ_IA7szLGH3sS4@ry5nrfUM3r^D$} z>E|SzCXi7Fg1bY)X#(k{!|4J!m*HFj@#rwRKw1hIr$F9$M&pMrkoUI<3-QbO#M{Un zq!LI-Z%AkC6w#0_kPCG<-9j#saGF3m=y19~j+StmK(;=u5v;>)!){{7SfDIqt`4UQ z&wj9y*LJkn;q7;qkzXOse}IQw!wBYK_n#Wb%j|M&nAc!@oZh zglaD9H62c8&>Ip?6Uco!oIdu1C7dRZK{}l7T8kx|W+Cl$I9=h6VmOyTwmqfsM2Gnj z`?%#8qFmPVI!r&w$B~kcFEES|{wJI_3FI$#kU)@+)&}S6^oI1#M~a5@=|`RpH(Vkx zK_bvu!b!%eG2{pAk#UU$I%Dab9*3r@G2~SpPRDZ@!!cu(b%YNDGflua2j@$47@e_~ z3H-tljHblcA-79S58;7haQ5pB>CtODNvK>P05rF^0lR5j4AP^Xjo4*Q43e_|#n{<8 zoX*(CC7fI!P>daMAhF4jbf>#!7 ze~fjatk!b_QEp>0?JQ!7FZPIRHhPPc7VY_yERrVGZLDOGyzeaUbESIa+#t%cCCjoT z%Q7X4GbD@CrKzPM-ezg_7gt{yt~O#luCb-n{1y%X+3Gu zdi>IQd}KW~|9vp;(9Uj^HRa=Fw-T(g1k06ZXPwoPV5@(Bt% zBc^;LFh%bN97QBkY}ef^3w#a+hF7eij5i9|{LhRKMXH-5<&z`C)Jv2c&W09;qOEM@ zd%KO0!}0uFSH7ut*>c#2D3(4PBZiLUvy>d%oG$B31p8t^+3Z?^(l}i#)G6mSaZR#6 zozv3Z(ng8;sRzkkP;xh?WiyS21&7ql$53eQCW+J1r5=yTlhF9L|A49vPG9F2oPL>~ z>l%Ojor2R2mwMc3)R!-oD*^8!K;k8Bxs~dq6DfI>C3%(P%b+Oa0_@RLx>)xR_5&tz zOr#Nh5A~bbmGm+h(#xdFfjvzQ?0)G+edI=Mw>d?1WgEzWD3TN&Tzt?;b<>#G%7Cp9 zTL!$GQ*6&4Cd9T6qf{uW8%WvsB(eP=kGSWH{ZRt0BEb5V)(zP@_O{xW}QxhZy!TSa&g7O*hge=y!5CmnWBZ^&Z^m-}X zUH<^HHL)c}GJykb)QR4(PGnmQiT!m9uIu63e@xQDb-x#a`53rTPq_qG?;UrA5X^N0 zm0%2Ru>}Nko)ApZ+{1~JE%@PR00$nW5X6nt-K$p-nJp!mcUx{UeIv1*h{!vO$qRNP zkSPqJk2Rpb0jmm%K>!^KiB7^pTXK>GUF1ipj>K)`0W7>F{#QP8YTvw5IZ%`_Ssp7lFH;FS_^ zCILF418Io%oJLB-&gV8uG5!L9q>c_`z&sK|t01U7Bc6y3R?1;!FU_)(W&k5^O(KZD zp9zW48@%MiR}i3sAemrlcESlRlT_AsJFfOvvl(PJNzg;!lOU)!Bc34W2Wkg+<%#E- zgdVyjiJ+=1>dO~fDgk#vhbW*?QHzw&!Oh8j0e-2YmdnI&{9%zIU=sBgMV!QGZ80*A z63;Z`KfXB$`HdYJc{MWPy-KV%^pooiCo?4pW5O-_zo57#r6i>{u|sW{%Se;CjMS6d zr&(0+e@SDW)V=!i6{U|*e!-D6xWBa!)kN`Jqc(a|6186+$JE9yk$?dL#5Uw9Ye^Z! zj7k!bb%P)>DgOscASN_D^%>6M!wl32k396IrIYvFj4o}}{r)i~Vd?XsX>1Ps6|BarfW{C7C2RC~ipqjR)m^z;i)GRp4c77dUrWT@h zK{uMT^VfSR<+%b`KIas(xE0!go%a^cHRbthS(5V1&!oP5u?z|5CqPo3R}#FEY`52I z^tqapsGU5P&W_(mwu$Pfh_ZQgu+2(saOeJ4pLYOWJ=jz6>U8Ak5-!E4JV6FUM~UYe zukO7eiC6a=BX~up3uDSK8pc?!G9{9Yro>VT{43zde$fcGYJO8v*WB5) z*@>p;{62}5G>i=Cv(lx6(#8t)OC7@%Cz`q=(Uk1fc88MSrYGtx5>3$?4iYOp+|!#% z=_!`q6oj`;J>>9^4#j6ukQ~1ucPz1dh8H6^y1ihuZB(AYx zV@09T=4&BSr#25IzCtMni07I%zj%F;HvcVy`trq&lYmDMAih^MWr59$bUDg5otP{E zPCNxJm+@)3%vPnzY*p$Z@^?1axq@Zs(pfe=v-qY!_LjsV8ACjY3L*&V3G@-Yxnc-f z3QUgZW?q-Xo(DTnKR$O1(M`q>|G*p$CwcWDhJQ@+IXgi#`)+E<@gk+uN@=S9_!8b* z;o28L>-HR>aRTx4a}@!1qiJBzpZ+SOzHSkHX~Nw!A_@Bs+B5dCGlaDvEjiw9^(1aJ z*ozuGmKsDlB%f~5a1$AVqe}RMBHMEx+lAWlhjw|B!x^LU9nuy6zfbv|q|9JpGHT~Y z)E*LQ2Gn+*qX@nqjTElJN8Q*eV&f76P}}v5C8hI1ZP2KkBh{gXX65xQgNKuDyv#Q~bu5)QY)diW z5h_el9M3gL0{Ycp0mU+;!zyJ!JquD>ngqC70&bPKQiw>(_G;4th*wRbskR!L8^y z&Tp3D`x++us zg3<-{1kI>iCWE3{ey(HPMPZHe&*XNiGX&PL5CJldxmO5X&bd=uv!%V;X@Enb;b>M? znuc(DAthLj1&sxKj zMVjkC^fblRI1cz4xt7fY2ArUf+IZo>9Amn<4N}MxDBBX%y zx34JH2zg<65+TpGwF#M2vB!fiY1qctyp4)ioJkE}`GaCV)_-ZUcF5RANX@-`b)pT1 z*pI=Q6&}aWkiF^SPVlT+A1APh`ZZ&SPMnKK4f{6JQAo-(7PE%=W7stPmk0g~)U7ni&osj^AgW*XjssMI2R z^-bRU$UN*`S0q3?CP0g2ueZrw<-I#!G9>}JothN#xk!TEEu3oo@A+K=8{u>XYAe#E5^RhFllMNlx4}N`tn^PQl0J!)_wKC0GYTw8kg`^IDh)S~gGw&s&<0JB9H}8Dtohi-?mzJcC5SIDu2~gez)E<*vA$_V-qz!Q8fKK z0-fjrEwY=wz(dQO%$H1>j`5u7C@_sC4Ml0Rk5ZlEs@^s2N=+eALp!8{tzwf~IV+0> zg5sGiw#!at&Y{qLRJsu1+D;!gah_~KcQ8NTIiyXF2PDx(efB>f=l!#}gcPI>AEKd# zi_${%4dtz3KcFsA`~cE=ygH}7S=^6Th#V3bAlY`KWZQthh}CflaM2|Up4&^);Q|uw z1_@_KxVZujPLbg@@q&$`Kc}&im_C`$8sIzzt6GQA`&gpJWN};#PK8n z<2(lCdtUT$@I#mK4}WGUH^O~zow!e@k-{iq*U%^f?AK8Si&mI59iF83)>~qDoy0K2 zy(JxQG*E}rb>u<`C%LG&pRU8{lei9oI;ReQ#w$q83lZWc7yZ*Nvb|Ja9QTB#P}_b~S(9*FVX)g-wgG2>Y1Pf2 zlO7FvC+X3Hc-2q?oP{^+wMT1k{EqhMWT7#MJu4_Ti}zW9eYHh?UQUOs&HTRR9ZV5{DlL;e}3PS=6G6qlo= zr_quyfs4_C$`$8`!b&Q1Av1`hY$74v8tqW5MCZu|kF`qq(BZad1mPS~u)4pxDkX8Z z@I1~hI6&4zI34e#u03(-nz!bj04 zj=ZMN*aarXE2pC-`}_EGPxIQ6?^N2Fx6dBaXb-_i4C;?!@dxQ^Hy zz2gizp1P*iGw_HDJfWH#a|P)LONWR-H7{^7iF!*=}eJ-0nL9X|9K_0vwZ1crOzuG9_RCX}@4mNoePAeAHzK zzJQhi{&!=B;O)(Ci6i}TiaLw}OYpsD{xI3doPNZW+!^4CsGrTP4Lcp}BaiK5Ouw9w zXfuD2|lVj!XKl4M4MU=X;{0pAbdFMss|r$eiUmx43aWjPtBGZHP{q__f9 zvWd6RdyYm|RH3=-i9dmMaumAE5oA)MzB3tR`qUxQK=^HVWPig@^KBAZxN}QSZA%t2 ze;P%6oJD=FAxVFB3H|APo2EbeA9U%@nP|0n`g7E|w*CwP*BtuO5zKE=f37?VogBRW ztf~_2rqZ8JNWL!pdG_H0=+6$RKSOU%)}QEfO@EF#jfHU_{TXpiLVvn}K~DYg0sZFa zPtOc=^&9BVY7!+B$*Dh8vuynd;A=*y^`{Yg`%Lny+a1aLS{ebr*u187xBvk=^+_>u z)F4q)fwYduz?|q`!6bSX8JJb;nRd(to@n84@x+9Rf8O<1`ldXa+y@W?v1}Ep=fF-g zam~hxXh)15!4^h4YK2-Ro1vC3Nox6vVcfEd2^Rd2Z7mq{8liW!q&IVPGQH~_XoTKQ zBs`7Y*U#4Jy#QD#8ovYU4u;0tl3M%a@?;vHgR_z}Hb&n*Nnd>m`l41N^qt=!nZB*v zboy=vMvA_}50bt}QfnPk&{qo|Bk7~@bTgDjiB!K&J)Rytna9&h#%TWV`};w8Vmy7n zALym=blQQ&(^hAJ3t~L&4s0C$upN}8Nq_h)Ij@8Fhc81&)NU$&IJH0F?Ho@ZhWlX_ zHKq@3i6a?!bV>Nb95Be~59`3`=J>;R$dCO7 z{xBF|lwGc15=K8co_^hj{2`0EIpb-%(4QGWO@ID2&80sNqSfZ<&zduB{n?xE(x11% z{3iA1c^aG!UVp~Qc2nuk0M>h_{*=HMH>p29sXueell5ozR84=z_hw;WJWUu@3jIk3 zQ&c>*1HYa6vk07Sj{ZD=f$q1^pKe0sUHVf5=O*>%*`mhur;+hxlk~rp<7sS&cw%BajdV`<;>i%h!HhNDq?R8PExVY|1O81p zUtAmWFYictZyKLW?}Tt8^j=KD)5gET@SkXt{zY}v= zzlBr+CB^7mO`5yX|5op8`YfFNA9ilw5vkhqM`NOo&uQC5{DbWyQ&t&|DrVoD5PcC` zR=b=lWS{~*Kb(yb$j4JuY!inNa`1(91b$ej0U*9<+um4w*q9(*sn zZw?Jf>OqyjC#fAYg7z5CQw5%YCKT|YEt*kf*Lta$+TMIdhILO)&)VKRYwxn2K7$R| zZtx-n_^5TeF6%=LUgO~vp%q^KEH_Zb1k`W!=hl}Y^g@iR=61W~*xi6#U|qWTX~QR2*r!j#7vbwvXde0%%qbxD z3)+{kJb^tjS;3>MONhmkUW}HbHz*r4Q>s>H?jGA1@zhvcvu86YE&h}GC!09I8frK3 zV+Y7vX;0==sL$X3?VUplW}hr2A;rH?@Iu9x0L0P4LfkraS@svXAPb{bZSNg4yQ%FR zCC=9N-YG7-#D&vqwY}@b-9EZRPdJ|~GrhLuI)s}NHM4Ja2oZ^-hUq!f_E(&D5bbA5 z{G*Q#`nAE#%8B+p8H2IIaD_Tn)q07_(2A_s7*wok!av;K{=ohLRm$8BqGXu)?&a8N zmIcM=2F1t^{}eo}%hq^%nV%{%ebD%A8HJ0?dcE4UKX`_q!o_M17Li1hpe}wE`^o`ZRY*KP#iSJs%Vfm2~hwaWz z0k-S6_BVqOm^IhmqysC|{onF8o{0zPZzdt0YPP@WoBluPZ%BcHnQ%B*0#H6DW@tWV zDIVan)h?ft@HgDViS8zz1jK9PS;}}2W3OW@xg@77w6`JnPjY40QUN`RmZzx5S}EHX z{%8Pd!5=wr?1d*TD@A?VUr=;-5dLTe62lgD8`ie;8%XQ)6}BYo)AmUJLHk_}rhW29 z9No6-FZ|KVCp6-Zs22I7e+0-M34Yaj2ZDs?nO*@qJ^?FAVn?CG!QWc%2&&)U5%mW+ z>r+YWYm~U^PoVnm%lgMS>r+YW6}^5H)qhIX|0dg}rPfO&v9PKS&xaK_T1tpcKK$1P zWUx_;fz)3$xi4MuK|}F+|JXFf$Wi|iu20=l{avztPg%cjQvDOSK6Ov^v+on_50v#g zi288Fxrj0Ht*haV`((geGmXW*%+TuGt5)&&*(b~L7k)af7d|GuxKCP7Z}7V@oqM(% z|C2Q+3px5umKTEw#Y==cg?bG`{Gpv`#^QcCowyOJPgeYeytl1Ov*XLb;Z*%C@eOZo zf4^(2za{;0ewV60D7+u^`7BRi3#^?{?(v}R#rkoMSU;AFq4pv;D6|EPBD$-iuv-F9j-sQ(rgJL%Uc4X}!_kne2@D)$dO+M-p zlWBo$X3Dx(i@Mmo6&sA7OHtVq>q8IGmocR)eqjxXwqHSBXiaT3>V~x*kfJ^+-Btk7 zdzD!1^B9$1QLhBpq6fZe9p1#Zb)g!y1I(8aoA*!+nDbsTqw*;o=>04%wvX`eO_#ge zFAu}*@h*3IJt)!3lNx|uZ3b(Drs3D4hgb5NZUI5rTg+~9Kqa_(mIJq>rAxV#nZ|5T zU;3sg2In8sdG7&zLc1Pc*sdqlCq5DabASL%u(+O_cZucjQ-WAx_0#WOGd&oKGu#XEFJb*U~h}Biro-r7ng!cTAs$a#` z)fT|xMRi*ONneJ|4lzS{i(@u}DvAH2zuuGI?nz$>KAC#{@@PhsxJ5%IxJ6Gd>`cx0 zV|yhzuTw3&UBt-#jX@N$qmz2X0-B_aU#q&8t1AS1i|UQj*6%*1O-Ghb!|5h^){uSj zG)6W)gfKtS)!W8^&W@jdRmhz{)&Fr6k?+-794uOlJtWCrCTdCMOcafh(wKpt%0d-C zojI;GT?)tDMVBIRcjdTIbT>lW-8Jr-vdI-cz3Ca}r|VCiaTn2bkGya2j609+t35%M z>Y$W(EjpDcCB*Ykfx{wtiF-IC7wZSN;P6_T`!VT+WvKqlah)7RZ#atzjVa_t9K}yM zi;G;4A!pH*#+1LfAxAokM~v&}X!HVS(Ou)lI*QIn6!ijsoKPJcMPOMk2ULAuo4#J) zq7&+KM-dpSt5Oz88_aUjd}SVUHr^tB6mj?M4i4@<2YnVs@9-b{ED!Hvf)R^7PuK~8 z-KxC5!|}|op3(Fwp9ZW_yk~?@nP*sm%rdidSD9J7v&<}sLX~*e(Ix2F-gP7${(ZpJ zSW>>zSW>!+usfaV*c*mBkpoaKDw;ve`maW^1YU3NM7E?p0Nnx5D1rXip7mX7@(wbV zRG@DPP#5PSH`HHsO(`-bOe23gy(evzsz|fS)2-4Bt2omt!S0{zGP7cPnOXiB$lDC^ zHi5hiAP?IS{LwMgzuLen$$LYP_Ze{9PIWF~9Mw@vMUCOuQQ%ks@-_i>@O8(o)w@PXZWk~E3@SO9_Gzp;!O!}>Il?W6&Ys5 zGOHrfD$lY?v#nx`I=SG>c4J9N4X&WQWErmDR|WW04t|xs1KzCz-&PZL-3dFq&Ci?B zB;P2Z0pe}G9nBPw=n2B#7zJP5L&O`EG>STT_X!0X_K>w6yG>FuU><`9iS0J;<}j#Y z`}D>@Zx*1WkgLJ=b%f@145~(lp^br_AwW~IJ%`41=K0l<=cVajI1J1TECs{O@dSMj;?7nepZE_xLr*IJ+Ux<59Sg`>2kVE-u$OEzp zEF-j^H%J~nmpppFr#R&?h3Z6GNqI~lqfMnzL+=*y*rUl~0D~)W7B&W+A;G0MZJGEP zTv^dxGK^Hce{>g{0*TX>$-74o;!2!vHU|2b03~rQgE(u5FEbfbiLcDoLITS)L16p7U9r^B_;Nyc!}ki|1J7`BpJ@85U@=C0UYeNtPtr`BJv?NVd4I z#y!Zdn1g%BxE!`v41EYdas1Kchl3s1hwik!yEIupMs=cxNm)NYmY9m$H{K~^eU1RP z{nk|su2iMCG4NaoE>*>rbrypwRXL(D@Yn>G<=gW99C_)4<-gC94xfn7oa4#!49=Es z%ljDyRjM+pG0-~%D5=UKsLE1e>x~SmROO1sK)VUhl&aFrF&5pEq$~4TSLU&*fg(+BNKZ&_NKZ&_NKeQoke-m<%$9mHi}VKf zRk#OlDjvW+^rsxYq!_vfrvrk=(aVN7$Iq!puWEX9Db(RpuuGDa9W8l|IaOtsZUAmmX zmB$*`82IlQoYm0QrH%}$)bQ}eK%?bEcaYR@0n~6INo6}`sfls_L$ah)G`}D~Q>tN4 zIqm~c#DWy`Ib%h-S8IE8U7GvSK#y9SL(I5zPL2D1uvR|WT|U%0l0R6B{E)wJvJS&T^PU{cp?$g3 zA3D#6T1RWfQU1C7)zEh>(B$U$U(qM6JkS!G#~MyoU}AdloS88Pdq*zCG^f*Ped=055s6eGgdEN1SR4%rRv!+o?-LjU(lW4 zyF$lCF>ec;I(BuCd5a}awHO6nI{s^lec8iH*ZzpMq|JhC|*|R7jMMZ zJ9xa*xoph1{bVBZ{zw}~GQm>lF9Ik)XP22R>_@0aZwhc)eh%;l8QDZeXF-O|am%YP z6^}Ik6sbD|eZh&KOwvGTOA-0Zn)1xT%X0b&M+#5bFSNR|^gD$c#u>PCx}v<5RC#<1 zBJD@RWxt%vNT5aJ8v2!GejMp}MZAN(-Yc}PaM$?P5EFSK7dDui%L<3>FaHKC%`|)F zK#Up02i#`i>Wf}AhV+rPKL&l~=J=cDy4dZoL&cD$?3Fg|>*E6@TQaO;S$Np+V)d;n zTsh`&jC2WI%R@N#6X6i?4TXEApe1_JXu=}+NgfDoG${p+N!ml119vk=@FD4B9!e7`=DSg)Et@|JB$9P}t$Dk3CqzA_xePq}EhQiI}T643}e=Uh5 zZ#Q9K(QF}l>>Z@LM!!{%Fj|gtnl^pIT%1XfQw)ZZrD7hnC=3qnmEG z8=;`kZX&TiKw2ctSKNYcK?e}tR)m{^L}CUsEFdffG6S` zO_gp>^de9N-^ei{NTST_-yM#z!(QeaCj-)XOv#2y=KzV$77*Ax{_MO}<_{G6{$dRH zf~eVT^nY7W18-4dyM|Spkr7|G@^AV=}XaJSJ9!0x7$EM`H*-w5ZIH3oh{>wE%47Oum;o> zt{s1M-p0bXG2rvOT?o*Mi~;ylxXN5(^k0=1CtgQ<V~~Z~0q- ztc`dPRqYtl{B_07L-f~OY=3=?nsa4nKD&z6|7B>*v#of$vMS-MKN8N`Snm5B+y%4t zDqw;U?F%$w$9Z7kA^Ypa&6sbcl~r}m@*?mJekNvHKWMY9r1?W}{Gj>81G#XKiAh%% ztI)cmuJH45xjf-o?(0NMfXea2^J4UZpyz1XO!oQs&$$KVEHT?~a;Pc(OiB@N(EMuo z0q0ly8XC@TVt#eXZrjc@eLDTy|AarJROD0&EGX61@(u}_?eRagKIK85XmUmRgqV#? zwH+`44_*3%`39PF#)?hqSCjLr=I9sCuL`of<)4e`)sLcUr-#t^_g(a$`A4eN84)C+ zU9heQEF4HtJWfu_tkgW4W)ZvbY%f5*+Gm?vmkjl@?1k$)8mE zh4F~}X$J5~x9+MdtRIUFL0K)#9}3m@3sfur$)2YQg zotl<?XAH~DSl*P|0@)(FgpGmb8o@r z4LqSL{}#2gOzhoHOs4on>*zHgM^2`W#$;+G@{RCW4Y8Z>C$bn>KjeR6SK&r-r|Izk zJ3v#+uS6ygL1h;Xk!h-aQC;C%W7;ATrjZ8Pm-m6OyvF;ZiTy58&7$vo4Mwlb`w@X^ zU`wKAm5L|+56!RM-Eq+JXO4>Trw~RdCRx`aBp#Q_zvk_>=U4GG_)9Tf!@ou_L?P_u z`4u9zc|Zit!!^I+@&13)zheA`cWrX~KGgXZ;wBa`F^;p-tUQg+ulhaT#Qf@#za>mQ z{+-L@ljA?PKU48`A?!Ebx|U~G>;9q5uEdz<&)Xe6{3{YmBXcV=(>_83q-y85H}757!h^Q(>S z$yMQQo>_6nl!<_qOw>A*)2kF6Zi)*Mg}f>M6~tH$UyJd4FwL*FjUNgX9B7?tmDCk} zGX8qW@Vvb}a2kd&0DlTMnj0`-$-*4V`!DZ%815+(0$%&0KW)bwXDG_sC}k?rXL6PW zv!>~#i+-R(lOKv1^s+pOD*I&R50$+n#_uNPQ#AIm4s83@7OeE}2R)ynP}MO*N?}hR zEs-Cf`B-kRNelaW%3CAXY87=`g|tWmq70Fhq4JzwRf+O^cRBAL&xK&}@iyG08I$); zdJ#?K(N<>g%V!m#$qW+x@1NyuTJ$ngF278)2&en;CewxwY4uG#mvpO(XdiD?*%Jb8 zlC^2WJa>}>L-=O*T1ZF;dOELa*sdCr<^EnZRPG18#^RzQT@@q`YzV&3PcYO?Z`S0! z8|VqhcfF^keuwAV;|CVBfaZjxpHkYRfp0k?e8C+|%s)phG5E6+n( zV+X;%++GV`Mx#yGOHHEuK=!h5Q4)U4?A=ehiESo+jqs02uGX4l{;|DmCnTD%mt9o; z+t`cel_Yvu8Cq({9TdF|d&y63pOt5B^&#<7*vklN^q}n}U+Yrpt5tM}_OcyECeu3w zPFLB8yqV;MDe4RRY{FiONOe=#%OAAHnkgURUv97Mi_xgiuLAe@LFGBUb|uQS@yBh? z7+T@?Gwe#~**MY$|7cSpwhW9Dvwg z7TE4e_|I;MdpErpU-GFbw>)x*-mi{uBX>~rI_zaca{JlTe(2EJ7xq%+pg+S!e6 z5vFTh+VS`cwSF_%fPQ*DW7bp00D; zoi|fH!d}u}v-K;by<{iK4`eUtuP5Qh%$}QeNcc6vZzj3uad(r%Z=xr=R}mp0>_4Tw z459Mh#$HAw)62^6ayvJ2&6J1R9ubdKCAZJYGxX5f7xq%)puhR{vc0XFB<458@P}wG zRVmtQMBYsDh!ph?XfM^TCg~$9Ps>N$#57YriJ1&h4}H7D599P%m*O~4`h95{POx=U zvdhzDc}64U17-POIsum&8e-x=T>5bt9UV?ThMPk~A6J`0GWf{|b4aG6GbcWovc0U- z{mq<3lOb+y=4|>YdYw6ke{;t(tNAzgJ#!xa7WL=zZ^mHe0{)FRv;Ef0h5S2J>@4xmSN!Ov_)(zv(NpoGNb#dz`Aw?7QL4Yus=uJ>Z-VOY9`whgOkz?5>6QFjkUoun3(_Cp--7fi{_Q56^~uEy zr#%0wU;ovw-$1{3uklS0y!2`xW}A5rvZH}$ihS7u}pGI zJG^(llHO+t__6c0C@tcvq8DcHTA>-h0gw`4VNYba0yXpkoV{L%^`e`g>$QP(IJVpq zed5b~IG4{a596)%R2_@A+r<&!_>Kc=c-9uB;|X5w0Z>tYtC&jaFb00!yHb8d#ZVu<*W^A4ezzmSR$40iY(< zmsTwJ09@Qzfpu5_r+2G^J?YP>IMOmugC?T2wS@H|8asVxjLy<**dTvI_r8NdQST|# zi+_UxLNw}KrwZ_d5QsiiWS{HA#*RNJ!s^%7#ag`ikoN-X~K6Jkjr51+7)VQVybTv7me?3w|2>}lOB zc~n7wDdf@5A&-h}L{h>&ayzE7kF`ZdLjT)0X(zR?6Kc39S6n*NWo=PD{&m5>v+%Dg z{&mB@v+?g7{5u!_K%*wT`|A!My`Oz<=^fEL>5W<4g!G6ltgelyO2{OU-4=R*IQ;oml#dqDZU@tIqG1^+*g-~I#0udwAI$?v6= zO~~(S@|Y~9=>4ddkl#*%a>?(0cq!!#Q_63X@P}L1Y4ZD^8{}6{@*58gY=->OA@CIT zcNv+9^oPH0(fuJ_R)#+um{N}LdF@jUQYnqE7RJXmsM}lt?5+_1y5nCD{JS)1V4LE{ z!D>wnY~?sF$2qXIZJrH&U(&7WSF}`m*HA?HX*|l{w{!P2_Jgd*k8M6c`BF#u!S1Jw^!D4iFv20U zqI2vfM|-Kt2fE7L`!_=?a$~s%DEB+ckza82Z}m>(<_I619!uko)jLyzPj}sOz9SP; z-t5SbEE69~cpDq59I=}ArKZhBI%0dF#hE%54mM}LprX=8JZ#U8W2ugiz=w?QF2IftI~^>wLnfgr!v zFoaKp{GgV;M&+Ro-h1MY*z*m`JMFR@L)5|Pq&Y_UYyAFWErq)tS6d7k8xBv&HDa{g zu*y0z{2{(Y-P=b8&b3%2^1XhmkH1Hsw6QqvlyC~sk<>C@WVJ9qkQjX}`iO7m9Y0da zyglD)^E#o4Ed}Y}^}#kc{xEbexDl|9;GX$eO&RmdDA)`R(cW_xe=fciEuFyRVf13RfdS0l_+ke?L0!Dk z);dBkwtUbL zu$_&?m*9*LoX_C5%F{3{owU~*Ot1Vfc&3GIKv})gHz2Xs&D=%%Eb{7Un*|-X<;#iw z@y-1WksIplJ(bb=3=EDoOc1Aw>@d+{h2Jbrr;4A_=1aL~!ut=e#y%5Rq`8GQN#w1> z?_6vy;Iv@|8n<840?u?$nls zjwcjz`l(+|4wa$WG*qK1q?pm8sS4g-L(B9AZU%Pi1L1V<2S6js8d&FDfgjm?o*b2; z2pe#C3n96zf?_@w99vt$PoOm_rpHge0klS;l{H{s1~#sx6S9_kig!mddSFwdF>58> zP{=MH)TO5KL#RHwPe%*6tY*866@B)h-Rb-ZGa%@EI&mm70d1b!89f0mw0c4*-r1=9 z5a)K_JX^6hGD92;oF3~9W>iu0@uw2{3Kr0|#fG>g_B#SD2hH9AR70_}XodKkV*FuS zU-4pxqr6m`W$cSz)B zU{fTps5Y?SGLm~>^RP`6JbgxhTk@dZfjwqmHagKd~3Rl46_%FtN%ohsPX;ra@RxX#4ExFMfU4wJZbxZ;ARTEm1C`j=SE3q?4mdKMUhzuD z+rD^`CC*vEuWT!Y$1EFYd(6K=cFJRZfwz zL!4d{3{(EGH+#(osckUN`E+6_d{bv?)_V$igIAJXQ}{pl&dvaV?`#3&;X7LpQL%HO zgd9)cVS4=Gg#2y)IXR{Od||Vf70_zLe?~-k>~gZR)c*5+QH3yd`p=;l^e}#E{&T+W zKXXVA0-Im|)b^i`8zVe|L{&Ri`|Jjk=e_MqY&dkzTk&M1($sBmt(@KyMZ*P_? z#Qr(Yr1SYmVZ4e4F2hpUq59s3zSs`+dON;~3~xa`?126hgb9Co;kUpnFkksoByVw; zcG?g))Py@NGqZ-kt3XzMt9Sv~4IHO*ryX%#FT2x)<1bV0bRo)kn||~KLbG_Gxz1ZN z`DY@<7_drE!4CGk_e8ODuxMMDB{|rYINw)uur|{F+(Jkz2V4IN6t83f-i~A+iz76Y zQ#ymYclg-I$6kkzy%?ec?V69pVO`DevGbii_8c?|1_{@#e5_Y^aF7)J`0oiHdz|pM z>|@VZNc6jX?6)5Y6^D;qNU)CqR{Gd$!7lh%=YOQHPJg>$i{@{a2!GoG{&wT|-@xCx z+xyS`tutPc#)dFu6msMuW zBJ@!sOo7~_ipPQDLTYwxpc;_$&{!Op6ROFd7MK>QnA6sn`gg84|4d{0V_aG?zo2BA zF+D;z%U6b?I00>8Vetb7-g9Iopd~NO*tgOxPs5GSRd8R3xgz;7YA_Q6rM7xq$-Sne`P_*V@BvD z&|#Hi*OITqkF44j#4#cgd@RWdwQWHmN-<)M`RrWH;sux+4B3YkrauavAr2#TJ0n{- zh>`{DBXG(hUbd`?6xRu*0Un;{UE?Tht0UXzaC4s3M?{7AIwqQUTYP@AjTON6@CXU3 z6fezUVp0%z49Jgdhv^Vedl5#gNfn?o+>d`j29<9j;$fxx!yu4b{dge1R$i%?p8c_#~=Uj5LH%c{6_6^70ztAyg!V ziw^~oaLqtQml~2`C6;yp2Qx7$>Af&IN*W20E-xQh8R|$8xrx0qzN&%q{*nf0JwlIX_G;NPEHTZ@80JmqjEoy4nG1SyZ3?f z=u2EFnFB@gAy`8YKaEr<{qOvmOC|C8w7@h7DKcbls6O2&UI|f+xyLG*W&HgEbA^-= zNe7bhZh(jwo!||U>d-dym(uwDjRKePbpzqHFg?LuEVQX0HFg|IT=WVnFMnLB!S$#F z0v`p*qJi>Ns{3of38e+`7dZa20#%rgSAI_VvAo7@S=nQGwjuptjIs~3-xS$ABeYW> z3|A4W23u@>X-fX|;-Q4U58qK>eM%B8ygAxa^3O%Jf<6}-l}GFaYycj=D4ma{R`$nk z|0E;)D?WJ6N*DVKm?iiF3!9B&SIrOheA=~mq4zDbLu}kH8orwTeF6s7257AEh!$G| zAO)Tt;O11s$Dy~pUr}ohU)@mckz8V3ocsdE=|BYZC5<3@DkiURX0bJ(20@16u<4G)*JN>zck$`qJVKZequcK#vh=+u^Rv<{SgHSo6#&$!@=JLj^GbR zXf;IafUox@f{}j#$u_^0e?rfQ_hNnUSBz*=J+Xfw?m`^)I9lOue^GH*I$B5_hy6Mv zMI2U;L2;Op65!9;@!_CIyufeLz-zI+-8RU+?{+queBT|{KgU;XGo~DOg$@#n25J)zW zziW32f0*1EZ~Zra_uu^8!Q}6TzyniI^8Z@?Zp5`R-r_0zfAe=*UhaP=e|L+_3nlV* z6FzarTPmaC(c`WE=I@YfIHdgDQ6C?4{%(x;)Z+gg`MWjvwqjEL&eQfF@^_UO=o9f{ znHE2GY1vP#|F%pWKbF_J;zvDymva3#Ie&NWMmv6d(FkX#_1{hI_;F$C{2fi)kn`@4 zV*U5t#^c8{)uqbcy_m?~%{ch{U2%~+ex&@}(uM|)=g~bC_+n6CW>VU&O0ECCC_WC0 z)f^8hzGQ?~Am^bc?%u#NWR;M(o6Ds#arX$_aN-W9?!Q!4STfTHeSl}2x)W=_KhmvC z-e5Cf>Z}3w_PMhLb%07_4UEcK+;i%VmXyUr=S5E4;Y%@F%SWozT|vnVBeal0$I|RB z>&wh`c9LsS#f#0z-2FL`xjU_e7D6Ux>?RCvGJ;&6rALs(v#@MHE5I|v3NS5T8VBL_$v5XOeOm;eY7)yI*K6T313Nd}#4xRg8?$_7}E8;zw2wS2Xp=|P>q?BTo1PUapv!g z%Kv;l_$6Kseu>tDU-ZVNA_Hgh!%pwbQ0u`ey~pdpj9y|rc*cR&gI{WNJ@_TpdhnXJ zX)Kr_Qi4ArZ>Ms_Vm)|xLO3qTE_fZ@OYf;Xl-l!udo>^!IO2L|LtN z6zUP>v;(aOi&jowZ%35VVaeEgND1F>@YJfnibhqz0PH9X{}CM;;mLS)$||om7GKVr z3a8R-MRmad7|xdf6fPT!!lLC>!Bjz|C|j~l_KG|WmXp^8rh99{_n;GS#IrU`X=)i- zPE%V8v7|dK68I|R)-w#f#0Mz2z5_w_$FNFzuNF9@#EfLhImR{ zil_K739ltQY6d2mC6%;U4tt!^EQYlnCOAkQk9^VRTH#de@JKvCZ|1`j@FOxoY+8IH zh#M?7hv_r+M&%O-7$;Rshd}AjAzbFrWo_U=EIi{tMh}*$8C~qUs)ZY>>OKIYte=7^ zFdAF=y7vcnC!nHLF^xxAoR4dTsSnb^Kbc~n9fk_0@l&gOju>vuRYvia!dD12<37yf zJmU?kVs_yhgftdAxkY^QbG8+jWP#Y9jlX|v{C%CdYdHlX-VgTN03OWo;At z1{D_f5BH4iGOSa^luzh!AiEY92&0Hrm2odOK9Zbh7i(6?k3H%LX7KgyX~2FdsBQoW z*nrueUo#j8%_6IX1YY=wtP?LC&B2Rx{7r)_PnVx!KVirc{4ka?77@IHM;k}x17T0} zo52*2@1Wfzv?a5&+P#EcaHJlPN60uhCKr^@n}306SW6d?c^*n9Re&?$PW%hnRY^3{JWy#ag0nRU^t-c?uAvc!RhbqYX1^{HOKL2YDC~E7}}GO+W=>G3z{> zh7gqzz5-8`uzf&BZ7w3wRR*X~D8)9?cM(Mg03M4Xps?2ql@KedKmc#Sb8_;D3q{Dq zwMd$=hY$^`PH$A9ds_TCg+Imv?7w6===+b(1Vbd~efPNIZCRhkkCBdedmj^y{m0ma z%mx^$n1+qWw4MfmU>drNE0k6hJV8clOkY6v%U4B)Z?G!n6uv?BNtU!8015jHy+*e- zrz?+xFceJ_@jIo}%tV31YJ$f)EoL_wWVU06zGC~6)GD(b>(SIIPzU>sDYQsO&PeXd zr8RVM%k!`;d|O_HPkYh6Tx05|;D@=3L^FIn@6iBd|B+{DH~waLm9Zm9{~Z1V43RD+ zyk0mJBaH7ks5x96f>fJi%;ES|HaVd`NAQNX_r~e~W5-Wjeu~c_M+_B?5#{r+;n0BrUg zR}ZK_HE;H$9fk${u_8Yj55w*7V;0+8fC74%i8m4Xrrgg zx;!+f!w2;;5rcroKo3)FJ|=UiZzL= zR87(eFVYY@5`kZ;_M#A++@B|XNURgO7XA~C)87BdNJLK!h&VDE^veC8D=6Nlp_KQ3 z+P*+W5}ZY*xCP-17*+WUg@qO3o`RQ|xGxxhsGkxtliuLy!>GK6YL$vweO2Ip2Ac^7 z{^ircKN;bF;XzX9;tu~GN2|(s89vo^(11|T#5{Hepp-U0=n0PM9(d3Q--CxV)WyE| zN%2R;|6+ir;H<0#mLisOtU*7Ur3fr&HUBYKS z7_3BWsKUF|Z(_(1yds}bSqzMnN?N4&(%;J7VyC0LmS%tr7;-nQuo*Ng0u41cun0oKjx57#{17X?2XQ9;(&pz!V{bPZ!{t8k9v?G zZSc#rWwZiqV5>qkG+j}26F||FHx`1Xgw|x@eJ`sN!!pvgU&&pg7lR&p(N*pm6>;kQ zyD>}9bkv?JtV0KC>nLBbe^kvED0ECQUzjN73w6hd`NCg!rk*eCUI+>T)&Jpq;n!u( z`NE}gzOdvCaIuu<3w>$6KpT#Ya1O#G$9&-|x|Q>VOOodc58c%Gd||5U)u{Xot!VRw zK;+;j3v2S+lZ6`yxun=1o`-aTCLMH*{{3g1+Y@FVZ^!+kMcn_2jQax*U_%uQt&zAY zypIh%DPZ_FgHXUgiDP4NB4Bu%?w9WleV>mYvykT+6fpQGf-jw2_yl2Ngb3adFd!vj z`TYo(5sa__{cr z9ABplsb}?WGNk^xRpTKwFcu;%N#ACsj~9Jp}>>Bh}u=Cx?)gN(o&m9tP!#rm1tB_QHiDg zFwzz)m5pL0Hn6*z+a($+`a?xcmA16SHmyjgqK1b7tgSqJ;2V|Jy~YPV3J7Zc-|w7r z?qjnd5wQQ)kB?^WurNo_A>>n@f+ z&U%5bw4Bvy1a3J-g=L{rz7t#dV{A!D`6p7!M-(=!-^JZd17PRMW7ebfEx>ih!dt>i z-JkDtLzw6(k995Hl`wWDDmLrG0lGfJ>-f4J>gAf){&P8HS8BL-^xvu5!Khjl{-{sISQA^t=+ z@ZbUbDEqw9FQ34@#<`zELq~8FM z$H-4##&C@MB%=M}c&SAD_oPR%!0wJne~o9E_e=C+g#vsM{h;*aKJELB2Z0|u$&`NI zHC5jS(EA~uPxR3P6?H#7;FS@!|KVYkqt0`|peHDv;q1?@^_0(x@Nqys$B6;T=WBs! z();a3IIjYj(+lT+38fLv-+412oC6TR0v@(9r@A1Ie~$r-qHj<2yg@2cyg_yzrDX9T zuW4C4B^tnGzosm{0Ozxy8empvNxbjRu4H{rCl0#9sE&45g-J&2_u&7#DTUx*HBVvRaHgPe zxUGra&V?%K(S@0##&5T4+Yt3={3r1j8TE*v9}-oC=1}IXFutQWh9h5Ci>v0twH)2f zY|6=%dQ7yA@d$pDPgLd-hVHsVwHeoGiRxp#@GXp1tPl?j!V^#*qRS_S+pPFtR)+)k zmDsF-Uw!0cjO(6e9OXk8r7f8y;k&I_^8_OE#qL_OAb1qM1Cl_jqu%FAtE|9?4G%sL?k4v{-baCzS0?)qzK~)G`*N96k^Mun15pU9Q%7yM+*8AM+zehUb6$+376 zM4xAgJ}~dSoyB4lIRAx$!Y|Y&Jt7#nLT4L|d$>0vxd0>a%oOMww6t#Fb+TqA5B?LE zlQ!odJZ@QX3>tT?1Dut8$y9PR@WNE0j*u()+`M0d&*XiM!!_HJSAk)`trLM;*VEqt zD&uh|>LZOEm?Rn4-I)%w5MgJqKuh0JEgCdW=oV)o<~jWp6!X)i#s2)Etk&o+2J$lD z(6h+N?1>5ype3jXfP{(6l+!S2zBmFcyT-b4y6mBgJ!x$$T?{YBO`hLLcuk~ zb8}-IR!rp78W%$GR{&VDC4)4G6%WwTiy(H0+2Qbq?|Ar|9%{0;MM^C@!ybG@Y zhj$N0&BwZiX-t1ON~UJ?@AU$U?f@K^v}89Pp|1cMV<^m77C8_npb;`aFg;Vu>xYnH z$<5AVC{D0!AbAnm!ZYFNIjFnwW1K&ZZW<8nI3~!}v^|qN&6$acC{KY{d!v3tNOY-x z7K>|rBgHTKM|frQhfmqP-m8os1z0;D138TRord(uYF+z#_%0`edlx^_l)nXa286Fh zh=Znnd##LivowkR$ z5V1LX5B(M+QB&hg^e{NO9+PBNR6-}lfIo^=N>#J?UCn~O0%j<8Zmz`rXaTZ}zyn3^ zQtlyOi|Soe&072nRAlf?^S|ryh>&+Cvj>_W_<3-JjjT1RE28NI=u4HA_4NR}()88U z+Ej(W2yIUMBR1)yM_>7`<2pbOTR=dje}W1x^w5{|dhVPJI!Qxf^_bv5l}$heY)0M>cJ%+@UL#f``f?lhr&qz;TJeh!v;WkFLI7>X4{%{a6Da#4%=EXe93Qa9>WZ7+mM#x&*)3_#I)xcz)gp zY=*Ef7G*B45ykJ->eG9e|LkiC1KcwT|IkSUsg>6(D)nh?rO9xe(epc%U8VoZd_>c52cjnGbyVbwZ z@Phphz^`ED&Jm@%Gru1^`yc6F;mnf*5V00CiWuTKB;6UHzZs!PLc%jZd^1Ah@hm$z1db1wVtZN+ zLfB45ox|;eqbtj_ADZx6)!taNGj(fu4m9T$EE$OQOIA*HJsFf7!OBv`1q}`4qc>AD z3!exIXHec8Je$OR(D(6}cGYGD27u4-Y!ae7Ti4%0iK8Mk9pTm|c4lPaGNR%MBK+=T ze4Jck zplPa{e9p$vX$%HMXaqxKV1#EVD9I{@Kx#i_e_ZmsHER~WjlIYhdGZ21vldSX9b2-& zn)Mn!!e$+Mw!)f4mqqq0+6i+;n*lvPa=!*`^`Owhw_) z!uhoaIgBtN@{3k`&qoH7!!^USxKP>u3X zMJW2_D&#hlAo>iSFU}wv@A(!C(6F{3E+`U8)a2P!Pd8UBVnBVwUapyM=OF*|6Q4pF z{|LQ;HVY$-7A6r#-h?;%RW^*ARa@-vmY@cgTrfmlfH)CqIUh8FpFB902unc&6adi( z8HchH>k#)kVWBvvGu$dV*nB)XG2B{je0Qt12qwT^mtn!L`>qa_n)x@HY1?3?UE`B? zU@TS1PL393WntI7s6A1gQ(B!p?cCyyuHP{Bg34?#QBpc*b^QrZTY3oX^(%CETIe)9 zEywLqbTHGo5EmXk!uJlcyV2`pN3i~Og%b2Sh^pvwHGn!~^pBd=X@kLN_#6dGGdUGc zDG9v~e7I2I!=Jw0Cq7Jr>(Q?9;bth6Y4Kt1H+CBz?*Eq`A8u;t6Cakox!3UFeT;aI z@S$4rGyiYEhi&`xz=x54?-xFtrSRb~XbgSuhyQ}>#;);UW>zow&~(Ud{rK?n z8~enE**JZ+m-xeL81WwALpc~GnBsq)KfH;JuN3|e0<+_?fxJRkM|MYfPiEdHa}ixR z+|}OqsJ{1M8yAISFV%P0;=Nnn{vCU{z9;r>eeXY$rath0FQ1Ml2b47ivMZ($E1;!Aw17qP)i1L0riK-8(3k7KPC&8sv^`^K+e)<2B8te!*KayB(?S`lsO}0#pFHr7bAxl+4(bcifKAd$$l6sC61fd z=Je=6gXsa>x=~z(t7j%CT;9R3$I*rsf5g$2J|m9a*_{bi=|!yXLQma@_4pjg8xUx8 zy0utx0eeB~8Dc&)_<5WUt#*ku3UKJC^|XNE;R56qJKnm!6?b)|;U?>P1}(s*JcNzX zsySBl8Qj7SN|}Os%{#o+!hE~vP=t&KKBzj!yvjj$byhO1cU9%`Jv^^|!3S-7gtcJ2205R+t&m5=TRSbJR zx_YJ6?nbenW6h!&+C;H$=@G?#wh1~)leD&UUy4gTVLYR1#n0qBjR?iqr!_g~>M_kG znmu=x^nSO{)HUd34*CNkV#0z5l@VRVe%yp?XNZjj8YzJoivcHMjf138h_Qf32mgf& z>Q8F8=R4oi_W`SQ8y=dSs*?!Qs~GHqq>CEp(W&;g1N&j7fTUQ+Mq#HIwRrlN@;Tr> zv)JSP1F1jK4B`q6hrl2*vAxMbfMCT*azD;Y-KgrJR!kf;$$o@If&I`&53Y?=M4-n& zooTWW*kA~RENUX3phw3@p!;>(-RK4+(ph(5!jb49818;{Fx)*(Vz88k_r4g3;%e^5 z%`5Sy#Z-t%Vgb|-P$&}lG74N}#piI^u$I7ou%;DUF+LPf z@->FI;B|253g#d9{eEiq zdK>oWQvGwBY7$_uK4c{h)R&!HkWehpfNwn5i5Y)@e;$khnF%938{zoDZ@3G6+8qObf;x z>Y)~le~UXM7}JTvCm6qkTc2PoN1^oM`Y0GpFN^CyzhHc|pVunEm`Q#`%{#zCKWoEne6Yi%#$v76sXiN~jd zLX~)YvRt)7Jbn+WI_I{Rc>G0DFqoIilaJ||xX1EwhztrQ+Nv1hd9}Dv`CBpHjLPo{ z$osOKS~_ZR=`I}-|I=HR%|)H2@1&Xd8iOM zN9MVl>$4J&DRul6@WWz=C2TOkPx-*ru;bU_k&%zH@m-31{3p}FeY{>ojC}k{vz}}D z_^@>H@g`+2)XSN})6u(>k55DaBLV;@y~)S)Fm>_4YOjTkb0MVTyR{%IDU!?r+EXa* z(#2e%_ys&rLNRk^E1|eEP{h2q0@B@`cq(guc?_Rgq(hF7k%_Zh!2lPp5< zPh2L=Sa1}ICx}pd1iA=%Lds92Aef0onZsK-sEATe{b^e9qHxacY4ah zYx|Ig?|`BLA;(E84`a8+6#+4IKw0N3Jo4mI8VKh$k_g=dUQR9M!oWMgFAv3l48QDC z9{vkXJFs61cT*l_R+b*}Ft=lkNUO%fjyoR!+4`1;Z|;vg{F`3o;Y|MF9RE`|$tRhy6zGJ+}{cLuc!+ z{Oe1H+C%*P|HMAL=~G#ujr{vR_F>5!`+u!{c->XK$;1C&*@u6zUCEtk<>7wWhnwny z^6=iV58sP4laz=5pRo_Wzd4OOJbXb~dAO&2I4BRFkRlI1bE%StYk!qq9{%=a0eN^g z^MO4Dsao5Ik}Z(>Ps=4 z^zfIcGCe?8Jn@%cdI!3Q!^(NP@|T$7_m`N{r@zFHUkS>?JJD0@IY@?wIZ&3cCqKV= zyz4JfJDc7jNO`9GB~p_G#Cf>fGYsqWtgF;RZ5aL??qC?6ZC!s4u3#93%>y|eYVWY3 zZ{UGv(TTxf&9yje=-uLwk1o3whuQqbSR9mT7|WJt8fFK@H2fwmlxbLHd|)UkW_)PT zJ`=ZF*S7(#%=oY#LDk(<2|D9LZ9#P30g0OIL{*Mmv*019_uY2YLin&&e}W2b9EUz> zmx)qDp-Xj{Kpt$r%f$6tGk0YZe(s?jA~Ca^(`Djzzsp25I+2?3VPBXIVcz~LJ6LCb z*&T*te5gY_+0-eF(LV3mqX;3{!PWK=8cSXO35jka548Wpy8sx?H}+b@z!Lw7$KXG~ z`IW2>nBrOAfK32JysQs%yp#gSGLPA(p}57(`oO(=ZB#i6pSngBT8bs2tu{Lj^;wF4 z2D~+{6x@?j7Q|Si^v>@{LCb})%6thFNh}KZAlz>Z#ot0nV;^=Zd86z-3LfV>CHj59 z{xJs+js2qp@DJFFUxUiump=tV{yGPu7I!}MP>#kN?FD-=xzTvzPeIEY{V5m+;7f#> z&z~YZo8D+oLAj&6jG!w_6ybBG;EW=x2j=%~0Ga6`<^ba|GQ7FvoML``=_0JyOq4a? zABYj9a6j{^$urnmv4{ChkiL^1UPQ)<**HWqmNFYNSBXY`n2l+(#fwgTGWF+jD;B%= zak3K@N~*`@euj8hbGb-1#R)QYYii@KO=FMa|K z{PyD8v5~ac6q2vRUOXO76v|#ahfWkKkAkunyXy~i@n2{!MplIb&_&vd=|3ThD(uBHk}BW)UhTzc^JNU9$yCv^&tClJACsHj zt~f%BVwiCN2-u6~DF2Duty#)m+yeiJImUlN1&VO}CvKNmDSg?C|MI!)#kXfVgV8q^ zpOpUue2~)lPi*8Ug8mLq^kFal5j+@jnCp z6SH1W{kn}K?cIMuR^~dpricH;=dl-alZE!;HswDNPwzj`tGyUg^i$(MakFPHPRUWR z4uK1L*o$-SqI_&948op>u8!YcY~sx>1nH%TH(Lo&c~yAzi&rWMdDLxMLVi8kF-06T z7J#XACl8oF3AuF-Fy)rO0%`id~N4D*Wtplm>uI zx(c&j!I*NZ!cF~8TQO<_<>k%jwhGzxFgpDOrLEXaJ)FE24Z=Hb)pCm2;>b=Yr z4?yniC75ZP{>GX==zd4wOi3tnMYsT~n}D6O!~7LZ6rt1QuXyS{wf-|6i<`f~Ck2!~ z$Ub70k=q7EkivoyZ#e*K))=WY7-$~(E0D*69=aLL1z%RFD-Z$|F_{tDocSyeku#XY zBGH%dy^*({#tB z&ICa%kj;Yfkil;R-z8LnQ8W*Fi|U4(&!WCHacYj7;X74A+fDvss=9F(>wr@>a?HtC z-1xhdA91(yD7;nicfTQ5jKBL|kjMS`EDF)>RR93~mP4q{Xmm1Bw%2?X;{aRA+k~$Q z=4tjj1^OO-t5X}E*iwL0DvCxOq-KRM3hM)a3uJq(HVvS zLRz6Pk@o5J_ZS|7^EI?M$FWmNV$|_LA$u)Rua(E(OBk7G5SsqcUnak(vwhhwwxeA= z4jgFs1-_^&mDkqw4FrtNeL>o0C~GE&d#^cH`8jF>n!7&ou|R%m@osAo?~54 z?^Nxdh52*!**7#G5Yd^+t2qy#b7#n-8-9!lu-ZGBJ42FL>|yQ<>*~vyJ7cn;S06va zRBD#y<My&nGTI5b2~a5mgV1l zzsjWqFB=5Bz+0{M`j)!VsaUSg&|h)=DjkpIsuT}!1uyXL125c!5Qm#`Xs&d+=rGfv z!z@J^9Z0sS3Ct@#5uobPYA}{;CB89`y%Vbga9SCBJWZwsnoJvBxi}s2uOc_eDncpF z#p_(ui6jxs5r+g33?QWZ*%0}eLmhQB^qKb{G%9_DI$yy5Wh6!?_K5!G3t^H#lQP5} zXrGtm`~pHP>`*vAuEeHg7lVtd6cLovtk@=sxoUnKGFY}};@|50705)65V+GZ&Cq)0 zLhJb+hh58@PBEnVp(^OhU%@!)8hZ!f6Bm1L0`~H7gn=<5EVzJt0#MT!{3OblbPi+C zIpD8hmEQz4uzy+^(fH`h!{d}kIH1lCb-aO|@r{4BN$C|wp#j&Q#MJi!<|(DVKPW}i ztq<|hYVjo?Xkb?aN-^{upfB3C%m6lHY{7&Z%*bb$JD^4P?rg;H3PkvAKokusXI(D- z=+!`dkh&WD+ynBgb6xsnyldS+IUWYb$ALJDpd%Kq?^H=RpiH$mzeT93GzESBNTy1z zt!C2h#8+6+Go8N!xH`;l!)Bd><7|m<^*0!3A=6+`KILRk3$&mV&frG+Js%S)zBBv- ze{!P_^^$+%ETs=s{#@xp$Jpuhp@BGmw&(iLT^IWGpkh4=D!gm~{i)4Y5o^iosqJ zHW{=O^PKP#pEkg6<0SZ@3o zI>4rT!GhR)0FeA%^n-`MVzhkg%5r05&LumClI2FrgPIm^Z(@bj{sHrI(41}fGjyrl z%FnS9^ThldOF3Wu3=>{{4p}92ehw(oW+i00QFkSz9QPvMX~gUBb~UUR}+6p zUdnER!xPJH#jBu1ES{XYmOI?74WC3j8dVcfokzewUHJ=n9Zte@xc6i}%Fn@+#S{&wW?n_>DFp&-r%WFSPz77RPf4&Y0wy(#ELrA@m zYMWo@;ELXx&cWlQqH|n;u4o9~BIx63gx=xROVjEbz)xWlVU;fw_7+NY6kr+8O4vH> zEu+EKxp$P--tv9qB@KHXX?6U)nWgHI}F?}neAMF3LgWSDP8!Nxa$kQzKg=n zJAkH(-}Xjr2!lQ{b2|nQ?o}UA*({VYQUjfWM^cyTPdK@yQ!$r+#sgeI895gSqY_%& zWeNo~kw2qAKoj9A8YIIkm zY}83LL1@t(LYW(muo~b z$p+kQGP|NC!-=!)MMF99M*m>`jRkldP(I|ys!~4OEfXuwDQV%E0+zaEGInF09x^Nr;G`&4biTBf@8XAV}4 zpPfNG0R0INb%`R#p66A6h+cU56iY#&IUf&$<6+00?*TQaZ(M;wfIjq%)7X~)Af;de zz%-9_m0>eW-@+%NY~1N78#PARP=UHG#*xJy%Es-mu?5J`)ifdiwX12U3w?ey`gX)~ z*3VCIPWo1}QZ+heXjLO6y~tc7aD~@FAic;W9Gx#-4?Li|&3ynt8^VF?1O8w#QZvEG zeVK^q@?mO7ID~UEQO9nCCN05Gbbb-K7-5S^2R~uezp~vB2c15%fb7JwU|7@Naor18F2UrvV0nBOU|EGaBo{)X6cYJS$uO>T1DG9Y zhF=AERAO};jn8m3m1t+hUk2f(NeuD`XI?^+vlz{55-~+F-OB-em+A6Q)c1W%H%jw( zyAGZ)NXe#LQvTXE6=rSnbZQSGG+>09aV`{nJ4_rT#mwA#;22` zFAm=)NgVFAuD@Oe=gXWhFX)f86;nj)O*5&zB-E++N9v>=$FFOUQ|I2^@VybeG7~!o z(oioGI}Dw5A@d}MW=!S8cPnOlU{#S&Il1v^tUM*R&V9bzI`>+$syY7%UN7+vZf8pO4vNS-A2ov)EZ2l_I5k-8ZtRwfFQ6Zl}-cRcc66?ene%|c&i1*KWJOG0H zO7d}NdG{DE*rcNH;oPV>O3KCQj!$Xx>Gd)+t8)pq`pOC z7G5aUf&Cvhh}cU&{uH|KJH-NdGLj{yX(O8zzaI}U1<8NoQ3A2a0RFmBr(B6p#8zw_ zId^+49$YZhimhPlYG%l)oOVc75TpFi`V3MC`k9g+=mnr1cmwI$8G{mL4i400iYB?R zVBy3*BX`5li5%z8l=@(=Fw@)S+=D07XJDGawjV<}@x7P$FoEFg9S>A z)I$&!h_old0?z~sybSyV0MO&ba&{2bx5gd4Bt98r#soloUjf3z<4wiShbd;!bBnC! zQS{ImhYwu**YaR`e2#sH0XW>c@X8}-swDg(p{RTtKSX_w_ahcZtL_)=5y*K4>untUiXaIUoeKoYEG zJ``9;%7?-)9J0pphs$eA7YxDZ^eFxGK#;W0V9n6 zfbD=J7oU^M5P})bCeS?i%LrWi@~8YvV;{4kx%Li$qRMru36f;kW5I}l?HPtN>s?gf z<|9+Z9g1y8kwR23UQl2FNPq#m%A2wQ2|y)p%Dov*9`sR(%I?HK+)*z& z5eK4kyHEQIF)$@>${*`Z-V~$O?P0!?|H+@SXZdIPl|QBJ?%l~>F-!7^ec|~@kUu5k zp55u+2aCv=zVQAbe@gXk_3x6${v-WE{*>0;>fib`|B?P7f6A8K>fgCf|3~_V{3+$F zyMuqrH+>QPlk_R&l0GGZv?=3|Lgm^VWZl^GV03l1Jtha)M#?00N<<=e=F}luh)P;D z3BP%X3ZzbHNWy|PCfoZ)SC;Sd0TM=-5ZFEP zsqlPCAfL*NUF1_i@)k*p;LE3Srb@%a)^#r?TJ04fI9Vb61G-rz*;SsS1hcE`DzOte z5LoxD*dkR{va2k>HT<%fUF8wV2psb@$6*bvE=*MB;{$sYQfnNUDQDCm9R{+iFlPvJ zm{4jQi?8c+dXy3(wlGRex{ZHGx#;%FC1R`4cIy+IF|W#vd_SvdqFvXeT?3PLeT4^@_x0wcTf zC|*FxLl^C&tmsf|293H}=UF+@HX-tXT2iaE_IHiF_zWW>~RH z(LyOch)=);^P$kcR3%`^^ir z_AlH#JzYN+c}!~tZ=yZ7aghQs;ewMg>p+P(W3D+2$zwYFhWAaRK*~CY;5CLk8El_ov`&i4XmkLLIv15Xp+mi1N?=vAoViprJ%oS4{ zIs@BROLycaFbgtTD6+PEBT>~_7yY=~ULC0rMgSl1@LZF-1-kBSiK;CS>RpQ>$>7}#?&V%C1JT5q}r4qPU(N>fJ&UV3AI9DfinW}L(auBM#&FzI1zX}lS zx*7XNoB(=uL2aE&HWnAc7*pg~U zc|Skp{Wc(`s2Gb9O#6au8_41GnSJ*G=8{dvj!M8#4dg9x( zOZvjMn_*f_i*Iw=cN^cn^3Pr3+jU3xiEn?H`9nIqVeql zK<57de7h3conI`zjX(=2_;xu~y#RmPgZwqG-66bXujQ}#)vxz%eLnz8->dm>U`pSc z^}YZ2-mUM?>(kW7Y?w?@%j|n4NY*zpaR6kITzh0Fb2%PSC(6Tv99)O+n{7P`-H6gk z@{)#u8N;^N1EVYRC4sF%8}ZjZZ|2(!a0(I3bE24iEsw2koHd`UhmA1*Ui4}AUyFWOnUS=P`J~(KBZHG~D%;;O0*dslvX@GMe z#kq#I=8BUGIlLTqc!Viu18&$W?CqIrIm|@;LUnX8CxN4jf^MfC$x+(1ZFWH@`R>m! zJY23C_9_8vzhF1CAxr=yID!_)V8y7HVIC>}@_DpjcDWT}p3>qDmMO=C)V5&W(aQnR zw+2{?D+Uf|8l8!Lqr*p|!;|opPoDITXDD9N9SKH$YE*z5wvn-4*}b#dUZIXb;!I@A z!KdR)q=0-?c@7F>*w1&C=i*r&Z&sD(tDge(Q^=pr@(}(%68}#E2!YM&DEAT!DZ{R9 zP5yfevV=Dv#XJq(iL5~x zgDm~Jdu`XVfz?Ex=SasN7AgKvwIB_Dm>b{^r^Cri@rU<@_Q4+x?TtUoQT*Y$AM}Gi zSc{jFKadTOGm<52Ni^h>4a@*$)^iq;b0XjdU_8PNHa1s!+~8#ZRB?lo$qmTKJgV>1 zRR3?t93IuLFjQZ^kcl}l*>HnUnNwJ78>Sh1Z28YP;mV> z6AcT1Jc+?jZS9W*djfP{8>IV<;1y}9{v^OYmFiLN!}Mw`Uf*1CLgBU#mu<>Q9_fw; z12AO1%HEQ>8okeBwyDvCW)9Ru{9st46`41*VOYt*S7SW5TsG`uA@iy>`(rD<%%f}` zecTqFqbQ!6bBfHLV=qAFbA-(6T{3q_=7R<_o#K*trZWv+fy`4#`SP70 zlp9);N52D7uFnMix4>KCS1S_!zERftLi10iLi*^MuzXq~!?>N)nhsp3tg!LK8a`lmu3sq$Pn? zVM^%z>>fM;wi3t!nZ&?7kOYQd4qXjHH+}ApXJxeIt^$-UB+s_*0cy(=SqJF-; zai1-SIW4Rr28rN(z};gNyOszh;49;A9T*Sgfs^qvg^3hx`-0_xdC7k!!9;3u$wAJT zLJ%M|JP^{iU~l*anFzA?Xn9~+I(cALKbgpHUN*eJFp-MyxlH6>yfjRt_H|P*Ie_0( z&FiN;p!tc%OkPsVq@gV!4A@#Uhrx6jL7*IrD4}j$n5fNI19Rx&#MWv}C!kixL zVDE?sU&j;#MTC4R2FCxazU?ueu&|B7!gdH1nhAKq!g5zws9l&CqnN-L%>>3MCIGZY zQot8}qL{$4Ve1G(8^XdmE8Y&WggCr!xYdgN0oU7*vkDWAG#t2zHjo7{d<$8?Y>^gf znv7B)(!zkCv@jW8sq^|l(f_0mLF%2mk{90JBYB~IZgR(Fka`ue$cwyi`V>X##3)0H z$%9Gi^ITFNnoeH$O+QKf;pYtno9ZvX$#O0FABUHQ)USNS6ign(ZkX_iUe~Z&j?i~#$od~5*iSze?BwmJd|2RfpU$G>ormFE3uD|2*;JbUa=4(m>ZwFMc+etPF87&JK4_nFEt9&%(-o`bNY@dUOjOkxrZIH*z3Q>5!|m`|>!y#u zNZ5_xvjMr`)*I5<&Wa8mBtF)&vs zHEJcHC7cC4L37u<1i+)}R}u~K3cbprZ!Mc`z&ono_v1cM)sd)KGHiS1a%=G^p{4<%dRMMyXjr0S9rlX)A&Dw%=}^9*FG60ZyLtqT8=cy=u`v-|1k*+F`lc5Q*1$hC z5$+JtEjAHyN_6Ld>y8KLA#!Jym0CBA6w&mLeu)l_v~^Z9EVci=e9NIWk)-nwx( zeyIf=B7-?h4`w9?V=c}=@1x0M7JO>OwgD=|Yl^ovht~oxa}qTj7-4<_I`!(zkAbDK zm{2E5K%>K42TyAM4lDV<`n51MV%T>5T8ED9Mm}k-%)~LHjv-)!e3nlK*lz1<~o(3r~BiIB?nu`o2#x*6% zaZeA{@enD~526lE(R&+vr^FBOj+FQSdYPzN3S3L2M5BTPC~*?b36K&O0eO$_L5T}{ zQsQ~Vni9bhJxXjdl(-~OvuGETxWrG1g?|1WUaIKv!Zh@FYLFg(Yv>UUHbRd>1N3+^ z1QQO4^mzQP>2ax|$Bv%#xS%IJ9t@vYLywC{kAF%_j~zaG93)+Vk=G#CfnV_<7Z|3& zFN0T#76rF{^g~6D3k*Hla0>9#BUmr!v16C?xWS{xj{ei5Als~GL65f>dUXA3%dw=7 zM0az!Lr?}*kcAs=8U)@HLaGAwovtKZ1=+z0 zxPK8!9E^5Gumdln9_!Hvwlgk*W8c&cIL;A!b0BM!aG3- zLUr|ubBQsB)T$$y^egMqE@b6Mos<&^eaXHsce{)j(bp$7mxczCVmF2mqQh?Jv8WNK4VM0T?JUu+oD zQAh_nnD4p%&45&d@}?|0gGVJ?b_oHmul*FyMehCFyvPdXWdxByq9{s z>DtQ=w703(_V#)IbF`=MYXZi@y}5xh99mF;=bFCCNM9tn5xB_03t~-jRkFVP=sRd`b?w0wlw#~v9L zKf9)5RXDlzF>3s8Lx6$vmR+^ExoRc-vCcc0TF4?hyaa}6*t8$RGLtCJS%CPU^Xo6b zvo_UH_$ZNWK*pxvB$6s*I^4j&YQd`TYK*8m`Moz(_rpt?Y97P4k2Qrmnz5{6WEYjQ z9V}NJYsjONG2#0CATBMJO-t7}*#g@GjR{ul8m#b*4Q&u=|A>JmstXe3h05p#2QFCq zc?PDLuZ}?{Q44kuML^6rU5gk;h=?%{`VBA^g6=|E>Cxll&~@yLx17#DvJKTlw-;Km z`*6|N@E95`!-z!G#oh}l$YPv#y{{*uB?6-lt&!24;m0x^`pfzBBkWt21NfAmz2447 z=mwnqdknIMY21o4T!Jf7OFIkFwbN$Z8h*@?klNrUs*5Vph?d58^=bTqehx+&8I2yf zwzt)?7q{>YDCEm`rI4@NO@(|l2qXhRY?D8HMl0k@jh!$Gxw5?}^g92`RLEOJA$KSq zi+|aZq7JU^x#zYT6=x(zKS6z(ORT}tO`|#ce3E={4Ha*kBtpTD|6vLy@5W=##wM>* z_T1pVAqz4WMlO(CgxH+ujAnhsj0m-mhoG@+VNh6Xh6k29p=i{{HBRa@^~s{9>PTJi zMPjMM!7N$eh8r(#%^dKf{7d>JJS1CR6{=;wwDj=#zHd}i-^=$E0D&vKvxUKi$ZPAwfY)@={CXqf$*9{w2< zelGqQ;m&})HJyLPno`(Uhtogfiha`BSUvv?bv{}7XA}kfGs=m|pN%00+ynm%ZpzXk zKu#R3ctMod{Q8n8(L zOU!zEMV(zaR4*I$^Q$sidpL3QwQSVc)uGPD`KX*&)5C*f+D6&-ReQdGG9w&1J*}K1tT$rLp7wezhr>Je%L7 z-}f~fyI1}ZQ~cw|C(`hbp#O&bZNoo~|56|P<2W&Qq~RZPl)3a#2!(y}k6!&ZWRFJs zZ!8+ulUw9?+~S{@RprES8o5P~E37hH;dtqe;RnIBQ9NMj$h$MIdi;*#=RZd2G5y8 zvw_p<>{C28km+28FLAy)NZ)s1XF}+Em7l&p-rMvIw~kw$PPZf5>Z89?GJ^Dd1Sr{X zW9&HzH_LQd`$^vibQrQV`15DP1=I9>{bL?|Ke5sjOkRP<{iN@7{vC4_iQoDUP2zLa z0h(R;cidHMXnjm3Xnj}y9e+`@&aG3|zhfeBfc_oNj>6EsIRB1@IV8?>{vFlimX+sl zA)6;I9!rYQB{+HHorbAXlElH_2+GOh3gHdn$?7) z@cg1ALF+|BD@7dej3zFwi2%>|#-WO5;5d<}aG%%9qdw^O1$UU<{5{8DCR4pU#9p5& zP8dWNGYyCyoh!P4^hHIA3P*>E(TiDHf$|<2wXiVO5E&c9P@BP+=idr z>U}m^vDv~%xX)|k3FQ@5epU+zMl_!eG!<4fT;$36po^J1}oPneQ~ z{l4Ct(hi}0%M#;5b@ue3y~z{x^O8rbO~-Hi9w6)B%LXp*ZVTVz_W;rS2JWu?Zqr`OVkx(#R7Rx{N8={Sf)hE?q#3Jki7dW1(U;@$~_DVoqQFAIBPgv*8o& z%xkLfe8FiyLk6t#V)jn0ciH-9=@j{Mjj?2C}O}1g!bk1 z^2NU)k)*hQ^k2T1d=^G!W$+hBj?=B7Q-P^yK^3;CAMB z0~wN5zPPWS^!@+>Xa)6$b4IxIJ`^tvz5i&bDVVhQO?p2NSAP%#bkHAUiuMPYk>U^1 z?)ihfVh;}yorgV3e~@*bB_m@o=Lczz5C>4O|32)4b)QnY9`^6#Vv0h8Gn4jU7-`Jz zzKTyX#6q>Gj1~j!57Jz4Axz$$Lr6aA9+rgR#P_w^f94}N556158)Sj@2C0P+wL`o? z+N?)kgqb>Z8+z8epJ5vs`;WPpz=!Bi0R(TZRS(&FH9OOjb*rKet%K z;DIT2j0UMbk(v35_PEG`Lc-16hNTobx~qqyIJWR%HdMYHvL}+Ayz3$EDx)h_?DrT6 z+}Uy<5UrF5Pd2=)S1Qp6N56%W$=348#xWvW8ihc!P&X<;8PM-sc&MOlN;v=p?K&98 zi3egQ11=sr@XYn_SR(t%1#~Ux-Myp3zo}fH@~fJz#V&=I68&tzbvSiCMw~mw;eoaI z%mGnnMB~SB>ZrgyojPbfVMv>DY2@Qi2$UuahI41f!ojNdW^y~N&N)&e# zZ_Qkls9oAzvlc_hqjSu-P(E=jb0fAOFgipOJB|8LwsLOGO2D}l17!kPy^s6?w~<$n z-+2BU^L_iroghVE#jEdPjiW!pQiB^+^MMgW3^wC;Kdi7WL3Z@r=xzf1UgE(+M(?}z_F&-Q};3$4Ak z_rd3AufP5apqCM#7uSEG;wvEHz30Dx>c?twRQ?Of^#m))p7}3Kg_fG)zwpQ=YOFo{ z7j8L}(sQ5w3lNH=pOAlc;lFUgW==sKq|6@v3wJ{7_xmr%MqTGS+!fzz{tL!-buu!c ziPjc$VBi>_KVmkM?_e46%WXafhI_G&DDQw#V8;D&U^qn_7;;eDv(Nk==D$EU#r}-N z@4uinq?G@{+smm?x*iPFDvQ@Bby8WdvjMgYdtE;bNj(int{cPak0^z*rdKzH7KfUh zc4K%^^hS8p^x?*E?eF-J-;Lqm!-)gp#_;X}>W#{c;hTRn1(VO=v1ca=xG~UwfotjK z@n0A(3~JZ@3#_xh{tMebhyMcW1y{+^%*OBhm~51Yd{{4b;lHrU?-kYe@_hxGgwUnh z-=+UTzBq5C_c!qTG5TL$$=iBCNaGIy$qGp$mS-84$@A>LA)+X@$c9j*Brd~(Dku$h zm;B@T$Zs(a{-O59iWn#hEO@w`NN_DNgbzxmLWDV*z`(3!}-ek1<7RJ}D&MxklxkHK%T%Lnt z9|dS$*cpBc(Qr5Ncw|Rc7T_hyqy9vB?nxP&QGM1Lj5JVRafcd*X~BbpdV(rH2YhaX zLj6U-C-URK?tm2LpEq+=gOx5|rG7NBH0(NGs5wtza*+Y1VPf%_;$y4e50lvbw z;4Lr@M__#9X^uL~n-`r%ue&EQD!@Dv5PGnkiM|b2nguTqe z7GOuTyE{@`vZ8)4zlmlKh^{QNlg1Y9olgwIyDVo~rL{P>>v8Uu$qwdx`A3@f|J%d*5t12tgRg$_kB5Vw_+C z5!}LxeH9m|tcZsSPJla1@p`b48KDqf@vwTy^7?YTE+|D9;>f{xQ82)Y-^q{Jj1_O; z1F{e_i)x{qj5f0AoO+y7I!48gYENet6@@M2%RgGBNX;Bpy=?fKdVp3j;;7#PzFzninlU! zE%TqLycHF=Qs-R}FxlP_&Cc@A2FKfkx)KPU%z8LjIYwi}v(XPh81#TX0vXOAROR`b zc#YeutoZ3{up6cRiqE=>w>l@`0Y)iPY(<}f&h8u;C?gS}L72DFIF5hBZyl{~X^4}Z zm=l`MpIB%ieuNRu3$^meBJrG!u2Sp}N9rp=Ba=DUWyF4q{djUY-5bK$iRqPCI4cv= z$0o|@1VOV~HJ_K0X2!|YcwCK_E7H#dx#Ds)fo2+^!x8E`>8S8y4q}~Skaf!9KD3u@oB|SgBvlzj~BeyFNAdVwqhX1~4KkiHcTKL(c zK0i$@KOE9LYaeWPGtgjRb5`8!abB7ymOX6gRb^uz?f@I=&`b~>cHf{}AjJ1K48IQ- z0l5k2nj8}dFofu^*~!CS{H(hvyczZ4#LLFw4!icH;;o6A0((W*(LQ`0Y}ahEVJ-Z) zyBb>~Stae$BOw_()UC*#SiGhg*e0PKWDtn!{^HW8WHa_UIHzcy|K_?Pfv-t8Sc!~VTr)@#4 zqiQ!_`8x6r**ooRiTce54u7!WNz5Nj#&rtfSIXSz!U0MnbvJQ14l$XNIX{mV03wA>9bcqgb`ae?2o?KTbQ9B&Uj{0Pb4R~DmDNf z?$T2QjQUN9vKtU|7m(xT=+$>%*jwxsSADI;>-xPLb=M=~N?)2S~21N zEI(VpU9sD-_y{m#tCWN_t0kY!;UlV1Y9#?%9jnDUvf65lnyi*A*JHKcwJ>2Ws~sz> zwhFAa64RSxeU-UjwbxPfJrzvP$7)a0tadX>39A*zdaTyO$3R7@NLJT_KKWPp?fpUd z_x|+!_BP?Sa}>XAOyRee0bPUq)>~g=vP=O)CC%ff09eVj2-d39hqB@qle3U6-0npG zq~~Bx>u!VHe2z>DfHVRyt;FCmC}_OKQ7)Akf^66X_Jmnkz?W+xUl*xysVv`k`7EB6 zEVp9s;&&8x22qU_B@7^C#$UoO2#HN*zG^)>*jk*l7SB0Oq(8KC7HV$XaikUJ`3K## z=4%mxa7sS@sB(6a$uB5LHtskZofM3K{3;K^R_s_@*gK9? z%Jmg+$qb%cr$$&ibcMs+3Vs6|;8474K^ z>%nRbL7j$o=Lr;a<$wFtu9=wVGG!P=d>RP903ewxIjwOGtBpPGg~Bynfs6=_KAGk z4<2Vd1aI?E_qrY*9Vs7ux&Ch&oTT=9@QJ-H`Th*7>b|K_tihSd3SD~=N9h|lz*hi@ z6O)86s%ufE2+tQfYv)TrVH-cdYpPfEQ+D zEZ7QX0g;96({h~`@s#*)hMt9?C%y;l?%0|&y3mTf2eBMHtQB9NRel&>(>y&VlAGLd zZD82wpBP%$U-Ua4@ZzuPKaW`XMu_2beb;UA%GOFVCy zgTk$-%AgbQ6KIrt@;w2L0gQ_+FTzPi=-=RKzH<&$Fi>C_C@>+Jcu_-jqJ`@;uEuFe zgi;6!cv1*&NT2BAM0umN)-h4`8Z@ErxeT{4{-*}@KKvT9aHsANmt#N z2LuDmE14Oph1UQVm`6ND#M6Vg>F=L)H(pl&Z4alOzrq)M2KYZ)h zX|$5n34sNh)sNr@$1luc<5Y)teqloxhr+9Pyakfd!dic?nrzjHX6tZPaAo{I#(*UN!BpI(2X z9oh2z>wr|x?}-O}wXeRv*L*L)-O3?9=j`E+o zRz6$ZC|2Hr8)pRI?C~>~pAJ|38KL?^OPA^oWhK?0GF++tl;cYEr^5LI2_zHN%aK}a zUyMsDejR*dAe?Y1;y*EAIx%o~gx>`Cl??Yj2vo^%odiz`>Y9a_)^;@L&Z8goWMOtL z<0O17@uNa}`OHt1C>_N|6uMfF&ALfR%+4Zaw)PjRKaE8$_Z69d>-0VREd~UBD#B|~ zLa*ac2%J~&qQ@uCaO-k;S8FdX9NNZ#-V(I){p5cy*$KXpECcgdbJ@Uw7}F5DVPm4;_C(d@QQ6ZrBpNm&X8VSc zoKcZ8QJO}#s*Q<;mr9>a6g*%boXBanv#(xKTK_bxT9KbB>yvBbdl(f5El}ajnGP*% zXy3V(QUTAeiPAak3g~tiF${8CZwKS0gwcThsFl(`pf>7%Od$>^#CJejpvf-w2*!TA&-<+u3D5hYb zKPC-$?+k> z;5)Zh>nljDPx))KS>ay&HSE9BXPld@+z6kTm;kY#sfKYnkgG!TDN{IGAAQq!C`_Wq z2D3DvFs*43h?hJ%MneD=PrS;t9o%uFIfUPwWVTotu`N+&KZ^%NSOSM*cjuYNm36c% zjxAmv?~WXb`a(KU=Fuim=5oI`N1gqyz0qcJVhK5|?HyuGnKqtzFxP;Mp>y0{FEM#A zEmm$nUjM7EM?~H$elf1LCnCS`8mzymtKHzI+Ry1)Zte$T>6P6Q*)a^s%Hpwq?C13l zev1&Ul{S;HSlG+yRrxvKw;Dbk^mzGy8Gci+YGwB?Zg9*J3ls7uMate%wZh&my^CIpwhxmvx^T>RNB`A1#6cDrCXpo_U2VcrFF(A^-c|?O#I2G}<7GC+4aXDXXY$~2o}Wo5ou3JFJQrdjksLd6ZC&(J%>Odnp^5^|zZKhvJ0=Vt-c7d0 zUkjOl*GBe3kwSWiShF5i9~8R&CWY`f`7zN^`I}7S<$KECq@>QC5-OrAM091@MfMgl z#Uk3%$Du(uM?@B@Mg&*tZv>{e*}_Xv4cQ}ys0vXn&alGhD*@ot0w-Miv-bD+h$Zk5 zap+C~mKs;Q2!-7tL{B0*S@Eq8b;C;{vJU|fX|UR#LHi+`9L^)DiK7RC!^6!5QoICo zAB4}E^B#jV-#i2UF56vymv^w*8-JJAaGlQIbED!$M! zFSFW9!|^UX94~Nm z9tf7VAMd(ZXhiLw&g0B#?*%$C%no(%$sDn$fY&X;9Y9}#GD~sU{KF|=Hf8h!?8M`W zxO1YM z@&Qo{91M9J@Bl5*G{8P`Taq+LZd`)j?Bs6`Aqz%CmJRTefGmQCmG(1a!r;HPfZl4h z3(5t*{b_y*zb)yD->$^RvSrCxsk6J_AYvFU=x0$#-n;y^q*%!dJ@{<|(h<+LQy0q7;|Hy!cU~#Q2v^yc|KaU7~4KEeHXg>$vjjkh*8y%9mt4F|T zFRQM!Gf}fys}kZja);HPU03>#`t|f1DOdubUQ~%f=m9&R6KZ8Px+BxN{xbj`bxMB* zd)^@(*BI9k_>GwL$L~IJ4+^BZk6>O7F-qJ7GDt9iQ?kWBtIn>ZIn8|4m1dLE4d| zT|1K0+2PGgPn;s?l}v_DA>xs&oIQTjCG0maKL^ghQq7Y(cTTHSTZ`Gop6{7*K*@|39A*!2%0 zX_07Pi7?_s!*jlDeDVpjTUWZh{ufHWKS*orL)1hFVAuvm0XLT$#-d*FQkA;8HYxu2 zB%lS}mn2>&{?$0?PsiN_h0yNUK5 zA*ZCriO9OVp~nfkEDU!FZlu?ILyr?#KX^lrlU7rV9w+R$d_#{DcAPhjjkv%)`!4q} zbhkgbEM z%UfaU_d^!(G4;oNLi8Weuwm*akg4C*g41b~pIv^w+|SRi05W&o*cU&qK`D=)!#|~X z>&&;yz^Z`F6zKrbk=jG$#v_2o(5W%pT~qS$U{plDW@T1%KRlp)Q%r{orNQR1 z6A}Y4zgZ}dk@>0BUPa$r`Z|t)&{lS&cAlOs?OW{)*gm#bTQRm}wJ!{f!>^KpFXC0{ zdsgfgTtwCUX2H$`o#?yl9ZSN_FWwQA*`q4q8F4JkmR5VF$eQ3!F)8C54lp9#q#7}M z1!Un+G0-!71Jw>Ic_?j`g(px-^E)dx3OB5iJypId?}ItI{1gx+OvH}`AQC^8NhqrP zSO{!zCH8sdN=~8nWAW)va|C>efz3b3G~lz^$DSxQI0L=2F^W$(1pKpNkK%6`9Cyf{ zqsdds;I%UVRb#8ZI~1S#5cX-jF>|0WhsP;yI?T#y#`qTaRss@oiR9(prZn`FqxNXt2Dn^ zApzddWkqO|JWLH8Pq~3gR3KF%WjdDKLVP*}0}f5WYw~iwuES0!TX4RDei?a&$vxgB zldT?(*BN-7s2+i7&yL7`c0d3=Q#s081TlW3iE_pe4iXH zEA&15z`(15pmCF5VW)4P=(>+kedO!XtD23zY4&QE?UakzLcoFW=Pw2&l3xl6S8GRu zrAMKRK?h&A09n^pLcB8G?Ry3=KLQbSSa0v+3Hd5M^)r{VBvnokXl1_cD1Xt>R`nA= zl;2`hE$Q(C3u=ao*SqK+dLS6m-~Rnk`*h3^36+4Hr#dz_P5%b>-9Pa)*+u_QYtQ~= z0cgD-@qTXqNc8LB_O1ATq~`{}!$@-lw)`9Rt`JReoA8UVx$@`4#CNxmHDQX#wK`bVY^`%e@+ z3D*AxjPT-`lGYCj8{Khr3d<&h_Djv7-L%dbgM$fqe zIRri2dgL>L?GKxASQ_ZX0mFk>omNGPOqp~1W$4rKzu0>h_^7I@eK-RnL>Zj`sRoS_ zHDVC7AXJHWRsgO6^OOb1s%bOX?Ibe-W9{81W4orGf{bG=(rZM-9N)xif0a0W$79+?3{6 z$w_Hky2WTZlz5qHB=S)2L=m7jp?R{7zA>oCNqce3ANs=NIpKc5kLDVN6$YFPZlu+}9R zRu!VdzbuaSIgF8y?3GNFu-Q?dx{4{hw@*G@(9Kx=?i zYJmL2$hh5$8z2~qqL+)%Z$L5l$@a}{%SYi4JlX|mvB_BdDou24K^#(t_KO4k<#}vJ zf`Q&&{?t~z024^N_L1@6^j&9~s#b^dZhBBkR zz6^*Qq-WlzhqjI#G4CIGXafwPug}RHH_9I&*N3m&UARz@JVY z4zL8JV-=zb{YR?&gQ`4nwj%JluCp)TK_&SJJCzCJnf(h zf8;_~^R&=bgkU0mF;i=xe{`qrh_kf(qdZqH4!Sec(%~OPsHNo}MciX~J1EE>@z8py z+=1mkwq$yNFY0~H3?n{$3*s!dBhC^8`bCssmTx28(h9PKeb>7}#aG@iTg6vC4r}|^ z5c<)+0dE28xD;Yn>;c+qK)?i1gf8}0 zic%a0bnnLeaX|O?6%h%q)rgjG6^P0Lr&|SLkCXKaQuMR3Fv*-n3$k;>0fpyZ_LrB5 z!tf=aNJT^dG`5_@XCr~kdT10mD3B6+7>_Lf2H*Lgf600o#Y^WQ173Y0k5tS6Fy>Sy ze|I6?$@v4SrxNNhwCH7b?F`x4ja!G;(SLDjY!-?VH6l8yy>K*kxjgh-1*pZYMdz01 zP=1m8$?IU5&`DV2fxHYpn20Yjn-jECabYYT_yBkjRD;hE96J-DJ3@{f`5huMvBMH! zg@(mf?4P8~br%NCZlJ7iaaQ*ZW2ct-wgMO$e2+ zrD0*K1h4040ZhzS4Yq9<)8RzN(2sCy#p+Nt z`pTdwK?{OAhG$C`W^Thu&@4s@cJT+AMy_A9R%ozWD>ly3UQ#i}H{v}iW9TP|p~slN zUyB*HEn_a-l&6kE3%Jht^gJFfj~pak!eGJ2Okw2JR>eMdiVBwkUa|18xG3m`m07Qm=N-W*QU?9 zcnuDZMVLank6xIuG7GRlnovl9;G2Lpf6B}W-sYE#uP@kZkDZgic(EU>vIeN^$Qp1p;W}-O)k3`12_UY#*_GO;;18|SG3K#xOg>k?<)Glp`0%t#87%;C|Zje z$2R}-Ef9C1R9U?JpGL?Whm=3V*~0<^q9UFf-CTxdi{9zXjZ-!~H9D@=R~bZ6*iEx?8o1H1J=4ezcB4vH4+R_uckAj1@61a|LeJsN0E z-i#>JjE#G=0Ef(4?AkOZ8K3s|U|U;*1{wpLJkHPQnEFzFZ48vjj|e}aGjsL4(G7t+ zFoPvppw<6mpd#GjsR(G;PX(&V797y(_22%4m)gR_16mQ4Q@>)0innSA)Oo_CRak$^ z(5u+K`6DY(lxGcj3gpBC@I8jE_&=(%T?=eNS{_+>_rL43LkH)f* zKo!nKhTD4k?;4JuTA(U+BXFSnQ}SddtrgPVDw3D^BUiE;VHOyHlTNFV6`x8jYh{|9Q2$P%+Izay2Xz%NpB`E&RMy3jE7 z*m+dxO#L8`u_y1~UjFh4m@V!(M3T5%i9}z2GH0Slh6eyWu{QM5fUiKHl2egMqQ?T2?7G4bCH}%H^ z>Zo`B3S%xSy@RvxN7ivVdD&WE37TxgFbMVlZ~%@@b>OQX+SiLBz*lZjo&WCDW19T8 z{)TmnBe})6=bdc3FrI@oN1#b_m@|-_34#z&enSMIeSjv&rjQ3p7MLY3 z!Y&ylIndyZL`~s77-B0LWd*a;@;##4vN0oq=Lu3P@w0OUlwaem9ELqq0&RXJS@6K$8Vhjs|uEG?Zhw zY*e4%g8jAqG*8ppciDBqn-IRAEvRLKyB>Ty(Izo zBQ2mtQd|LKB<-!-T4;f466yp@CtT_S$8N_rN&kZ^`cLskc&KL#8NGn-i>isd@{d6= zq_`OF2r=ac@}pC#la{bWVNTWG3D5xC&

$gs8d>6)aH&ip9zUanDd#fA}E`*#Bg& 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

2Y?}u-R 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⋘tb`!k!Yd%`v3_nb!&Mf!`@ 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

kR}p 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

wn6FVB%-*Jok|W;6 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

gKm1i3&^knYPg?{;aWaw1x?S>6~p`k;6 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�hQC4p}%Q)mWB^At6=80uvuRW^wBDF@xhNh4I{ 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

H-bC2%Bx!LfurLUodLfa?iwpmmgM zB&>;{u9q|u)&j9r(gwbr&UX;hNh@%qVcd;<4@2)IxDR4K*nnh^C_|EAj7B7*k};y8 z{VBI`$pomAk|~m#-l}Fs!oeCB`&r2xM4n`xu3G@a$4r2|kj_xs5MeH6s1m?ZFd5e5 z5(UXAB`Sj8I$xr}SW7GAJ%*zUG(FZ0TV;(EiV2vRC>DrTiLD|}jcLc41A8ZU7e;RE zSGJ0fXB!$-;g$Fx=a&TNiXcWInxncfu!tmDp&>oCm4Z~%;@iw5h?*oZ1u-qjNU{)f zlDwoKDN3rPsDBOi2$fqcD0R|x(t1Xwfq~&ztzbp^wOvgP``A5=7TgE!e|)$2(69M2#q?1*|>B9;v~jX(rHpLBjrfB z(pkdbvl=5F_VeHu=*-Ig@j(+vh2TX}u~f2+3aVBL8QH3=9JoTN#HvcFmTCZL!E{*B zOAS(^)CAa!xdpscY6EYVIj+*as|VBo)<_hprU|q4vgQgE z$i15bXpzAUb6(@NSuhXytLe zz(pV=k?r-m~&K!g=y}KnsNN zaTE}SDyb%<6_H#FSVD7@mjaW4$r-AGf#LU9U@Ey9YZ^vIi?L3wCz^rI8EFLHX)!j_ zibZb4*oM8G=nfK{IJ&^QG4ja05dCtWJRlFsLs)}zoIHY2lyLHgvSOIW<%v~#Ql65h ziI#zwmFMJnd7+}JNLaO^JX&R}QPe8x6zjH`tp~LMtWnVf%LJ7BH7i*o_g3gW2J1dPfzp|CvKoaXOm-l*B9rKCQ@r&nj|QSs5?Cimzk}iX!BymGG&ptOXCB z*x0XA*5e4rD~WK_(unHcw2D(IEV7|&A(>W)ZD8$$ci`Ab7@R!`>ZX+*8ubF|qZu_e zTmgbIfYm|pLyY_|jYnuy?lr0$V`$^b3FRc=QxK;aIn-lj6-OEeYqQEZC6CU|W3&LC zOKb402e1HhA@(AY6O)KWV>SuVr4VHmHS!7u=U3n=T2m_(7;BVTT7#=dzFtnrsGKSnM7PSbjcTvTr}Bdyz_}o) z2;mq8A5le#2H%ENaa97dB(1@bq)KC!0Y9d;sj{k^Dz7RqD$qU^XUKI`?$e>}1g#6}-D>_;`Ep%3_NaT+eHB&xzy=t~ zpn6C>jQI#drTUL3 zQMe5a=_1g@Y6*BLu8@J3gDKQX%;8)HQLWafwGeeg)01dW8v&UxGZPJsYQfm5wn4Om zIY`c_b`j(z(L*BYRoT31ALRU7cS73Dpv)|3%5)?l@k&edtwY3el%G;hQRma~G`LaVKsHiFw}tpiXeSQo7@ zw*%Lap!bkmuclAauNeR~h?ODDFv*PI*rXZNi~$-a>dHtH70P4BijzRgTc#VQLz&;U0~f{J=$Je*Qa$3^kW3)G!iR&!BM3h!kJ<1h;~#v zMykefoX}2cr?k`B8M-eABQEx{vwdRqZH$0tZYD?&gbFfo{fR;4tO zY2{i4&6EVGAgZ+*trntAtJfOn3b@+RnzUx%7BDMAXYQ3vYsVP}cqc|K@NSIY$_qy? zcpsRbsLcLb;~-RpwBd@{h&Bp5MzlDN32joF!YHlHkPIAQG|Fl7fD2$nTC3KrY_CRF z3#?AJj-kQlr>+5bqpk^-)PpN1oNEE!iqT5%wpEALC6${0PM_3HYz z%Ji>N26ThEA>FWUL^rA%gWR}of>cc6I0b$hY(~e?aY+WQzyQr*#v|H1omT}T(#C3H#PDP5YbEB{RyTFL5ifb(Dl ztQF}@wH~giz^GOWs19r$R_gT)`bK>d#_O?f#vaZ&`c^<~VC`TXSnbqz;Rxpx65-53 zBWnEKRlE;)KdlX5Gzfl3Kdc|YY*ar+=czHqflsW`$nMi&66dG%(-3F2QOnVD^|Sgp zJrC#R^$U9bswx5I!c{7qb5<#0y+ki1nhc_RRUYk^Alodl}Vz822-j0plQH z1oYiG}0K=n1Gp$7NgZ@Bf8z_ zsHkuPbAh?RJS5|V=mYZ`16TIIsj*(wHK8nvu@{&Kh&HlEuuoMNks>vvdh$o zSvS#oNbF_Qz%N&X_2W2T8iY86@i6!i(HJ3*h;rRzUX=Vk9z&i6Wsh<&mT&nMux26*N|wR2ZwV*I=&&uLIMA z8B8Ip!Fi8FINnTVlf`5OZX=oarm!gjI7(;A zJz_+OeL_hPNj++UF!z--Vw1aa6rVjiu? z!Y8G9+&odCO`4||e42sb%ms{t6)vsMn&$xX%=1K9pfh|x0>Xr55v_{>NoXcD%V;b& zD*!9aDy*n!orRkQxE5n!z_21_H(HPIEYh&qi?eG6f&IJQ~ZaqO^kTDmIg%43&fx1|U2y^NYZ z!2Om1S{Wp0$TAFQ1hY}_W0rC76PTArE5}K!PFbc&c7{>K!I(>wS<4)q<6$&U_yR;e z!2%M6B$l^Rjv}m!|3?;%K8w^MhpfV)1TQ0XDvKH;4dLa{w1n#{`c)ajDqikEMI&TQ zbcLB9i^WQ7HiGOVI_Qj(MwMf_utCOOUM$27@^guC1#0ZmY_A} zxJgh`mb4`UF%gOyr*rV@1J>4oueUZ>8!>CLu7}u+G1a4m zf!hi0uyzvE1+k4$f%$CP-2LKP!HA5H;6FvfQ)H-Gzhd2Q?2{r{b4aTu@ z!Owurg3WLRL}L=TQ$@II^G8o(?_a%jIp7>8*k0w_vY z%o?{Q04J>}YucK@YL?{S6V95q7JwD8Qf;fT!M{D&|7vx%bvRoOzQNW=Dw`NR*4vs1 zYq7NgYO}T5I&7V`E?YOFst0f{SRYtF)(32ZI1br{Z6mf(z+<*?@Do^te`knOwrR{} zz;lSswapTQ_Ib|6v(4KUK;bh~flX)=VJ-$Qu}Q(pY;v0dq7qC6rUuj4wBX^Y#iqy6 zfW6UXvY7!{FhhCNtTr3wcAEo7r_Dw3ZipV6*XAP}{_olXwjj+ywy-T?i`rtK#BB*% z5@L$ZQlrCnGF!%$#cIx$C)omBRRmORFW17Ah`pAuI{P|6_4WqL8;RP4<9foHA+~_E z+S}~y_6|Uu_AYz3y~o}QxX<2iAFvMsf-6`1uzkcn3V00jaqtshllCe5G*)Kp9Ee=| ztbGn54{RQ6!OjPdngF5@Ohh=PA}@Y9*3;lK_N+YzF>fz`FJc}31s$kI4ft9|onxJ&9&@C@|1Q9djwbNy!J2WV z1^ZU)+purPz61MC@Li5>@I7F?j$!b9V3n=kG2j>^>QF^?1hY}cm}A^A0eI3e<(PKN zI5>PggZ#)B?WM*+#2WeLL_DqIKff1-_doR80@CUS}Wpep(-J4myXN!!(C0 zM&~GIW6p8sgmaQ)rXWs(%{Vzk;X<5s&N+F6qixL7cmWWfFo9F(6gkDfBu**OWF%61 zwkpfRmV~oM~rE%rK6p?4byGLneKFuBcci`(k95zX#)xSehnVQ#mFuJyWoZa>We?jVifN{HaF zI|3-`j)9N66Yiut1t<-c0b6O=3P$NUcivsVdXZ$SJvAPbs|8<&5gZL9BE6o05l5}T z(@3jLp7ns6!CGjIs)FMJD{Y>3PY20$lGx?xCa8zRUQZuE{hk5OAi>l~L!M#6M?9l+ zW{gHu)j048uu0F9XBy{b7!@23mu9no<~%&`^R!mpXFgU0*e_r&^oTrSKoZQP*vr7n zF)H^{08@ggz|BGhYaWl+<0DzW zCqPh;#E>TpC;}G6N{r}eq_`&mEJ>7f1r%PC#8WgHHo*kGB_iA6UP40A~gndDNR~Ls%X5 zj%<}3^^SSRi8_JfB=%F_r@>~t9PnJQS?`>e=biU10HzurkN`~R6?w(93jdZ~DPc0N z+^g^^fvLP|uLhzPOy|{;yn#eCo)Ke{*UZq6Zt+?{v0>Ftat^Q4>!R!2UJu4zuMeW% z8vq}qv+#f08)mQw;3$K`)vh;A^8}zI&EOj?;56nLZ8=$JguYBRVx&KVbvDLEjJ~ zGfeOZ#8KavZ=CQ6-y}g(zG>eK#vC6P;w;!4<~*O+H}6~U@iBvcTN2?@+b8sid=kuM z;N@Tn%#`3&7{UKc95sZM|LSto(z*_io@V8|aVy2ZP)rPL_E`wC`fNTsBU2u$GCF)t zsB!t+J`bbT3)tri&`Qu30_+D1V=Y2w%A-Ynv8^rP5$+On*A;QR(~7O%01zz*-GgEr4y_RXSzwg zhs0hS`>^jP+5m}z5QqH3gsp4?z7hFH{bT-doS7i`N&l38ny#Gz!~x@i&0=*9JP)IJ z{{oK85#hTL(S&qPgpq)7F+_=9>X%_I_bYHzVz2V6{Tjd4ufq(EDu@QZ(Qopb0a=Jj zZO`hrRd72n2UeWeyBJwF!5$L55Pg2XKY)4AAM%Gurt)uLvItZ}aaC*^wef9e30g~H zl%jdspYdmb<@|Yn0jovqs{_m})?ii}sAH(>7`Q&r5NHfEfwCT~InV;WHP9AlCp8^7 zb`sV_Vt1g2pk9c5fqw7|VbxS$ z#oE7`#X5G)@oP?4bK;sCp#EgAQ`g)G{xrJxO>1smbIY1r*F3l8^fjB-Jig|IHP5fP zZO!I2+f}Wps;b()YKN+|RXbMgRJC)}E>*i$?OwG<6`X^sWL5GiMU}EjRi&=dRB5Yp zRr)Gpl?igFJ!aq#o(H(64MPWJm$(f`MP#@dVh1FM1E$?j$ku&3A) zY#w`o{a==h{Q=9x{+sm}>rvK|tjAf~v0q@b*j4POSWmEaVDHG@mHiBBXZG&wXIUFr z&$FIm9n9XJy*K+n*y^F|!`U_LBiVKA7g(EETUeV}Ti6}!_3SowBfE#)#~x&lvWMBz z>{&L4{SxaH*2}EdS+BBQVvE^)_G>ITTg_IowQN1x%r>&^Y%BY1)?2K1S?{p?>{r-f zwwE1c2ib1+8|-)3Z?Ruv$Jy_(((EKV!!EFMu=S5vAF@7Seau?J-pppRw`YIK`ajlM z_D<~G*q^g@Vei5IlJy1aYt~n+L)Ztf_hBEz{)K%Q`v~Y)&0fd;mh}zmd)9ZX7lAjk z+u2R*UUolwh&{$0Vb8GV*j)CHtben9V*Secne{ST!WOW9VJX-ewu-G|8`u`MiS1z9 z*uS%WWBtkcgB4)E%8syo>=--5_ORb%zsr7`{W?3r{)_bwE5**Ti|jmXXFFk)aC_md z!o7t@z`R;@Fw0i65Y3gS;H;YY%cg6CO!dL+FPGz-fV%# zuBl2aw;NiLRLF1b>2v*cdM{gMYI4@(}AJdWq|*eKZ|c}eoJ34Gx<&eu^i}EW(s!iqNClqFju+gY{?epi22*_GcCqYo*;TR|WH-ug zmE9q`OLn*H9@)LJ`(+Qw9+f>M+ah~e_KNH^+1s-BWbey9lzk@qT=t7>JNZ8HgXPum z{(mF9>)$T#l=sMc<8t^9iV4f31ix5#go-y^?Ie!u(y`6KeD<yD4^8><4dyH!Hdn=)LV>#fV~5F$wQb^Az*& zrnFcgQK%JKg-&5qm=zXf-MD_&B(jNbr$Me&B>O~pHk_Z1&2zEu3G_(!q5a!2LP%H5Q^ zEB8?DsoYDsxAGu(d$&W`t?X6yD+iUs$`R$Ll6qryS~;WS!uziaN`X?Olq-!&v(lnO zZ;?8c9(YGI1n+-Fl?mn1%43wrD^F6MtUO0~zVZU)#mY;RmnyGOUaP!LdA;&RKwV&!>)gh|GR7a}NTcCBSb*d)SdR2=Gy|LM?>QSNh zF2_|I6<3AcqLjiLiw<}j(G71M22?>+NEKE^RMdNgDOHBNJ6KeeR7a^!R-LUnS9QMX z0@X#Ti&dAXE>&HwI!AS_>N?f+s+&~zsvc53quQw2q}rl-P4%AYebpzb&s3kQzEpjy z`a$)J>Q~i&Re!1eR{f(|qpni#sNPBa5q<-4SM_e{L)3?>k5C_}u2(mxTh(3aLG`$r z2k#9E)FQQ5tx%iP7PTGTW^=34>b!bUy`(Owk5eD7K0$q=`egMf>eJMxtIt+%P+zRR zOntff3iUPW>(#fb?@&Lfeo+0mdZYRU^=9>p>X+58s$W;Xt$t7ak@{oxm+F73x7X~T z*+sLfW^c_tnte5s#~!As*3@e1G>w{eO^2pigWmcYhxfC%8mUI6(P(t=&XiGO(pcb~ zC?CArgf1&W@Fr72lhkB1IZa-3lICR1shTr2=V;E=T&lTBbFJoP%`KW+HMeQ*)ZC-F zU-O{mG0hX2Cp8;2&uL!JysUXo^SFyN6k-~pEdu{u(Va$UA4Pu zch~N%-A8-47QMTK-cwqyZPj+bn?M}xtaeVz*NWk79HZ8zb!c7M0KCbP)#kKC?Md3x zwP$HJXwTPPq`gFYsrEAM720dHH)(Iz-l4ryd$;yp?fu#Zw2$C7TAtKCt=*{IqJ3NY zuJ%Lir`oTy-)Vo*{;K^;%hIuRJL(S5_2>@L9ilr-R}F8uwCVC@Xx6vr+w>jq z4n(iM51#7R>h<_peV4xcG=4xI#!uB}^*McBU(g??KVE;L{xtoW`iu3K>Mzq@p}$gp zjs6Dx9s0ZUckA!hKdXOU|FZr){Tur4^grr<(*LYy8+I`4X4u=%3{TeA8R`uU@VtAE zVbCyY7&lBArVU(p-dq9Ck89wGbLxq2tHEyY8Ulu}A!EoIiiSl)$#9h6c*BW?GYw}M z&NiH5INxxg;Znn8hHDKs8g4V(Ww_UHpWz9^Glu64FB&!*-ZZ>r_|WhPeg^wX!+#CG z8Cb@(#@&p28}~KtXFSk&gz-pY8$5U21y4wi!L!C;{ct$qvc zG-KkJW=#Tkwp4CXn{@Exr_E%?Pk6%dZ;G1Yri3YN%Hn4$PcWTgI?c4fbdl*|(-o#` zO*fjZGTmgl)pVQbcGJD4Cr!_oHkzI_J#Tu^^pfdi(<`P|P4AmNGJS0N!t|x-E7Lco zZ%yBszBm13`nTy<)950Nn|CwsW8T+%fcZf4!R8~(b>>!hp0XF7ibPK~^2~g* z#4IzZva4lJ%U+hfE&EvZwd`*>z;ck~P|M+#8Vh>H4?V%xYw5G}TLvwY7LJ8$ z;aQ9pv&COWv|*S+bNYM_G=xoMbu0a;D`h%ej{GEEicWwp?nt%yPBmI?D}~ zn=SWR?z22-dDQZl<#Eeq%NEOPmUk`hS>CsNVEM@MvE_5imzGa0X#c;ld~5mM!nUrl zR$13t_p$D0J=A(6JOx$@&v-Rio2`S^QR|d-+BySISMlMQDfGmY+^U49pY&EcJdG5x z#;jR*is%&Usn*l1r(3VFUT3}2`Y-D}*88mwTOYALY29pn&HB3aZR=OopR7My|Fr&P zU1O`V?QGk{wwrBF+dj7aZ3o(#Z0q59p4eP(Q2{4|dcp4dUp>!@uy zc-qEkL(kJhZ0Ok;wEt;%KBiz>v@P3?wjF0X(RRA+Y}+}u^KBQ{F0ox@yT*32?H1du zwufww*`Bg(v~9M%WP8Q-s_iw~yS5K)pW42%ePjE{_HWxSw*T6Gv+ZQx*}kWJZ~MOX z1MP>~kF?j=(epG-_VxHVnO=AjX57AD7uh9t^u&tXUVi!nJ#}J%=S>23^!!H-p7J=x zew_U@`|0*G?C06fw_j+#*nX+~a{HC`YwXwAZ?fNMf5`r@{So{e$dmSG?a$etw{Nm< zw!dh9$^M%C4f`kdPwijYzp{U8|H1x?{Xh0U?El!=jw;8Fj-4DkJN9twuNW$&n^Uo1@b)`!c!Zw4jw#VA$7vIL2|J<4ngn zj`JKBJ1%ov>A1#mi{lQ*osPR4k2oH8Y;-*9*z9=G@v7r>$D58196vaIa{TQ0#qpct zZ^u6lmb1#aqjM+cZqB`&dpq}Y?(aMd-w!_AS?#QG);jCpX@n-{dS|n<1)eSFaCSPo z;mLr0cmjaqwccS~}e>kc8-$iH4nQ$&Tse98o=aMt;Jjr>o z^AzXl&NH3oJ1=lv=)A~zsq-@DRnD88w>$4}-tBzA`H1sT=i|;NoEx2+oSU6noUc0H zaem=sqkT?xia5{Zjaj@AA8X zuDC1d%DGCeqg|)EPIH~%I?J`eb)M^d*M+XzT(`UKaNX^C!1bW(A=huNM_rG*o^U?*ITZ4T_3qVbN%4@$@Q!2KQ5_zU-v=o!`w%>8{G}=7I!P$g+zBCyWPX? zarcay_zuW?pNHeyWeuZ>weGusrw7}SMIOf-?+bZ z|KR@7{fqlo_aE**-G8}v@a*K-*|Vo-FV8-n{XGYGI^k|tFWl7{hC5RnxbGzNs60B4 z&13gCJWh|>6S~^`QGQi=HLVDV{Su8$9QEF85sRxyEyy=SI)Xo?AWlc<%Mw z?|IPklxL&oCC}@gH#{GEKJ|R(`QG!R=ii=RJb!ywUbc6QcMtDg-u=7>dk^y-33qiG zy&Ycao=lIo-#d)&rf|Gme5XVRcSX>>5OfDb=e5Hf3$Higjltc5lJ_X@vEJjnCwNct zp5eXFd$IQt@1@?Wy*GMq_1@;a-Fuh!A@9T9N4!sapY?9^Zt}k9ebxJ#_jT{P-uJwp zct7`kIT(if z09^QOU*MDals>i3;4}MNKA$h>3&XG0)bG(n-?Hx*-?_dEeV6(!^IhS)(s!Njdf!dH zn|-(VZu8yiyU+KK?_u8)z9)Up`ZoDq_r2}=$oGG~&wQWzzVrR)`;YH8-#@Apa5mdO!LNy9Iu;?)LZk`~2va<#9jyEm+_e!SA|q_yt$z*ZY0& z>uSg!_b2`6*Up^(82_>U|TEf#(9716u;G2i^(17x*CXVc_Gyr-3g6-v@pO{2cf-@MnM(tO_0;tO+&* zyMlee!QgOkBsde~1m}Xh;6hLolmw+gSx_ES1@%Eg&=^GLe{0YdbO&R>T(A&4C3sfw z{NQE5YlAljZwcNWyfgSf@R8u7!N-D61fL0R3_cfpA-FlXCHQsl+u(P>--3Sx{|Z)x zb`0$t+BLLWX#dcGp@Tz*gz7_0q4lBmP)Ddc)E62Kjf7f5qL3sc4aq{PkS3%J8A8U8 zC1ee`L;g@9R16&zIxcj4=%moep;JPqht3S06*@b#A#_3L($Hn0t3%g>t_@umx+QdL z=(f<^p?`%Q3_TTkCbTj1TnO#|+oAVEUxdC4{Sf*k^jql9&|e`|c>C}U;kDu2!Uu$p z4A+L+!#&~t@L+f(JRP11&xLv6`S3zm9#(`6VPjYrwuc>Ie>fOUgp=W7xD-And~Epa z@HycP;d8_1g)ab;S z$h(pMM*fblqHCi&Mt6$t6Fne$aP+X~5z)G6bF@9$6CH>SMkk|F(dj5BDvXMv;;1aD zh$^Gns6J|pnxnR;JL-!DqoHUdnu?~QxoAGR7(F_ALiCjAsnN5d7e=p(-W?oY=Xs^I{jpE{Rro`sNmc$#0 zcM~5ZK1_U+_$2Xp;+w>GiSH9XCVoq>lG`QMB&(8ZlRGANPVSoABe{2SpX7eY{gVeJ z4@n-HJS=&5vNpLcS)Xi5wkErh-O1kMKyomN_J1fjlAKRYBqx*8$(bZ4$xALI6-iCf zl(Z)u$v`rg3?(DUc(Rl{CV6u5l;krJ zWlEV-))d-*d&-saru?aJDw>L=;;C$^kXlL|ojN&nO6u&?IjIe)3sRS+u1H;*x*>H- z>ekflsk>7Tr=CbXn|dkra_Y6zTdDU`AEZ7^eUkbt^;PPd)DNj2Q$MHvoBAWQeR_xV zPU+p!yQlX`AC|68*Q9IHt?9OON4huNpPo+7q-WD}X?|LmmZtS-W7?dyq-|+?+MV{M zgXwI#m_9LmTKeqtdFjj37pE^tUz)xueO>yd^v&tp(zmDYNZ*-8`~N`tq4Xo^XVM$f z&!#t}H>Y1tzmk3}{d)S7^gHPf(jTTjN`IFAD*aRX-)UCn*YtnVzo-95|C8P!vukG0 z%)yyMGlyr6$Q+qjmubi}Wm+?xnVw8`C?_RL+GdovGY z9?v|Pc_yL9m>vRIoa9lT$Z0zWR+P>R-ZLw zO<8l+k#%Lg*+4dtO=pYQrR;L{nC!9H6SF5}PtTr_Jv)0z_Ok4i*_*O=X7A44mwh1n zVD{!*`n`_85<<{q#bFI0y zTzjq~hxWfS*OME~jprtEleyWPFsI0wbM~Aw=gE0|NNWuz%sO!r_J5LVaOwT z*jj8ab{G4K_7R5zrQC&0@Ek$e5QS=pq#ZWO;Oc#sAQt{a0am5phrxed9 zo>M%pctP>v;w8nA#o@)##j(Zl#p%VF#o0yCqI6NVs9V%88Wt^!wnh7*W6`-7SVa3D zSu89T7Z(?o7Ef9{W%0Dd(-+TJ+^~4=;zf&>FJ7^D&EgGJcyDja$w8zq3OZzPC zyR`q(VM~WE9kF!eQr%MhQp-}?QpZxyQtwj#(%{n2(#X=-(!|otl6lF#5`>umabj8ap~Tr`<6B?y|A=p>E)$YmtI?XW9iMM50}1O`fdsB{|`$) zE&Y4x*QMWEgfDuvQ$@UD7BP2O1-6_(nyI@nk~(j_$6sc zRWg?>C0EH^@{|IlP$^X^l};}mT{@<8Z0V%Zsih62^GX+%E-776x}|hS>8{cPrRPge zl%6U*SK3_KQhKfQM(Lf>d!_eFAC*2SeO>yd^h4>#(odydO23x=Tl%f^SLvS;YkAG` z9?SbI@4I}^^1;i8EmtqsEH^H9E%z)BEl)4cEOVB*%V_@>mW9irWy!K~S-)&vwk^As z1IzK{+;U-gad~OEw0zX^(aXmzpRj!5@~O*bET6r+Vfnn}3zjcjzHIsO zJtK{1As~8}ED$ZBxL3(Gz4zXG0to?<(5pdRwpDFQvMh^U5_<2ww@^a~EeQldC-fG5 z&w2+E?%6wcpMCCc-?PtmnZKWBEsb7DqtVRk(Ma#ojTtv*+?jE2#*-OOXS|;A`wULU z>k8@$>5Aw+&~?^T(pAwZbV{8{S5;R>S65e07p{xa#px1t8l6_xP}fM;Sl3L~M%Px? zLDxmsRo6{7N;h6d%RfaoO_!#dq0{S(x=fu*m!-?rd38RWUzeu~=;rGd=oaY~>$d8) z>9*_k=?>_=(;d?t*PYT`)OFI`(B0HM(LK{W*S*s5`U3hQ`r`T$`ZD?o`X##h`UHIw zeKUP?eM@~CeLH;zeMfy)eRq8ieNTOFeSiI6{Sf`9`p@*E^k3^o>&NQH>nH1{=%?!q zdY9g<&(`Pb=j#{h7wNyzFVnBkuhwtWZ_#hnZ`beC@6+$sAJ%`TKdGnXzo5Uazp1~c zzpsCw|4si?A8B}@f2n`1ml&jmf`+1oVg|XPvO!^}YN%#V8>$;>8a^_7Y^ZODGDI6< z4Jn4EhIWSbh7N{~hE9gAh8~9AhCYVAhJJ?rh5?3whQWr<4I>Q`3=<8L3{wo#4ATt; zgVA6yq#H5}c7xmCH3SSn!%V|$!#u+R!)n7?!#cxy!)C)4!&bvK!%o9K!$HF#!%@Q$ z!&$?5!)3!2!!L##hC7Cbh9`zs23r1*fint5nejtoF{9jA!dTK+-dMp{$*3@@j5Uq5 zjj_gfW1>-G)EZNb4UJ8W9gUrgU5(w0-HknreT@B$1B?TWgN%cX!;Hg?BaLH>V~yjC z6OEZhr!mLqHRc-gjI)gMjSGwmjZ2IxjH`^RjcbhSjO&dXjN6RcjXR9HjC+j7jVFw! zjc1JKjTekpj6WN%8Lu17#uvs{#@9x{Br_E>ePAkPDsGaSN|{QVDwq@|rAcL~W}@Y< zWvXYYZ;CKQni5QjCXGpJN;ajM8kw4y+L*eV`j`fo2AhVMMw-4fePxo9U2{EixH-}sW2WU#G;7Qa%#F-V%+1X$%q`8W%x%pb%w5b~ z&E3sC&ArY2%>B)S&BM%JnkSeinbXW(bFSHM&NBziGtCRl-T4?zvSteViSS*%Ii^Gy-$+q|{d6uAMre&UGxn;Fwjb*K6on^D-l;yPLd&?Qi zS<5xcua;YuJC+BQhn6Rn=a$!&kVUY{tOc#bttG4_t);DHtO{$GwW?KZtzrGxTE|-7 z8e@&KYOTrERBIz^6KgYT3u_x|TWcq4S8F$GcWZBJAL{_?5bLMbG1jrxan=deiPlNh zsn%)MG^@^Pw5D6_R)^JP&9Qo{K5Njrz`Dq~)Vj>N%1X<>*1FER$-33L%evRP-+I7$ z(0bf@(t65z+Iq%%(R$f>+j`&n$okm&#QMq_vdYp6q<@fJBE53DB3+qYB)x8WczRsA zCcR;Lqx8n3!1&rGJq=Hhp~hg!IYjQ`4uX>(dSC>FJs2 z_Vldu?DV|!{PbXYd`3csHX}KsNk+4b78$KF+GTXe=#*IGoEGqo)OC6Go_h@GfQTc%dC_+By(8i z@XQgJ(=umd>NCxmnVF7EXJ&S0er7OpX6F3NZ!;HXF3Vh*xh8X6=7!8oncFk>WbVz} zm$^UlVCK=x&wgR>fY$a@^ zZDnm?HkGZajh4Tft%j|pEy5OMi?zks;%x~wtu58oz}Cvv#@5!>&eqx1%huc0$JW<2 zz&6k}%r@Nig>9s5lUJ1RM9IchuVJ3eyManyB0IiekLjub~D zM`K58M=wVo$3Vv?j!zxK9itqh9TOY|huM+t$Z*&k4o9}bijW0qsKW1eHV zW2Ix2W3^+gV~gXkW2W546HwfwiF2uQxpRecrE`^Yt#gxevvZ4co0FD*r*oHc zkMpGSl=F=9ob$Z%lJlzbn)6rZP3LXr9p_!=J?DMr1LsrcbLUIvYbWR8U4l#ID&Q*U zD(ouaD(aHEO1et9%DT$CD!ZzaH5DTCRGo`mS(Slq<#+>xy?JxDs6&SF$VB z)zH<*)zsC@)za0*)z;O{)xp)>)x*`>)yLJ}HNZ8*^{H#9YnW?#*yH>!|CP>!jx}EH>zwO?>!Rzj>x%0~ z*UzqNuIsKFuG_A=uKTX%u9vQmi*rldh1?&yOSntB%eX7MtGE?zrCa4zyQ{lvx@)^X za!0wN-LdXCcQbc$cMErWcL#SzcNcdzcXxMBcVG8l_Yn7|?qTlF++Vmyx<|Rcbbsw0 z?H=o<<)7%D;-2PCb5D2AaGTv$ce*>%ZFjre*>11f@6LD6a?f$kb)z;I)z)+;6CU++Y?vI=K?m{lyRcvhLLvRUP_lv(w%>Ssk{MP@~1MQ0^trDSQd8f7)fYM#|H zt94eFtR7jtv-)KX$QqP2H0$%MFS15tjm-Ko>#Hn%mM&|2_JnL&{;ApeY;$%-c4oFM zJCL299n7AUJwJO<_P5!KvsY)Y&EA;3C3{=;-t7I^2eJ=kAImYVC1HFE0YMC3%}#O1{2B;+LKXmYeU4RSi>bk6CT(=Dfa z&VZZ|IiqtXCcvXOQPp&u5+yp07P)J>xv%J(E0BJkvaB9*Za2ljHGt ze4boSz9;CJ?OE(u>RI7g=~?4h>sjyF;MwTe?Ahws=Go!d?b+km=Q-dx=sD~;;yLO$ z<~i;;pADS=(*&%;`zbzqvxvUp67w*k>{!BndgP4ptp#(g7-sjF>h&aS#M>p z!W-tT=B?qS<^R}Q&s*Oc?v36Gy&HIb@y7#8{q4$Yb z;w$JYUyLuom*`9KX?&@^2EL}g zX1?aWHomsL&c5!x9==|_-oC!Re!l)bzc1hm`sVwV`&Rf?`qubp`8W7B`nLGC`F8mZ z_)hvx`Of*y`!4t{`L6qJ`fmAd`|kT5`5yb8`(FEg_epZ4xkBy-xkYp3xg~PT<|=Z- za;xT6%T?#r%&nVSFE=VTCO0-WKDSwJgWSfsEpuDtw$5#v+ab4eZr9vCx!>e2&Rv?j zEO%w@>fANCYjZc`Zpz)7yDfJ|?ylUux%+dE<{ryEk$XD#``k0RKjdD>y^?!1_ge1t z++TBV=l+)aF!yop^V}D?uX97WoS*kg{8B$Hzu=eo3;7HCKkygzf9Nmfm-|cl%la$$ zEBPz?!~8Y;AN%Y2qx{kS7=N5U!Jp{Y`kVV(`CI$D_`CYM`Fr{M`Um(2`G@#F@elQX z=KtJ3-2a7tg#T;*82>o`c>e_dG=G|3?>G33ev{wgxBAolnSQ(9;m`8t`UC!a|9t-f z|04fl|8oBd|4RQl|9bx>|7QPI|2F>)|33eI|55)j{~7;T|3&|0|26-0|4sib|2_Xh z|5N`nw*1fiFZ{3lAwQQV$@?I$cwULTvU%n6D&$qntDL9EtD09WuSQy+0yuWMfSyk2>I^7`iW%Nvw8Ebp_t z-g%$r4b2;oH!AO|yfJy>@+Rf|lJ{HQ)4b<-9|R@N3{!;BMf4;9=lV;P*h0d`W)6{9^g?{1W*k^ULIy&99JOIloH& z#QaJ5lk?N^XXNYh_4$T;Q@$u!4Or@!bviD7SwB?j4g-5R7&nOLl($d>W^i6do%B-GJnj&*X21L zMo}D85#qv-x36199tI)hdXc@EN+8nXng8PP-nM%;{%0RgzDfSaa?uhI5{4AZCglW% zj3Wv#3UWjtMq!R9!uWtAiZVXrh+>T593f|v;E0lpQXEm5QHCSRGRkp8c}4|}sK}_q z5tSKLI6}ctazq$Ih1W*KRb^D;2sNWRN7P`{G#<^%(UzBAgMy z5s{22j)-Q&a6~L4jw9k32^^8gNa6?$L(37#j1-PYWi;Rha1FSI+(4)iHwbFX4ThR< zL!hSICr~r)Q>ZyN6l%c@gIaQ*L9MvYq1N1Rs15f8)Rr3owc|!Y?YU7<2kuL#Bli{5 ziTfJr%#DV+aATmZ+*qg^HxBB~jfZ-06QG{lM5q^|H%Ihg^yP?tjQ$+)@4WnzIAStm z3P((3Oyh_&#&nLD!O(Gpo?+k!Bg4cIW`>0$tc-My$Y5l0gpFb62nWN-5iW+CBeEFT z9FfEDaDGw*%vz8eo*xPw-tB@zelgwywhWaM$2_xnH1t+;!|1`!W8h33q_|6@C!o zpqgOx)-Cv9jD2ds9pUc4k75i|3yj>l2S3K$hmLa(ut%K0*r#?FvGovs3S*$!ai_V* z@b57qsvUQRah7|=oyCZ)=h!dKb1&dOU@TM@jNp0&zsSADesPKW9lFf;_gVg@9PyuD z{_%VW&jtUG_y%uW!b_2hE@13g15We;d_leuM$M5I!dSGoUWESux#&ePLah-edNGVs zYs`r*=kZS&ke9@WwI-bCrTH?*MK6o7Y)v@P%VSJi6HfGsd?n&=b*MbxMBmQILqSxW;A{V_L#?H0iL=Wew zr)|MSU``~)7)Ao}XpF6E$%!6|QFg63(c>`+F&<+C6ZzJh=t&rT*P0Vui?MjEInh%v zRxt&TH^9in25-C(#_F}@L~nvIdu=(qT>s*$VLBz|CIj(kPpRJ!Y-WXpJ8-i7koXDd^rEbA3g#j z4!dxokHQ$lE}ZCJVJu=7PV~_jiP#Nay&)gVkK=p1adE4jfboevInnW9HFD9XVANty zPV`RPG%R@~=nkCf!`0sbpVfX`+>1^9KD3-FZh>OHql@4ud!^R z|IUXn!di56_Y(B~%q0>ja?u5eOwxoCy?~@3a?uM(3QJmWq8E{TfL!#Vk`E>AIMItq ziX#_YE-4}D$cbK3QVO}~r6pw~T{zLpO3EP@y}YD?q!TB4MM)(|XHN9Wk}8tQfLtL_ zN}6+`he-$(qpGBuq$(g+OR7Vn*O1i2^Af$5q&A+5=pRWw#&U{YM^YEL==CJ^k&7NK zi9jxTq$EnxgA+YkLc}m)B}5z}UP2@=5+y_uLn9%yjARLs!bp`64Hyk2L?cFH3DJbn zR6;akG?x%97%e44D@JPx(T34hLbPMFmk=Eo9VLX=*NJ^v7YXrhZ`NHxh<#U22_g1i zy(L5+Mqdfhk0JJE10=*ihS;+WmJmZ2pGb&L8DcLd_IRI3h|d|rCBzqu5fVb|@kU9A zFBxL*_qBu=%@F%Qe0>m%V~m#&6BrXE#3Tm3umq+srb>uu46$#VE+J+x#J*84Aq)(o zgfKD0zR@Bf-t84LBt#~|CL!>F6mT${5<=`DaWWs^ggD4%o8F^e%zl@Rk7^CiRr#zG0Pi1Cet_?EF)LM&k{l@QAq%O%7L z#!3mXim_TktYNH`5bGH0CBz2CMhUTru~|ZFVQiHU+Zfv=#16(z39*Z@TSDw%?3EDv z82cr}0meZIafoqPLL6Znl@Q-Cj!B5)j1v;#B;%BXIL-K8LY!fol@R9`=TSf7yyOSQ z1qpGHaY;g4W?YdFKQexj5I-}nN{DNWUnInJ#tjMaE90hwxW%|FA?`5lN{D-m`x4>- z<2MQMknu=DJZ3zR5KkG;B*b&Z3kmU(@k&CxX8bN8LJW?b?!kdSK=%*C2_-#%j8Q;J z6l4^V5``H>q{Ih|qEg~RMlmT-oFSJIB^V{8L@7pTDN%+|R!Wp(l$R0}7!{>NB}Qc_ zQH7z95=usxlu$9MN{MO=wUnsNs39e4GHOYQ+Ki8+#K(*}Qlc)So|LH12$vEOj7TXF z#fX*?F^pI#5yyy^5($h%DUrm`NC_3`(?HL`UL`Oy^DbbnHMM`vKbdwU@89k&#Pev~((VNjnO7vy) zlM?+I1Ej=2#vmy%m@!03e8TutN(^NTlM)z~1TYW?3}<{HB}OntN{La7FQvp+jIX7{ zXvP>RfiI7Pag6a&Vgh5Ll$gYrEG4Eerb>xvj5H}RoiRg7=ooq_fiHmpqja&DmhD~9#qO%hF2$@k%5XhK`FkD0c@y@Gf!$qWt>H*l;c1fr*sA6lCFf@(p6BF zbTyPMT?6Gv*FqlYI>;+s5Ba1Upj_!j$S>Ul27GAbPqINx))j?-3Kj{?uQmh4?y3bl8+BHeh#6H_#FTC*)2zfpLze6 zmVXXv3e5rkmE{-L|GR7cJ1OCk9)rBnKCB>G+HJ?ULQo-4f%&5}NV=16~o9x@(DiN}m5QsOD&nUr|Wcp)WTGG0lE*Noq# zM2Nu&?S(P|FLZ!QgpQCD6`M*40;)C%f((_LWI_Q{Zz>=ZLOA#i zwVryhdQZKDio%CNAE7)dKlK%=q54xlNG^m!C4>m5q!0;}5~85eLNruHh=Ixqu~0c7 z4k|CiLluMssG^VvRT7e*%7O-}B4{CnkPIn>6evtcg;YWVsH)HqswOmo)IwvZy3how zAvA?*3eBKeLUX9L&;t5MXbF8Rw1Vmgt)aR?8>pVp7OF3_gZ`&4|G)b6?Jo=v`UCQT z!XQZW!NL$>Fd+X#_!JU-s4z?z3dlbbK8Hldphp42FqvaepfCcEj}pFwME^?oTKEc( zj~2#2qK_5EArpPPFhLj($R`SuAkilaQ-sNYe5x=F5ib zA`nj*&xGgb%|w485HA_81mZR0cYz2oI2nPH{Q#$Y06XNDq1y-IR6s@)WE7GSg&9R; z#0QL`GU7u z`wD6#`xf!fNZLhWSJ zp!TvfsDo@e)KNAA>Lk-aon?Bci_8FZl^LOKjP5d`2cxHq=*8$QBlGGfv2elZ;a`;xyxX8F7YjRz{p-oR<+lFfPc5i;PP$ z;xglkjQEl9lZ^P8aaBfKWBei`t}|}Ph+i2uWyCGUZ5eTgaaTs%W89Y!4;a76h=+_v zGU74giHvy4cqSvBGhWDumyB03;x*%U84+UO!&C*%|1*~;q>6@|=mNUfhMedH6a|rs zUPw_`fzN-L7g2nmXv~RTRPiBl(TgdHBNtt+D1lt`l8REuMK7%=qrm6C%*!guAs4;8 zq5^W!D=I1>7rnBg3UbjE3Z^jJllqBSRaydnX)=!uFX zwmBT=e#e4#-9CsOW@T^v;SdiuRo7T@~Gsi{4$)LxInKnfFxmLN0o5MIYp% z_f_;mE_#2(00ln(Wj;_b2)XEk6+@7V{)ysK;dCF1l5buISE*o}tJ@F1k%&SM=aScPN~So}B0| zg&Vo(S&D4rqT|cw*bY4k51uK$T#ftpDSWsGe8Cv>SNO5U@MTzlFRFrkMo>Y_RLsKu zEBb839ORt$3=o=NAkc+-qu?4y4TNT@oi@sg41G(rs6}ym&zFV;ex#)Wp z`;d#iUvU8YrsxM1hmebYSaAf~w&+I{-ys+MnBq8c(N8E&A{YIX;xuy6zgL_=F8W!; zIpm_BSNwon^b3lM$VI=TxQtx%D~cbHi~f`1XXK(^Rb0ciC;Bgn>&QjFq4*WK=raR<5RcNO=Li+*460J-SDDIQ|05dD$jF>=wLD4rr0{h8u9a?xKXh?k643gR{6 zcLfn*6jE|Zr?jw=hZj*w;2+?`x>H(IDZoF(LAFy`Oj!V4Tv-tQ&$chGlq<8P6_h35 z6_q97m6WC6m6fI8Rg`7mWtBuZ#($kF>T@1^-A{75=fZ8oZ8D4X>-L z4zH)I0k5yD3IAu?$1B5?K52q70-mUhgeNJZ;2LE#T&s+MCo5y&DattbKij^!GF2Ir zwoo>Jw^TNSw^BBOw^lZWw^25MH&qhN82_2}D8&uhG1@EJE9XgjC_BJADm%h^DLcVC zD?7vcD7(PBD!an_DZ9Z@$Q6j~dnyUBJxY24v3*}9A+{f??5|uT9i|)r|4ca${<(4x ze7JHj{0rp}_z2}E@R7<-;s0#=jmlBj>NY9ARBlr4SAK=9<$&^QQK zhm_})W3lFcP>xgnpnRqrk2UsOIYIecc~dzN&*+wNlJb`Fg>o_;{iSk>@}+VrW15mM zE7NfQ7UgufRXGEmuGGOZlzMok(g3$9jc~it1pjB-dzB6>r%&mG=PF%rztRoQQ)a;f z%4~SPG6x=1df@+T`-RGxcwUQ?v*6z-XT!f$&Vesh&V?^g&Vw&i&WA5kE`a~D?bj=p z<5_P|u7Iypu7qz^u7a;tu7ddQ4d0_A_5zP|pK>4kueJg4R!5Y?QO0*l;;ix*9_yU)IQ)e21pK6uIK?=v zB)$he=^5o2_`B`j-L5VuiHnR&O5!r(hVlxwv0s%x!hcf!1piq{Tm`eFx0To6zbJpf z{Oii=@ORt4yM2l+?(cMA__7JsffaiA}ZnoMo|^q7tLBim1ZC!9GBj55gEKHdR#-)fj3O zQJqmkbwFA}Rg+OmMbu_|r23ruNcFMm8uziP4x_G$sK=Bgb4Cjl(UQ?hMYLwL zQ4wt!?Nmg2Mh6wqk)kNrX)g)-RYBKbNY6>($ zH5D4Eng;!=?>|jNOlP1-3(zt2D#E}(DGgv^m{o*@VO0_7j0_c#$-v-vU}rc~gp=V? z5g51&vKZMaB8TBo5nhH*MdUL4Dk6^&P!aizpo*Bun580SGv=s>xr})#Vm@Pmide{4 zq$0jye5)cBGnS}`rHo}NVmV`lide~5r6N`{)~JZJjCCqvJ!6B4*vQzVA~rL&sEDnM zZ7O0rV~2{^$=IbLb~E;)-bQbn9% zoK_LvGtQ`pvy5{p;ymLA6>))aQAJ#0TvicR7(c3rpBO)@h^vfiD&iN$bro@g@vDls z$+)E=ZZqzvh`Wq?D&julfr|Kz@lZuPVmww6PZ&>C#52Zo74d@cQboLCyjBsvGeRmt z94N)B34C1=NE!I>6yOv(D8MMFCJHeMtBE3v57b0a#)oR67^AqFkTXiCiIR*`YN9lw zjG8FRD5oaMGb*Twii}EXqB5h3nouxsfDghLtg}~FWmHoW;#6Ht)L_(96SWw%)x<}P zkJUsSMqM>gk5OMugfk-4L?k0hO++(d)I=;JPEEu!64XQ@BS}qY7+N)v%t%oasf-3{ zq9LP^nrO^uq9&R$nyHEAj23F5C8L#^Xw7J&Ch#*npdF*Vn&`mjs3tlwI;)8;jIL^; z8>73L=)u5`7Jy!i-fE%`qpzCi$LOyn1~3Myi9w9PYGMfE6E*QEW2l-K#y}xr@HqoN zA_u-;j8GFJ8Kcz1myEB}#Mcaz*#u)4W7Whs#&|U`fiY1{Okzw{6H^#d)xZz|Y8269GoPng}vxs)<>Q*=k}AW3HN*$C$4s7BCj7iA9WW)Wo-p#cE;+W2u^0 z##pWbPW>zN@4Rd`)x<5vZ8dR+aaT>;W87C04;a6xiHD3wYT_~DiJExI zc%~+vGhV2PmyB0x;x*%UH4$Rq$GiXr1OV|Xq2d>V#E*x?4+#o{h=PnlA)+v&NQn4= zQ8Yw+$S4*fiZkRPq6DL4h$zJ<9U{sw%7%z?jPfC(0;6JxsKlroBC0UNQ&;TmODK$? z3N^q#v#OznP_!Y8`Fn+k-i$sWqA#Ogi0IE45F!RL28D>h4E%5b_=NFkh#1Nk79u`l zpa44<&iEokj9`om5u+GihKR2iUxx@3Fa~27V?)F^28zpq35<u8bi1?XtHAGxv{1PIrGj4>4Ul}(;#4X0{ z5OIfbH$>cH+z$~C7{7&xhm1!d;xXe%hqKl6XlL%+Y<_iNz&8o(Oxe)e`><2gdY zkg_2`0!QGhfuI1RAV(B>U;pLbqW%ljBWU?Qw*HG)RpI~6@=tnS|K)xCm-qEw{-%D7 zSSiCh8pmPpkN@5u54>Lk|Ie)fcKjFicB)0w+Y5ij=JNk_(*H5NnLnLP{NI_x1~b?s z`8yL`ANFRv`F~gV<3;BsQbAUrV4=cAJ}CNOvEuR)B}Ufjr#|!sqseTsre|c@><*{Pot2&A@%nQ8d4c@k z%vrPN%$+xX!NNt~e7ktb(q+q6tX#Ev&DwSAH*DOrdCS&q+js2TwR_Lreftj_JaqWT z(eI8OKXLNZ>F>{+J$L?x3l}e4zVhQwKVQA}%k>+--n@1D&fRpipFMx^ z^406#L)`!A^Ka0wQR5~}n>BCIvQ_IgZQHf)(6LkJE?v8I@6l6y{(pV_zsK{Z4WTkG z53j;wqvYlHmAt(F0@N3M!pYMVs3VH{qg+K^eyp$bkGh%LsU7sT{^)YlAf@`F+rLHK z(sF29o|ki#5TX7RaNmgkZ2eKy9~&r#8hQA=lHoG>=6C9WdZ(6=&zuIOiF&6wOaDPV z&`=m!9h;8ZLUe;pWN#)a&`yuH{4XBwZM%2lKX^PY42|jW{;WSr?>nXJy=DRS{<1Kt zic&pMsv}DEL#b{k)eEIMp;RA~>Vi@|P^tq;^*^cZC)N9;I-gYElj?d>Jx{9RN%cFa zZYS02q&l5cpOflxQaw(p!%6iw8?c(2jZs6eDXXtZ@2jYuCe_iT`k7QWlj>zsolL5a zNp&%Mv09jYQ310*Hvm;T2ccT$5LD^>6xBKLgR7{>IUJQZM{xKtNmSnaio=fta`>4$ zRM;Gk%9;~dJxZ!WIgMM46;csWgw;Twt3nnY)}K!Z>&Xx1r|=Vajw>HlA*^y(m9VN| zrNT<%`l_k{d}3HH)K{B|DrYmfeW+K`fS=0={Crm5aS@R%JHICc7mE-2D zI{tv;PW<+!+3Cj|xBUvooqd*($8q0mwB}y=J(Ja`rUvJp|M2onLwj)9HX9Xy&Y>#w zPS*_1ou%iDCaS4#c+-YMiPJYzy8mtVe=VkQsA&2hrr9CXAKikw?XS7=hB9&q_JH!n zGV)Ski^IH#`%s-H+EhkP-vVrf_`lrxk0YA@rsJHjFnJg|;E`jW!o)7n0gzlGr(+`= zXW>*iuwF@OGoMVOW@UAS=7s@0etuHS-b$L39cas8t=*FXM8?{fa4n|XJ3=-mr{ zlS}X|lD|JuQ@n}dt5Z?~l1h15O}c=o7BAriK~ezyTtOT(V3LtZp+Y=r_VOhQU`_!+ zDwP#14CAGR3%)5;Ae9v^h~}7q*@94@P!X6!C{m~Z>eVoc6yhZXFheN7cmG5tUxMQM z(TMXU9M_sIBc@Ws(N-;*kNDqxT=M^e_k%6|x9@|s@0b5A`UyIA2v^~KUo~Dn z3Zmbmn5pLFsq66`Zz+Cj0`K$Q{XL4R?;LD25b(YU@0kw2^S&t!$0KGlWPz-I9-EZc zm65l`b??4!!sf{F*aq2V_~w4Y5L5A+4a@D~ZRxsKQ)P0B_us@TZ{n#paW`TiT)!N# zIARte9S4j@#4f<~N5rCX%@OIhCTbzl{mI|NXH#VIVz_((k>>A4EP}Z3&1DDT2e>@? z&E@Wh^m`fch=ma=BNjk>HCZO7=X3#4hPWQFAfgxXL&WijB@x>rmO`w9SQ@bqVj0A% zSdR#7ik>Eu_l7z{G^28cO#UieCSMQfp}|l*R2jNrmC3h5%b_eN4H^tZL$53{`3-0x zG#si0-8SQXpoLHdGz#hr#Y16GQE0tMCig;VP;)3Al0%P-xE(YK>JG`F{RXsy!l4^_ z+zx6Fm4=S#Wb)OJ7Yc_S&5+4=LwQhhNDa|%jD$P!8bVhbcx=cEje=4kx?VuMYR7G% zJZLo38VZ9R*{}^l%ONvV3wo6)lh1^PLh%p>oy9s_40VUXNq?N%`s$%QaCQdjb(=PP#QEI8U+o7`a|8J z_E2*u6^e(#p;}NFR34H;g&+=k=90+R{YrX`Rco(cH@#sIs_nDB`M(%SL@#>GW8z4=-Z)(B1a@k(-G{bouUre>@e zUu9XD#y2x&CiF~>T@Pvx(l*Z>Jatd8N*!7@ez^1M)n5m-*6zFb{lS zzr(#(*7o~))Gl27^I%81w>S5Ps7|Fz9M>b2g;cv3&AY_-*)tZ?^z|Ch^~XvMVo`s_ z!{U%5M;e^(t|@!YP}Oqm>asB-TOV{?Y;`Saz3{U5oveF#*2dC1-I}&PIn4J%?K5L* zem?u;sgggHe{@k%sP&VxT=L{*qi;mfI(00>wzmM=1y2PuIGnA*>Rp2U6!YkD6_EJq zU|&I7nn(Q`^?kJOzAO1@Y^%__^Io08wg|mD??2{easBo;Z5AVD{e$-Z@%I0f%jS0; zV>I&qZ!UL!XMQU3I`3TmuRPBGgxi$HbL61gC;xn%P9fh8Eq-TS9&!hye`nsi&+q-~ z|L6L9cfI_(=kH(t_xu0*{a@U7-}nFGdU)Ue zI{y5x9{=I(BIo!-kS~Xja#zlZ=k+Mk`^i5hcI_XRSVHeT-)-{0UdwTGJ$ujpAFp_S z`TZLBi#0F?r=Pxt>WvcQk4K7nw<&FJWudp*7M&@goX#JYhv=jeoy(>3y>wcM&T-JW zU^@Ryk>*jP^ICKroi~1a9o;Y8mLi=mq5GxHp61bcX*xGdqWLO_=EuCb+~CdSMsF^+ zN2J@(2_tGp-)ExO4Wj$UFJ7|89*#)!zktG^QBY;*D~Ohro(Hv0gJ_wjzlk#t>3SVR z*Xtp=A172BqVH7DjH@8uY+j$=$j&R{TYa^FOQW%>*wu6=h5Eg6yLr4 zZcfjeCSDBxTc8Qh`5yJbigs0l62N3=N0cLmDUyDhfSQ7LZ?sjzNndFQkXYLqnnN zP-{p7)qyHQMWJVk0`jxaZfGV%Z5@c?DTmrasZcbehU5^nc~nJ=R}c?F%b`3-57G4> z<2lpVUlKii^xNC1|Dg$=gKVe%oTi+2@=WB^SJPyBC%3NcYh+YobH&XBcMH)I{+HUSY5SOogr_Q+aU!U4H{y)2Y{E{;A@enN&Z5MP-pFUWj zk4$LUJJRmXIzz3Y#!x&|2U0`jq0*2XDhd^X1c-xPRmC<1J%a8-x1k%*73dUn z7}^a{`^|`}p~cWl$O~maY0zY7JTx5Y4z-2~W23=hv#B2Z29`hT&_C9+HxvC2YWqv- zrZ;!N0^J|o*W3H0|CP03@SG4|MdL9Mk0H{w6OTw8V^Ku<-+Cdc0Q)?7Jz^joW<>hmpM^-D1>TRqb40v=I05l6;zY#Fh_4Xk_-vMTp2fJ# zO9ZxS%*6)Xf5wCvD$J*8{$(-FnkUBT!7FrAE_G@eiwn_y$DH$X!o;ip#;5--&Psg~ z*Ze2jH+a*2E!uxK`|9k9+_l*^X7~E*`=2_C-J%0Jf)3~Vo)6>to&W57Ri#NLQ> zY}Fp^X<54?()S8FV?Mp^{c)MLi`KYI+fQReT7C^89pgnKqHE&nAXY`Jg;)(yji^Qp zL#&Qi9+94AQA7kx_vxu)dPdywssY6=~BPUIg{O}m@KpQvi#KN+h#VtGrgpJ`iu>!+cc-= ze-~<@9KZ8q>d3uUGJZ`v&}^f7VS~+v&%4x2$b35L%H)QdFWN3W54^lJ^_vcjX8khu z=fl6%uCJe7qj4>Hxo@5=mH)hF_lw527Myzc^wy6pCuV=wWXR!t&SLYI&aCkBoTeWR zDOYsNbmN$@2b#C(-tg)IcS2Ik`jvM&wOMejk9JR=r1X4O&rqNF_h*G|?>sLfZou)^ z={?iWR_|kZ{==u=WIuaYbKC6weJ-YrXnnx%3A0K%_TOE744yA{2kYF&xn$`$0@r`))`Xar|#v}9e;^+TNcwZ%m39kUlYGK$jjnrmpBTx#XsPDQE81&n&Rj zWhnEqF-pYE`!!)+&70E}ev~q0@vN(x2TyK#>|&SXL6Zs`uGV>+F65l9b-qZfFmX`z zMiJW=YgCrw@iUrv)^o4VBwa9fFH~v8jh~J4rAd4BO&S(l>l+jIL%qbPFDsv@_Cw^| z7LJ|?^G#c~cRN3C#{Ai9B7YjXvc!Up!Nxt-$?H^aakXx2bh}PVkA7a=-b0wX{nE}U zFK_Hs*LYp<(XzHO@^17GXx%L-&oDRH&#rQp#M`-O}1&lY*xXVZFqKfPZA z@7KWlHSm57yk7(F*TDNV@O}-vUjzS7t^vH|3&Vl&z{uf|V4FS4M7* z+#7i;@_gjg$h(oxB4tsezH7u6uDRaBR#eo@1szK)s_Wr}h}`J)y_t&G|n zwKwWm)cL5ZQFo)BMM~ZHjhA`=jSYFN@v~ zy({`i^qJ@%qwhvPiUtE~H#Z zxtek#<#r0bCme?JIoL1;gpUXx9X>DooA9mSd%_QfpNRM&;!eclh?f!NBejtuB6A}* zMm~%z71b!JZPbt`ebg=d6hqzUZqerGnbEtWuSOS((ZsZf=@s*JOn%Jfn5!{GV#8xQ z$BvKP5W73}SnQM7f^n7OlH&Tt>El+$&4^zSzc;>7VkogfQaw#i?I`USZ6=nmP;${^ zd2;FG^2wEx!%(cdR&t%>@Z{*^_+(9TYI5V`=E<#-+b4HU?w;H`xqtHD4LV9wy0LFEv+rDt*i}0x$ucvm-c}6n6_?mv*b^b%ck^6nVy0> zP8ILJWq6P9mXSRob0X(QE{ob0RRU|n9eq5yC!YVqm;$jQV{Nf(@T}Ew;c>&`Y;nr? z*!cDFC*z;T7fxuIus-2#Lg~b_iH{P?Cn=MXl6ogulMW`ClUF2T;5)|B;~Zu9kKuR2 zW22fx^@xd#Z4f&;_GWBK+U8vor{a$+qTTG?o$mAB-7RDvplIJCFPCl7@Gnr2*pHe@iDPFHhDXx^c zDQi=XU~7L#uU#6>RiQ5^8D2X)HM|?Pctdzz_$qAe7s4Ng7r{@BL`AfW7!WZ&!X7a{ zVoSuSh+7eo$O@6+kLMST@ziJBR;F6wC1wWwE7 zrO+ERi0&ReGTIm&h+Z9iDEg=9=g}X;RE`x%+wf1%z~J$F{fj0$4Fx<#zw?8 zkL?#bHa0VMZtSMm6S2RdR6@D9dT~wSddGboXN{W`w?6K>xL@L4$CZx%IKE+gkN8pX zruh8$HSvehcifLJn4m}qPw1F1EFmqyldv>lPr`+ShY3aS11Rx{?GispoRXN8_-*3O z#B+)F6ALCOl46otCk;xPnB+tcvMuTRq&rE1rjjO7(?Zi=q!?22 zQdXsK4sra%sED0W=c4XMm5i<(or=C@n zmoZB7RFkM(pvu3|ZILOvksl)*&Owl4KR z9Vk&_-& z)01Z>Z%96td_DR1H8tdFX(bvKQ3%7Z2#e7WjTS?+m`tK#G8Mj$^W3^|$@k*;{*K@A{T;tu$8{W^ zKT4nTe81nX*YoD}JkL*OFUcF=jqUcHt(GdJtYfFRyFvu zh4rYj>aCshhX$)N9a**~IP;z7oHN6P;k(0eZa25P+tWSM)m%1 z&F)>Cww3NyPFrg)%IoCCdwo2Y-aFD8>&@`|fm|`ypCSwuo)d<0k2i}&;&WnW=~U?k z>2WyN*HWb1O};=LDc>PSDt+Ni@53ZItFNmca55sbC@orx(PFhYEuJ&d15ABf`&H`) zlStJs)W_-9>3xiuMy^p~Y&Bxcc$m}(^I|i@yvn@R{M5XHJO9Z#VD-1(w|}yuosrI5 zxX_*M=dR=}_qOp8npV6Y1`}R*Ojsk-3SSDlg#E%XVmt99F-aT*ie4aQij&1GahkYH z{8X$HXTb$OlO9T(|w0v#8R-oDX2z@c9G~U=_v^K|>mzxinCt8cGeO9F1 z-j1{PITOSE{N9k(DwN8{7U5^1zqDEYT;2tjj8fVwso=(q%0hLidVp8v9C`1f^(d>0 zH9b5#yoqb?;%)HHMn>C7doQT;(ldD(hG&*T~(}Gu4IQ%uCeQ+v-;MNTk+T zJ417{bG1>R_%g6&i&m@EY4zGpZMW8-HEIXwkCA$m-V>hkD?g)KVl8&=0SR_FTf()h zT77tDcz3uV+!#K<3w(U8Cb@nSspC=-SuKHUFhoa87E{DjRxXVWaxHs3TIwpFEoaL) zaxSbfU!E@)&?jDy3zR}-DQHlvtWZ`dtLYG>N|~}&DOYwY<#5JIZ3A7qnoe-!m0oUT zvZtTJiz8XnUbbeRZ4bA{+t=Ci>?QX7_6znpyWZYq=X33=;7TP{DZqp71PB*@`bXd3{ti$J+(3|Rga+yEuiak zv2<&sbqRI0(fYx<8I--tzSmx3ziO|y-{Gnn?DkG4`b>A{3`cj)cdmouTpeEK-r(hV z{{jV`pksszcrKCeixfHw`7o2Ogx2Dj;`QQQ@qj2v{iW%$rwmhe!pSbz?$HM6b9C2w z!>)543!ec$o(C>AUGD;Mo48LJD?cJXA%7unr1OgEKy{QlNzGA{wHH|7x3!b!b zkTcXt2g`1DRyc1t9;m;N%Ksw#b$9^WDh-xB!@bF!>CN-*0Noz|eK&d^(%HUk;#4KA zeCP_b6*>sB#eDH8@pH(u-|Cvt-#8l# z7;9W<+-NK^Rv9lCpHO!lO#>a3Y^Ip0<`6T@91a&fE9h;F^ns8aX-C=7c8opWQNhrw zVK+Ho@ay5e?pf}A?n~}R?lxXdb($yB$5Xv5??xESYu@|bN8VQNEA$dKS`KjX|FeYq zg%zl!SA+_7=@a1#;Tv}9G;y?;B$-mOG*G%6)ihn2g$5}`Z@whGD{YoOm41|drRPQS zQ${+tc{a#-71ePQD)R|g!rnIOjkoMA&gagy@ZNA6x4nB3J-?r8!6z+Vs#RzM9}z-ZVWM!2a68)LK4G=+v`~g}+#&R)M$Upoj}pg=Q^Xs@o9Igm!L@19 zOz9oiV6+mW#42%0yfVpn4~@IktTVqczegp6tYfYAR%a{TI?a+S3)~)LjkP9O(_yi* zt@-rQ$E|0qbzt~Tx@v^okq*$?KFc0#Uu0imXW7%y#&gh73+<(Jf`{#=sl4-?H=R?% z6T&~ikvgC%FMuCaxZ7c@iBw#uwpGBn9ub~L^ZJTwmk^15S|VO3Et5_MlU|qi$nCk- z+ms!Ou1-;_)OKjGv$Zd^8}ys?yYwpkd%c4p7>Z#Sj*)CUeZ*OtVh?i~!(Ckw?Cju$ zcDD-hn!TKU=$k?4_1Vtt4htD-9dN}d+O1}}d5$&1dK4UBHZy za=vpeK+h}w9`ICuIUiNRN1)bM!X8j7TI?itg-P@k`_rS&6E76Uh*yZ$h%;IL1>8}w zxDpmoCcYxRDQ*JGwxjNU5?e{_q|Q=2-0m)1k>lm%a;f|x9PUkgjt}K+sQe%0-{iLJ zSr>kI@eFObHi;U1QSXHU>1EykFMiG3Xhy@F)`d5Qo<+)msNzeX#Jp@Br2SXUJEfR4N;kDy3SfQMM?xxGI0vIk~v3rfb|OU9H5a zePDpEsN=M$ng!<@ZVd>Ba$5&yyPkbcp%Z1}d@X}Ju94oR3+-X$j)!?kvV)(KAvcC*4>Z9k7 z?oW|EmB%V0)z{Rq+9vHE`W5B`RF4I5k6q&XNz}=QBp6dT>4y^f#&X@2&n6Cl{~djjnhoD zbAz@(zh93tOk=(AwK3J4gAVRvt+&3m=7Gbf!2qs+(=H7cg^R;0@DNs`ze>YpXsGgV z1sZMx8n-%J6F!pfZ~-Mvd%Z>|7h=R%F;0vZ6R5M1;w9A73UQUV8jWG zDsRm@5y`5F9hH8HPTwfi#~9O%)yA3D7)!G!hWW#)*1X3s6gpiPBgBdd2v9A@E93Nq zMuZuM6PRlL)11ilFEclp^`>m4a`v*VMKGV&;OswGQTA!J5$KmC?80`t#JMPZp4-i< z^w+Jnb--783-jSCo28S~PdS^%qopS5Q}mnkPe9LKbO|KLL_y^ng~o%hm)Ahg2EM&3 z-+rz+&aA_mi^p?ZYk%*IbU%jS?{bgxI#9=!=XvMD?x#`DOZ@NK-E_`&2<^mE=str) zO}b59Am1;?DGw+gtNYdCwQkx-kjYneUugTZ_8|9k<14=HRMR$BawfK#`{7P9j>RNv zp7o&B1r>50ceV-6bSA8Q8q8#4&?_T&za;N%6vhi(!IvG9iW_^n;;3(`qu>NLThCjG z&gIS`|L^jq6<>qLi$9BxOV3J^<(KH@If|f`Y317I`VPI3S5mgKI$3XVr#qF~gyQiIm*Knyl1uS^Rk;CWW#k>*zDEtjhT@_06HWcQQz7LWd5%kiHRLH~P zTjKlT$KnogA8PS9sjJjeN|LUZa;WzrWi$M%H~zDw4pt|s*Qz(Dx2cb+PpdDeZ>c-f zJ!*GN($clHXo0o*SNcvp-B@ch8Y|89XlVc$AoS%rCJHwRD}}Y7`d;BAaPUsPvtHaO?iL%wM%Z*nij<7qfK5?{>V{RsyE?(-oc6e&1_?}wK~FBPPR_9`odWZ%RzGw zvW8mcqXRDHipO)FBkWjvlD*$P#p&RmjogU9-yJMwh*e@N-+42t_h&T`JUs{ZqS{>K zT;y8x)TXnj37NvfbigR_Y-yx?w;ZGFRr;!v^|sW@-8dSNc*h^xqj9vC)6v$0!rM@4 zGLCtcyT@IG9*E$bs-cj^4lEHL5X(XT5-AT{AA%!yoibkSr4^wA??6c}GwQ54_5oB% zU#CAlaRrQUu3PR7@^Zary>(uwr0L&EW^G><5=4_V-N2k6Lb?##(3A(^rE^i66SNPs z0{tz0h%uKFbffva+0RO`zHnX)t}F>(mJ2G6;9anx&;FXIPh(!N4xXi$x1;D!3moK7Rnr>o6^DYC7i)K$yJ7j8?FR7K3um$hKZM%` zy)YukJ(`@vfuLZiTxW%N^HMb5TZfhnB}4{&_yBnicdo)EeGn}9$l1pVN#QZxWbWq{Z<+U~w+5~7DJmiGnuW+fC$tex z5t0O37$|JUKlnlXMeHPXrx)1L2x%M~W|p*AS|L4yK3J!%2Q_!WHTvsAnHk)uKdV>h zwJ^-qu=iocaJ=8yI30ELtrN`d=B4J<=6qD=Y8dn$u&#@Bru7-hct7}XvfZ8jVcThT z26Ln916EvQKZZJfk4{(5X>9Erj}jG}FkbsbsK2Ssjrd-p!dHf8gy)2pgNy6&7X4Lf z$1LV7_dNG1+{MT7*el&?P(RX(@w$QrDc(OpgW2AE>Te|o^r82qx65DqS{4dL`9)m-vwQDvtY);%{PGsgHCf%w(`U z9Az|DUMxS@(HbOkti>*Qp!n zD?g~M@sJYfZUeNT+O^sY?KW+R_Nw+CjNuq&7=3WtN1~Qy(Q!)PZ=dL2>c<*|W`!9E z4te&MPG$H>x6FOp-Qw48MkK%Jz{^_Mv#+F6vP!EW{J;Y&10>Ttll_$FXQUHgQHi^JgK+c4{k8V9%tvFgC4b?0!d$C zy7V5t@>ZPXA9)FL8)k>ucp=~MWA${95l|D37d7-xx7M5R4~ zhx45Csq=+1Bs?N~argrF9xzsigN*Vn_payUy~KQHyBEskcazZN(Sj+QBU}mkl%XQ_ z3MT|A^Z__pnYf2eH3c-hKTzUIFyXD1>y%s7ed?Xs<@(c1uwu=AcnGdJ5FRucrkfiK%>Rhz4VF_*vBh4KOb8=tUYx7_IOiQ*f-%! z723<;%aKk;?xxh)j;D4UzVfNzo~*jZ#Nl#!)^*|Am^a=Rek}Yn)0TBi9yh^6>#4t1 zcx@-RUGZU)T-Ej5^HJmr+*%mfemBZH86|tRm*Z97$b<^$ZLC2XK>~vdQBYf8GT#fW z#2E2ZQ4{+~6QsFP5qG}}#EX>M$(`g=ZDP!RMS5sw+ zlt+|xRM~z-WOjWG9?e4aG4&0Y-Lbf{UGNkqXjg03!;MyIo3(FIOO4uZ;CQUwmDy)1 zwKa)JRw=ymR2+yA#ur9BGb| zR7vU;IO|VpJ&f^8I_vRx*I6s==WGE?=q>ma_n9wmV`7<)!gz|gYCHC> zKQrr5?xpS|cPe|g)V&u!Wsmy{JyZ>RrrTiB%hAT6lE}bYd0ptj48|3!r3Lbnp#3@c zcAH2H6dFsJloityB!pBH|Hy8kWQ2_4^)svm@3GLq{akD9+W zZ~^DJcesV_-FRgWx~tqL+^3m+taV>?-(nAT!3HDn%(A_=NErA}G?lUqqlD|>fY*z2 z#4p81rEjJ4)c*FS?#IzRdv->$8*wVs&jAy7vTr4 zRG&~^RA0sMs$w#*jjo=EPwf~N8W$TA;o`Z*?Z&-y%@>VzDESR^&b`#~v1YUxi>B$p zRN6BK;RyP^z<6_#Im5ige2@x#lIpa^VqNy<@jGQn5xb+-k((5CI2kDWF2Oy`Ra32!fv%uJrRH1pySU3S3ZHqo~-xMb$tZqrQCRn z>xnW?VmfgtI`{z;Pn|i!8f8thZm@dW`F63r(tgq|wad_3U)t@QUYv6Um&kFFofIdP zDWKmAi%~(Voc44MC2WV2!ztlZ(0UQ><-aRe=}=;#(EThpY0=EYdxF-N!sH(DehRoz zWM~!l8i8-yoqlnaFiyx5in;GHVIBAWlh6&Oem|O`0#y;s8r&iMM9*k1$H@uu8FD{a zgE6Pb=iuzGVSaG}yZEItQO$+{_6PT_(QYLx@R0UC_r5OtOE|*yE8#@^A(cGE1x%2x zW?s6GYIvA4RKW?_=x*j(6R3%Sq*Oj;KJ&G=2j46*R7g(?2_3^wSxM&p`<6COHEgIuYI-ScDVz4-j8N?zK`m3U!?CC|FhhdlJvxiqQx6ebR7Rv1u zU#BnT{O!e^?xXfoRn^A7n51QC({WQ5YY%Jhz{~b&ee_{^F1ln1`28sT>}7p0{__lD z4%6M$xKC@0mzl}`Vw`NAVV-AZ;ydM=_n0r^1=Zqj?!#+84z%t=k29 z$0M9e$V*&9Ef+XTIVYqxo$Mt-7G_!KfNy_sg3oSdOx=_qh#Lii?B z>w@qS7~jM6tM~9fwu1TzIR6(>`BRzlEptoJdK=xJ*qfeB+?J;o8`+X5p^MN>NE8Hi zB!x7^oj4@jS^4u(8Y)xDukgA%$=&62(4|OTDL*N%!(HkITRUDIN(O3zdR3r9-&1SU z?Nm`)rd0k^Z8&T0>(E$|5dHNb`lWilUZ}6vx9I!z$B-lPmnCYb}g3%zmPL?!^Ad3(JOPdk-x-^asyRQPO$aFs9%5AZ?Z zS$fR(eCGh1-GaR)MB_*Bbt2>)5mwU z&oza_$V`2KQ4A`*Z+CEJh3~{?Z4-C{_cNuCM30I{L*s;{xyoxeCSNjn-=}t9&e8+_ z%p45bV>)yCKCq|2T`HIgN5ez<;_CeHAu>~)K}Xpnek6X)>NLXlkCl$cg+3Ww zlqAWlRI)Tix(at-iS(rOqErcA*(QBM`s`P!CzH1uIf!8 z`}L0ugUVaZB;j1^1LtGX8K1+pcEEDKCl$BP`IUM8@i45{Ne}%HegN;JjUQDB<(T=FQctcTQB(wMysma?RqrQK*$LoSndaAJ>T)oQdh`svJC zmg{Z7qm^XaPGkz5i97z3nP%Na0>{^oy*PDOJ2z3G%N@V|-bSbQz#D(cjrR=iAzxiH z8*UTKqdN*0!eD39iPsC$(MI#drOebeb2YmHFZWLA!yvO5L1wYL{3x0zoivf9jn%Hw zZrAo}=j%g_2aE!c=2uIngPezxG|rxk4t&wx9847Y(j|I?UEhl=XcPG08EC+4Cy(nZ z3i?Mm)6!5?n@}vz7G~qQ=W=rLxsn30kgF*Y)6iz=XrByuoSZ37ma|Yn{**Tk)}N(L z0|#={Ts04boKNPdkg0YNXLg0UN?om%sHJKdDZz5))0OH5Fuj@%utlvUH&{1{&k&3&QhI&t@V`UiQ@LeaP#aEA(` z5Toq(9jzWdB}uyf_L6x1N(OnWrQRy93_qlX>|yXWUf#%^&Yy+Q%?b3vWFZaw z$P&usM8!~2=w}(scXO2j5)mb&AgYvAoYpE*8oPsY8N*o=bVpAPPGS|l&`v!ooQsEb zOh|zrRnozVm`K#&aW>Mm@=$Umbg3<*m7|#7DT>24WWu@&l`{VQI%e`QOyC_gg)~+c z6bkPQ!7fqzk@*H8nI#wy&1GR{gR z=cI-+QqTElqzgwe--%%2KYc7NgWpuLhc)b9 zJ$u*4zD2QTaqL$jdu70eQ=K$+D8tEgvglU1?9xHTQ{t4NzA9lnHF%-*D6mFSy-_53 z<4E%+!g~xjb80w^Ty#h{CYZ?UfJ|xLWO)p3Q$gi?C{S|&~vWW+WcnuYpv(55M92sb_E&@3wPcln#t z=JX90Q+{k{3m-@85`VWxG<635e*L~s72I`9FuhB#da%REFs@81`>54(v?NZ=Urb>q zl9LqJw;{pKjV85`9Zc~2w*i%NYsoOrrWGE3XpR5w3OCJ|4^Eh4f+SNK+94f}ejEv~ z+~Aayh^2T)YjMyk#7cbcD%{E%7+x(kH=h$x)a=UrzHc^l%SQ76^$^)S?{rwL5KqMW z*|VeJ;@?BX1azm5j0bTsGsvSgp}G7Ae+b!&4^1`y z{C?}3rzbIR+c@$Af;1d%n?*V?n`bQYqeCujIk?=Q9~A)R*GN7XQvEtX!G=*lfeJp0h#H8%O01u@ON*{@#T**sXmJy17(6)S>44f`kTU=8O6 zwc1pnRY6u^H?!P0u?biF6VG)N$Asql_a6NB4n6;mXZ4T$ps5QS>;aWjzhCoFJZ%!w zoSaEedMJrX5}E20ltCIP+jM0#y*(?))RicuL5Hs(O;AIMAdx|zl+ov&bR;prhx%DAV4X-zbZ)f z)dtUXgiyMP!JNHg@U9pGuA&_E8Ir8uJv}ntEx_Gc>K2jdU4g%~+ATr*mf>)f<4{!M zxz>^I-c3rOk+g3N8qvUY98Tgl1C^MGx3U7%=Uy{91vB`P;L6q>N*`AL$7fIc>-PJd z0$MrE9*^JohJ#w8afv7MtjshzU=EWRA^3g==QEVmDb%Ai@A~))DALsHLSm#C1%|{k zkrjeYmqo_a?*+v{ck_FiKP!!q6v>d%g6bYkWv@WBmIsx+0UZ>J7bM6EYREwc`037K z<{+!&)ue|SNVOh3ugS_dPG>IXE}xTE669NUH|GHp;2)`K2C5-bos3fOl|far9tfdK z6Ay9zEUgeuU((FvYjK#Pn)!JW+}!UU1Hrlv~DAgys^HRa-h4foDgct1=TdCf*Q%VB{aLMsln4|nXcb8_|B}( zLEhv@9_O!PyqG8!Dod>*9QhSN65m%r@#vpIH9<^jXQ>W6Pj?biPicTHXJrP4kkMd7MllyErh+UfVq~! zS}S0z{^Y4HV5 z_@R|*I=9nUv7Bb+GM`giNNU$#!4>p7f8FBbcwFxua^j(WmyB1JikqDFCq77S&<_g_ zb;J^~b!Bon>HJ#Ky?%E*K*p{b-=iMQ75d#%4!^IGltaue{r{TdkY}zm6QG{~=r2aKy7TKE}uX51xDePt0`#nZate zh6GD(z+rvP(8OXxUL;R$MU&=!8*B~ywqVV zj8vk~xUoDNl7PBh6}a|GgQP>L;rogIeXmTha&d`E{>>4t`5(K%NAEZZL2W1f&9@W$ z)haz&b;gsl8-msxP5n)#_HwAZ`P5ty^|qQ?TZ_lB0e>S@(m8nk*-zUZ=3FUwg2Q24 z<47b=L*?bcvI?2vtblix;%QajXI0~6)xkBX#g_lItU${Ow5&kO3bd?1%L=rtK+6iW ztU${Ow5&kO3bd?1%L=rtK+6iWtU${Ow5&kO3bd?1%L=rtK+6iWtU${Ow5-7Y!WH;0 D^zETD literal 0 HcmV?d00001 diff --git a/bin/Debug/mysqlfileimportexport.dll b/bin/Debug/mysqlfileimportexport.dll new file mode 100755 index 0000000000000000000000000000000000000000..0eb410f34010083bb59e7767b01c66f53b6bf45a GIT binary patch literal 12288 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 literal 0 HcmV?d00001 diff --git a/c language - Shortcut.lnk b/c language - Shortcut.lnk new file mode 100755 index 0000000000000000000000000000000000000000..6b83f62b858a9ea994ecd5ccef88791295979f33 GIT binary patch literal 1087 zcmb7DZAepL6h2b}XI~Q+NQ@krqU6=huc;U$lRKf&R%>8!iQVRPTW!;JHxz=1$im9{ z5rJ5VMOpOuCkd>?Lg)jM)gY{267;7Cv4R$4^_)AhKSlJuJm=i=^`7&d_gp6t>5N&R zM3WjN@fhWj0pG#+z^5nENu54DbAEg_wa95C?*J9F4M zde%U8XUk@XcRy4j=_vo(q z>0o4fFZ4O=z)8829un|=0@VT4+Lx7Tu&b$-Y@jt%4=RAyf!nA7v>tvoP}Vj=Z-Z|w z^o?2spJ&0&Oae94_T$7;i+`7Gb@;rG|M*gSUNV$jCF3<1$9*j56xk;$eb zpLxzXdhsgDAcz#g2r1}VCpsBMbGc)g=oR2v^sm2z<$i$c8r|(L+i?0t{@6>JbiFD} zMxf`J*Xk0$|L+Z?KfI*$*Sm2ZUOoV$JkrhrR=3PkDRlcYB2687I#ltvLOjzvl|E5^ a^}E+uyv5b~Hvgb%b~y4nZvM;8$NU7r-s{K! literal 0 HcmV?d00001 diff --git a/indexing/common_lang_constants.h b/indexing/common_lang_constants.h new file mode 100755 index 0000000..48aaaa1 --- /dev/null +++ b/indexing/common_lang_constants.h @@ -0,0 +1,185 @@ +/**@addtogroup Indexing +@brief Library for stemming words down to their root words. +@date 2003-2016 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ + +#ifndef __COMMON_LANG_CONSTANTS_H__ +#define __COMMON_LANG_CONSTANTS_H__ + +#include + +namespace common_lang_constants + { + const wchar_t TAB = 0x09; + const wchar_t SPACE = 0x20; + const wchar_t COMMA = 0x2C; + const wchar_t LESS_THAN = 60; + const wchar_t GREATER_THAN = 62; + const wchar_t POUND = 35; + const wchar_t AMPERSAND = 0x26; + const wchar_t SEMICOLON = 59; + const wchar_t APOSTROPHE = 0x27; + const wchar_t DOUBLE_QUOTE = 0x22; + const wchar_t QUESTION_MARK = 0x3F; + const wchar_t QUESTION_MARK_FULL_WIDTH = 0xFF1F; + const wchar_t PERIOD = 0x2E; + const wchar_t PERIOD_FULL_WIDTH = 0xFF0E; + const wchar_t PERIOD_HALF_WIDTH = 0xFF61; + const wchar_t EXCLAMATION_MARK = 0x21; + const wchar_t EXCLAMATION_MARK_FULL_WIDTH = 0xFF01; + const wchar_t COLON = 0x3A; + const wchar_t FORWARD_SLASH = 0x2F; + const wchar_t BACK_SLASH = 0x5C; + const wchar_t DOLLAR_SIGN = 0x24; + const wchar_t PERCENTAGE_SIGN = 0x25; + const wchar_t HYPHEN = 0x2D; + const wchar_t SOFT_HYPHEN = 0xAD; + const wchar_t LEFT_PARENTHESIS = 0x28; + const wchar_t LEFT_PARENTHESIS_FULL_WIDTH = 0xFF08; + const wchar_t RIGHT_PARENTHESIS = 0x29; + const wchar_t RIGHT_PARENTHESIS_FULL_WIDTH = 0xFF09; + const wchar_t RIGHT_BRACKET = 0x5D; + const wchar_t INTERROBANG = 0x203D; + //numbers + const wchar_t NUMBER_0 = 0x30; + const wchar_t NUMBER_1 = 0x31; + const wchar_t NUMBER_2 = 0x32; + const wchar_t NUMBER_3 = 0x33; + const wchar_t NUMBER_4 = 0x34; + const wchar_t NUMBER_5 = 0x35; + const wchar_t NUMBER_6 = 0x36; + const wchar_t NUMBER_7 = 0x37; + const wchar_t NUMBER_8 = 0x38; + const wchar_t NUMBER_9 = 0x39; + const wchar_t NUMBER_0_FULL_WIDTH = 0xFF10; + const wchar_t NUMBER_1_FULL_WIDTH = 0xFF11; + const wchar_t NUMBER_2_FULL_WIDTH = 0xFF12; + const wchar_t NUMBER_3_FULL_WIDTH = 0xFF13; + const wchar_t NUMBER_4_FULL_WIDTH = 0xFF14; + const wchar_t NUMBER_5_FULL_WIDTH = 0xFF15; + const wchar_t NUMBER_6_FULL_WIDTH = 0xFF16; + const wchar_t NUMBER_7_FULL_WIDTH = 0xFF17; + const wchar_t NUMBER_8_FULL_WIDTH = 0xFF18; + const wchar_t NUMBER_9_FULL_WIDTH = 0xFF19; + //constants for letters + const wchar_t UPPER_A = 0x41; + const wchar_t LOWER_A = 0x61; + const wchar_t UPPER_B = 0x42; + const wchar_t LOWER_B = 0x62; + const wchar_t UPPER_C = 0x43; + const wchar_t LOWER_C = 0x63; + const wchar_t UPPER_D = 0x44; + const wchar_t LOWER_D = 0x64; + const wchar_t UPPER_E = 0x45; + const wchar_t LOWER_E = 0x65; + const wchar_t UPPER_F = 0x46; + const wchar_t LOWER_F = 0x66; + const wchar_t UPPER_G = 0x47; + const wchar_t LOWER_G = 0x67; + const wchar_t UPPER_H = 0x48; + const wchar_t LOWER_H = 0x68; + const wchar_t UPPER_I = 0x49; + const wchar_t LOWER_I = 0x69; + const wchar_t UPPER_J = 0x4A; + const wchar_t LOWER_J = 0x6A; + const wchar_t UPPER_K = 0x4B; + const wchar_t LOWER_K = 0x6B; + const wchar_t UPPER_L = 0x4C; + const wchar_t LOWER_L = 0x6C; + const wchar_t UPPER_M = 0x4D; + const wchar_t LOWER_M = 0x6D; + const wchar_t UPPER_N = 0x4E; + const wchar_t LOWER_N = 0x6E; + const wchar_t UPPER_O = 0x4F; + const wchar_t LOWER_O = 0x6F; + const wchar_t UPPER_P = 0x50; + const wchar_t LOWER_P = 0x70; + const wchar_t UPPER_Q = 0x51; + const wchar_t LOWER_Q = 0x71; + const wchar_t UPPER_R = 0x52; + const wchar_t LOWER_R = 0x72; + const wchar_t UPPER_S = 0x53; + const wchar_t LOWER_S = 0x73; + const wchar_t UPPER_T = 0x54; + const wchar_t LOWER_T = 0x74; + const wchar_t UPPER_U = 0x55; + const wchar_t LOWER_U = 0x75; + const wchar_t UPPER_V = 0x56; + const wchar_t LOWER_V = 0x76; + const wchar_t UPPER_W = 0x57; + const wchar_t LOWER_W = 0x77; + const wchar_t UPPER_X = 0x58; + const wchar_t LOWER_X = 0x78; + const wchar_t UPPER_Y = 0x59; + const wchar_t LOWER_Y = 0x79; + const wchar_t UPPER_Z = 0x5A; + const wchar_t LOWER_Z = 0x7A; + + const wchar_t UPPER_A_ACUTE = 0xC1; + const wchar_t LOWER_A_ACUTE = 0xE1; + const wchar_t UPPER_E_ACUTE = 0xC9; + const wchar_t LOWER_E_ACUTE = 0xE9; + const wchar_t UPPER_I_ACUTE = 0xCD; + const wchar_t LOWER_I_ACUTE = 0xED; + const wchar_t UPPER_O_ACUTE = 0xD3; + const wchar_t LOWER_O_ACUTE = 0xF3; + const wchar_t LOWER_U_ACUTE = 0xFA; + const wchar_t UPPER_U_ACUTE = 0xDA; + const wchar_t UPPER_A_CIRCUMFLEX = 0xC2; + const wchar_t LOWER_A_CIRCUMFLEX = 0xE2; + const wchar_t UPPER_E_CIRCUMFLEX = 0xCA; + const wchar_t LOWER_E_CIRCUMFLEX = 0xEA; + const wchar_t UPPER_I_CIRCUMFLEX = 0xCE; + const wchar_t LOWER_I_CIRCUMFLEX = 0xEE; + const wchar_t UPPER_A_TILDE = 0xC3; + const wchar_t LOWER_A_TILDE = 0xE3; + const wchar_t UPPER_O_TILDE = 0xD5; + const wchar_t LOWER_O_TILDE = 0xF5; + const wchar_t UPPER_N_TILDE = 0xD1; + const wchar_t LOWER_N_TILDE = 0xF1; + const wchar_t UPPER_O_STROKE = 0xD8; + const wchar_t LOWER_O_STROKE = 0xF8; + const wchar_t UPPER_C_CEDILLA = 0xC7; + const wchar_t LOWER_C_CEDILLA = 0xE7; + const wchar_t UPPER_A_UMLAUTS = 0xC4; + const wchar_t LOWER_A_UMLAUTS = 0xE4; + const wchar_t UPPER_O_UMLAUTS = 0xD6; + const wchar_t LOWER_O_UMLAUTS = 0xF6; + const wchar_t UPPER_E_UMLAUTS = 0xCB; + const wchar_t LOWER_E_UMLAUTS = 0xEB; + const wchar_t UPPER_I_UMLAUTS = 0xCF; + const wchar_t LOWER_I_UMLAUTS = 0xEF; + const wchar_t UPPER_ETH = 0xD0; + const wchar_t LOWER_ETH = 0xF0; + const wchar_t UPPER_U_UMLAUTS = 0xDC; + const wchar_t LOWER_U_UMLAUTS = 0xFC; + const wchar_t TILDE = 0x7E; + const wchar_t UPPER_A_GRAVE = 0xC0; + const wchar_t LOWER_A_GRAVE = 0xE0; + const wchar_t UPPER_E_GRAVE = 0xC8; + const wchar_t LOWER_E_GRAVE = 0xE8; + const wchar_t UPPER_I_GRAVE = 0xCC; + const wchar_t LOWER_I_GRAVE = 0xEC; + const wchar_t UPPER_O_GRAVE = 0xD2; + const wchar_t LOWER_O_GRAVE = 0xF2; + const wchar_t UPPER_Y_ACUTE = 0xDD; + const wchar_t LOWER_Y_ACUTE = 0xFD; + const wchar_t ESZETT = 0xDF; //a.k.a. "sharp s" + const wchar_t Y_UMLAUT = 0xFF; + const wchar_t ELLIPSE = 0x2026; + const wchar_t COMPOUND_WORD_SEPARATORS[5] = { HYPHEN, SOFT_HYPHEN, FORWARD_SLASH, BACK_SLASH, 0 }; + const wchar_t NUMBERS_AND_DOT[22] = { + NUMBER_0, NUMBER_1, NUMBER_2, NUMBER_3, NUMBER_4, + NUMBER_5, NUMBER_6, NUMBER_7, NUMBER_8, NUMBER_9, + NUMBER_0_FULL_WIDTH, NUMBER_1_FULL_WIDTH, NUMBER_2_FULL_WIDTH, NUMBER_3_FULL_WIDTH, NUMBER_4_FULL_WIDTH, + NUMBER_5_FULL_WIDTH, NUMBER_6_FULL_WIDTH, NUMBER_7_FULL_WIDTH, NUMBER_8_FULL_WIDTH, NUMBER_9_FULL_WIDTH, + PERIOD, 0 }; + } + +/** @}*/ + +#endif //__COMMON_LANG_CONSTANTS_H__ diff --git a/indexing/string_util.h b/indexing/string_util.h new file mode 100755 index 0000000..71afc45 --- /dev/null +++ b/indexing/string_util.h @@ -0,0 +1,1235 @@ +/** +\date 2003-2015 +\copyright Oleander Software, Ltd. +\author Oleander Software, Ltd. +\details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +*/ + +#ifndef __STRING_UTIL_H__ +#define __STRING_UTIL_H__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "common_lang_constants.h" +#include "../utilities/safe_math.h" +#include "../utilities/utilities.h" +#include "../utilities/debug_logic.h" + +namespace string_util + { + ///lowercases any Western European alphabetic characters + inline wchar_t tolower_western(const wchar_t c) + { + return ((c >= L'A') && (c <= L'Z')) || + ((c >= 0xC0) && (c <= 0xD6)) || + ((c >= 0xD8) && (c <= 0xDE)) + ? (c + 32) : c; + } + + ///ANSI C decorators + ///strtol + inline double strtol(const char* str, char** strend, int radix) + { return std::strtol(str, strend, radix); } + inline double strtol(const wchar_t* str, wchar_t** strend, int radix) + { return std::wcstol(str, strend, radix); } + ///strtod + inline double strtod(const char* str, char** strend) + { return std::strtod(str, strend); } + inline double strtod(const wchar_t* str, wchar_t** strend) + { return std::wcstod(str, strend); } + ///atoi + inline int atoi(const char* str) + { + if (str == NULL) + { return 0; } + return std::atoi(str); + } + inline int atoi(const wchar_t* str) + { + if (str == NULL) + { return 0; } + wchar_t* dummy = NULL; + return static_cast(std::wcstol(str, &dummy, 10)); + } + ///atol + inline long atol(const char* str) + { + if (str == NULL) + { return 0; } + return std::atol(str); + } + inline long atol(const wchar_t* str) + { + if (str == NULL) + { return 0; } + wchar_t* dummy = NULL; + return std::wcstol(str, &dummy, 10); + } + ///tolower + inline int tolower(char c) + { + return std::tolower(static_cast(c)); + } + inline wchar_t tolower(wchar_t c) + { + return std::towlower(c); + } + ///toupper + inline int toupper(char c) + { + return std::toupper(static_cast(c)); + } + inline wchar_t toupper(wchar_t c) + { + return std::towupper(c); + } + ///memset + template + inline T* memset(T* dest, int c, size_t count) + { + return static_cast(std::memset(dest, c, count)); + } + //partial specialized versions of memset + inline char* memset(char* dest, int c, size_t count) + { + return static_cast(std::memset(dest, c, count)); + } + inline wchar_t* memset(wchar_t* dest, int c, size_t count) + { + return std::wmemset(dest, static_cast(c), count); + } + ///strchr + inline const char* strchr(const char* s, int ch) + { + return std::strchr(s, ch); + } + inline const wchar_t* strchr(const wchar_t* s, wchar_t ch) + { + return std::wcschr(s, ch); + } + ///strstr + inline const char* strstr(const char* s1, const char* s2) + { + return std::strstr(s1, s2); + } + inline const wchar_t* strstr(const wchar_t* s1, const wchar_t* s2) + { + return std::wcsstr(s1, s2); + } + ///strcspn + inline size_t strcspn(const char* string1,const char* string2) + { + return std::strcspn(string1, string2); + } + inline size_t strcspn(const wchar_t* string1,const wchar_t* string2) + { + return std::wcscspn(string1, string2); + } + ///strncat + inline char* strncat(char* strDest, const char* strSource, size_t count) + { + return std::strncat(strDest, strSource, count); + } + inline wchar_t* strncat(wchar_t* strDest, const wchar_t* strSource, size_t count) + { + return std::wcsncat(strDest, strSource, count); + } + ///wctomb + inline int wctomb(wchar_t* s, wchar_t wc) + { + s[0] = wc; + return -1; + } + inline int wctomb(char* s, wchar_t wc) + { + return std::wctomb(s, wc); + } + //strlen + inline size_t strlen(const char* text) { return std::strlen(text); } + inline size_t strlen(const wchar_t* text) + { return std::wcslen(text); } + ///strcmp + inline int strcmp(const char* string1, const char* string2) + { + return std::strcmp(string1, string2); + } + inline int strcmp(const wchar_t* string1, const wchar_t* string2) + { + return std::wcscmp(string1, string2); + } + ///strncmp + inline int strncmp(const char* string1, const char* string2, size_t count) + { + return std::strncmp(string1, string2, count); + } + inline int strncmp(const wchar_t* string1, const wchar_t* string2, size_t count) + { + return std::wcsncmp(string1, string2, count); + } + ///strncpy + inline char* strncpy(char* strDest, const char* strSource, size_t count) + { + return std::strncpy(strDest, strSource, count); + } + inline wchar_t* strncpy(wchar_t* strDest, const wchar_t* strSource, size_t count) + { + return std::wcsncpy(strDest, strSource, count); + } + + ///functions not available in ANSI C + /*Converts an integer value into a string. + @param value The integer to convert. + @param out The character buffer to write the integer as a string into. This can be either a char* or wchar_t* buffer. + @param length The length of the output buffer (in character count). + @returns 0 on success, -1 on failure. Will fail if the buffer is either invalid + or not large enough to hold the converted value.*/ + template + inline int itoa(long value, charT* out, const size_t length) + { + if (length == 0 || out == NULL) + { return -1; } + //space for a negative sign if we need it + const size_t signPos = value < 0 ? 1 : 0; + size_t i = 0; + if (value == 0) + { out[i++] = 0x30/*zero*/; } + else if (value < 0) + { + out[i++] = 0x2D/*minus sign*/; + value = -value; + } + while (value > 0 && i+1 < length) + { + out[i++] = 0x30 + value%10; + value /= 10; + } + /*Not enough space in the buffer or NULL terminator? Clear out the data that we copied + into it and return failure.*/ + if (i+1 == length && value > 0) + { + std::memset(out,0, length*sizeof(charT)); + return -1; + } + out[i] = 0; + std::reverse(out+signPos, out+i); + return 0; + } + + /**Determines whether a character is a space, tab, or newline. Also includes double-width and no break spaces. + @param ch The letter to be analyzed.*/ + template + inline bool is_space(const T ch) + { + return (ch == 0x20) ? + true : (ch == 0x0D) ? + true : (ch == 0x0A) ? + true : (ch == 0x09) ? + true : (ch == 0xA0/*no break space*/) ? + true : (ch == 0x3000/*Japanese Ideographic Space*/) ? + true : (ch == 0x200B/*Zero-width space*/) ? + true : false; + } + + /**Determines whether a character is a hexademical digit (0-9,A-F,a-f). + @param ch The letter to be analyzed.*/ + template + inline bool is_hex_digit(const T ch) + { + return (iswdigit(wchar_t(ch)) || + ((ch >= 0x61/*'a'*/ && ch <= 0x66/*'f'*/) || + (ch >= 0x41/*'A'*/ && ch <= 0x46/*'F'*/)) ); + } + + /**Converts string in hex format to int. Default figures out how much of the string + is a valid hex string, but passing a value to the second parameter overrides this + and allows you to indicate how much of the string to try to convert. + @param hexStr The string to convert. + @length How much of the string to analyze. The value -1 (the default) will tell the function + to read until there are no more valid hexadecimal digits. + @returns The value of the string as an integer.*/ + template + inline int axtoi(const T* hexStr, size_t length = -1) + { + if (hexStr == NULL || *hexStr == 0 || length == 0) + { return 0; } + //skip leading 0x + if (hexStr[0] == 0x30/*0*/ && + length != 1 && + is_either(hexStr[1], 0x78/*x*/, 0x58/*X*/)) + { + hexStr += 2; + //if they specified a length to read then take into account the 0x that we just skipped over + if (length != static_cast(-1) && length >= 2) + { + length -= 2; + if (length == 0)//just a 0x string, then we're done + { return 0; } + } + } + if (length == static_cast(-1)) + { + const T* currentPos = hexStr; + do + { + if (currentPos[0] == 0 || !string_util::is_hex_digit(currentPos[0])) + { break; } + } + while (currentPos++); + + length = currentPos-hexStr; + //if no valid hex digits then fail and return zero + if (length == 0) + { return 0; } + } + size_t strPos = 0; + int intValue = 0; + //storage for converted values + int* digits = new int[length+1]; std::auto_ptr digitsDeleter(digits); + std::memset(digits, 0, sizeof(int)*(length+1)); + while (strPos < length) + { + if (hexStr[strPos] == 0) + break; + //0-9 + if (is_within(hexStr[strPos], common_lang_constants::NUMBER_0, common_lang_constants::NUMBER_9) ) + digits[strPos] = (hexStr[strPos]&0x0F); + //A-F + else if (is_within(hexStr[strPos], common_lang_constants::LOWER_A, common_lang_constants::LOWER_F) || + is_within(hexStr[strPos], common_lang_constants::UPPER_A, common_lang_constants::UPPER_F) ) + digits[strPos] = (hexStr[strPos]&0x0F)+9; + else + { break; } + ++strPos; + } + const size_t count = strPos; + size_t digitPos = strPos - 1; + strPos = 0; + while (strPos < count) + { + //shift OR the bits into return value. + intValue = intValue | (digits[strPos] << (digitPos << 2)); + --digitPos; + ++strPos; + } + + return intValue; + } + + /**@returns The number of characters in the string pointed to by str, not including the + terminating '\0' character, but at most maxlen. In doing this, strnlen looks only at + the first maxlen characters at str and never beyond str+maxlen. This function should be used + for input that may not be NULL terminated. + @param str The string to review. + @param maxlen The maximum length of the string to scan. + @returns The valid length of the string or maxlen, whichever is shorter.*/ + template + inline size_t strnlen(const T* str, const size_t maxlen) + { + if (!str || maxlen == 0) + { return 0; } + size_t i; + for (i = 0; i < maxlen && str[i]; ++i); + return i; + } + + ///search for substring in string (case-insensitive) + template + inline const T* stristr(const T* string, const T* strSearch) + { + if (!string || !strSearch || *strSearch == 0) + { return NULL; } + while (*string) + { + //compare the characters one at a time + size_t i = 0; + for (i = 0; strSearch[i] != 0; ++i) + { + if (string[i] == 0) + { return NULL; } + if (string_util::tolower(strSearch[i]) != string_util::tolower(string[i]) ) + { + ++string; + break; + } + } + //if the substring loop completed then the substring was found + if (strSearch[i] == 0) + { return string; } + } + return NULL; + } + + /**Searches for substring in a larger string (case-insensitively), limiting the search + to a specified number of characters.*/ + template + inline const T* strnistr(const T* string, const T* strSearch, const size_t string_len) + { + if (!string || !strSearch || string_len == 0 || *strSearch == 0) + { return NULL; } + for (size_t i = 0; i < string_len; ++i) + { + //compare the characters one at a time + size_t j = 0; + for (j = 0; strSearch[j] != 0; ++j) + { + if ((i+j) >= string_len || string[i+j] == 0) + { return NULL; } + if (string_util::tolower(strSearch[j]) != string_util::tolower(string[i+j]) ) + { break; } + } + //if the substring loop completed then the substring was found + if (strSearch[j] == 0) + { return (string+i); } + } + return NULL; + } + + /**Search string in reverse for substring. + "offset" is how far we are in the source string already and how far + to go back.*/ + template + inline const T* strrstr(const T* string, + const T* search, + size_t offset) + { + if (!string || !search) + { return NULL; } + const size_t len = string_util::strlen(search); + if (len > offset) return NULL; + string -= len; + offset -= len; + bool fnd = false; + while (!fnd && offset > 0) + { + fnd = true; + for (size_t i=0; i < len; ++i) + { + if (string[i] != search[i]) + { + fnd = false; + break; + } + } + if (fnd) return string; + --string; + --offset; + } + return NULL; + } + + ///Case-insensitive comparison by character count. + template + inline int strnicmp(const T* first, const T* last, size_t count) + { + //first check if either of the strings are NULL + if (!first && !last) + { return 0; } + else if (!first && last) + { return -1; } + else if (first && !last) + { return 1; } + + int f,l; + int result = 0; + + if (count) + { + do + { + f = string_util::tolower(*(first++) ); + l = string_util::tolower(*(last++) ); + } while ( (--count) && f && (f == l) ); + result = static_cast(f - l); + } + return result; + } + + ///Case-insensitive comparison. + template + inline int stricmp(const T* first, const T* last) + { + //first check if either of the strings are NULL + if (!first && !last) + { return 0; } + else if (!first && last) + { return -1; } + else if (first && !last) + { return 1; } + + int f,l; + do + { + f = string_util::tolower(*(first++) ); + l = string_util::tolower(*(last++) ); + } while (f && (f == l) ); + + return static_cast(f - l); + } + + /**Natural order comparison functions. + Compare, recognizing numeric strings.*/ + template + inline int strnatordcmp(const T* first_string, const T* second_string, bool case_insensitive = false) + { + //first check if either of the strings are NULL + if (!first_string && !second_string) + { return 0; } + else if (!first_string && second_string) + { return -1; } + else if (first_string && !second_string) + { return 1; } + + size_t first_string_index = 0, second_string_index = 0; + T ch1, ch2; + + while (true) + { + ch1 = first_string[first_string_index]; + ch2 = second_string[second_string_index]; + + //skip leading spaces + while (is_space(ch1)) + { ch1 = first_string[++first_string_index]; } + + while (is_space(ch2)) + { ch2 = second_string[++second_string_index]; } + + //process run of digits + if (iswdigit(ch1) && iswdigit(ch2)) + { + T *firstEnd, *secondEnd; + double firstDouble = string_util::strtod(first_string+first_string_index, &firstEnd); + double secondDouble = string_util::strtod(second_string+second_string_index, &secondEnd); + + if (firstDouble < secondDouble) + { return -1; } + else if (firstDouble > secondDouble) + { return 1; } + else //numbers are equal + { + //if this was the end of both strings then they are equal + if (*firstEnd == 0 && *secondEnd == 0) + { return 0; } + /*the first string is done, but there is more to the second string + after the number, so first is smaller*/ + else if (*firstEnd == 0) + { return -1; } + /*the second string is done, but there is more to the first string + after the number, so first is bigger*/ + else if (*secondEnd == 0) + { return 1; } + //there is more to both of them, so move the counter and move on + else + { + first_string_index = (firstEnd - first_string); + second_string_index = (secondEnd - second_string); + continue; + } + } + } + + //if we are at the end of the strings then they are the same + if (ch1 == 0 && ch2 == 0) + { return 0; } + + if (case_insensitive) + { + ch1 = string_util::tolower(ch1); + ch2 = string_util::tolower(ch2); + } + + if (ch1 < ch2) + { return -1; } + else if (ch1 > ch2) + { return 1; } + + ++first_string_index; + ++second_string_index; + } + } + + ///Compare, recognizing numeric strings and ignoring case. + template + inline int strnatordncasecmp(const T* a, const T* b) + { + return strnatordcmp(a, b, true); + } + + ///Indicates whether a larger strings ends with the specified suffix. Lengths are provided + ///by the caller for efficiency. This function is case sensitive. + template + inline bool has_suffix(const T* text, const size_t text_length, const T* suffix, const size_t suffix_length) + { + if (text == NULL || suffix == NULL || text_length <= suffix_length) + { return false; } + return (string_util::strnicmp(text+(text_length-suffix_length), suffix, suffix_length) == 0); + } + + /**Searches for a matching tag, skipping an extra open/close pairs of symbols in between. + @param openSymbol The opening symbol. + @param closeSymbol The closing symbol that we are looking for. + @param fail_on_overlapping_open_symbol Whether it should immediately return failure if an open + symbol is found before a matching close symbol. + @returns A pointer to where the closing tag is, or NULL if one can't be found.*/ + template + inline const T* find_matching_close_tag(const T* string, const T openSymbol, const T closeSymbol, + const bool fail_on_overlapping_open_symbol = false) + { + if (!string) + { return NULL; } + long open_stack = 0; + while (*string) + { + if (string[0] == openSymbol) + { + if (fail_on_overlapping_open_symbol) + { return NULL; } + ++open_stack; + } + else if (string[0] == closeSymbol) + { + if (open_stack == 0) + { return string; } + --open_stack; + } + ++string; + } + return NULL; + } + + ///Searches for a matching tag, skipping an extra open/close pairs of symbols in between. + template + inline const T* find_matching_close_tag(const T* string, const T* openSymbol, + const T* closeSymbol) + { + if (!string || !openSymbol || !closeSymbol) + { return NULL; } + const size_t openSymbolLength = string_util::strlen(openSymbol); + const size_t closeSymbolLength = string_util::strlen(closeSymbol); + if (openSymbolLength == 0 || closeSymbolLength == 0) + { return NULL; } + long open_stack = 0; + const T openSymbolFirstCharacter = openSymbol[0]; + const T closeSymbolFirstCharacter = closeSymbol[0]; + while (*string) + { + //to prevent unnecessary calls to strncmp, we check the current character first + if (string[0] == openSymbolFirstCharacter && + string_util::strncmp(string,openSymbol,openSymbolLength) == 0) + { + ++open_stack; + string += openSymbolLength; + continue; + } + else if (string[0] == closeSymbolFirstCharacter && + string_util::strncmp(string,closeSymbol,closeSymbolLength) == 0) + { + if (open_stack == 0) + { return string; } + --open_stack; + } + ++string; + } + return NULL; + } + + /**Searches for a single character in a string for n number of characters. + Size argument should be less than or equal to the length of the string being searched. + @param string The string to search in. + @param ch The character to search for. + @param numberOfCharacters The number of characters to search through in the string. + @returns A pointer in the string where the character was found, or NULL if not found.*/ + template + inline const T* strnchr(const T* string, const T ch, size_t numberOfCharacters) + { + if (!string) + { return NULL; } + size_t i = 0; + for (i = 0; i < numberOfCharacters; ++i) + { + /*if string being searched is shorter + than the size argument then return failure (NULL).*/ + if (string[i] == 0) + { + NON_UNIT_TEST_ASSERT(0 && "strnchr: string shorter than size parameter."); + return NULL; + } + if (string[i] == ch) + { return string+i; } + } + return NULL; + } + + /**Searches for a single character from a sequence in a string and + return a pointer if found.*/ + template + inline const T* strcspn_pointer(const T* string1, const T* string2, const size_t string2Length) + { + if (!string1 || !string2 || string2Length == 0) + { return NULL; } + assert((string_util::strlen(string2) == string2Length) && "Invalid length passed to strcspn_pointer()."); + size_t i = 0; + while (string1) + { + if (string1[0] == 0) + { return NULL; } + for (i = 0; i < string2Length; ++i) + { + if (string1[0] == string2[i]) + { return string1; } + } + ++string1; + } + return NULL; + } + + /**Searches for a single character from a sequence in a string for n number of characters. + @param stringToSearch The string to search. + @param stringToSearchLength The length of the string being searched. + @param searchString The sequence of characters to search for. + @param searchStringLength The length of the sequence string. + @returns The index into the string that the character was found. Returns the length of the string if not found.*/ + template + inline size_t strncspn(const T* stringToSearch, const size_t stringToSearchLength, + const T* searchString, const size_t searchStringLength) + { + if (!stringToSearch || !searchString || stringToSearchLength == 0 || searchStringLength == 0) + { return stringToSearchLength; } + assert((string_util::strlen(searchString) == searchStringLength) && "Invalid length passed to strncspn()."); + size_t i = 0, j = 0; + for (i = 0; i < stringToSearchLength; ++i) + { + /*If string being searched is shorter than the size argument then fail. + Note that we should pass back the length of the string that the caller passed in + so that they know that it failed, not the actual position that we stopped on which would + be a NULL termintor.*/ + if (stringToSearch[i] == 0) + { + NON_UNIT_TEST_ASSERT(0 && "strncspn: string shorter than size parameter."); + return stringToSearchLength; + } + for (j = 0; j < searchStringLength; ++j) + { + if (stringToSearch[i] == searchString[j]) + { return i; } + } + } + return i; + } + + /**Searches for a single character not from a sequence in a string in reverse. + @param string The string to search in. + @param search The sequence of characters to skip. + @param offset Where to begin the search. If -1, then the reverse search will begin at the end of the string. + @returns The position of where the last non-matching character is at, or -1 if it can't be found.*/ + template + inline size_t find_last_not_of(const T* string, const T* search, + size_t offset = std::basic_string::npos) + { + if (!string || !search) + { return std::basic_string::npos; } + if (offset == std::basic_string::npos) + { offset = string_util::strlen(string)-1; } + + size_t i=0; + while (offset != std::basic_string::npos) + { + for (i = 0; search[i] != 0; ++i) + { + if (string[offset] == search[i]) + { break; } + } + //If the whole search string wasn't scanned, then there was a match. Move on. + if (search[i] != 0) + { + if (offset == 0) + { return std::basic_string::npos; } + --offset; + } + else + { return offset; } + } + return std::basic_string::npos; + } + + /**Searches for the last instance of a character in a string in reverse. + @param string The string to search. + @param ch The character to search for. + @param offset The offset in the string to begin the search from. The default (-1) will begin the search at the end of the string. + @returns The offset of the found character, or -1 if not found.*/ + template + inline size_t find_last_of(const T* string, + const T ch, + size_t offset = -1) + { + if (!string) + { return static_cast(-1); } + if (offset == static_cast(-1)) + { offset = string_util::strlen(string)-1; } + + while (offset != static_cast(-1)) + { + if (string[offset] == ch) + { return offset; } + --offset; + } + return static_cast(-1); + } + + /*Searches for the first occurrence that is not a character from a sequence in + a string for n number of characters and returns zero-based index if found. + @param stringToSearch The string to search. + @param stringToSearchLength The length of the string being searched. + @param searchString The sequence of characters to perform a reverse match with. + @param searchStringLength The length of the search character sequence. + @returns The index into the string that the character was not found, or + the length of the string if nothing was found that couldn't match the search string.*/ + template + inline size_t find_first_not_of(const T* stringToSearch, const size_t stringToSearchLength, + const T* searchString, const size_t searchStringLength) + { + if (!stringToSearch || !searchString || stringToSearchLength == 0 || searchStringLength == 0) + { return stringToSearchLength; } + NON_UNIT_TEST_ASSERT((string_util::strlen(searchString) == searchStringLength) && "Invalid length passed to find_first_not_of()."); + size_t i = 0, j = 0; + for (i = 0; i < stringToSearchLength; ++i) + { + /*If string being searched is shorter + than the size argument then return string length to indicate failure to find anything. + Although this isn't really the index that we stopped in, this will tell the caller that + the search failed.*/ + if (stringToSearch[i] == 0) + { + NON_UNIT_TEST_ASSERT(0 && "find_first_not_of: string shorter than size parameter."); + return stringToSearchLength; + } + for (j = 0; j < searchStringLength; ++j) + { + //stop if a character matching anything in the sequence + if (stringToSearch[i] == searchString[j]) + { break; } + } + //if we went through the whole sequence then nothing matched + if (j == searchStringLength) + { return i; } + } + return i; + } + + //utility classes + //equal functors + template + class equal_string_i_compare + : public std::binary_function + { + public: + inline bool operator()(const T* a_, const T* b_) const + { + return (string_util::stricmp(a_, b_) == 0); + } + }; + + template + class equal_basic_string_i_compare + : public std::binary_function + { + public: + inline bool operator()(const T& a_, const T& b_) const + { + return (string_util::stricmp(a_.c_str(), b_.c_str()) == 0); + } + }; + + template + class equal_string_compare + : public std::binary_function + { + public: + inline bool operator()(const T* a_, const T* b_) const + { + return (string_util::strcmp(a_, b_) == 0); + } + }; + + //less functors + template + class less_string_n_compare + : public std::binary_function + { + public: + less_string_n_compare(size_t comparison_size) : m_comparison_size(comparison_size) {} + inline bool operator()(const T* a_, const T* b_) const + { + return (string_util::strncmp(a_, b_, m_comparison_size) < 0); + } + private: + size_t m_comparison_size; + }; + + template + class less_string_ni_compare + : public std::binary_function + { + public: + less_string_ni_compare(size_t comparison_size) : m_comparison_size(comparison_size) {} + inline bool operator()(const T* a_, const T* b_) const + { + return (string_util::strnicmp(a_, b_, m_comparison_size) < 0); + } + private: + size_t m_comparison_size; + }; + + template + class less_string_i_compare + : public std::binary_function + { + public: + inline bool operator()(const T* a_, const T* b_) const + { + return (string_util::stricmp(a_, b_) < 0); + } + }; + + template + class less_string_compare + : public std::binary_function + { + public: + inline bool operator()(const T* a_, const T* b_) const + { + return (string_util::strcmp(a_, b_) < 0); + } + }; + + template + class less_basic_string_compare + : public std::binary_function + { + public: + inline bool operator()(const T& a_, const T& b_) const + { + return (string_util::strcmp(a_.c_str(), b_.c_str()) < 0); + } + }; + + template + class less_string_natural_order_i_compare + : public std::binary_function + { + public: + inline bool operator()(const T* a_, const T* b_) const + { + return (string_util::strnatordncasecmp(a_, b_) < 0); + } + }; + + ///trims whitespace from around a string + template + class string_trim + { + public: + const char_typeT* operator()(const char_typeT* value, + size_t length = std::basic_string::npos) + { + m_trimmed_string_length = 0; + if (value == NULL) + { return NULL; } + if (length == 0) + { return value; } + if (length == std::basic_string::npos) + { length = string_util::strlen(value); } + const char_typeT* start = value; + //end is last valid character in the string, not the one after it + const char_typeT* end = value+(length-1); + while (start && (start <= end)) + { + if (is_space(start[0])) + { ++start; } + else + { break; } + } + while (end > start) + { + if (is_space(end[0])) + { --end; } + else + { break; } + } + //if start overran end then this string was all spaces. + m_trimmed_string_length = (start > end) ? 0 : (end-start)+1; + return start; + } + size_t get_trimmed_string_length() const + { return m_trimmed_string_length; } + private: + size_t m_trimmed_string_length; + }; + + /** \addtogroup StringOperations + * Classes for string operations. + * @{*/ + /** + @class string_tokenize + @brief Tokenizes a string using a set of delimiters. + @date 2010 + */ + /** @} */ + template + class string_tokenize + { + public: + ///Constructor which takes the string to parse and the delimiters to use. + ///@param val The string to parse. + ///@param delim The set of delimiters to separate the string. + string_tokenize(const T& val, const T& delim) : + m_value(val), m_start(NULL), m_next_delim(NULL), m_delim(delim), m_has_more_tokens(true) + { + m_start = m_value.c_str(); + m_next_delim = string_util::strcspn_pointer(m_start, m_delim.c_str(), m_delim.length()); + } + ///@returns Whether or not there are more tokens in the string. + inline bool has_more_tokens() const + { return m_has_more_tokens; } + ///@returns Whether or not there are more delimiters in the string. + ///This is useful for seeing if there are any delimiters at all when first loading the string. + inline bool has_more_delimiters() const + { return (m_next_delim != NULL); } + ///@returns The next token from the original string as a string object + ///Note that empty tokens can be returned if there is proceeding or trailing + ///delimiters in the string, or if there are repeated delimiters next to each other. + inline T get_next_token() + { + if (m_next_delim) + { + const wchar_t* current_start = m_start; + const wchar_t* current_next_delim = m_next_delim; + //move the pointers to the next token + m_start = ++m_next_delim; + m_next_delim = string_util::strcspn_pointer(m_start, m_delim.c_str(), m_delim.length()); + return T(current_start, current_next_delim-current_start); + } + //no more delims means that we are on the last token + else if (m_start) + { + m_has_more_tokens = false; + const wchar_t* current_start = m_start; + m_start = NULL; + return T(current_start); + } + //if called when there are no more tokens, then return an empty string + else + { + m_has_more_tokens = false; + return T(); + } + } + private: + string_tokenize() {} + string_tokenize(const string_tokenize&) {} + + T m_value; + const wchar_t* m_start; + const wchar_t* m_next_delim; + T m_delim; + bool m_has_more_tokens; + }; + + ///Removes all whitespace from a string + template + inline T remove_all_whitespace(const T& text) + { + T tempText = text; + for (typename T::size_type i = 0; i < tempText.length(); /*in loop*/) + { + if (tempText[i] == 10 || tempText[i] == 13 || tempText[i] == 9) + { tempText.erase(i,1); } + else + { ++i; } + } + return tempText; + } + + ///Removes all instances of a character from a string. + template + inline void remove_all(T& text, Tchar_type char_to_replace) + { + size_t start = 0; + while (start != T::npos) + { + start = text.find(char_to_replace, start); + if (start == T::npos) + { return; } + text.erase(start,1); + } + } + + ///helper functions for stemmers + template + inline void replace_all(T& text, Tchar_type text_to_replace, Tchar_type replacement_text) + { + size_t start = 0; + while (start != T::npos) + { + start = text.find(text_to_replace, start); + if (start == T::npos) + { + return; + } + text[start++] = replacement_text; + } + } + + template + inline void replace_all(T& text, const Tchar_type* text_to_replace, const Tchar_type* replacement_text) + { + size_t start = 0; + const size_t textToReplaceLength = string_util::strlen(text_to_replace); + while (start != T::npos) + { + start = text.find(text_to_replace, start); + if (start == T::npos) + { + return; + } + text.replace(start, textToReplaceLength, replacement_text); + } + } + + template + inline void replace_all(T& text, const T& text_to_replace, const T& replacement_text) + { + size_t start = 0; + while (start != T::npos) + { + start = text.find(text_to_replace, start); + if (start == T::npos) + { + return; + } + text.replace(start, text_to_replace.length(), replacement_text); + } + } + + /**Strips extraneous spaces/tabs/carriage returns from a block of text so + that there isn't more than one space consecutively.*/ + template + size_t remove_extra_spaces(string_typeT& Text) + { + size_t numberOfSpacesRemoved = 0; + + if (!Text.length() ) + { return 0; } + bool alreadyHasSpace = true; + //make sure that there is only a space between each word + for (unsigned int i = 0; i < Text.length(); ++i) + { + //if this is the first space found after the current + //word then it's OK--just leave it + if (is_space(static_cast(Text[i])) && !alreadyHasSpace) + { alreadyHasSpace = true; } + //this is extra space right after another--get rid of it + else if (is_space(static_cast(Text[i])) && alreadyHasSpace) + { + //make sure it isn't a Windows \r\n + if (i && !(Text[i-1] == 13 && Text[i] == 10)) + { + ++numberOfSpacesRemoved; + Text.erase(i--,1); + } + } + //we are starting another word--reset + else if (!is_space(static_cast(Text[i]))) + { alreadyHasSpace = false; } + } + + return numberOfSpacesRemoved; + } + + /**Removes blank lines from a block of text + @param Text The text to have blank lines removed from. + @return Number of characters (not lines) removed from the block.*/ + template + size_t remove_blank_lines(string_typeT& Text) + { + size_t numberOfLinesRemoved = 0; + + if (!Text.length() ) + { return 0; } + bool alreadyHasNewLine = true; + //make sure that there is only a space between each word + for (unsigned int i = 0; i < Text.length(); ++i) + { + //if this is the first space found after the current + //word then it's OK--just leave it + if (is_either(static_cast(Text[i]), 10, 13) && !alreadyHasNewLine) + { alreadyHasNewLine = true; } + //this is extra space right after another--get rid of it + else if (is_either(static_cast(Text[i]), 10, 13) && alreadyHasNewLine) + { + //make sure it isn't a Windows \r\n + if (i && !(Text[i-1] == 13 && Text[i] == 10)) + { + ++numberOfLinesRemoved; + Text.erase(i--,1); + } + } + //we are starting another word--reset + else if (!is_either(static_cast(Text[i]), 10, 13)) + { alreadyHasNewLine = false; } + } + + return numberOfLinesRemoved; + } + + /**Converts strings to double values, but also takes into account ranges (returning the average). For example, a string + like "5-8" will return 6.5. Hyphens and colons are seen as range separators.*/ + template + inline double strtod_ex(const Tchar_type* nptr, Tchar_type** endptr) + { + if (nptr == NULL) + { + *endptr = NULL; + return 0.0f; + } + wchar_t sepStr[3] = { 0x2D, 0x3A, 0 }; + const Tchar_type* separator = string_util::strcspn_pointer(nptr, sepStr, 2); + //if there is no hyphen or there is one but it is at the end then just call strtod + if (separator == NULL || *(separator+1) == 0) + { return string_util::strtod(nptr, endptr); } + else + { + const double d1 = string_util::strtod(nptr, endptr); + const double d2 = string_util::strtod(++separator, endptr); + return safe_divide(d1+d2, 2); + } + } + + template + inline bool is_one_of(const Tchar_type character, const Tchar_type* char_string) + { + while(*char_string) + { + if (character == char_string[0]) + { + return true; + } + ++char_string; + } + return false; + } + } + +#endif //__STRING_UTIL_H__ diff --git a/main.cpp b/main.cpp new file mode 100755 index 0000000..64cd9b1 --- /dev/null +++ b/main.cpp @@ -0,0 +1,9 @@ +#include + +using namespace std; + +int main() +{ + cout << "Hello world!" << endl; + return 0; +} diff --git a/obj/Debug/Start.o b/obj/Debug/Start.o new file mode 100755 index 0000000000000000000000000000000000000000..11545cc22e807cb55644ec67d9e01afce49caa54 GIT binary patch literal 222232 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 ASpWb4 literal 0 HcmV?d00001 diff --git a/stemming/danish_stem.h b/stemming/danish_stem.h new file mode 100755 index 0000000..61ee106 --- /dev/null +++ b/stemming/danish_stem.h @@ -0,0 +1,268 @@ +/**@addtogroup Stemming +@brief Library for stemming words down to their root words. +@date 2003-2015 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ +#ifndef __DANISH_STEM_H__ +#define __DANISH_STEM_H__ + +#include "stemming.h" + +namespace stemming + { + /** + @brief Danish stemmer. + @date 2004 + @par Algorithm: + + The Danish alphabet includes the following additional letters: + - æ å ø + + The following letters are vowels: + - a e i o u y æ å ø + + A consonant is defined as a non-vowel. + + R2 is not used: R1 is defined in the same way as in the German stemmer. + + Define a valid s-ending as one of + - a b c d f g h j k l m n o p r t v y z å + + Step 1: + + Search for the longest among the following suffixes in R1, and perform the action indicated: + - hed ethed ered e erede ende erende ene erne ere en heden + eren er heder erer heds es endes erendes enes ernes eres + ens hedens erens ers ets erets et eret. + - Delete. + - s + - Delete, if preceded by a valid s-ending. + + (Of course the letter of the valid s-ending is not necessarily in R1). + + Step 2: + + Search for one of the following suffixes in R1, and if found delete the last letter.: + - gd dt gt kt + + (For example, friskt -> frisk). + + Step 3: + + If the word ends with igst, remove the final st. Search for the longest among the following suffixes in R1, and perform the action indicated: + - ig lig elig els + - Delete, and then repeat step 2. + - løst + - Replace with løs. + + Step 4 (undouble): + + If the word ends with double consonant in R1, then remove one of the consonants. + + (For example, bestemmelse -> bestemmels (step 1) -> bestemm (step 3a) -> bestem in this step). + + @par Example: + \code + std::wstring word(L"ramningen"); + stemming::danish_stem StemDanish; + StemDanish(word); + \endcode + */ + /** @} */ + //------------------------------------------------------ + template + class danish_stem : public stem + { + public: + //--------------------------------------------- + /**@param[in,out] text Danish string to stem.*/ + void operator()(string_typeT& text) + { + if (text.length() < 3) + { return; } + + //reset internal data + stem::reset_r_values(); + + stem::trim_western_punctuation(text); + + //see where the R1 section begins + //R1 is the first consonant after the first vowel + stem::find_r1(text, DANISH_VOWELS); + if (stem::get_r1() == text.length() ) + { return; } + //R1 must have at least 3 characters in front of it + if (stem::get_r1() < 3) + { stem::set_r1(3); } + //danish does not use R2 + + step_1(text); + step_2(text); + step_3(text); + step_4(text); + } + private: + //--------------------------------------------- + void step_1(string_typeT& text) + { + if (stem::delete_if_is_in_r1(text,/*erendes*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*erende*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*hedens*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*ethed*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*erede*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*heden*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*heder*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*endes*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*ernes*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*erens*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*erets*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*eres*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*enes*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*heds*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*erer*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*eren*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*erne*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*ende*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*ered*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*eret*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*hed*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*ets*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*ere*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*ene*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*ens*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*ers*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*et*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*es*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*er*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text,/*en*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { return; } + else if (stem::delete_if_is_in_r1(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { return; } + else if (stem::is_suffix_in_r1(text, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 2 && + string_util::is_one_of(text[text.length()-2], DANISH_ALPHABET) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + return; + } + } + //--------------------------------------------- + void step_2(string_typeT& text) + { + if (stem::is_suffix_in_r1(text,/*gd*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + return; + } + else if (stem::is_suffix_in_r1(text,/*dt*/common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + return; + } + else if (stem::is_suffix_in_r1(text,/*gt*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + return; + } + else if (stem::is_suffix_in_r1(text,/*kt*/common_lang_constants::LOWER_K, common_lang_constants::UPPER_K, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + return; + } + } + //--------------------------------------------- + void step_3(string_typeT& text) + { + //do this check separately + if (stem::is_suffix(text,/*igst*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + //now start looking for the longest suffix + if (stem::delete_if_is_in_r1(text,/*elig*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, false) ) + { + step_2(text); + return; + } + else if (stem::is_suffix_in_r1(text,/*løst*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O_STROKE, common_lang_constants::UPPER_O_STROKE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + else if (stem::delete_if_is_in_r1(text,/*lig*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, false) ) + { + step_2(text); + return; + } + else if (stem::delete_if_is_in_r1(text,/*els*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + step_2(text); + return; + } + else if (stem::delete_if_is_in_r1(text,/*ig*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, false) ) + { + step_2(text); + return; + } + } + //--------------------------------------------- + void step_4(string_typeT& text) + { + //undouble consecutive (same) consonants if either are in R1 section + if (text.length() >= 2 && + stem::get_r1() <= text.length()-1 && + string_util::tolower_western(text[text.length()-2]) == string_util::tolower_western(text[text.length()-1]) ) + { + if (!string_util::is_one_of(text[text.length()-2], DANISH_VOWELS) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + } + } + }; + } + +/** @}*/ + +#endif //__DANISH_STEM_H__ diff --git a/stemming/dutch_stem.h b/stemming/dutch_stem.h new file mode 100755 index 0000000..275b14b --- /dev/null +++ b/stemming/dutch_stem.h @@ -0,0 +1,318 @@ +/**@addtogroup Stemming +@brief Library for stemming words down to their root words. +@date 2003-2015 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ + +#ifndef __DUTCH_STEM_H__ +#define __DUTCH_STEM_H__ + +#include "stemming.h" + +namespace stemming + { + /** + @brief Dutch stemmer. + @date 2004 + @par Algorithm: + + Dutch includes the following accented forms: + - ä ë ï ö ü á é í ó ú è + + Step 1: + + Search for the longest among the following suffixes, and perform the action indicated: + - heden + - Replace with heid if in R1. + - en ene + - Delete if in R1 and preceded by a valid en-ending, and then undouble the ending. + - s se + - Delete if in R1 and preceded by a valid s-ending. + + Step 2: + + Delete suffix e if in R1 and preceded by a non-vowel, and then undouble the ending. + + Step 3a (heid): + + Delete heid if in R2 and not preceded by c, and treat a preceding en as in step 1(b). + + Step 3b (d-suffixes [*]): + + Search for the longest among the following suffixes, and perform the action indicated. + - end ing + - Delete if in R2. + - If preceded by ig, delete if in R2 and not preceded by e, otherwise undouble the ending. + - ig + - Delete if in R2 and not preceded by e. + - lijk + - Delete if in R2, and then repeat step 2. + - baar + - Delete if in R2. + - bar + - Delete if in R2 and if step 2 actually removed an e. + + Step 4 (undouble vowel): + + If the words ends CVD, where C is a non-vowel, D is a non-vowel other than I, + and V is double a, e, o, or u, then remove one of the vowels from V. + + (for example, maan -> man, brood -> brod). + */ + //------------------------------------------------------ + template + class dutch_stem : public stem + { + public: + dutch_stem() : m_step_2_succeeded(false) {} + //--------------------------------------------- + /**@param[in,out] text string to stem*/ + void operator()(string_typeT& text) + { + //First, remove all umlaut and acute accents + stem::remove_dutch_umlauts(text); + stem::remove_dutch_acutes(text); + + if (text.length() < 3) + { + return; + } + + //reset internal data + m_step_2_succeeded = false; + stem::reset_r_values(); + + stem::trim_western_punctuation(text); + + //Hash initial y, y after a vowel, and i between vowels + stem::hash_dutch_yi(text, DUTCH_VOWELS); + + stem::find_r1(text, DUTCH_VOWELS); + stem::find_r2(text, DUTCH_VOWELS); + //R1 must have at least 3 characters in front of it + if (stem::get_r1() < 3) + { stem::set_r1(3); } + + step_1(text); + step_2(text); + step_3a(text); + step_3b(text); + step_4(text); + + //unhash I and Y back into their original form + stem::unhash_dutch_yi(text); + } + private: + //--------------------------------------------- + void step_1(string_typeT& text) + { + if (stem::is_suffix(text,/*heden*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + if (stem::get_r1() <= text.length()-5) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + text[text.length()-2] = common_lang_constants::LOWER_I; + text[text.length()-1] = common_lang_constants::LOWER_D; + } + } + ///Define a valid en-ending as a non-vowel, and not gem. + else if (stem::is_suffix(text,/*ene*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (stem::get_r1() <= text.length()-3 && + !string_util::is_one_of(text[text.length()-4], DUTCH_VOWELS) && + (text.length() < 6 || + //"gem" in front of "en" ending + !(is_either(text[text.length()-6], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) && + is_either(text[text.length()-5], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[text.length()-4], common_lang_constants::LOWER_M, common_lang_constants::UPPER_M) ) ) ) + { + text.erase(text.length()-3); + //undouble dd, kk, tt + if (string_util::is_one_of(text[text.length()-1], DUTCH_KDT) && + string_util::tolower_western(text[text.length()-2]) == string_util::tolower_western(text[text.length()-1])) + { text.erase(text.length()-1); } + stem::update_r_sections(text); + } + return; + } + else if (stem::is_suffix(text,/*en*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + if (stem::get_r1() <= text.length()-2 && + !string_util::is_one_of(text[text.length()-3], DUTCH_VOWELS) && + (text.length() < 5 || + !(is_either(text[text.length()-5], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) && + is_either(text[text.length()-4], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[text.length()-3], common_lang_constants::LOWER_M, common_lang_constants::UPPER_M) ) ) ) + { + text.erase(text.length()-2); + //undouble dd, kk, tt + if (string_util::is_one_of(text[text.length()-1], DUTCH_KDT) && + string_util::tolower_western(text[text.length()-2]) == string_util::tolower_western(text[text.length()-1]) ) + { text.erase(text.length()-1); } + stem::update_r_sections(text); + } + return; + } + else if (text.length() >= 3 && + stem::is_suffix(text,/*se*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + !string_util::is_one_of(text[text.length()-3], DUTCH_S_ENDING)) + { + if (stem::get_r1() <= text.length()-2) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + return; + } + } + ///Define a valid s-ending as a non-vowel other than j + else if (text.length() >= 2 && + stem::is_suffix(text, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) && + !string_util::is_one_of(text[text.length()-2], DUTCH_S_ENDING)) + { + if (stem::get_r1() <= text.length()-1) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + return; + } + } + } + + //--------------------------------------------- + void step_2(string_typeT& text) + { + if (stem::is_suffix(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (text.length() >= 2 && + stem::get_r1() <= text.length()-1 && + !string_util::is_one_of(text[text.length()-2], DUTCH_VOWELS) ) + { + //watch out for vowel I/Y vowel + if (text.length() >= 3 && + string_util::is_one_of(text[text.length()-2], L"iyIY") && + string_util::is_one_of(text[text.length()-3], DUTCH_VOWELS) ) + { return; } + else + { + text.erase(text.length()-1); + //undouble dd, kk, tt + if (string_util::is_one_of(text[text.length()-1], DUTCH_KDT) && + string_util::tolower_western(text[text.length()-2]) == string_util::tolower_western(text[text.length()-1])) + { text.erase(text.length()-1); } + stem::update_r_sections(text); + m_step_2_succeeded = true; + } + } + } + } + //--------------------------------------------- + void step_3a(string_typeT& text) + { + if (stem::is_suffix(text,/*heid*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) ) + { + if (text.length() >= 5 && + stem::get_r2() <= text.length()-4 && + is_neither(text[text.length()-5], common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) ) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + if (stem::get_r1() <= text.length()-2 && + stem::is_suffix(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + if ((!string_util::is_one_of(text[text.length()-3], DUTCH_VOWELS) || + (string_util::is_one_of(text[text.length()-3], L"iyYI") && + string_util::is_one_of(text[text.length()-4], DUTCH_VOWELS))) && + (text.length() < 5 || + !(is_either(text[text.length()-5], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) && + is_either(text[text.length()-4], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[text.length()-3], common_lang_constants::LOWER_M, common_lang_constants::UPPER_M) ) ) ) + { + text.erase(text.length()-2); + //undouble dd, kk, tt + if (string_util::is_one_of(text[text.length()-1], DUTCH_KDT) && + string_util::tolower_western(text[text.length()-2]) == string_util::tolower_western(text[text.length()-1])) + { text.erase(text.length()-1); } + stem::update_r_sections(text); + } + } + return; + } + } + } + //--------------------------------------------- + void step_3b(string_typeT& text) + { + if (stem::delete_if_is_in_r2(text,/*end*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) || + stem::delete_if_is_in_r2(text,/*ing*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) + { + stem::update_r_sections(text); + if (text.length() > 3) + { + if (is_neither(text[text.length()-3], common_lang_constants::LOWER_E , common_lang_constants::UPPER_E) && + stem::delete_if_is_in_r2(text,/*ig*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) + { + stem::update_r_sections(text); + return; + } + else + { + if (string_util::is_one_of(text[text.length()-1], DUTCH_KDT) && + string_util::tolower_western(text[text.length()-2]) == string_util::tolower_western(text[text.length()-1])) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + return; + } + } + } + return; + } + else if (!(text.length() >= 3 && is_either(text[text.length()-3], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) && + stem::delete_if_is_in_r2(text,/*ig*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) + { + stem::update_r_sections(text); + return; + } + else if (stem::delete_if_is_in_r2(text,/*baar*/common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) + { + return; + } + else if (stem::delete_if_is_in_r2(text,/*lijk*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_J, common_lang_constants::UPPER_J, common_lang_constants::LOWER_K, common_lang_constants::UPPER_K) ) + { + step_2(text); + return; + } + else if (m_step_2_succeeded && + stem::delete_if_is_in_r2(text,/*bar*/common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) + { + return; + } + } + //------------------------------------------------------ + void step_4(string_typeT& text) + { + //undouble consecutive (same) consonants + if (text.length() >= 4 && + !string_util::is_one_of(text[text.length()-4], DUTCH_VOWELS) && + !string_util::is_one_of(text[text.length()-1], DUTCH_VOWELS) && + text[text.length()-1] != LOWER_I_HASH && + text[text.length()-1] != UPPER_I_HASH && + string_util::is_one_of(text[text.length()-2], L"aeouAEOU") && + string_util::tolower_western(text[text.length()-2]) == string_util::tolower_western(text[text.length()-3]) ) + { + text.erase(text.end()-2, text.end()-1); + stem::update_r_sections(text); + } + } + //internal data specific to Dutch stemmer + bool m_step_2_succeeded; + }; + } + +/** @}*/ + +#endif //__DUTCH_STEM_H__ diff --git a/stemming/english_stem.h b/stemming/english_stem.h new file mode 100755 index 0000000..74e55d2 --- /dev/null +++ b/stemming/english_stem.h @@ -0,0 +1,1003 @@ +/**@addtogroup Stemming +@brief Library for stemming words down to their root words. +@date 2003-2015 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ + +#ifndef __ENGLISH_STEM_H__ +#define __ENGLISH_STEM_H__ + +#include "stemming.h" + +namespace stemming + { + /** + @brief English stemmer. + + @par Overview: + + I have made more than one attempt to improve the structure of the Porter algorithm + by making it follow the pattern of ending removal of the Romance language stemmers. + It is not hard to see why one should want to do this: step 1b of the Porter stemmer + removes ed and ing, which are i-suffixes (*) attached to verbs. If these suffixes are + removed, there should be no need to remove d-suffixes which are not verbal, although it + will try to do so. This seems to be a deficiency in the Porter stemmer, not shared by + the Romance stemmers. Again, the divisions between steps 2, 3 and 4 seem rather arbitrary, + and are not found in the Romance stemmers. + + Nevertheless, these attempts at improvement have been abandoned. They seem to lead to a + more complicated algorithm with no very obvious improvements. A reason for not taking + note of the outcome of step 1b may be that English endings do not determine word categories + quite as strongly as endings in the Romance languages. For example, condition and position + in French have to be nouns, but in English they can be verbs as well as nouns, + + We are all conditioned by advertising + They are positioning themselves differently today + + A possible reason for having separate steps 2, 3 and 4 is that d-suffix combinations in + English are quite complex, a point which has been made elsewhere. + + But it is hardly surprising that after twenty years of use of the Porter stemmer, certain + improvements do suggest themselves, and a new algorithm for English is therefore offered + here. (It could be called the 'Porter2' stemmer to distinguish it from the Porter stemmer, + from which it derives.) The changes are not so very extensive: (1) terminating y is changed + to i rather less often, (2) suffix us does not lose its s, (3) a few additional suffixes + are included for removal, including (4) suffix ly. In addition, a small list of exceptional + forms is included. In December 2001 there were two further adjustments: (5) Steps 5a and 5b + of the old Porter stemmer were combined into a single step. This means that undoubling final + ll is not done with removal of final e. (6) In Step 3 ative is removed only when in region R2. + + To begin with, here is the basic algorithm without reference to the exceptional forms. + An exact comparison with the Porter algorithm needs to be done quite carefully if done at + all. Here we indicate by * points of departure, and by + additional features. + In the sample vocabulary, Porter and Porter2 stem slightly under 5% of words to different forms. + + Dr. Martin Porter + + Define a vowel as one of + - a e i o u y + + Define a double as one of + - bb dd ff gg mm nn pp rr tt + + Define a valid li-ending as one of + - c d e g h k m n r t + + Define a short syllable in a word as either (a) a vowel followed by a non-vowel + other than w, x or Y and preceded by a non-vowel, or * (b) a vowel at the beginning + of the word followed by a non-vowel. + + So rap, trap, entrap end with a short syllable, and ow, on, at are classed as short syllables. + But uproot, bestow, disturb do not end with a short syllable. + + A word is called short if it consists of a short syllable preceded by zero or more consonants. + R1 is the region after the first non-vowel following a vowel, or the end of the word if there is no such non-vowel. + R2 is the region after the first non-vowel following a vowel in R1, or the end of the word if there is no such non-vowel. + If the word has two letters or less, leave it as it is. + Otherwise, do each of the following operations, + Set initial y, or y after a vowel, to Y, and then establish the regions R1 and R2. + + @par Algorithm: + + Step 1a: + + Search for the longest among the following suffixes, and perform the action indicated: + - sses + - Replace by ss. + - ied+ ies* + - Replace by i if preceded by just one letter, otherwise by ie (so ties -> tie, cries -> cri). + - s + - Delete if the preceding word part contains a vowel not immediately before the s (so gas and this retain the s, gaps and kiwis lose it). + - us+ ss + - Do nothing. + + Step 1b: + + Search for the longest among the following suffixes, and perform the action indicated: + - eed eedly+ + - Replace by ee if in R1. + - ed edly+ ing ingly+ + - Delete if the preceding word part contains a vowel, and then + - If the word ends at, bl or iz add e (so luxuriat -> luxuriate), or + - If the word ends with a double remove the last letter (so hopp -> hop), or + - If the word is short, add e (so hop -> hope). + + Step 1c: + + Replace suffix y or Y by i if preceded by a non-vowel which is + not the first letter of the word (so cry -> cri, by -> by, say -> say) + + Step 2: + + Search for the longest among the following suffixes, and, if found and in R1, perform the action indicated: + - tional + - Replace by tion. + - enci + - Replace by ence. + - anci + - Replace by ance + - abli + - Replace by able. + - entli + - Replace by ent. + - izer ization + - Replace by ize. + - ational ation ator + - Replace by ate. + - alism aliti alli + - Replace by al. + - fulness + - Replace by ful. + - ousli ousness + - Replace by ous. + - iveness iviti + - Replace by ive. + - biliti bli+ + - Replace by ble. + - ogi+ + - Replace by og if preceded by l. + - fulli+ + - Replace by ful. + - lessli+ + - Replace by less. + - li+ + - Delete if preceded by a valid li-ending. + + Step 3: + + Search for the longest among the following suffixes, and, if found and in R1, perform the action indicated: + - tional+ + - Replace by tion. + - ational+ + - Replace by ate. + - alize + - Replace by al. + - icate iciti ical + - Replace by ic. + - ful ness + - Delete. + - ative* + - Delete if in R2. + + Step 4: + + Search for the longest among the following suffixes, and, if found and in R2, perform the action indicated: + - al ance ence er ic able ible ant ement ment ent ism ate iti ous ive ize + - Delete + - ion + - Delete if preceded by s or t. + + Step 5: + + Search for the following suffixes, and, if found, perform the action indicated: + - e + - Delete if in R2, or in R1 and not preceded by a short syllable. + - l + - Delete if in R2 and preceded by l. + */ + /** @} */ + //------------------------------------------------------ + template + class english_stem : public stem + { + public: + english_stem() : m_first_vowel(string_typeT::npos) + {} + //--------------------------------------------- + /**@param[in,out] text English string to stem.*/ + void operator()(string_typeT& text) + { + if (text.length() < 3) + { + return; + } + + //reset internal data + m_first_vowel = string_typeT::npos; + stem::reset_r_values(); + + stem::trim_western_punctuation(text); + + //handle exceptions first + if (is_exception(text) ) + { + return; + } + + stem::hash_y(text, L"aeiouyAEIOUY"); + m_first_vowel = text.find_first_of(L"aeiouyAEIOUY"); + if (m_first_vowel == string_typeT::npos) + { return; } + + if (text.length() >= 5 && + /*gener*/ + (is_either(text[0], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) && + is_either(text[1], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[2], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[3], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[4], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) ) + { + stem::set_r1(5); + } + else if (text.length() >= 6 && + /*commun*/ + (is_either(text[0], common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) && + is_either(text[1], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) && + is_either(text[2], common_lang_constants::LOWER_M, common_lang_constants::UPPER_M) && + is_either(text[3], common_lang_constants::LOWER_M, common_lang_constants::UPPER_M) && + is_either(text[4], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) && + is_either(text[5], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) ) + { + stem::set_r1(6); + } + else if (text.length() >= 5 && + /*arsen*/ + (is_either(text[0], common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && + is_either(text[1], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) && + is_either(text[2], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) && + is_either(text[3], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[4], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) ) + { + stem::set_r1(5); + } + else + { + stem::find_r1(text, L"aeiouyAEIOUY"); + } + + stem::find_r2(text, L"aeiouyAEIOUY"); + + //step 1a: + step_1a(text); + //exception #2 + if (is_exception_post_step1a(text) ) + { + return; + } + //step 1b: + step_1b(text); + //step 1c: + step_1c(text); + //step 2: + step_2(text); + //step 3: + step_3(text); + //step 4: + step_4(text); + //step 5: + step_5(text); + + stem::unhash_y(text); + } + private: + //--------------------------------------------- + bool is_exception(string_typeT& text) + { + //exception #0 + /*skis*/ + if (text.length() == 4 && + is_either(text[0], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) && + is_either(text[1], common_lang_constants::LOWER_K, common_lang_constants::UPPER_K) && + is_either(text[2], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[3], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + text = L"ski"; + return true; + } + /*skies*/ + else if (text.length() == 5 && + is_either(text[0], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) && + is_either(text[1], common_lang_constants::LOWER_K, common_lang_constants::UPPER_K) && + is_either(text[2], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[3], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[4], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + text = L"sky"; + return true; + } + /*dying*/ + else if (text.length() == 5 && + is_either(text[0], common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) && + is_either(text[1], common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) && + is_either(text[2], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[3], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[4], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) + { + text = L"die"; + return true; + } + /*lying*/ + else if (text.length() == 5 && + is_either(text[0], common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) && + is_either(text[1], common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) && + is_either(text[2], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[3], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[4], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) + { + text = L"lie"; + return true; + } + /*tying*/ + else if (text.length() == 5 && + is_either(text[0], common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) && + is_either(text[1], common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) && + is_either(text[2], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[3], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[4], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) + { + text = L"tie"; + return true; + } + /*idly*/ + else if (text.length() == 4 && + is_either(text[0], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[1], common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) && + is_either(text[2], common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) && + is_either(text[3], common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) ) + { + text = L"idl"; + return true; + } + /*gently*/ + else if (text.length() == 6 && + is_either(text[0], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) && + is_either(text[1], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[2], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[3], common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) && + is_either(text[4], common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) && + is_either(text[5], common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) ) + { + text = L"gentl"; + return true; + } + /*ugly*/ + else if (text.length() == 4 && + is_either(text[0], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) && + is_either(text[1], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) && + is_either(text[2], common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) && + is_either(text[3], common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) ) + { + text = L"ugli"; + return true; + } + /*early*/ + else if (text.length() == 5 && + is_either(text[0], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[1], common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && + is_either(text[2], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) && + is_either(text[3], common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) && + is_either(text[4], common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) ) + { + text = L"earli"; + return true; + } + /*only*/ + else if (text.length() == 4 && + is_either(text[0], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) && + is_either(text[1], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[2], common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) && + is_either(text[3], common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) ) + { + text = L"onli"; + return true; + } + /*singly*/ + else if (text.length() == 6 && + is_either(text[0], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) && + is_either(text[1], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[2], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[3], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) && + is_either(text[4], common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) && + is_either(text[5], common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) ) + { + text = L"singl"; + return true; + } + //exception #1 + else if ( + /*sky*/ + (text.length() == 3 && + is_either(text[0], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) && + is_either(text[1], common_lang_constants::LOWER_K, common_lang_constants::UPPER_K) && + is_either(text[2], common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) ) || + /*news*/ + (text.length() == 4 && + is_either(text[0], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[1], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[2], common_lang_constants::LOWER_W, common_lang_constants::UPPER_W) && + is_either(text[3], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) || + /*howe*/ + (text.length() == 4 && + is_either(text[0], common_lang_constants::LOWER_H, common_lang_constants::UPPER_H) && + is_either(text[1], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) && + is_either(text[2], common_lang_constants::LOWER_W, common_lang_constants::UPPER_W) && + is_either(text[3], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) || + /*atlas*/ + (text.length() == 5 && + is_either(text[0], common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && + is_either(text[1], common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) && + is_either(text[2], common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) && + is_either(text[3], common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && + is_either(text[4], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) || + /*cosmos*/ + (text.length() == 6 && + is_either(text[0], common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) && + is_either(text[1], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) && + is_either(text[2], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) && + is_either(text[3], common_lang_constants::LOWER_M, common_lang_constants::UPPER_M) && + is_either(text[4], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) && + is_either(text[5], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) || + /*bias*/ + (text.length() == 4 && + is_either(text[0], common_lang_constants::LOWER_B, common_lang_constants::UPPER_B) && + is_either(text[1], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[2], common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && + is_either(text[3], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) || + /*andes*/ + (text.length() == 5 && + is_either(text[0], common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && + is_either(text[1], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[2], common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) && + is_either(text[3], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[4], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) ) + { + return true; + } + return false; + } + + //--------------------------------------------- + bool is_exception_post_step1a(string_typeT& text) + { + //exception #2 + if (/*inning*/ + (text.length() == 6 && + is_either(text[0], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[1], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[2], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[3], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[4], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[5], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) || + /*outing*/ + (text.length() == 6 && + is_either(text[0], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) && + is_either(text[1], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) && + is_either(text[2], common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) && + is_either(text[3], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[4], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[5], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) || + /*canning*/ + (text.length() == 7 && + is_either(text[0], common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) && + is_either(text[1], common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && + is_either(text[2], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[3], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[4], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[5], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[6], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) || + /*herring*/ + (text.length() == 7 && + is_either(text[0], common_lang_constants::LOWER_H, common_lang_constants::UPPER_H) && + is_either(text[1], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[2], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) && + is_either(text[3], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) && + is_either(text[4], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[5], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[6], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) || + /*earring*/ + (text.length() == 7 && + is_either(text[0], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[1], common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && + is_either(text[2], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) && + is_either(text[3], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) && + is_either(text[4], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[5], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[6], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) || + /*proceed*/ + (text.length() == 7 && + is_either(text[0], common_lang_constants::LOWER_P, common_lang_constants::UPPER_P) && + is_either(text[1], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) && + is_either(text[2], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) && + is_either(text[3], common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) && + is_either(text[4], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[5], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[6], common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) ) || + /*exceed*/ + (text.length() == 6 && + is_either(text[0], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[1], common_lang_constants::LOWER_X, common_lang_constants::UPPER_X) && + is_either(text[2], common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) && + is_either(text[3], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[4], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[5], common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) ) || + /*succeed*/ + (text.length() == 7 && + is_either(text[0], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) && + is_either(text[1], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) && + is_either(text[2], common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) && + is_either(text[3], common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) && + is_either(text[4], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[5], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[6], common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) ) ) + { + return true; + } + return false; + } + //--------------------------------------------- + void step_1a(string_typeT& text) + { + if (stem::is_suffix(text,/*sses*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + else if (stem::is_suffix(text,/*ied*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) || + stem::is_suffix(text,/*ies*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() == 3 || text.length() == 4) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + else + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + } + else if (text.length() >= 2 && + is_either(text[text.length()-1], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) && + m_first_vowel < text.length()-2 && + !string_util::is_one_of(text[text.length()-2], L"suSU") ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + } + //--------------------------------------------- + void step_1b(string_typeT& text) + { + //if the preceding word contains a vowel + bool regress_trim = false; + + if (stem::is_suffix(text,/*eed*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) ) + { + if (stem::get_r1() <= text.length()-3) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + } + else if (stem::is_suffix(text,/*eedly*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) ) + { + if (stem::get_r1() <= text.length()-5) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + } + } + else if (stem::is_suffix(text,/*ed*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) && + m_first_vowel < text.length()-2) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + regress_trim = true; + } + else if (stem::is_suffix(text,/*edly*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) && + m_first_vowel < text.length()-4) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + regress_trim = true; + } + else if (stem::is_suffix(text,/*ing*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) && + m_first_vowel < text.length()-3) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + regress_trim = true; + } + else if (stem::is_suffix(text,/*ingly*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) && + m_first_vowel < text.length()-5) + { + text.erase(text.length()-5); + stem::update_r_sections(text); + regress_trim = true; + } + if (regress_trim) + { + if (stem::is_suffix(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) || + stem::is_suffix(text,/*bl*/common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) || + stem::is_suffix(text,/*iz*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z) ) + { + text += common_lang_constants::LOWER_E; + //need to search for r2 again because the 'e' added here may change that + stem::find_r2(text, L"aeiouyAEIOUY"); + } + else if (stem::is_suffix(text,/*bb*/common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B) || + stem::is_suffix(text,/*dd*/common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) || + stem::is_suffix(text,/*ff*/common_lang_constants::LOWER_F, common_lang_constants::UPPER_F, common_lang_constants::LOWER_F, common_lang_constants::UPPER_F) || + stem::is_suffix(text,/*gg*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) || + stem::is_suffix(text,/*mm*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M) || + stem::is_suffix(text,/*nn*/common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix(text,/*pp*/common_lang_constants::LOWER_P, common_lang_constants::UPPER_P, common_lang_constants::LOWER_P, common_lang_constants::UPPER_P) || + stem::is_suffix(text,/*rr*/common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) || + stem::is_suffix(text,/*tt*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + else if (is_short_word(text, text.length() ) ) + { + text += common_lang_constants::LOWER_E; + //need to search for r2 again because the 'e' added here may change that + stem::find_r2(text, L"aeiouyAEIOUY"); + } + } + } + //--------------------------------------------- + void step_1c(string_typeT& text) + { + //proceeding consonant cannot be first letter in word + if (text.length() > 2 && + !is_vowel(text[text.length()-2]) ) + { + if (is_either(text[text.length()-1], common_lang_constants::LOWER_Y, LOWER_Y_HASH) ) + { + text[text.length()-1] = common_lang_constants::LOWER_I; + } + else if (is_either(text[text.length()-1], common_lang_constants::UPPER_Y, UPPER_Y_HASH) ) + { + text[text.length()-1] = common_lang_constants::UPPER_I; + } + } + } + //--------------------------------------------- + void step_2(string_typeT& text) + { + if (text.length() >= 7 && + (stem::is_suffix(text,/*ization*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix(text,/*ational*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) ) + { + if (stem::get_r1() <= text.length()-7) + { + text.erase(text.length()-4); + text[static_cast(text.length()-1)] = common_lang_constants::LOWER_E; + stem::update_r_sections(text); + } + } + else if (text.length() >= 7 && + (stem::is_suffix(text,/*fulness*/common_lang_constants::LOWER_F, common_lang_constants::UPPER_F, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) || + stem::is_suffix(text,/*ousness*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) || + stem::is_suffix(text,/*iveness*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) ) + { + if (stem::get_r1() <= text.length()-7) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + } + } + else if (text.length() >= 6 && + (stem::is_suffix(text,/*tional*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) || + stem::is_suffix(text,/*lessli*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) ) + { + if (stem::get_r1() <= text.length()-6) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + } + else if (text.length() >= 6 && stem::is_suffix(text,/*biliti*/common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (stem::get_r1() <= text.length()-6) + { + text.erase(text.length()-3); + text[text.length()-2] = common_lang_constants::LOWER_L; + text[text.length()-1] = common_lang_constants::LOWER_E; + stem::update_r_sections(text); + } + } + else if (text.length() >= 5 && + (stem::is_suffix(text,/*iviti*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::is_suffix(text,/*ation*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) ) + { + if (stem::get_r1() <= text.length()-5) + { + text.erase(text.length()-2); + text[text.length()-1] = common_lang_constants::LOWER_E; + stem::update_r_sections(text); + } + } + else if (text.length() >= 5 && + (stem::is_suffix(text,/*alism*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M) || + stem::is_suffix(text,/*aliti*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) ) + { + if (stem::get_r1() <= text.length()-5) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + } + } + else if (text.length() >= 5 && + (stem::is_suffix(text,/*ousli*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::is_suffix(text,/*entli*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::is_suffix(text,/*fulli*/common_lang_constants::LOWER_F, common_lang_constants::UPPER_F, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) ) + { + if (stem::get_r1() <= text.length()-5) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + } + else if (text.length() >= 4 && stem::is_suffix(text,/*alli*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (stem::get_r1() <= text.length()-4) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + } + else if (text.length() >= 4 && + (stem::is_suffix(text,/*enci*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::is_suffix(text,/*anci*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::is_suffix(text,/*abli*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) ) + { + if (stem::get_r1() <= text.length()-4) + { + text[text.length()-1] = common_lang_constants::LOWER_E; + } + } + else if (text.length() >= 4 && stem::is_suffix(text,/*izer*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) + { + if (stem::get_r1() <= text.length()-4) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + } + else if (text.length() >= 4 && stem::is_suffix(text,/*ator*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) + { + if (stem::get_r1() <= text.length()-4) + { + text.erase(text.length()-1); + text[text.length()-1] = common_lang_constants::LOWER_E; + stem::update_r_sections(text); + } + } + else if (text.length() >= 3 && + stem::get_r1() <= (text.length()-3) && + stem::is_suffix(text,/*bli*/common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + text[text.length()-1] = common_lang_constants::LOWER_E; + } + else if (text.length() >= 3 && + stem::get_r1() <= (text.length()-3) && + stem::is_suffix(text,/*ogi*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (is_either(text[text.length()-4], common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + } + else if (text.length() >= 2 && + stem::get_r1() <= (text.length()-2) && + stem::is_suffix(text,/*li*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (string_util::is_one_of(text[text.length()-3], L"cdeghkmnrtCDEGHKMNRT") ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + } + } + //--------------------------------------------- + void step_3(string_typeT& text) + { + if (text.length() >= 7 && stem::is_suffix(text,/*ational*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) + { + if (stem::get_r1() <= text.length()-7) + { + text.erase(text.length()-4); + text[text.length()-1] = common_lang_constants::LOWER_E; + stem::update_r_sections(text); + } + } + else if (text.length() >= 6 && stem::is_suffix(text,/*tional*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) + { + if (stem::get_r1() <= text.length()-6) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + } + else if (text.length() >= 5 && + (stem::is_suffix(text,/*icate*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::is_suffix(text,/*iciti*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::is_suffix(text,/*alize*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) ) + { + if (stem::get_r1() <= text.length()-5) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + } + } + else if (text.length() >= 5 && stem::is_suffix(text,/*ative*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (stem::get_r2() <= text.length()-5) + { + text.erase(text.length()-5); + stem::update_r_sections(text); + } + } + else if (text.length() >= 4 && stem::is_suffix(text,/*ical*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) + { + if (stem::get_r1() <= text.length()-4) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + } + else if (text.length() >= 4 && stem::is_suffix(text,/*ness*/common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (stem::get_r1() <= text.length()-4) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + } + } + else if (text.length() >= 3 && stem::is_suffix(text,/*ful*/common_lang_constants::LOWER_F, common_lang_constants::UPPER_F, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) + { + if (stem::get_r1() <= text.length()-3) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + } + } + } + //--------------------------------------------- + void step_4(string_typeT& text) + { + if (text.length() >= 5 && + stem::is_suffix(text,/*ement*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (stem::get_r2() <= text.length()-5) + { + text.erase(text.length()-5); + stem::update_r_sections(text); + } + } + else if (text.length() >= 4 && + (stem::is_suffix(text,/*able*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::is_suffix(text,/*ible*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::is_suffix(text,/*ment*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) || + stem::is_suffix(text,/*ence*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::is_suffix(text,/*ance*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E)) ) + { + if (stem::get_r2() <= text.length()-4) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + } + } + else if (text.length() >= 4 && + (stem::is_suffix(text,/*sion*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix(text,/*tion*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N)) ) + { + if (stem::get_r2() <= text.length()-3) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + } + } + else if (text.length() >= 3 && + (stem::is_suffix(text,/*ant*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) || + stem::is_suffix(text,/*ent*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) || + stem::is_suffix(text,/*ism*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M) || + stem::is_suffix(text,/*ate*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::is_suffix(text,/*iti*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::is_suffix(text,/*ous*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) || + stem::is_suffix(text,/*ive*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::is_suffix(text,/*ize*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E)) ) + { + if (stem::get_r2() <= text.length()-3) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + } + } + else if (text.length() >= 2 && + (stem::is_suffix(text,/*al*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) || + stem::is_suffix(text,/*er*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) || + stem::is_suffix(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C)) ) + { + if (stem::get_r2() <= text.length()-2) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + } + } + //--------------------------------------------- + void step_5(string_typeT& text) + { + if (text.length() >= 1 && + is_either(text[text.length()-1], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (stem::get_r2() != text.length()) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + else if (stem::get_r1() != text.length() && + text.length() >= 2 && + //look at the part of the word in front of the last 'e' to see if it ends with + //a short syllable. + !ends_with_short_syllable(text, text.length()-1)) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + } + else if (stem::get_r2() != text.length() && + stem::is_suffix(text,/*ll*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + } + /**Define a short syllable in a word as either + (a) a vowel followed by a non-vowel other than w, x or Y and preceded by a non-vowel, or + (b) a vowel at the beginning of the word followed by a non-vowel. + + So rap, trap, entrap end with a short syllable, and ow, on, at are classed as short syllables. + But uproot, bestow, disturb do not end with a short syllable.*/ + //--------------------------------------------- + bool ends_with_short_syllable(const string_typeT& text, const size_t length) const + { + if (length == 2) + { + if (is_vowel(text[0]) ) + { return (!is_vowel(text[1]) ); } + else + { return false; } + } + else if (length > 2) + { + size_t start = text.find_last_of(L"aeiouyAEIOUY", length-1); + if (start == string_typeT::npos) + { return false; } + if (start > 0 && + start == (length-2) && + //following letter + (!is_vowel(text[start+1]) && + !string_util::is_one_of(text[start+1], L"wxWX") && + is_neither(text[start+1], LOWER_Y_HASH, UPPER_Y_HASH)) && + //proceeding letter + !is_vowel(text[start-1]) ) + { return true; } + else + { return false; } + } + else + { return false; } + } + ///A word is called short if it ends in a short syllable, and if R1 is null. + //--------------------------------------------- + inline bool is_short_word(const string_typeT& text, const size_t length) const + { return (ends_with_short_syllable(text, length) && stem::get_r1() == text.length()); } + //--------------------------------------------- + inline bool is_vowel(const wchar_t character) const + { return (string_util::is_one_of(character, L"aeiouyAEIOUY") ); } + + size_t m_first_vowel; + }; + } + +/** @}*/ + +#endif //__ENGLISH_STEM_H__ diff --git a/stemming/finnish_stem.h b/stemming/finnish_stem.h new file mode 100755 index 0000000..ed639d9 --- /dev/null +++ b/stemming/finnish_stem.h @@ -0,0 +1,550 @@ +/**@addtogroup Stemming +@brief Library for stemming words down to their root words. +@date 2003-2015 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ + +#ifndef __FINNISH_STEM_H__ +#define __FINNISH_STEM_H__ + +#include "stemming.h" + +namespace stemming + { + /** + @brief Finnish stemmer. + @date 2004 + @par Overview: + + Finnish is not an Indo-European language, but belongs to the Finno-Ugric group, + which again belongs to the Uralic group. Distinctions between a-, i- and d-suffixes + can be made in Finnish, but they are much less sharply separated than in an + Indo-European language. The system of endings is extremely elaborate, but strictly + defined, and applies equally to all nominals, that is, to nouns, adjectives and pronouns. + Verb endings have a close similarity to nominal endings, which again makes Finnish + very different from any Indo-European language. + + More problematical than the endings themselves is the change that can be effected in a + stem as a result of taking a particular ending. A stem typically has two forms + ,strong and weak, where one class of ending follows the strong form and the complementary + class the weak. Normalising strong and weak forms after ending removal is not generally possible, + although the common case where strong and weak forms only differ in the single or double form of + a final consonant can be dealt with. + + @par Algorithm: + + Finnish includes the following accented forms: + - ä ö + + The following letters are vowels: + - a e i o u y ä ö + + R1 and R2 are then defined in the usual way. + + @par Algorithm: + + Step 1 (particles etc.): + + Search for the longest among the following suffixes in R1, and perform the action indicated: + + - kin kaan kään ko kö han hän pa pä + - Delete if preceded by n, t or a vowel. + - sti + - Delete if in R2. + (Of course, the n, t or vowel of 1(a) need not be in R1: + only the suffix removed must be in R1. And similarly below. + + Step 2 (possessives): + + Search for the longest among the following suffixes in R1, and perform the action indicated: + + - si + - Delete if not preceded by k. + - ni + - Delete. If preceded by kse, replace with ksi. + - nsa nsä mme nne + - Delete. + - an + - Delete if preceded by one of: ta ssa sta lla lta na. + - än + - Delete if preceded by one of: tä ssä stä llä ltä nä. + - en + - Delete if preceded by one of: lle ine. + + Step 3 (cases): + + Define a v (vowel) as one of: + - a e i o u y ä ö. + + Define a V (restricted vowel) as one of: + - a e i o u ä ö. + + So Vi means a V followed by letter i. + + Define LV (long vowel) as one of: + - aa ee ii oo uu ää öö. + + Define a c (consonant) as a character other than a v. + So cv means a c followed by a v. + + Search for the longest among the following suffixes in R1, and perform the action indicated: + + - hXn (preceded by X, where X is a V, other than u [a/han, e/hen etc]) + - siin den tten (preceded by Vi) + - seen (preceded by LV) + - a ä (preceded by cv) + - tta ttä (preceded by e) + - ta tä ssa ssä sta stä lla llä lta ltä lle na nä ksi ine + - Delete. + - n + - Delete, and if preceded by LV or ie, delete the last vowel. + + Step 4 (other endings): + + Search for the longest among the following suffixes in R2, and perform the action indicated: + + - mpi mpa mpä mmi mma mmä + - Delete if not preceded by po. + - impi impa impä immi imma immä eja ejä + - Delete. + + Step 5 (plurals): + + If an ending was removed in step 3, delete a final 'i' or 'j' if in R1; + otherwise, if an ending was not removed in step 3, + then delete the final 't' in R1 if it follows a vowel, and, if a 't' is removed, + then delete a final "mma" or "imma" in R2, unless the "mma" is preceded by "po". + + Step 6 (tidying up): + + Perform steps (a), (b), (c), (d), restricting all tests to the R1 region. + + Step 6(a): + + If R1 ends with LV then delete the last letter. + + Step 6(b): + + If R1 ends with cX, c a consonant and X one of: + - a ä e i + -Delete the last letter. + + Step 6(c): + + If R1 ends with oj or uj, then delete the last letter. + + Step 6(d): + + If R1 ends with jo then, delete the last letter. + + Step 6(e): + + This is not restricted to R1. If the word ends with a double consonant followed by zero or more vowels, + then remove the last consonant (so eläkk -> eläk, aatonaatto -> aatonaato). + */ + //------------------------------------------------------ + template + class finnish_stem : public stem + { + public: + finnish_stem() : m_step_3_successful(false) {} + //--------------------------------------------- + /**@param[in,out] text string to stem*/ + void operator()(string_typeT& text) + { + if (text.length() < 2) + { + return; + } + + //reset internal data + m_step_3_successful = false; + stem::reset_r_values(); + + stem::trim_western_punctuation(text); + + stem::find_r1(text, FINNISH_VOWELS); + stem::find_r2(text, FINNISH_VOWELS); + + step_1(text); + step_2(text); + step_3(text); + step_4(text); + step_5(text); + step_6(text); + } + private: + //--------------------------------------------- + void step_1(string_typeT& text) + { + if (stem::is_suffix_in_r1(text,/*kaan*/common_lang_constants::LOWER_K, common_lang_constants::UPPER_K, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix_in_r1(text,/*kään*/common_lang_constants::LOWER_K, common_lang_constants::UPPER_K, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + if (text.length() >= 5 && + string_util::is_one_of(text[text.length()-5], FINNISH_STEP_1_SUFFIX) ) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + } + return; + } + else if (stem::is_suffix_in_r1(text,/*kin*/common_lang_constants::LOWER_K, common_lang_constants::UPPER_K, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix_in_r1(text,/*han*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix_in_r1(text,/*hän*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + if (text.length() >= 4 && + string_util::is_one_of(text[text.length()-4], FINNISH_STEP_1_SUFFIX) ) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + } + return; + } + else if (stem::is_suffix_in_r1(text,/*sti*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + stem::delete_if_is_in_r2(text,/*sti*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I); + return; + } + else if (stem::is_suffix_in_r1(text,/*ko*/common_lang_constants::LOWER_K, common_lang_constants::UPPER_K, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) || + stem::is_suffix_in_r1(text,/*kö*/common_lang_constants::LOWER_K, common_lang_constants::UPPER_K, common_lang_constants::LOWER_O_UMLAUTS, common_lang_constants::UPPER_O_UMLAUTS) || + stem::is_suffix_in_r1(text,/*pa*/common_lang_constants::LOWER_P, common_lang_constants::UPPER_P, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || + stem::is_suffix_in_r1(text,/*pä*/common_lang_constants::LOWER_P, common_lang_constants::UPPER_P,common_lang_constants:: LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS) ) + { + if (text.length() >= 3 && + string_util::is_one_of(text[text.length()-3], FINNISH_STEP_1_SUFFIX) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + return; + } + } + //--------------------------------------------- + void step_2(string_typeT& text) + { + if (stem::delete_if_is_in_r1(text,/*nsa*/common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) || + stem::delete_if_is_in_r1(text,/*nsä*/common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, false) || + stem::delete_if_is_in_r1(text,/*mme*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) || + stem::delete_if_is_in_r1(text,/*nne*/common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::is_suffix_in_r1(text,/*si*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (text.length() >= 3 && + !(text[text.length()-3] == common_lang_constants::LOWER_K || text[text.length()-3] == common_lang_constants::UPPER_K)) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + return; + } + else if (stem::delete_if_is_in_r1(text,/*ni*/common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + if (stem::is_suffix(text, /*kse*/common_lang_constants::LOWER_K, common_lang_constants::UPPER_K, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + text[text.length()-1] = common_lang_constants::LOWER_I; + } + return; + } + else if (stem::is_suffix_in_r1(text,/*an*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + if ((text.length() >= 4 && + (stem::is_partial_suffix(text, (text.length()-4), common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || + stem::is_partial_suffix(text, (text.length()-4), common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A)) ) || + (text.length() >= 5 && + (stem::is_partial_suffix(text, (text.length()-5), common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || + stem::is_partial_suffix(text, (text.length()-5), common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || + stem::is_partial_suffix(text, (text.length()-5), common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || + stem::is_partial_suffix(text, (text.length()-5), common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) ) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + return; + } + else if (stem::is_suffix_in_r1(text,/*än*/common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + if ((text.length() >= 4 && + (stem::is_partial_suffix(text, (text.length()-4), common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS) || + stem::is_partial_suffix(text, (text.length()-4), common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS)) ) || + (text.length() >= 5 && + (stem::is_partial_suffix(text, (text.length()-5), common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS) || + stem::is_partial_suffix(text, (text.length()-5), common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS) || + stem::is_partial_suffix(text, (text.length()-5), common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS) || + stem::is_partial_suffix(text, (text.length()-5), common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS) ) ) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + return; + } + else if (stem::is_suffix_in_r1(text,/*en*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + if (text.length() >= 5 && + (stem::is_partial_suffix(text, (text.length()-5), common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::is_partial_suffix(text, (text.length()-5), common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + return; + } + } + //--------------------------------------------- + void step_3(string_typeT& text) + { + //seen followed by LV + if (text.length() >= 6 && + stem::is_suffix_in_r1(text,/*seen*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + string_util::is_one_of(text[text.length()-5], FINNISH_VOWELS_NO_Y) && + string_util::tolower_western(text[text.length()-5]) == string_util::tolower_western(text[text.length()-6]) ) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + m_step_3_successful = true; + return; + } + //suffix followed by Vi + else if (text.length() >= 6 && + is_either(text[text.length()-5], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + (stem::is_suffix_in_r1(text,/*siin*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix_in_r1(text,/*tten*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) && + string_util::is_one_of(text[text.length()-6], FINNISH_VOWELS_NO_Y) ) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + m_step_3_successful = true; + return; + } + //suffix followed by Vi + else if (text.length() >= 5 && + is_either(text[text.length()-4], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + stem::is_suffix_in_r1(text,/*den*/common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + string_util::is_one_of(text[text.length()-5], FINNISH_VOWELS_NO_Y) ) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + m_step_3_successful = true; + return; + } + else if ((stem::is_suffix_in_r1(text,/*tta*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || + stem::is_suffix_in_r1(text,/*ttä*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS)) && + is_either(text[text.length()-4], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + m_step_3_successful = true; + return; + } + //ends if VHVN + else if ( + (stem::is_suffix_in_r1(text,/*han*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix_in_r1(text,/*hen*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix_in_r1(text,/*hin*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix_in_r1(text,/*hon*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix_in_r1(text,/*hän*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix_in_r1(text,/*hön*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_O_UMLAUTS, common_lang_constants::UPPER_O_UMLAUTS, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) ) + { + if (string_util::tolower_western(text[text.length()-2]) == string_util::tolower_western(text[text.length()-4]) ) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + m_step_3_successful = true; + } + return; + } + else if (stem::delete_if_is_in_r1(text,/*ssa*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) || + stem::delete_if_is_in_r1(text,/*ssä*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, false) || + stem::delete_if_is_in_r1(text,/*sta*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) || + stem::delete_if_is_in_r1(text,/*stä*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, false) || + stem::delete_if_is_in_r1(text,/*lla*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) || + stem::delete_if_is_in_r1(text,/*llä*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, false) || + stem::delete_if_is_in_r1(text,/*lta*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) || + stem::delete_if_is_in_r1(text,/*ltä*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, false) || + stem::delete_if_is_in_r1(text,/*lle*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) || + stem::delete_if_is_in_r1(text,/*ksi*/common_lang_constants::LOWER_K, common_lang_constants::UPPER_K, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) || + stem::delete_if_is_in_r1(text,/*ine*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) || + stem::delete_if_is_in_r1(text,/*na*/common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) || + stem::delete_if_is_in_r1(text,/*nä*/common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, false) ) + { + m_step_3_successful = true; + return; + } + else if (stem::delete_if_is_in_r1(text,/*ta*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) || + stem::delete_if_is_in_r1(text,/*tä*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, false) ) + { + m_step_3_successful = true; + return; + } + //suffix followed by cv + else if (text.length() >= 3 && + (stem::is_suffix_in_r1(text, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || stem::is_suffix_in_r1(text, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS) ) && + !string_util::is_one_of(text[text.length()-3], FINNISH_VOWELS) && + string_util::is_one_of(text[text.length()-2], FINNISH_VOWELS) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + m_step_3_successful = true; + return; + } + //suffix followed by LV or ie + else if (stem::is_suffix_in_r1(text, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + if (text.length() >= 2 && + ((string_util::is_one_of(text[text.length()-1], FINNISH_VOWELS_NO_Y) && + string_util::tolower_western(text[text.length()-1]) == string_util::tolower_western(text[text.length()-2])) || + stem::is_suffix_in_r1(text,/*ie*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E)) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + m_step_3_successful = true; + return; + } + } + //--------------------------------------------- + void step_4(string_typeT& text) + { + if (stem::delete_if_is_in_r2(text,/*impi*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_P, common_lang_constants::UPPER_P, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) || + stem::delete_if_is_in_r2(text,/*impa*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_P, common_lang_constants::UPPER_P, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) || + stem::delete_if_is_in_r2(text,/*impä*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_P, common_lang_constants::UPPER_P, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, false) || + stem::delete_if_is_in_r2(text,/*immi*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) || + stem::delete_if_is_in_r2(text,/*imma*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) || + stem::delete_if_is_in_r2(text,/*immä*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, false) || + stem::delete_if_is_in_r2(text,/*eja*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_J, common_lang_constants::UPPER_J, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) || + stem::delete_if_is_in_r2(text,/*ejä*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_J, common_lang_constants::UPPER_J, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS, false) ) + { + return; + } + else if (text.length() >= 5 && + (stem::is_suffix_in_r2(text,/*mpi*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_P, common_lang_constants::UPPER_P, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::is_suffix_in_r2(text,/*mpa*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_P, common_lang_constants::UPPER_P, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || + stem::is_suffix_in_r2(text,/*mpä*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_P, common_lang_constants::UPPER_P, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS) || + stem::is_suffix_in_r2(text,/*mmi*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::is_suffix_in_r2(text,/*mma*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || + stem::is_suffix_in_r2(text,/*mmä*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_A_UMLAUTS, common_lang_constants::UPPER_A_UMLAUTS) ) ) + { + if (!(is_either(text[text.length()-5], common_lang_constants::LOWER_P, common_lang_constants::UPPER_P) && + is_either(text[text.length()-4], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) ) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + } + } + return; + } + //--------------------------------------------- + void step_5(string_typeT& text) + { + //if step 3 was successful in removing a suffix + if (m_step_3_successful) + { + if (stem::delete_if_is_in_r1(text, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::delete_if_is_in_r1(text, common_lang_constants::LOWER_J, common_lang_constants::UPPER_J) ) + { + //NOOP + } + } + else + { + if (text.length() >= 2 && + string_util::is_one_of(text[text.length()-2], FINNISH_VOWELS) ) + { + if (stem::delete_if_is_in_r1(text, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (!stem::delete_if_is_in_r2(text,/*imma*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (text.length() >= 5 && + stem::is_suffix_in_r2(text,/*mma*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && + //isn't proceeded by "po" + !(is_either(text[text.length()-5], common_lang_constants::LOWER_P, common_lang_constants::UPPER_P) && + is_either(text[text.length()-4], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) ) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + } + } + } + } + } + } + //--------------------------------------------- + void step_6(string_typeT& text) + { + step_6a(text); + step_6b(text); + step_6c(text); + step_6d(text); + step_6e(text); + } + //--------------------------------------------- + void step_6a(string_typeT& text) + { + if (text.length() >= 2 && + stem::get_r1() <= text.length()-2 && + string_util::is_one_of(text[text.length()-1], FINNISH_VOWELS_NO_Y) && + string_util::tolower_western(text[text.length()-1]) == string_util::tolower_western(text[text.length()-2])) + { + text.erase(text.end()-1); + stem::update_r_sections(text); + } + } + //--------------------------------------------- + void step_6b(string_typeT& text) + { + if (text.length() >= 2 && + stem::get_r1() <= text.length()-2 && + !string_util::is_one_of(text[text.length()-2], FINNISH_VOWELS) && + string_util::is_one_of(text[text.length()-1], FINNISH_VOWELS_SIMPLE) ) + { + text.erase(text.end()-1); + stem::update_r_sections(text); + } + } + //--------------------------------------------- + void step_6c(string_typeT& text) + { + if (stem::is_suffix_in_r1(text,/*oj*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_J, common_lang_constants::UPPER_J) || + stem::is_suffix_in_r1(text,/*uj*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_J, common_lang_constants::UPPER_J) ) + { + text.erase(text.end()-1); + stem::update_r_sections(text); + } + } + //--------------------------------------------- + void step_6d(string_typeT& text) + { + if (stem::is_suffix_in_r1(text,/*jo*/common_lang_constants::LOWER_J, common_lang_constants::UPPER_J, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + text.erase(text.end()-1); + stem::update_r_sections(text); + } + } + //--------------------------------------------- + void step_6e(string_typeT& text) + { + //find the last consonant + size_t index = text.find_last_not_of(FINNISH_VOWELS); + if (index == string_typeT::npos || + index < 1) + { return; } + if (string_util::tolower_western(text[index]) == string_util::tolower_western(text[index-1])) + { + text.erase(text.begin()+(index) ); + stem::update_r_sections(text); + } + } + //internal data specific to Finnish stemmer + bool m_step_3_successful; + }; + } + +/** @}*/ + +#endif //__FINNISH_STEM_H__ diff --git a/stemming/french_stem.h b/stemming/french_stem.h new file mode 100755 index 0000000..13cd8ea --- /dev/null +++ b/stemming/french_stem.h @@ -0,0 +1,1398 @@ +/**@addtogroup Stemming +@brief Library for stemming words down to their root words. +@date 2003-2015 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ + +#ifndef __FRENCH_STEM_H__ +#define __FRENCH_STEM_H__ + +#include "stemming.h" + +namespace stemming + { + /** + @brief French stemmer. + @date 2004 + @par Algorithm: + + Letters in French include the following accented forms: + - â à ç ë é ê è ï î ô û ù + + The following letters are vowels: + - a e i o u y â à ë é ê è ï î ô û ù + + @par Algorithm: + + Step 1: + + Search for the longest among the following suffixes, and perform the action indicated. + - ance iqUe isme able iste eux ances iqUes ismes ables istes + - Delete if in R2. + - atrice ateur ation atrices ateurs ations + - Delete if in R2. + - If preceded by ic, delete if in R2, else replace by iqU. + - logie logies + - Replace with log if in R2. + - usion ution usions utions + - Replace with u if in R2. + -ence ences + - Replace with ent if in R2. + - ement ements + - Delete if in RV + - If preceded by iv, delete if in R2 (and if further preceded by at, delete if in R2), otherwise, + - If preceded by eus, delete if in R2, else replace by eux if in R1, otherwise, + - If preceded by abl or iqU, delete if in R2, otherwise, + - If preceded by ièr or Ièr, replace by i if in RV + - ité ités + - Delete if in R2 + - If preceded by abil, delete if in R2, else replace by abl, otherwise, + - If preceded by ic, delete if in R2, else replace by iqU, otherwise, + - If preceded by iv, delete if in R2 + - If ive ifs ives, delete if in R2 + - If preceded by "at", delete if in R2 (and if further preceded by ic, delete if in R2, else replace by iqU). + - eaux + - Replace with eau. + - aux + - Replace with al if in R1. + - euse euses + - Delete if in R2, else replace by eux if in R1. + - issement issements + - Delete if in R1 and preceded by a non-vowel. + - amment + - Replace with ant if in RV. + - emment + - Replace with ent if in RV. + -ment ments + - Delete if preceded by a vowel in RV. + + In steps 2(a) and 2(b) all tests are confined to the RV region. + + Do step 2(a) if either no ending was removed by step 1, or if one of endings amment, emment, ment, ments was found. + + Step 2(a): + + Search for the longest among the following suffixes and if found, delete if preceded by a non-vowel: + + - îmes ît îtes i ie ies ir ira irai iraIent irais irait iras irent irez iriez irions irons iront is issaIent + issais issait issant issante issantes issants isse issent isses issez issiez issions issons it + + (Note that the non-vowel itself must also be in RV). + + Do step 2b if step 2a was done, but failed to remove a suffix. + + Step 2(b): + + Search for the longest among the following suffixes, and perform the action indicated. + - ions + - Delete if in R2. + - é ée ées és èrent er era erai eraIent erais erait eras erez eriez erions erons eront ez iez + - Delete. + - âmes ât âtes a ai aIent ais ait ant ante antes ants as asse assent asses assiez assions + - Delete. + - If preceded by e, delete. + + (Note that the e that may be deleted in this last step must also be in RV). + + If the last step to be obeyed - either step 1, 2a or 2b - altered the word, do step 3. + + Step 3: + + Replace final Y with i or final ç with c. + + Alternatively, if the last step to be obeyed did not alter the word, do step 4. + + Step 4: + + If the word ends s, not preceded by a, i, o, u, è or s, delete it. + + In the rest of step 4, all tests are confined to the RV region. + + Search for the longest among the following suffixes, and perform the action indicated: + - ion + - Delete if in R2 and preceded by s or t. + - ier ière Ier Ière + - Replace with i. + - e + - Delete. + - ë + - If preceded by gu, delete. + + (So note that ion is removed only when it is in R2 - as well as being in RV - + and preceded by s or t which must be in RV). + + Step 5: + + If the word ends enn, onn, ett, ell or eill, then delete the last letter. + + Step 6: + + If the words ends with é or è followed by at least one non-vowel, then remove the accent from the 'e'. + */ + //------------------------------------------------------ + template + class french_stem : public stem + { + public: + french_stem() : m_step_1_successful(false) {} + //--------------------------------------------- + /**@param[in,out] text string to stem*/ + void operator()(string_typeT& text) + { + if (text.length() < 2) + { + return; + } + + //reset internal data + m_step_1_successful = false; + stem::reset_r_values(); + + stem::trim_western_punctuation(text); + stem::hash_french_yui(text, FRENCH_VOWELS); + + stem::find_r1(text, FRENCH_VOWELS); + stem::find_r2(text, FRENCH_VOWELS); + stem::find_french_rv(text, FRENCH_VOWELS); + + size_t length = text.length(); + step_1(text); + if (!m_step_1_successful) + { + step_2a(text); + } + if (length != text.length() ) + { + step_3(text); + } + else + { + step_4(text); + } + step_5(text); + step_6(text); + + stem::unhash_french_yui(text); + } + private: + bool ic_to_iqu(string_typeT& text) + { + if (stem::is_suffix(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) ) + { + if (stem::get_r2() <= text.length()-2) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + return true; + } + else + { + text.erase(text.length()-2); + text += L"iq"; + text += LOWER_U_HASH; + //need to search for r2 again because the 'iq' added here may change that + stem::find_r2(text, FRENCH_VOWELS); + stem::find_french_rv(text, FRENCH_VOWELS); + return true; + } + } + return false; + } + //--------------------------------------------- + void step_1(string_typeT& text) + { + size_t length = text.length(); + if (stem::is_suffix(text,/*issements*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 10 && + stem::get_r1() <= (text.length()-9) && + !string_util::is_one_of(text[text.length()-10], FRENCH_VOWELS) ) + { + text.erase(text.length()-9); + m_step_1_successful = true; + } + return; + } + else if (stem::is_suffix(text,/*issement*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (text.length() >= 9 && + stem::get_r1() <= (text.length()-8) && + !string_util::is_one_of(text[text.length()-9], FRENCH_VOWELS) ) + { + text.erase(text.length()-8); + m_step_1_successful = true; + } + return; + } + //7 + else if (stem::delete_if_is_in_r2(text,/*atrices*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + if (length != text.length() ) + { + ic_to_iqu(text); + m_step_1_successful = true; + } + return; + } + //6 + else if (stem::is_suffix(text,/*amment*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (stem::get_rv() <= (text.length()-6) ) + { + text.replace(text.end()-5, text.end(), L"nt"); + stem::update_r_sections(text); + } + return; + } + else if (stem::is_suffix(text,/*emment*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (stem::get_rv() <= (text.length()-6) ) + { + text.replace(text.end()-5, text.end(), L"nt"); + stem::update_r_sections(text); + } + return; + } + else if (stem::is_suffix(text,/*logies*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (stem::get_r2() <= (text.length()-6) ) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + m_step_1_successful = true; + } + return; + } + else if (stem::delete_if_is_in_r2(text,/*atrice*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) || + stem::delete_if_is_in_r2(text,/*ateurs*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) || + stem::delete_if_is_in_r2(text,/*ations*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + if (length != text.length() ) + { + ic_to_iqu(text); + m_step_1_successful = true; + } + return; + } + else if (stem::is_suffix(text,/*usions*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) || + stem::is_suffix(text,/*utions*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (stem::get_r2() <= (text.length()-6) ) + { + text.erase(text.length()-5); + stem::update_r_sections(text); + m_step_1_successful = true; + } + return; + } + else if (stem::delete_if_is_in_rv(text,/*ements*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + if (stem::delete_if_is_in_r2(text,/*iv*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V) ) + { + stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T); + } + else if (stem::is_suffix(text,/*eus*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (stem::get_r2() <= text.length()-3) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + } + else if (stem::get_r1() <= text.length()-3) + { + text[text.length()-1] = common_lang_constants::LOWER_X; + } + } + else if (stem::delete_if_is_in_r2(text,/*abl*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) + { + //NOOP + } + else if (text.length() >= 3 && + (text[text.length()-3] == common_lang_constants::LOWER_I || text[text.length()-3] == common_lang_constants::UPPER_I) && + (text[text.length()-2] == common_lang_constants::LOWER_Q || text[text.length()-2] == common_lang_constants::UPPER_Q) && + is_either(text[text.length()-1], LOWER_U_HASH, UPPER_U_HASH) ) + { + if (stem::get_r2() <= text.length()-3) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + } + } + else if (stem::is_suffix_in_rv(text,/*ièr*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E_GRAVE, common_lang_constants::UPPER_E_GRAVE, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + else if (text.length() >= 3 && + stem::get_rv() <= (text.length()-3) && + (text[text.length()-2] == common_lang_constants::LOWER_E_GRAVE || text[text.length()-2] == common_lang_constants::UPPER_E_GRAVE) && + (text[text.length()-1] == common_lang_constants::LOWER_R || text[text.length()-1] == common_lang_constants::UPPER_R) && + is_either(text[text.length()-3], LOWER_I_HASH, UPPER_I_HASH) ) + { + text.replace(text.end()-3, text.end(), L"i"); + stem::update_r_sections(text); + } + if (length != text.length() ) + { + m_step_1_successful = true; + } + return; + } + //5 + else if (stem::delete_if_is_in_r2(text,/*ateur*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) || + stem::delete_if_is_in_r2(text,/*ation*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + if (length != text.length() ) + { + ic_to_iqu(text); + m_step_1_successful = true; + } + return; + } + else if (stem::is_suffix(text,/*usion*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix(text,/*ution*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + if (stem::get_r2() <= (text.length()-5) ) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + m_step_1_successful = true; + } + return; + } + else if (stem::is_suffix(text,/*ences*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (stem::get_r2() <= (text.length()-5) ) + { + text.replace(text.end()-3, text.end(), L"t"); + stem::update_r_sections(text); + m_step_1_successful = true; + } + return; + } + else if (stem::delete_if_is_in_r2(text,/*ables*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) || + stem::delete_if_is_in_r2(text,/*istes*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) || + stem::delete_if_is_in_r2(text,/*ismes*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) || + stem::delete_if_is_in_r2(text,/*ances*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + if (length != text.length() ) + { + m_step_1_successful = true; + } + return; + } + else if (text.length() >= 5 && + (text[text.length()-5] == common_lang_constants::LOWER_I || text[text.length()-5] == common_lang_constants::UPPER_I) && + (text[text.length()-4] == common_lang_constants::LOWER_Q || text[text.length()-4] == common_lang_constants::UPPER_Q) && + (text[text.length()-2] == common_lang_constants::LOWER_E || text[text.length()-2] == common_lang_constants::UPPER_E) && + (text[text.length()-1] == common_lang_constants::LOWER_S || text[text.length()-1] == common_lang_constants::UPPER_S) && + is_either(text[text.length()-3], LOWER_U_HASH, UPPER_U_HASH) ) + { + if (stem::get_r2() <= text.length()-5) + { + text.erase(text.length()-5); + stem::update_r_sections(text); + } + if (length != text.length() ) + { + m_step_1_successful = true; + } + return; + } + else if (stem::is_suffix(text,/*logie*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (stem::get_r2() <= (text.length()-5) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + m_step_1_successful = true; + } + return; + } + else if (stem::delete_if_is_in_rv(text,/*ement*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + if (stem::delete_if_is_in_r2(text,/*iv*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, false) ) + { + stem::delete_if_is_in_r2(text, /*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T); + } + else if (stem::is_suffix(text,/*eus*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 3 && + stem::get_r2() <= text.length()-3) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + } + else if (text.length() >= 3 && + stem::get_r1() <= text.length()-3) + { + text[text.length()-1] = common_lang_constants::LOWER_X; + } + } + else if (stem::delete_if_is_in_r2(text,/*abl*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) + { + //NOOP + } + else if (text.length() >= 3 && + (text[text.length()-3] == common_lang_constants::LOWER_I || text[text.length()-3] == common_lang_constants::UPPER_I) && + (text[text.length()-2] == common_lang_constants::LOWER_Q || text[text.length()-2] == common_lang_constants::UPPER_Q) && + is_either(text[text.length()-1], LOWER_U_HASH, UPPER_U_HASH) ) + { + if (stem::get_r2() <= text.length()-3) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + } + } + else if (stem::is_suffix_in_rv(text,/*ièr*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E_GRAVE, common_lang_constants::UPPER_E_GRAVE, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + else if (text.length() >= 3 && + stem::get_rv() <= (text.length()-3) && + (text[text.length()-2] == common_lang_constants::LOWER_E_GRAVE || text[text.length()-2] == common_lang_constants::UPPER_E_GRAVE) && + (text[text.length()-1] == common_lang_constants::LOWER_R || text[text.length()-1] == common_lang_constants::UPPER_R) && + is_either(text[text.length()-3], LOWER_I_HASH, UPPER_I_HASH) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + if (length != text.length() ) + { + m_step_1_successful = true; + } + } + else if (stem::is_suffix(text,/*ments*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + //the proceeding vowel must also be n RV + if (text.length() >= 6 && + stem::get_rv() <= text.length()-6 && + string_util::is_one_of(text[text.length()-6], FRENCH_VOWELS) ) + { + text.erase(text.length()-5); + stem::update_r_sections(text); + } + return; + } + else if (stem::is_suffix(text,/*euses*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (stem::get_r2() <= text.length()-5) + { + text.erase(text.length()-5); + stem::update_r_sections(text); + } + else if (stem::get_r1() <= text.length()-5) + { + text.replace(text.end()-3, text.end(), L"x"); + stem::update_r_sections(text); + } + m_step_1_successful = true; + } + //4 + else if (stem::is_suffix(text,/*euse*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (stem::get_r2() <= text.length()-4) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + } + else if (text.length() >= 4 && + stem::get_r1() <= text.length()-4) + { + text.replace(text.end()-2, text.end(), L"x"); + stem::update_r_sections(text); + } + m_step_1_successful = true; + } + else if (stem::is_suffix(text,/*ment*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + //the proceeding vowel must also be n RV + if (text.length() >= 5 && + stem::get_rv() <= text.length()-5 && + string_util::is_one_of(text[text.length()-5], FRENCH_VOWELS) ) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + } + return; + } + else if (stem::is_suffix(text,/*ence*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (stem::get_r2() <= (text.length()-4) ) + { + text.replace(text.end()-2, text.end(), L"t"); + stem::update_r_sections(text); + m_step_1_successful = true; + } + return; + } + else if (stem::delete_if_is_in_r2(text,/*ance*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) || + stem::delete_if_is_in_r2(text,/*isme*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) || + stem::delete_if_is_in_r2(text,/*able*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) || + stem::delete_if_is_in_r2(text,/*iste*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + if (length != text.length() ) + { + m_step_1_successful = true; + } + return; + } + else if (text.length() >= 4 && + (text[text.length()-4] == common_lang_constants::LOWER_I || text[text.length()-4] == common_lang_constants::UPPER_I) && + (text[text.length()-3] == common_lang_constants::LOWER_Q || text[text.length()-3] == common_lang_constants::UPPER_Q) && + (text[text.length()-1] == common_lang_constants::LOWER_E || text[text.length()-1] == common_lang_constants::UPPER_E) && + is_either(text[text.length()-2], LOWER_U_HASH, UPPER_U_HASH) ) + { + if (stem::get_r2() <= text.length()-4) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + } + if (length != text.length() ) + { + m_step_1_successful = true; + } + return; + } + else if (stem::is_suffix(text,/*eaux*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_X, common_lang_constants::UPPER_X) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + m_step_1_successful = true; + return; + } + else if (stem::delete_if_is_in_r2(text,/*ités*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + if (stem::is_suffix(text,/*abil*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) + { + if (stem::get_r2() <= text.length()-4) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + } + else + { + text.replace(text.end()-2, text.end(), L"l"); + } + } + else if (stem::is_suffix(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) ) + { + if (stem::get_r2() <= text.length()-2) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + else + { + text.erase(text.length()-2); + text += L"iq"; + text += LOWER_U_HASH; + //need to search for r2 again because the 'iq' added here may change that + stem::find_r2(text, FRENCH_VOWELS); + stem::find_french_rv(text, FRENCH_VOWELS); + } + } + else + { + stem::delete_if_is_in_r2(text,/*iv*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V); + } + if (length != text.length() ) + { + m_step_1_successful = true; + } + return; + } + else if (stem::delete_if_is_in_r2(text,/*ives*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + if (stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + ic_to_iqu(text); + } + if (length != text.length() ) + { + m_step_1_successful = true; + } + return; + } + //3 + else if (stem::delete_if_is_in_r2(text,/*ité*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, false) ) + { + if (stem::is_suffix(text,/*abil*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) + { + if (stem::get_r2() <= text.length()-4) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + } + else + { + text.replace(text.end()-2, text.end(), L"l"); + } + } + else if (stem::is_suffix(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) ) + { + if (stem::get_r2() <= text.length()-2) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + else + { + text.erase(text.length()-2); + text += L"iq"; + text += LOWER_U_HASH; + //need to search for r2 again because the 'iq' added here may change that + stem::find_r2(text, FRENCH_VOWELS); + stem::find_french_rv(text, FRENCH_VOWELS); + } + } + else + { + stem::delete_if_is_in_r2(text,/*iv*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V); + } + if (length != text.length() ) + { + m_step_1_successful = true; + } + return; + } + else if (stem::delete_if_is_in_r2(text,/*eux*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_X, common_lang_constants::UPPER_X, false) ) + { + if (length != text.length() ) + { + m_step_1_successful = true; + } + return; + } + else if (stem::is_suffix(text,/*aux*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_X, common_lang_constants::UPPER_X) ) + { + if (stem::get_r1() <= (text.length()-3) ) + { + text.replace(text.end()-2, text.end(), L"l"); + stem::update_r_sections(text); + m_step_1_successful = true; + } + return; + } + else if (stem::delete_if_is_in_r2(text,/*ive*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) || + stem::delete_if_is_in_r2(text,/*ifs*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_F, common_lang_constants::UPPER_F, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + if (stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + ic_to_iqu(text); + } + if (length != text.length() ) + { + m_step_1_successful = true; + } + return; + } + //2 + else if (stem::delete_if_is_in_r2(text,/*if*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_F, common_lang_constants::UPPER_F, false) ) + { + if (stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + ic_to_iqu(text); + } + if (length != text.length() ) + { + m_step_1_successful = true; + } + return; + } + } + //--------------------------------------------- + void step_2a(string_typeT& text) + { + if (text.length() >= 9 && + stem::get_rv() <= (text.length()-8) && + (text[text.length()-8] == common_lang_constants::LOWER_I || text[text.length()-8] == common_lang_constants::UPPER_I) && + (text[text.length()-7] == common_lang_constants::LOWER_S || text[text.length()-7] == common_lang_constants::UPPER_S) && + (text[text.length()-6] == common_lang_constants::LOWER_S || text[text.length()-6] == common_lang_constants::UPPER_S) && + (text[text.length()-5] == common_lang_constants::LOWER_A || text[text.length()-5] == common_lang_constants::UPPER_A) && + (text[text.length()-3] == common_lang_constants::LOWER_E || text[text.length()-3] == common_lang_constants::UPPER_E) && + (text[text.length()-2] == common_lang_constants::LOWER_N || text[text.length()-2] == common_lang_constants::UPPER_N) && + (text[text.length()-1] == common_lang_constants::LOWER_T || text[text.length()-1] == common_lang_constants::UPPER_T) && + is_either(text[text.length()-4], LOWER_I_HASH, UPPER_I_HASH) ) + { + if (stem::get_rv() <= (text.length()-7) && + !string_util::is_one_of(text[text.length()-9], FRENCH_VOWELS) ) + { + text.erase(text.length()-8); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*issantes*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 9 && + stem::get_rv() <= (text.length()-9) && + !string_util::is_one_of(text[text.length()-9], FRENCH_VOWELS) ) + { + text.erase(text.length()-8); + return; + } + } + else if (text.length() >= 8 && + stem::get_rv() <= (text.length()-7) && + (text[text.length()-7] == common_lang_constants::LOWER_I || text[text.length()-7] == common_lang_constants::UPPER_I) && + (text[text.length()-6] == common_lang_constants::LOWER_R || text[text.length()-6] == common_lang_constants::UPPER_R) && + (text[text.length()-5] == common_lang_constants::LOWER_A || text[text.length()-5] == common_lang_constants::UPPER_A) && + (text[text.length()-3] == common_lang_constants::LOWER_E || text[text.length()-3] == common_lang_constants::UPPER_E) && + (text[text.length()-2] == common_lang_constants::LOWER_N || text[text.length()-2] == common_lang_constants::UPPER_N) && + (text[text.length()-1] == common_lang_constants::LOWER_T || text[text.length()-1] == common_lang_constants::UPPER_T) && + is_either(text[text.length()-4], LOWER_I_HASH, UPPER_I_HASH) ) + { + if (stem::get_rv() <= (text.length()-8) && + !string_util::is_one_of(text[text.length()-8], FRENCH_VOWELS) ) + { + text.erase(text.length()-7); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*issante*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (text.length() >= 8 && + stem::get_rv() <= (text.length()-8) && + !string_util::is_one_of(text[text.length()-8], FRENCH_VOWELS) ) + { + text.erase(text.length()-7); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*issants*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 8 && + stem::get_rv() <= (text.length()-8) && + !string_util::is_one_of(text[text.length()-8], FRENCH_VOWELS) ) + { + text.erase(text.length()-7); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*issions*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 8 && + stem::get_rv() <= (text.length()-8) && + !string_util::is_one_of(text[text.length()-8], FRENCH_VOWELS) ) + { + text.erase(text.length()-7); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*irions*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 7 && + stem::get_rv() <= (text.length()-7) && + !string_util::is_one_of(text[text.length()-7], FRENCH_VOWELS) ) + { + text.erase(text.length()-6); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*issais*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 7 && + stem::get_rv() <= (text.length()-7) && + !string_util::is_one_of(text[text.length()-7], FRENCH_VOWELS) ) + { + text.erase(text.length()-6); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*issait*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (text.length() >= 7 && + stem::get_rv() <= (text.length()-7) && + !string_util::is_one_of(text[text.length()-7], FRENCH_VOWELS) ) + { + text.erase(text.length()-6); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*issant*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (text.length() >= 7 && + stem::get_rv() <= (text.length()-7) && + !string_util::is_one_of(text[text.length()-7], FRENCH_VOWELS) ) + { + text.erase(text.length()-6); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*issent*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (text.length() >= 7 && + stem::get_rv() <= (text.length()-7) && + !string_util::is_one_of(text[text.length()-7], FRENCH_VOWELS) ) + { + text.erase(text.length()-6); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*issiez*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z) ) + { + if (text.length() >= 7 && + stem::get_rv() <= (text.length()-7) && + !string_util::is_one_of(text[text.length()-7], FRENCH_VOWELS) ) + { + text.erase(text.length()-6); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*issons*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 7 && + stem::get_rv() <= (text.length()-7) && + !string_util::is_one_of(text[text.length()-7], FRENCH_VOWELS) ) + { + text.erase(text.length()-6); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*irais*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 6 && + stem::get_rv() <= (text.length()-6) && + !string_util::is_one_of(text[text.length()-6], FRENCH_VOWELS) ) + { + text.erase(text.length()-5); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*irait*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (text.length() >= 6 && + stem::get_rv() <= (text.length()-6) && + !string_util::is_one_of(text[text.length()-6], FRENCH_VOWELS) ) + { + text.erase(text.length()-5); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*irent*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (text.length() >= 6 && + stem::get_rv() <= (text.length()-6) && + !string_util::is_one_of(text[text.length()-6], FRENCH_VOWELS) ) + { + text.erase(text.length()-5); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*iriez*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z) ) + { + if (text.length() >= 6 && + stem::get_rv() <= (text.length()-6) && + !string_util::is_one_of(text[text.length()-6], FRENCH_VOWELS) ) + { + text.erase(text.length()-5); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*irons*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 6 && + stem::get_rv() <= (text.length()-6) && + !string_util::is_one_of(text[text.length()-6], FRENCH_VOWELS) ) + { + text.erase(text.length()-5); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*iront*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (text.length() >= 6 && + stem::get_rv() <= (text.length()-6) && + !string_util::is_one_of(text[text.length()-6], FRENCH_VOWELS) ) + { + text.erase(text.length()-5); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*isses*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 6 && + stem::get_rv() <= (text.length()-6) && + !string_util::is_one_of(text[text.length()-6], FRENCH_VOWELS) ) + { + text.erase(text.length()-5); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*issez*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z) ) + { + if (text.length() >= 6 && + stem::get_rv() <= (text.length()-6)&& + !string_util::is_one_of(text[text.length()-6], FRENCH_VOWELS) ) + { + text.erase(text.length()-5); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*îmes*/common_lang_constants::LOWER_I_CIRCUMFLEX, common_lang_constants::UPPER_I_CIRCUMFLEX, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 5 && + stem::get_rv() <= (text.length()-5) && + !string_util::is_one_of(text[text.length()-5], FRENCH_VOWELS) ) + { + text.erase(text.length()-4); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*îtes*/common_lang_constants::LOWER_I_CIRCUMFLEX, common_lang_constants::UPPER_I_CIRCUMFLEX, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 5 && + stem::get_rv() <= (text.length()-5) && + !string_util::is_one_of(text[text.length()-5], FRENCH_VOWELS) ) + { + text.erase(text.length()-4); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*irai*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (text.length() >= 5 && + stem::get_rv() <= (text.length()-5) && + !string_util::is_one_of(text[text.length()-5], FRENCH_VOWELS) ) + { + text.erase(text.length()-4); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*iras*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 5 && + stem::get_rv() <= (text.length()-5) && + !string_util::is_one_of(text[text.length()-5], FRENCH_VOWELS) ) + { + text.erase(text.length()-4); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*irez*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z) ) + { + if (text.length() >= 5 && + stem::get_rv() <= (text.length()-5) && + !string_util::is_one_of(text[text.length()-5], FRENCH_VOWELS) ) + { + text.erase(text.length()-4); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*isse*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (text.length() >= 5 && + stem::get_rv() <= (text.length()-5) && + !string_util::is_one_of(text[text.length()-5], FRENCH_VOWELS) ) + { + text.erase(text.length()-4); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*ies*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 4 && + stem::get_rv() <= (text.length()-4) && + !string_util::is_one_of(text[text.length()-4], FRENCH_VOWELS) ) + { + text.erase(text.length()-3); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*ira*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (text.length() >= 4 && + stem::get_rv() <= (text.length()-4) && + !string_util::is_one_of(text[text.length()-4], FRENCH_VOWELS) ) + { + text.erase(text.length()-3); + return; + } + } + else if (stem::is_suffix_in_rv(text, common_lang_constants::LOWER_I_CIRCUMFLEX, common_lang_constants::UPPER_I_CIRCUMFLEX, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (text.length() >= 3 && + stem::get_rv() <= text.length()-3 && + !string_util::is_one_of(text[text.length()-3], FRENCH_VOWELS) ) + { + text.erase(text.length()-2); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*ie*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (text.length() >= 3 && + stem::get_rv() <= text.length()-3 && + !string_util::is_one_of(text[text.length()-3], FRENCH_VOWELS) ) + { + text.erase(text.length()-2); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*ir*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) + { + if (text.length() >= 3 && + stem::get_rv() <= text.length()-3 && + !string_util::is_one_of(text[text.length()-3], FRENCH_VOWELS) ) + { + text.erase(text.length()-2); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*is*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 3 && + stem::get_rv() <= (text.length()-3) && + !string_util::is_one_of(text[text.length()-3], FRENCH_VOWELS) ) + { + text.erase(text.length()-2); + return; + } + } + else if (stem::is_suffix_in_rv(text,/*it*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (text.length() >= 3 && + stem::get_rv() <= (text.length()-3) && + !string_util::is_one_of(text[text.length()-3], FRENCH_VOWELS) ) + { + text.erase(text.length()-2); + return; + } + } + else if (stem::is_suffix_in_rv(text, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (text.length() >= 2 && + stem::get_rv() <= (text.length()-2) && + !string_util::is_one_of(text[text.length()-2], FRENCH_VOWELS) ) + { + text.erase(text.length()-1); + return; + } + } + //only called if 2a fails to remove a suffix + step_2b(text); + } + //--------------------------------------------- + void step_2b(string_typeT& text) + { + if (stem::delete_if_is_in_rv(text,/*assions*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*assent*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*assiez*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (text.length() >= 7 && + stem::get_rv() <= (text.length()-7) && + (text[text.length()-7] == common_lang_constants::LOWER_E || text[text.length()-7] == common_lang_constants::UPPER_E) && + (text[text.length()-6] == common_lang_constants::LOWER_R || text[text.length()-6] == common_lang_constants::UPPER_R) && + (text[text.length()-5] == common_lang_constants::LOWER_A || text[text.length()-5] == common_lang_constants::UPPER_A) && + (text[text.length()-3] == common_lang_constants::LOWER_E || text[text.length()-3] == common_lang_constants::UPPER_E) && + (text[text.length()-2] == common_lang_constants::LOWER_N || text[text.length()-2] == common_lang_constants::UPPER_N) && + (text[text.length()-1] == common_lang_constants::LOWER_T || text[text.length()-1] == common_lang_constants::UPPER_T) && + is_either(text[text.length()-4], LOWER_I_HASH, UPPER_I_HASH) ) + { + text.erase(text.length()-7); + return; + } + else if (stem::delete_if_is_in_rv(text,/*erions*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (text.length() >= 5 && + stem::get_rv() <= (text.length()-5) && + (text[text.length()-5] == common_lang_constants::LOWER_A || text[text.length()-5] == common_lang_constants::UPPER_A) && + (text[text.length()-3] == common_lang_constants::LOWER_E || text[text.length()-3] == common_lang_constants::UPPER_E) && + (text[text.length()-2] == common_lang_constants::LOWER_N || text[text.length()-2] == common_lang_constants::UPPER_N) && + (text[text.length()-1] == common_lang_constants::LOWER_T || text[text.length()-1] == common_lang_constants::UPPER_T) && + is_either(text[text.length()-4], LOWER_I_HASH, UPPER_I_HASH) ) + { + text.erase(text.length()-5); + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*antes*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*asses*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*èrent*/common_lang_constants::LOWER_E_GRAVE, common_lang_constants::UPPER_E_GRAVE, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erais*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erait*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*eriez*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erons*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*eront*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + return; + } + else if (stem::is_suffix_in_r1(text,/*ions*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) && + stem::delete_if_is_in_r2(text,/*ions*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*âmes*/common_lang_constants::LOWER_A_CIRCUMFLEX, common_lang_constants::UPPER_A_CIRCUMFLEX, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*âtes*/common_lang_constants::LOWER_A_CIRCUMFLEX, common_lang_constants::UPPER_A_CIRCUMFLEX, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*ante*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*ants*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*asse*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*erai*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*eras*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erez*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ais*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*ait*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*ant*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*ées*/common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*era*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iez*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ât*/common_lang_constants::LOWER_A_CIRCUMFLEX, common_lang_constants::UPPER_A_CIRCUMFLEX, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*ai*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*as*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*ée*/common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*és*/common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*er*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ez*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E); + return; + } + else if (stem::delete_if_is_in_rv(text,/*é*/common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, false) ) + { + return; + } + } + //--------------------------------------------- + void step_3(string_typeT& text) + { + if (text.length() == 0) + { return; } + if (text[text.length()-1] == LOWER_Y_HASH) + { + text[text.length()-1] = common_lang_constants::LOWER_I; + } + else if (text[text.length()-1] == UPPER_Y_HASH) + { + text[text.length()-1] = common_lang_constants::UPPER_I; + } + else if (text[text.length()-1] == common_lang_constants::UPPER_C_CEDILLA) + { + text[text.length()-1] = common_lang_constants::UPPER_C; + } + else if (text[text.length()-1] == common_lang_constants::LOWER_C_CEDILLA) + { + text[text.length()-1] = common_lang_constants::LOWER_C; + } + } + //--------------------------------------------- + void step_4(string_typeT& text) + { + if (text.length() >= 2 && + (text[text.length()-1] == common_lang_constants::LOWER_S || text[text.length()-1] == common_lang_constants::UPPER_S) && + !string_util::is_one_of(text[text.length()-2], FRENCH_AIOUES) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + + if (stem::is_suffix_in_rv(text,/*ière*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E_GRAVE, common_lang_constants::UPPER_E_GRAVE, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + text.replace(text.end()-4, text.end(), L"i"); + stem::update_r_sections(text); + return; + } + else if (text.length() >= 4 && + stem::get_rv() <= (text.length()-4) && + (text[text.length()-3] == common_lang_constants::LOWER_E_GRAVE || text[text.length()-3] == common_lang_constants::UPPER_E_GRAVE) && + (text[text.length()-2] == common_lang_constants::LOWER_R || text[text.length()-2] == common_lang_constants::UPPER_R) && + (text[text.length()-1] == common_lang_constants::LOWER_E || text[text.length()-1] == common_lang_constants::UPPER_E) && + is_either(text[text.length()-4], LOWER_I_HASH, UPPER_I_HASH) ) + { + text.replace(text.end()-4, text.end(), L"i"); + stem::update_r_sections(text); + return; + } + else if (stem::is_suffix_in_rv(text,/*ier*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) + { + text.replace(text.end()-3, text.end(), L"i"); + stem::update_r_sections(text); + return; + } + else if (text.length() >= 3 && + stem::get_rv() <= (text.length()-3) && + (text[text.length()-2] == common_lang_constants::LOWER_E || text[text.length()-2] == common_lang_constants::UPPER_E) && + (text[text.length()-1] == common_lang_constants::LOWER_R || text[text.length()-1] == common_lang_constants::UPPER_R) && + is_either(text[text.length()-3], LOWER_I_HASH, UPPER_I_HASH) ) + { + text.replace(text.end()-3, text.end(), L"i"); + stem::update_r_sections(text); + return; + } + else if (stem::is_suffix_in_rv(text,/*sion*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix_in_rv(text,/*tion*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + if (text.length() >= 3 && + stem::get_r2() <= text.length()-3) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + } + return; + } + else if (stem::is_suffix_in_rv(text,/*ë*/common_lang_constants::LOWER_E_UMLAUTS, common_lang_constants::UPPER_E_UMLAUTS) ) + { + if (text.length() >= 3 && + (is_either(text[text.length()-3], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) && + is_either(text[text.length()-2], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) ) + { + text.erase(text.length()-1); + } + return; + } + else if (stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + return; + } + } + //--------------------------------------------- + void step_5(string_typeT& text) + { + if (stem::is_suffix(text,/*enn*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix(text,/*onn*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::is_suffix(text,/*ett*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) || + stem::is_suffix(text,/*ell*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) || + stem::is_suffix(text,/*eill*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + } + //--------------------------------------------- + void step_6(string_typeT& text) + { + size_t last_vowel = text.find_last_of(FRENCH_VOWELS); + if (last_vowel == string_typeT::npos || + last_vowel == text.length()-1) + { + return; + } + else if (is_either(text[last_vowel], 0xE9, 0xE8) || + is_either(text[last_vowel], 0xC9, 0xC8) ) + { + text[last_vowel] = common_lang_constants::LOWER_E; + } + } + + //internal data specific to French stemmer + bool m_step_1_successful; + }; + } + +/** @}*/ + +#endif //__FRENCH_STEM_H__ diff --git a/stemming/german_stem.h b/stemming/german_stem.h new file mode 100755 index 0000000..bb255b3 --- /dev/null +++ b/stemming/german_stem.h @@ -0,0 +1,280 @@ +/**@addtogroup Stemming +@brief Library for stemming words down to their root words. +@date 2003-2015 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ + +#ifndef __GERMAN_STEM_H__ +#define __GERMAN_STEM_H__ + +#include "stemming.h" + +namespace stemming + { + /** + @brief German stemmer. + @date 2004 + @par Algorithm: + + German includes the following accented forms, + -ä ö ü and a special letter, ß, equivalent to double s. + + The following letters are vowels: + -a e i o u y ä ö ü + + @par Algorithm: + + Step 1: + + Search for the longest among the following suffixes: + - e em en ern er es + - s (preceded by a valid s-ending) + and delete if in R1. (Of course the letter of the valid s-ending is not necessarily in R1). + + (For example, äckern -> äck, ackers -> acker, armes -> arm). + + Step 2: + + Search for the longest among the following suffixes: + - en er est + - st (preceded by a valid st-ending, itself preceded by at least 3 letters) + and delete if in R1. + + (For example, derbsten -> derbst by step 1, and derbst -> derb by step 2, + because b is a valid st-ending, and is preceded by just 3 letters). + + Step 3: + + Search for the longest among the following suffixes, and perform the action indicated. + - end ung + - Delete if in R2 + - If preceded by ig, delete if in R2 and not preceded by e + + - ig ik isch + - Delete if in R2 and not preceded by e + + - lich heit + - Delete if in R2 + - If preceded by er or en, delete if in R1 + + - keit + - Delete if in R2 + - If preceded by lich or ig, delete if in R2 + */ + //------------------------------------------------------ + template + class german_stem : public stem + { + public: + //--------------------------------------------- + /**@param[in,out] text string to stem. + @param transliterate_umlauts Set to true to use the variant algorithm + that expands "ä" to "ae", etc...*/ + void operator()(string_typeT& text, + bool transliterate_umlauts = false) + { + if (text.length() < 2) + { + stem::remove_german_umlauts(text); + return; + } + + //reset internal data + stem::reset_r_values(); + + stem::trim_western_punctuation(text); + + stem::hash_german_yu(text, GERMAN_VOWELS); + //change 'ß' to "ss" + string_util::replace_all(text, string_typeT(1, common_lang_constants::ESZETT), L"ss"); + //German variant addition + if (transliterate_umlauts) + { + string_util::replace_all(text, L"ae", string_typeT(1, common_lang_constants::LOWER_A_UMLAUTS)); + string_util::replace_all(text, L"oe", string_typeT(1, common_lang_constants::LOWER_O_UMLAUTS)); + //ue to ü, if not in front of 'q' + size_t start = 1; + while (start != string_typeT::npos) + { + start = text.find(L"ue", start); + if (start == string_typeT::npos || + is_either(text[start-1], common_lang_constants::LOWER_Q, common_lang_constants::UPPER_Q) ) + { + break; + } + text.replace(start, 2, string_typeT(1, common_lang_constants::LOWER_U_UMLAUTS)); + } + } + + stem::find_r1(text, GERMAN_VOWELS); + if (stem::get_r1() == text.length() ) + { + stem::remove_german_umlauts(text); + stem::unhash_german_yu(text); + return; + } + stem::find_r2(text, GERMAN_VOWELS); + //R1 must have at least 3 characters in front of it + if (stem::get_r1() < 3) + { + stem::set_r1(3); + } + + step_1(text); + step_2(text); + step_3(text); + + //unhash special 'u' and 'y' back, and remove the umlaut accent from a, o and u. + stem::remove_german_umlauts(text); + stem::unhash_german_yu(text); + } + private: + //--------------------------------------------- + void step_1(string_typeT& text) + { + if (stem::delete_if_is_in_r1(text,/*ern*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*er*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*es*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*en*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*em*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + return; + } + ///Define a valid s-ending as one of b, d, f, g, h, k, l, m, n, r or t. + else if (stem::is_suffix_in_r1(text, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (string_util::is_one_of(text[text.length()-2], L"bdfghklmnrtBDFGHKLMNRT") ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + return; + } + } + //--------------------------------------------- + void step_2(string_typeT& text) + { + if (stem::delete_if_is_in_r1(text,/*est*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*er*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*en*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + return; + } + ///Define a valid st-ending as the same list, excluding letter r. + else if (text.length() >= 6 && + stem::is_suffix_in_r1(text,/*st*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (string_util::is_one_of(text[text.length()-3], L"bdfghklmntBDFGHKLMNT") ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + return; + } + } + //--------------------------------------------- + void step_3(string_typeT& text) + { + if (stem::delete_if_is_in_r2(text,/*heit*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) || + stem::delete_if_is_in_r2(text,/*lich*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_H, common_lang_constants::UPPER_H) ) + { + if (stem::delete_if_is_in_r1(text,/*er*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) || + stem::delete_if_is_in_r1(text,/*en*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + return; + } + return; + } + else if (stem::delete_if_is_in_r2(text,/*keit*/common_lang_constants::LOWER_K, common_lang_constants::UPPER_K, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + if (stem::delete_if_is_in_r2(text,/*lich*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_H, common_lang_constants::UPPER_H) || + stem::delete_if_is_in_r2(text,/*ig*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) + { + return; + } + return; + } + else if (stem::is_suffix(text,/*isch*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_H, common_lang_constants::UPPER_H) ) + { + if (text.length() >= 5 && + stem::get_r2() <= (text.length()-4) && + is_neither(text[text.length()-5], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + } + } + else if (stem::delete_if_is_in_r2(text,/*end*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) ) + { + if (text.length() >= 3 && + stem::is_suffix_in_r2(text,/*ig*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) && + is_neither(text[text.length()-3], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + return; + } + else if (stem::delete_if_is_in_r2(text,/*ung*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) + { + if (text.length() >= 3 && + stem::is_suffix_in_r2(text,/*ig*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) && + is_neither(text[text.length()-3], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + return; + } + else if (stem::is_suffix(text,/*ig*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) + { + if (text.length() >= 3 && + stem::get_r2() <= text.length()-2 && + is_neither(text[text.length()-3], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + } + else if (stem::is_suffix(text,/*ik*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_K, common_lang_constants::UPPER_K) ) + { + if (text.length() >= 3 && + stem::get_r2() <= text.length()-2 && + is_neither(text[text.length()-3], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + } + } + } + }; + } + +/** @}*/ + +#endif //__GERMAN_STEM_H__ diff --git a/stemming/italian_stem.h b/stemming/italian_stem.h new file mode 100755 index 0000000..a87f28e --- /dev/null +++ b/stemming/italian_stem.h @@ -0,0 +1,902 @@ +/**@addtogroup Stemming +@brief Library for stemming words down to their root words. +@date 2003-2015 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ + +#ifndef __ITALIAN_STEM_H__ +#define __ITALIAN_STEM_H__ + +#include "stemming.h" + +namespace stemming + { + /** + @brief Italian stemmer. + @date 2004 + @par Algorithm: + + Italian can include the following accented forms: + - á é í ó ú à è ì ò ù + + First, replace all acute accents by grave accents. + And, as in French, put u after q, and u, i between vowels into upper case. The vowels are then: + - a e i o u à è ì ò ù + + R2 and RV have the same definition as in the Spanish stemmer. + + @par Algorithm: + + Step 0: + + Search for the longest among the following suffixes + - ci gli la le li lo mi ne si ti vi sene gliela gliele glieli glielo gliene mela + mele meli melo mene tela tele teli telo tene cela cele celi celo cene vela vele veli velo vene + + following one of: + - ando endo + - ar er ir + + in RV. In case of (a) the suffix is deleted, in case (b) it is replace by e + (guardandogli -> guardando, accomodarci -> accomodare). + + Step 1: + + Search for the longest among the following suffixes, and perform the action indicated. + - anza anze ico ici ica ice iche ichi ismo ismi abile abili ibile + ibili ista iste isti istà istè istì oso osi osa ose mente atrice + atrici ante anti + - Delete if in R2. + - azione azioni atore atori delete if in R2 + - If preceded by ic, delete if in R2. + - logia logie + - Replace with log if in R2. + - uzione uzioni usione usioni + - Replace with u if in R2. + - enza enze + - Replace with ente if in R2. + - amento amenti imento imenti + - Delete if in RV. + - amente + - Delete if in R1. + - If preceded by iv, delete if in R2 (and if further preceded by at, delete if in R2), otherwise, + - If preceded by os, ic or abil, delete if in R2. + - ità + - Delete if in R2. + - If preceded by abil, ic or iv, delete if in R2. + - ivo ivi iva ive + - Delete if in R2. + - If preceded by at, delete if in R2 (and if further preceded by ic, delete if in R2). + + Do step 2 if no ending was removed by step 1. + + Step 2: + Search for the longest among the following suffixes in RV, and if found, delete. + - ammo ando ano are arono asse assero assi assimo ata ate ati ato + ava avamo avano avate avi avo emmo enda ende endi endo erà erai + eranno ere erebbe erebbero erei eremmo eremo ereste eresti erete + erò erono essero ete eva evamo evano evate evi evo Yamo iamo immo + irà irai iranno ire irebbe irebbero irei iremmo iremo ireste iresti + irete irò irono isca iscano isce isci isco iscono issero ita ite iti + ito iva ivamo ivano ivate ivi ivo ono uta ute uti uto ar ir + + Always do steps 3a and 3b. + + Step 3(a): + + Delete a final a, e, i, o, à, è, ì, or ò if it is in RV, and a preceding 'i' + if it is in RV (crocchi -> crocch, crocchio -> crocch). + + Step 3(b): + + Replace final ch (or gh) with c (or g) if in RV (crocch -> crocc). + */ + //------------------------------------------------------ + template + class italian_stem : public stem + { + public: + //--------------------------------------------- + ///@param[in,out] text string to stem + void operator()(string_typeT& text) + { + if (text.length() < 3) + { + stem::italian_acutes_to_graves(text); + return; + } + + //reset internal data + stem::reset_r_values(); + + stem::trim_western_punctuation(text); + stem::italian_acutes_to_graves(text); + stem::hash_italian_ui(text, ITALIAN_VOWELS); + + stem::find_r1(text, ITALIAN_VOWELS); + stem::find_r2(text, ITALIAN_VOWELS); + stem::find_spanish_rv(text, ITALIAN_VOWELS); + + //step 0: + step_0(text); + //step 1: + size_t text_length = text.length(); + step_1(text); + + //step 2 is called only if step 1 did not remove a suffix + if (text_length == text.length() ) + { + step_2(text); + } + + //step 3: + step_3a(text); + step_3b(text); + + stem::unhash_italian_ui(text); + } + private: + //--------------------------------------------- + void step_0(string_typeT& text) + { + if (stem::is_suffix(text,/*gliela*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (step_0a(text, 6) || step_0b(text, 6) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*gliele*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (step_0a(text, 6) || step_0b(text, 6) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*glieli*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (step_0a(text, 6) || step_0b(text, 6) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*glielo*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + if (step_0a(text, 6) || step_0b(text, 6) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*gliene*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (step_0a(text, 6) || step_0b(text, 6) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*sene*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*mela*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*mele*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*meli*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*melo*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*mene*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*tela*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*tele*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*teli*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*telo*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*tene*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*cela*/common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*cela*/common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*celi*/common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*celo*/common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*cene*/common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*vela*/common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*vele*/common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*veli*/common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*velo*/common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*vene*/common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (step_0a(text, 4) || step_0b(text, 4) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*gli*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (step_0a(text, 3) || step_0b(text, 3) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*ci*/common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (step_0a(text, 2) || step_0b(text, 2) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*la*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (step_0a(text, 2) || step_0b(text, 2) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*le*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (step_0a(text, 2) || step_0b(text, 2) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*li*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (step_0a(text, 2) || step_0b(text, 2) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*lo*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + if (step_0a(text, 2) || step_0b(text, 2) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*mi*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (step_0a(text, 2) || step_0b(text, 2) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*ne*/common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (step_0a(text, 2) || step_0b(text, 2) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*si*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (step_0a(text, 2) || step_0b(text, 2) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*ti*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (step_0a(text, 2) || step_0b(text, 2) ) { /*NOOP*/ } + return; + } + else if (stem::is_suffix(text,/*vi*/common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + if (step_0a(text, 2) || step_0b(text, 2) ) { /*NOOP*/ } + return; + } + } + //--------------------------------------------- + bool step_0a(string_typeT& text, size_t suffix_length) + { + if (text.length() >= (suffix_length+4) && + stem::get_rv() <= text.length()-(4+suffix_length) && + (/*ando*/(is_either(text[text.length()-(4+suffix_length)], common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && + is_either(text[text.length()-(3+suffix_length)], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) && + is_either(text[text.length()-(1+suffix_length)], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) || + /*endo*/(is_either(text[text.length()-(4+suffix_length)], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[text.length()-(3+suffix_length)], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) && + is_either(text[text.length()-(1+suffix_length)], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) ) ) + { + text.erase(text.length()-suffix_length); + stem::update_r_sections(text); + return true; + } + return false; + } + //--------------------------------------------- + bool step_0b(string_typeT& text, size_t suffix_length) + { + if ((text.length() >= suffix_length+2) && + stem::get_rv() <= (text.length()-(2+suffix_length)) && + ( + /*ar*/(is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && is_either(text[text.length()-1-suffix_length], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) || + /*er*/(is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && is_either(text[text.length()-1-suffix_length], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) || + /*or*/(is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && is_either(text[text.length()-1-suffix_length], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) + ) ) + { + text.replace(text.end()-suffix_length, text.end(), L"e"); + stem::update_r_sections(text); + return true; + } + return false; + } + //--------------------------------------------- + void step_1(string_typeT& text) + { + if (stem::delete_if_is_in_rv(text,/*amento*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) || + stem::delete_if_is_in_rv(text,/*amenti*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::delete_if_is_in_rv(text,/*imento*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) || + stem::delete_if_is_in_rv(text,/*imenti*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + return; + } + else if (stem::delete_if_is_in_r2(text,/*azione*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C); + return; + } + else if (stem::delete_if_is_in_r2(text,/*azioni*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C); + return; + } + else if (stem::is_suffix_in_r2(text,/*uzione*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::is_suffix_in_r2(text,/*uzioni*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::is_suffix_in_r2(text,/*usione*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::is_suffix_in_r2(text,/*usioni*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + text.erase(text.length()-5); + stem::update_r_sections(text); + return; + } + else if (stem::delete_if_is_in_r1(text,/*amente*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (stem::delete_if_is_in_r2(text,/*iv*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V) ) + { + stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T); + } + else if (stem::delete_if_is_in_r2(text,/*abil*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) || + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) || + stem::delete_if_is_in_r2(text,/*os*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { /*NOOP*/ } + return; + } + else if (stem::delete_if_is_in_r2(text,/*atrice*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::delete_if_is_in_r2(text,/*atrici*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + return; + } + else if (stem::delete_if_is_in_r2(text,/*abile*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::delete_if_is_in_r2(text,/*abili*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::delete_if_is_in_r2(text,/*ibile*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::delete_if_is_in_r2(text,/*ibili*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::delete_if_is_in_r2(text,/*mente*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + return; + } + else if (stem::delete_if_is_in_r2(text,/*atore*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C); + return; + } + else if (stem::delete_if_is_in_r2(text,/*atori*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C); + return; + } + else if (stem::is_suffix_in_r2(text,/*logia*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || + stem::is_suffix_in_r2(text,/*logie*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + return; + } + else if (stem::is_suffix_in_r2(text,/*enza*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || + stem::is_suffix_in_r2(text,/*enze*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + text.replace(text.end()-2, text.end(), L"te"); + stem::update_r_sections(text); + return; + } + else if (stem::delete_if_is_in_r2(text,/*ante*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::delete_if_is_in_r2(text,/*anti*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::delete_if_is_in_r2(text,/*anza*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || + stem::delete_if_is_in_r2(text,/*anze*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::delete_if_is_in_r2(text,/*iche*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::delete_if_is_in_r2(text,/*ichi*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::delete_if_is_in_r2(text,/*ismo*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) || + stem::delete_if_is_in_r2(text,/*ismi*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::delete_if_is_in_r2(text,/*ista*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || + stem::delete_if_is_in_r2(text,/*iste*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::delete_if_is_in_r2(text,/*isti*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::delete_if_is_in_r2(text,/*istà*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A_GRAVE, common_lang_constants::UPPER_A_GRAVE) || + stem::delete_if_is_in_r2(text,/*istè*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E_GRAVE, common_lang_constants::UPPER_E_GRAVE) || + stem::delete_if_is_in_r2(text,/*istì*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I_GRAVE, common_lang_constants::UPPER_I_GRAVE) ) + { + return; + } + else if (stem::delete_if_is_in_r2(text,/*ico*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + return; + } + else if (stem::delete_if_is_in_r2(text,/*ici*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + return; + } + else if (stem::delete_if_is_in_r2(text,/*ica*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + return; + } + else if (stem::delete_if_is_in_r2(text,/*ice*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + return; + } + else if (stem::delete_if_is_in_r2(text,/*oso*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + return; + } + else if (stem::delete_if_is_in_r2(text,/*osi*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + return; + } + else if (stem::delete_if_is_in_r2(text,/*osa*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + return; + } + else if (stem::delete_if_is_in_r2(text,/*ose*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + return; + } + else if (stem::delete_if_is_in_r2(text,/*ità*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A_GRAVE, common_lang_constants::UPPER_A_GRAVE) ) + { + if (stem::delete_if_is_in_r2(text,/*abil*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) || + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) || + stem::delete_if_is_in_r2(text,/*iv*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V) ) + { /*NOOP*/ } + return; + } + else if (stem::delete_if_is_in_r2(text,/*ivo*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) || + stem::delete_if_is_in_r2(text,/*ivi*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) || + stem::delete_if_is_in_r2(text,/*iva*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || + stem::delete_if_is_in_r2(text,/*ive*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C); + } + return; + } + } + //--------------------------------------------- + void step_2(string_typeT& text) + { + if (stem::delete_if_is_in_rv(text,/*erebbero*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*irebbero*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*assero*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*assimo*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*eranno*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erebbe*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*eremmo*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ereste*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*eresti*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*essero*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iranno*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*irebbe*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iremmo*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ireste*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iresti*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iscano*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iscono*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*issero*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*arono*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*avamo*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*avano*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*avate*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*eremo*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erete*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erono*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*evamo*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*evano*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*evate*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iremo*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*irete*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*irono*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ivamo*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ivano*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ivate*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ammo*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ando*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text, /*asse*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*assi*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*emmo*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*enda*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ende*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*endi*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*endo*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erai*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erei*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*yamo*/common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iamo*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*immo*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*irai*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*irei*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*isca*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*isce*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*isci*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*isco*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ano*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*are*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ata*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ate*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ati*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ato*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ava*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*avi*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*avo*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erà*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_GRAVE, common_lang_constants::UPPER_A_GRAVE, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ere*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erò*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O_GRAVE, common_lang_constants::UPPER_O_GRAVE, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ete*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*eva*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*evi*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*evo*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*irà*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_GRAVE, common_lang_constants::UPPER_A_GRAVE, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ire*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*irò*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O_GRAVE, common_lang_constants::UPPER_O_GRAVE, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ita*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ite*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iti*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ito*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iva*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ivi*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ivo*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ono*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*uta*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ute*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*uti*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*uto*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ar*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + return; + } + ///'ir' not in original specification, but used in general implementation + else if (stem::delete_if_is_in_rv(text,/*ir*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + return; + } + /**deletion or 'er' from rv is considered problematic, + but part of the standard*/ + } + //--------------------------------------------- + void step_3a(string_typeT& text) + { + if (text.length() >= 1 && + stem::get_rv() <= text.length()-1 && + string_util::is_one_of(text[text.length()-1], ITALIAN_VOWELS_SIMPLE) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + if (stem::get_rv() <= text.length()-1 && + is_either(text[text.length()-1], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + } + } + //--------------------------------------------- + void step_3b(string_typeT& text) + { + if (stem::is_suffix_in_rv(text,/*ch*/common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_H, common_lang_constants::UPPER_H) || + stem::is_suffix_in_rv(text,/*gh*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_H, common_lang_constants::UPPER_H) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + } + }; + } + +/** @}*/ + +#endif //__ITALIAN_STEM_H__ diff --git a/stemming/norwegian_stem.h b/stemming/norwegian_stem.h new file mode 100755 index 0000000..5962c3f --- /dev/null +++ b/stemming/norwegian_stem.h @@ -0,0 +1,308 @@ +/**@addtogroup Stemming +@brief Library for stemming words down to their root words. +@date 2003-2015 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ + +#ifndef __NORWEGIAN_STEM_H__ +#define __NORWEGIAN_STEM_H__ + +#include "stemming.h" + +namespace stemming + { + /** + @brief Norwegian stemmer. + @date 2004 + @par Algorithm: + + The Norwegian alphabet includes the following additional letters: + - æ å ø + + The following letters are vowels: + - a e i o u y æ å ø + + R2 is not used: R1 is defined in the same way as in the German stemmer. + + Define a valid s-ending as one of + - b c d f g h j l m n o p r t v y z, + - or 'k', not preceded by a vowel. + + @par Algorithm: + + Step 1: + + Search for the longest among the following suffixes in R1, and perform the action indicated: + - a e ede ande ende ane ene hetene en heten ar er heter as es edes + endes enes hetenes ens hetens ers ets et het ast + - Delete. + - s + - Delete if preceded by a valid s-ending. + + - erte ert + - Replace with "er". + + (Of course the letter of the valid s-ending is not necessarily in R1). + + Step 2: + + If the word ends dt or vt in R1, then delete the 't'. + (For example, meldt -> meld, operativt -> operativ). + + Step 3: + + Search for the longest among the following suffixes in R1, and if found, delete: + - leg eleg ig eig lig elig els lov elov slov hetslov + */ + //------------------------------------------------------ + template + class norwegian_stem : public stem + { + public: + //--------------------------------------------- + /**@param[in,out] text string to stem*/ + void operator()(string_typeT& text) + { + if (text.length() < 3) + { + return; + } + stem::trim_western_punctuation(text); + + //reset internal data + stem::reset_r_values(); + + stem::find_r1(text, NORWEGIAN_VOWELS); + if (stem::get_r1() == text.length() ) + { + return; + } + //R1 must have at least 3 characters in front of it + if (stem::get_r1() < 3) + { + stem::set_r1(3); + } + //norwegian does not use R2 + + step_1(text); + step_2(text); + step_3(text); + } + private: + //--------------------------------------------- + void step_1(string_typeT& text) + { + if (stem::delete_if_is_in_r1(text,/*hetenes*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*hetene*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*hetens*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*heter*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*heten*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*endes*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ande*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ende*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*edes*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*enes*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + if (stem::is_suffix_in_r1(text,/*erte*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + return; + } + else if (stem::delete_if_is_in_r1(text,/*ers*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ets*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*het*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ast*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ens*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ene*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ane*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ede*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::is_suffix_in_r1(text,/*ert*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + return; + } + else if (stem::delete_if_is_in_r1(text,/*et*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*es*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*as*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ar*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*er*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*en*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::is_suffix_in_r1(text, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (stem::get_r1() <= text.length()-1) + { + //only delete if a valid "s" ending + if (text.length() >= 2 && + string_util::is_one_of(text[text.length()-2], + L"bcdfghjlmnoprtvyzBCDFGHJLMNOPRTVYZ") ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + return; + } + else if (text.length() >= 3 && + is_either(text[text.length()-2], common_lang_constants::LOWER_K, common_lang_constants::UPPER_K) && + !string_util::is_one_of(text[text.length()-3], NORWEGIAN_VOWELS)) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + return; + } + } + } + } + + //--------------------------------------------- + void step_2(string_typeT& text) + { + if (stem::is_suffix_in_r1(text,/*dt*/common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + return; + } + else if (stem::is_suffix_in_r1(text,/*vt*/common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + return; + } + } + //--------------------------------------------- + void step_3(string_typeT& text) + { + if (stem::delete_if_is_in_r1(text,/*hetslov*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*slov*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*elov*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*elig*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*eleg*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*lov*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*els*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*lig*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*eig*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*leg*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ig*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, false) ) + { + return; + } + } + }; + } + +/** @}*/ + +#endif //__NORWEGIAN_STEM_H__ diff --git a/stemming/portuguese_stem.h b/stemming/portuguese_stem.h new file mode 100755 index 0000000..a1b01c5 --- /dev/null +++ b/stemming/portuguese_stem.h @@ -0,0 +1,1016 @@ +/**@addtogroup Stemming +@brief Library for stemming words down to their root words. +@date 2003-2015 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ + +#ifndef __PORTUGUESE_STEM_H__ +#define __PORTUGUESE_STEM_H__ + +#include "stemming.h" + +namespace stemming + { + /** + @brief Portuguese stemmer. + @date 2004 + @par Algorithm: + + Letters in Portuguese include the following accented forms, + - á é í ó ú â ê ô ç ã õ ü ñ + + The following letters are vowels: + - a e i o u á é í ó ú â ê ô + + And the two nasalised vowel forms + - ã õ + + should be treated as a vowel followed by a consonant. + + ã and õ are therefore replaced by a~ and o~ in the word, where ~ is a separate character to be treated as a consonant. + And then R2 and RV have the same definition as in the Spanish stemmer. + + @par Algorithm: + + Step 1: + + Search for the longest among the following suffixes, and perform the action indicated. + - eza ezas ico ica icos icas ismo ismos ável ível ista istas + oso osa osos osas amento amentos imento imentos adora ador aça~o + adoras adores aço~es ante antes ância + - Delete if in R2. + - logia logias + - Replace with log if in R2. + - uça~o uço~es + - Replace with u if in R2 + - ência ências + - Replace with ente if in R2. + - amente + - Delete if in R1. + - If preceded by iv, delete if in R2 (and if further preceded by at, delete if in R2), otherwise, + - If preceded by os, ic or ad, delete if in R2. + - mente + - Delete if in R2. + - If preceded by ante, avel or ível, delete if in R2. + - idade idades + - Delete if in R2. + - If preceded by abil, ic or iv, delete if in R2. + - iva ivo ivas ivos + - Delete if in R2. + - If preceded by at, delete if in R2. + - ira iras + - Replace with ir if in RV and preceded by e. + + Do step 2 if no ending was removed by step 1. + + Step 2: + + Search for the longest among the following suffixes in RV, and if found, delete. + + - ada ida ia aria eria iria ará ara erá era irá ava asse esse isse aste este iste + ei arei erei irei am iam ariam eriam iriam aram eram iram avam em arem erem irem + assem essem issem ado ido ando endo indo ara~o era~o ira~o ar er ir as adas idas + ias arias erias irias arás aras erás eras irás avas es ardes erdes irdes ares eres + ires asses esses isses astes estes istes is ais eis íeis aríeis eríeis iríeis áreis + areis éreis ereis íreis ireis ásseis ésseis ísseis áveis ados idos ámos amos íamos + aríamos eríamos iríamos áramos éramos íramos ávamos emos aremos eremos iremos ássemos + êssemos íssemos imos armos ermos irmos eu iu ou ira iras + + If the last step to be obeyed - either step 1 or 2 - altered the word, do step 3. + + Step 3: + + Delete suffix 'i' if in RV and preceded by 'c'. + Alternatively, if neither steps 1 nor 2 altered the word, do step 4. + + Step 4: + + If the word ends with one of the suffixes + - os a i o á í ó + + in RV, delete it. + + Always do step 5. + + Step 5: + + If the word ends with one of + - e é ê + + in RV, delete it, and if preceded by gu (or ci) with the u (or i) in RV, delete the u (or i). + Or if the word ends ç remove the cedilla. + */ + //------------------------------------------------------ + template + class portuguese_stem : public stem + { + public: + portuguese_stem() : m_step1_step2_altered(false), m_altered_suffix_index(0) + {} + //--------------------------------------------- + /**@param[in,out] text string to stem*/ + void operator()(string_typeT& text) + { + if (text.length() < 3) + { + return; + } + stem::trim_western_punctuation(text); + + //reset internal data + m_altered_suffix_index = 0; + m_step1_step2_altered = false; + stem::reset_r_values(); + + string_util::replace_all(text, string_typeT(1, common_lang_constants::LOWER_A_TILDE), L"a~"); + string_util::replace_all(text, string_typeT(1, common_lang_constants::UPPER_A_TILDE), L"A~"); + string_util::replace_all(text, string_typeT(1, common_lang_constants::LOWER_O_TILDE), L"o~"); + string_util::replace_all(text, string_typeT(1, common_lang_constants::UPPER_O_TILDE), L"O~"); + + stem::find_r1(text, PORTUGUESE_VOWELS); + stem::find_r2(text, PORTUGUESE_VOWELS); + stem::find_spanish_rv(text, PORTUGUESE_VOWELS); + + step_1(text); + //intermediate steps handled by step 1 + if (!m_step1_step2_altered) + { + step_4(text); + } + step_5(text); + + //Turn a~, o~ back into ã, õ + string_util::replace_all(text, L"a~", string_typeT(1, common_lang_constants::LOWER_A_TILDE)); + string_util::replace_all(text, L"A~", string_typeT(1, common_lang_constants::UPPER_A_TILDE)); + string_util::replace_all(text, L"o~", string_typeT(1, common_lang_constants::LOWER_O_TILDE)); + string_util::replace_all(text, L"O~", string_typeT(1, common_lang_constants::UPPER_O_TILDE)); + } + private: + //--------------------------------------------- + void step_1(string_typeT& text) + { + size_t original_length = text.length(); + if (stem::delete_if_is_in_r2(text,/*amentos*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*imentos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::is_suffix_in_r2(text,/*uço~es*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_C_CEDILLA, common_lang_constants::UPPER_C_CEDILLA, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::TILDE, common_lang_constants::TILDE, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + text.erase(text.length()-5); + m_altered_suffix_index = text.length()-1; + stem::update_r_sections(text); + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*amento*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*imento*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*adoras*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*adores*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*aço~es*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_C_CEDILLA, common_lang_constants::UPPER_C_CEDILLA, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::TILDE, common_lang_constants::TILDE, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::is_suffix_in_r2(text,/*ências*/common_lang_constants::LOWER_E_CIRCUMFLEX, common_lang_constants::UPPER_E_CIRCUMFLEX, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + text.replace(text.end()-6, text.end(), L"ente"); + m_altered_suffix_index = text.length()-4; + stem::update_r_sections(text); + //NOOP (fall through to branching statement) + } + else if (stem::is_suffix_in_r2(text,/*logias*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + text.erase(text.length()-3); + m_altered_suffix_index = text.length()-3; + stem::update_r_sections(text); + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r1(text,/*amente*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (stem::delete_if_is_in_r2(text,/*iv*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, false) ) + { + stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false); + } + else + { + if (stem::delete_if_is_in_r2(text,/*os*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) || + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) || + stem::delete_if_is_in_r2(text,/*ad*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) ) + { + //NOOP (fall through to branching statement) + } + } + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*idades*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (stem::delete_if_is_in_r2(text,/*abil*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) || + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) || + stem::delete_if_is_in_r2(text,/*iv*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V) ) + { + //NOOP (fall through to branching statement) + } + //NOOP (fall through to branching statement) + } + else if (stem::is_suffix_in_r2(text,/*logia*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + text.erase(text.length()-2); + m_altered_suffix_index = text.length()-3; + stem::update_r_sections(text); + //NOOP (fall through to branching statement) + } + else if (stem::is_suffix_in_r2(text,/*uça~o*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_C_CEDILLA, common_lang_constants::UPPER_C_CEDILLA, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::TILDE, common_lang_constants::TILDE, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + text.erase(text.length()-4); + m_altered_suffix_index = text.length()-1; + stem::update_r_sections(text); + //NOOP (fall through to branching statement) + } + else if (stem::is_suffix_in_r2(text,/*ência*/common_lang_constants::LOWER_E_CIRCUMFLEX, common_lang_constants::UPPER_E_CIRCUMFLEX, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + text.replace(text.end()-5, text.end(), L"ente"); + m_altered_suffix_index = text.length()-4; + stem::update_r_sections(text); + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*mente*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (stem::delete_if_is_in_r2(text,/*ante*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::delete_if_is_in_r2(text,/*avel*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) || + stem::delete_if_is_in_r2(text,/*ível*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) + { + //NOOP (fall through to branching statement) + } + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*idade*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (stem::delete_if_is_in_r2(text,/*abil*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) || + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) || + stem::delete_if_is_in_r2(text,/*iv*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V) ) + { + //NOOP (fall through to branching statement) + } + //NOOP (fall through to branching statement) + } + else if (stem::is_suffix(text,/*eiras*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (stem::get_rv() <= text.length()-4) + { + text.erase(text.length()-2); + m_altered_suffix_index = text.length()-3; + stem::update_r_sections(text); + } + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*antes*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*ância*/common_lang_constants::LOWER_A_CIRCUMFLEX, common_lang_constants::UPPER_A_CIRCUMFLEX, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*ismos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*istas*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*adora*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*aça~o*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_C_CEDILLA, common_lang_constants::UPPER_C_CEDILLA, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::TILDE, common_lang_constants::TILDE, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*ante*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*ezas*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*icos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*icas*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*ismo*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*ável*/common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*ível*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*ista*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*osos*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*osas*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*ador*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*ivas*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + //NOOP (fall through to branching statement) + } + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*ivos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + //NOOP (fall through to branching statement) + } + //NOOP (fall through to branching statement) + } + else if (stem::is_suffix(text,/*eira*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (stem::get_rv() <= text.length()-3) + { + text.erase(text.length()-1); + m_altered_suffix_index = text.length()-3; + stem::update_r_sections(text); + } + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*iva*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + //NOOP (fall through to branching statement) + } + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*ivo*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + if (stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + //NOOP (fall through to branching statement) + } + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*eza*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*ico*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*ica*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*oso*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_r2(text,/*osa*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + //NOOP (fall through to branching statement) + } + //branch to the next appropriate step + if (original_length == text.length() ) + { + step_2(text); + } + else + { + m_step1_step2_altered = true; + step_3(text); + } + } + //--------------------------------------------- + void step_2(string_typeT& text) + { + size_t original_length = text.length(); + + if (stem::delete_if_is_in_rv(text,/*aríamos*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*eríamos*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*iríamos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ássemos*/common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*êssemos*/common_lang_constants::LOWER_E_CIRCUMFLEX, common_lang_constants::UPPER_E_CIRCUMFLEX, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*íssemos*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*aríeis*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*eríeis*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*iríeis*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ásseis*/common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ésseis*/common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ísseis*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*áramos*/common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*éramos*/common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*íramos*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ávamos*/common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*aremos*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*eremos*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*iremos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S ,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ariam*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*eriam*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*iriam*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*assem*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*essem*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*issem*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ara~o*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::TILDE, common_lang_constants::TILDE, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*era~o*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::TILDE, common_lang_constants::TILDE, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ira~o*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::TILDE, common_lang_constants::TILDE, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*arias*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*erias*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*irias*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ardes*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*erdes*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*irdes*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*asses*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*esses*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*isses*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*astes*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*estes*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*istes*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*áreis*/common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*areis*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*éreis*/common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ereis*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*íreis*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ireis*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*áveis*/common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*íamos*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*armos*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ermos*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*irmos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S,false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*aria*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*eria*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*iria*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*asse*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*esse*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*isse*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*aste*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*este*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*iste*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*arei*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*erei*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*irei*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*aram*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*eram*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*iram*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*avam*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*arem*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*erem*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*irem*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ando*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*endo*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*indo*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*adas*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*idas*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*arás*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*aras*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*erás*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*eras*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*irás*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*avas*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ares*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*eres*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ires*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*íeis*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ados*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*idos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ámos*/common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*amos*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*emos*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*imos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*iras*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ada*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ida*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ará*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ara*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*erá*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*era*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*irá*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ava*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*iam*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ado*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ido*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ias*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ais*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*eis*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ira*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ia*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ei*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*am*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*em*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ar*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*er*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ir*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*as*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*es*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*is*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*eu*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*iu*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, false) ) + { + //NOOP (fall through to branching statement) + } + else if (stem::delete_if_is_in_rv(text,/*ou*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, false) ) + { + //NOOP (fall through to branching statement) + } + + if (original_length != text.length() ) + { + m_step1_step2_altered = true; + step_3(text); + } + } + //--------------------------------------------- + void step_3(string_typeT& text) + { + if (stem::is_suffix(text,/*ci*/common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + stem::get_rv() <= text.length()-1) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + } + //--------------------------------------------- + void step_4(string_typeT& text) + { + if (stem::delete_if_is_in_rv(text,/*os*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_O_ACUTE, common_lang_constants::UPPER_O_ACUTE) ) + { + return; + } + } + //--------------------------------------------- + void step_5(string_typeT& text) + { + if (stem::delete_if_is_in_rv(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + if (text.length() >= 1 && + stem::get_rv() <= text.length()-1 && + (stem::is_suffix(text,/*gu*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) || + stem::is_suffix(text,/*ci*/common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I)) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + return; + } + else if (stem::delete_if_is_in_rv(text,/*é*/common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, false) ) + { + if (text.length() >= 1 && + stem::get_rv() <= text.length()-1 && + (stem::is_suffix(text,/*gu*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) || + stem::is_suffix(text,/*ci*/common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I)) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + return; + } + else if (stem::delete_if_is_in_rv(text,/*ê*/common_lang_constants::LOWER_E_CIRCUMFLEX, common_lang_constants::UPPER_E_CIRCUMFLEX, false) ) + { + if (text.length() >= 1 && + stem::get_rv() <= text.length()-1 && + (stem::is_suffix(text,/*gu*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) || + stem::is_suffix(text,/*ci*/common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I)) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + return; + } + else if (text.length() >= 1 && + text[text.length()-1] == common_lang_constants::UPPER_C_CEDILLA) + { + text[text.length()-1] = common_lang_constants::UPPER_C; + } + else if (text.length() >= 1 && + text[text.length()-1] == common_lang_constants::LOWER_C_CEDILLA) + { + text[text.length()-1] = common_lang_constants::LOWER_C; + } + } + //internal data specific to Portuguese stemmer + bool m_step1_step2_altered; + size_t m_altered_suffix_index; + }; + } + +/** @}*/ + +#endif //__PORTUGUESE_STEM_H__ diff --git a/stemming/russian_stem.h b/stemming/russian_stem.h new file mode 100755 index 0000000..6a4f80f --- /dev/null +++ b/stemming/russian_stem.h @@ -0,0 +1,540 @@ +/**@addtogroup Stemming +@brief Library for stemming words down to their root words. +@date 2003-2015 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ + +#ifndef __RUSSIAN_STEM_H__ +#define __RUSSIAN_STEM_H__ + +#include "stemming.h" + +namespace stemming + { + static const wchar_t RUSSIAN_VOWELS[] = { 0x0410, 0x0430, 0x0415, 0x0435, 0x0418, 0x0438, + 0x041E, 0x043E, 0x423, 0x0443, 0x042B, 0x044B, + 0x042D, 0x044D, 0x042E, 0x044E, 0x042F, 0x044F, 0 }; + + static const wchar_t RUSSIAN_A_UPPER = 0x0410; + static const wchar_t RUSSIAN_A_LOWER = 0x0430; + + static const wchar_t RUSSIAN_BE_UPPER = 0x0411; + static const wchar_t RUSSIAN_BE_LOWER = 0x0431; + + static const wchar_t RUSSIAN_VE_UPPER = 0x0412; + static const wchar_t RUSSIAN_VE_LOWER = 0x0432; + + static const wchar_t RUSSIAN_GHE_UPPER = 0x0413; + static const wchar_t RUSSIAN_GHE_LOWER = 0x0433; + + static const wchar_t RUSSIAN_DE_UPPER = 0x0414; + static const wchar_t RUSSIAN_DE_LOWER = 0x0434; + + static const wchar_t RUSSIAN_IE_UPPER = 0x0415; + static const wchar_t RUSSIAN_IE_LOWER = 0x0435; + + static const wchar_t RUSSIAN_ZHE_UPPER = 0x0416; + static const wchar_t RUSSIAN_ZHE_LOWER = 0x0436; + + static const wchar_t RUSSIAN_ZE_UPPER = 0x0417; + static const wchar_t RUSSIAN_ZE_LOWER = 0x0437; + + static const wchar_t RUSSIAN_I_UPPER = 0x0418; + static const wchar_t RUSSIAN_I_LOWER = 0x0438; + + static const wchar_t RUSSIAN_SHORT_I_UPPER = 0x0419; + static const wchar_t RUSSIAN_SHORT_I_LOWER = 0x0439; + + static const wchar_t RUSSIAN_KA_UPPER = 0x041A; + static const wchar_t RUSSIAN_KA_LOWER = 0x043A; + + static const wchar_t RUSSIAN_EL_UPPER = 0x041B; + static const wchar_t RUSSIAN_EL_LOWER = 0x043B; + + static const wchar_t RUSSIAN_EM_UPPER = 0x041C; + static const wchar_t RUSSIAN_EM_LOWER = 0x043C; + + static const wchar_t RUSSIAN_EN_UPPER = 0x041D; + static const wchar_t RUSSIAN_EN_LOWER = 0x043D; + + static const wchar_t RUSSIAN_O_UPPER = 0x041E; + static const wchar_t RUSSIAN_O_LOWER = 0x043E; + + static const wchar_t RUSSIAN_PE_UPPER = 0x041F; + static const wchar_t RUSSIAN_PE_LOWER = 0x043F; + + static const wchar_t RUSSIAN_ER_UPPER = 0x0420; + static const wchar_t RUSSIAN_ER_LOWER = 0x0440; + + static const wchar_t RUSSIAN_ES_UPPER = 0x0421; + static const wchar_t RUSSIAN_ES_LOWER = 0x0441; + + static const wchar_t RUSSIAN_TE_UPPER = 0x0422; + static const wchar_t RUSSIAN_TE_LOWER = 0x0442; + + static const wchar_t RUSSIAN_U_UPPER = 0x0423; + static const wchar_t RUSSIAN_U_LOWER = 0x0443; + + static const wchar_t RUSSIAN_EF_UPPER = 0x0424; + static const wchar_t RUSSIAN_EF_LOWER = 0x0444; + + static const wchar_t RUSSIAN_HA_UPPER = 0x0425; + static const wchar_t RUSSIAN_HA_LOWER = 0x0445; + + static const wchar_t RUSSIAN_TSE_UPPER = 0x0426; + static const wchar_t RUSSIAN_TSE_LOWER = 0x0446; + + static const wchar_t RUSSIAN_CHE_UPPER = 0x0427; + static const wchar_t RUSSIAN_CHE_LOWER = 0x0447; + + static const wchar_t RUSSIAN_SHA_UPPER = 0x0428; + static const wchar_t RUSSIAN_SHA_LOWER = 0x0448; + + static const wchar_t RUSSIAN_SHCHA_UPPER = 0x0429; + static const wchar_t RUSSIAN_SHCHA_LOWER = 0x0449; + + static const wchar_t RUSSIAN_HARD_SIGN_UPPER = 0x042A; + static const wchar_t RUSSIAN_HARD_SIGN_LOWER = 0x044A; + + static const wchar_t RUSSIAN_YERU_UPPER = 0x042B; + static const wchar_t RUSSIAN_YERU_LOWER = 0x044B; + + static const wchar_t RUSSIAN_SOFT_SIGN_UPPER = 0x042C; + static const wchar_t RUSSIAN_SOFT_SIGN_LOWER = 0x044C; + + static const wchar_t RUSSIAN_E_UPPER = 0x042D; + static const wchar_t RUSSIAN_E_LOWER = 0x044D; + + static const wchar_t RUSSIAN_YU_UPPER = 0x042E; + static const wchar_t RUSSIAN_YU_LOWER = 0x044E; + + static const wchar_t RUSSIAN_YA_UPPER = 0x042F; + static const wchar_t RUSSIAN_YA_LOWER = 0x044F; + + /** + @brief Russian stemmer. + @date 2010 + @par Algorithm: + + PERFECTIVE GERUND: + - Group 1: в вши вшись + - Group 2: ив ивши ившись ыв ывши ывшись + + Group 1 endings must follow 'а' or 'я'. + + REFLEXIVE: + - ся сь + + NOUN: + - а ев ов ие ье е иями ями ами еи ии и ией ей ой ий й иям ям ием ем ам ом о у ах иях ях ы ь ию ью ю ия ья я + + @par Algorithm: + + Step 1: + + Search for a PERFECTIVE GERUND ending. If one is found remove it, + and that is then the end of step 1. Otherwise try and remove a REFLEXIVE ending, + and then search in turn for: + -# an ADJECTIVAL, + -# a VERB or + -# a NOUN ending. + As soon as one of the endings (1) to (3) is found remove it, and terminate step 1. + + Step 2: + + If the word ends with 'и', then remove it. + + Step 3: + + Search for a DERIVATIONAL (ост, ость) ending in R2 (i.e., the entire ending must lie in R2), and if one is found, then remove it. + + Step 4: + + -# Undouble 'н', or + -# if the word ends with a SUPERLATIVE (ейш or ейше) ending, remove it and undouble 'н', or + -# if the word ends 'ь', then remove it. + */ + template + class russian_stem : public stem + { + public: + //--------------------------------------------- + /**@param[in,out] text string to stem*/ + void operator()(string_typeT& text) + { + if (text.length() < 2) + { return; } + + //reset internal data + stem::reset_r_values(); + + stem::find_r1(text, RUSSIAN_VOWELS); + stem::find_r2(text, RUSSIAN_VOWELS); + stem::find_russian_rv(text, RUSSIAN_VOWELS); + + //change 33rd letter ('ё') to 'е' + for (size_t i = 0; i < text.length(); ++i) + { + if (text[i] == 0x0451) + { text[i] = RUSSIAN_IE_LOWER; } + else if (text[i] == 0x0401) + { text[i] = RUSSIAN_IE_UPPER; } + } + + step_1(text); + step_2(text); + step_3(text); + step_4(text); + } + private: + void step_1(string_typeT& text) + { + //search for a perfect gerund + //group 2 + if (stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, + RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, + RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, + RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, + RUSSIAN_ES_LOWER, RUSSIAN_ES_UPPER, + RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, + RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, + RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, + RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, + RUSSIAN_ES_LOWER, RUSSIAN_ES_UPPER, + RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER, false) ) + { return; } + //group 1 + else if (stem::is_suffix_in_rv(text, RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, + RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, + RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, + RUSSIAN_ES_LOWER, RUSSIAN_ES_UPPER, + RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER) ) + { + if (stem::is_suffix_in_rv(text, RUSSIAN_A_LOWER, RUSSIAN_A_UPPER, + RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, + RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, + RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, + RUSSIAN_ES_LOWER, RUSSIAN_ES_UPPER, + RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, + RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, + RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, + RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, + RUSSIAN_ES_LOWER, RUSSIAN_ES_UPPER, + RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER) ) + { + text.erase(text.end()-5, text.end() ); + stem::update_r_sections(text); + return; + } + } + //group 2 + else if (stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, + RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, + RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, + RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, + RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, + RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, + RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, false) ) + { return; } + //group 1 + else if (stem::is_suffix_in_rv(text, RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, + RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, + RUSSIAN_I_LOWER, RUSSIAN_I_UPPER) ) + { + if (stem::is_suffix_in_rv(text, RUSSIAN_A_LOWER, RUSSIAN_A_UPPER, + RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, + RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, + RUSSIAN_I_LOWER, RUSSIAN_I_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, + RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, + RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, + RUSSIAN_I_LOWER, RUSSIAN_I_UPPER) ) + { + text.erase(text.end()-3, text.end() ); + stem::update_r_sections(text); + return; + } + } + //group 2 + else if (stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, false) ) + { return; } + //group 1 + else if (stem::is_suffix_in_rv(text, RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER) ) + { + if (stem::is_suffix_in_rv(text, RUSSIAN_A_LOWER, RUSSIAN_A_UPPER, RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER) ) + { + text.erase(text.end()-1, text.end() ); + stem::update_r_sections(text); + return; + } + } + //reflexive + if (stem::delete_if_is_in_rv(text, RUSSIAN_ES_LOWER, RUSSIAN_ES_UPPER, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_ES_LOWER, RUSSIAN_ES_UPPER, RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER, false) ) + { /*NOOP*/ } + //adjectival + if (stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_UPPER, RUSSIAN_YERU_LOWER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_GHE_LOWER, RUSSIAN_GHE_UPPER, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, RUSSIAN_GHE_LOWER, RUSSIAN_GHE_UPPER, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, RUSSIAN_U_LOWER, RUSSIAN_U_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, RUSSIAN_U_LOWER, RUSSIAN_U_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_HA_LOWER, RUSSIAN_HA_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, RUSSIAN_HA_LOWER, RUSSIAN_HA_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_U_LOWER, RUSSIAN_U_UPPER, RUSSIAN_YU_LOWER, RUSSIAN_YU_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YU_LOWER, RUSSIAN_YU_UPPER, RUSSIAN_YU_LOWER, RUSSIAN_YU_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_A_LOWER, RUSSIAN_A_UPPER, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, RUSSIAN_YU_LOWER, RUSSIAN_YU_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_YU_LOWER, RUSSIAN_YU_UPPER, false) ) + { + //delete participles + //group 2 + if (stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_U_LOWER, RUSSIAN_U_UPPER, RUSSIAN_YU_LOWER, RUSSIAN_YU_UPPER, RUSSIAN_SHCHA_LOWER, RUSSIAN_SHCHA_UPPER, false) ) + {/*NOOP*/} + //group 1 + else if (stem::is_suffix_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER, RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_YU_LOWER, RUSSIAN_YU_UPPER, RUSSIAN_SHCHA_LOWER, RUSSIAN_SHCHA_UPPER) ) + { + if (text.length() >= 3 && + stem::get_rv() <= text.length()-3 && + (is_either(text[text.length()-3], RUSSIAN_A_LOWER, RUSSIAN_A_UPPER) || + is_either(text[text.length()-3], RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER)) ) + { + text.erase(text.end()-2, text.end() ); + stem::update_r_sections(text); + return; + } + } + else if (stem::is_suffix_in_rv(text, RUSSIAN_SHCHA_LOWER, RUSSIAN_SHCHA_UPPER) ) + { + if (text.length() >= 2 && + stem::get_rv() <= text.length()-2 && + (is_either(text[text.length()-2], RUSSIAN_A_LOWER, RUSSIAN_A_UPPER) || + is_either(text[text.length()-2], RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER)) ) + { + text.erase(text.end()-1, text.end() ); + stem::update_r_sections(text); + return; + } + } + return; + } + //verb + //group 2 + else if (stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, false) ||/*4*/ + stem::delete_if_is_in_rv(text, RUSSIAN_U_LOWER, RUSSIAN_U_UPPER, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_U_LOWER, RUSSIAN_U_UPPER, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, false) ) + { + return; + } + //group 1 + if (stem::is_suffix_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER, RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER) ) + { + if (text.length() >= 4 && + stem::get_rv() <= text.length()-4 && + (is_either(text[text.length()-4], RUSSIAN_A_LOWER, RUSSIAN_A_UPPER) || + is_either(text[text.length()-4], RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER)) ) + { + text.erase(text.end()-3, text.end() ); + stem::update_r_sections(text); + return; + } + } + //group 2 + else if (stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_EL_LOWER, RUSSIAN_EL_UPPER, RUSSIAN_A_LOWER, RUSSIAN_A_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, RUSSIAN_EL_LOWER, RUSSIAN_EL_UPPER, RUSSIAN_A_LOWER, RUSSIAN_A_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER, RUSSIAN_A_LOWER, RUSSIAN_A_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_EL_LOWER, RUSSIAN_EL_UPPER, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, RUSSIAN_EL_LOWER, RUSSIAN_EL_UPPER, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_EL_LOWER, RUSSIAN_EL_UPPER, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, RUSSIAN_EL_LOWER, RUSSIAN_EL_UPPER, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_U_LOWER, RUSSIAN_U_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_U_LOWER, RUSSIAN_U_UPPER, RUSSIAN_YU_LOWER, RUSSIAN_YU_UPPER, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_EL_LOWER, RUSSIAN_EL_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, RUSSIAN_EL_LOWER, RUSSIAN_EL_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_U_LOWER, RUSSIAN_U_UPPER, RUSSIAN_YU_LOWER, RUSSIAN_YU_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YU_LOWER, RUSSIAN_YU_UPPER, false) ) + { + return; + } + //group 1 + else if (stem::is_suffix_in_rv(text, RUSSIAN_EL_LOWER, RUSSIAN_EL_UPPER, RUSSIAN_A_LOWER, RUSSIAN_A_UPPER) ||/*2*/ + stem::is_suffix_in_rv(text, RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER, RUSSIAN_A_LOWER, RUSSIAN_A_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_EL_LOWER, RUSSIAN_EL_UPPER, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_EL_LOWER, RUSSIAN_EL_UPPER, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_YU_LOWER, RUSSIAN_YU_UPPER, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER) ) + { + if (text.length() >= 3 && + stem::get_rv() <= text.length()-3 && + (is_either(text[text.length()-3], RUSSIAN_A_LOWER, RUSSIAN_A_UPPER) || + is_either(text[text.length()-3], RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER)) ) + { + text.erase(text.end()-2, text.end() ); + stem::update_r_sections(text); + return; + } + } + if (stem::is_suffix_in_rv(text, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER) ||/*1*/ + stem::is_suffix_in_rv(text, RUSSIAN_EL_LOWER, RUSSIAN_EL_UPPER) || + stem::is_suffix_in_rv(text, RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER) ) + { + if (text.length() >= 2 && + stem::get_rv() <= text.length()-2 && + (is_either(text[text.length()-2], RUSSIAN_A_LOWER, RUSSIAN_A_UPPER) || + is_either(text[text.length()-2], RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER)) ) + { + text.erase(text.end()-1, text.end() ); + stem::update_r_sections(text); + return; + } + } + + //noun + if (stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, + RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, + RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, + RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, RUSSIAN_HA_LOWER, RUSSIAN_HA_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_A_LOWER, RUSSIAN_A_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_A_LOWER, RUSSIAN_A_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_YU_LOWER, RUSSIAN_YU_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER, RUSSIAN_YU_LOWER, RUSSIAN_YU_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_VE_LOWER, RUSSIAN_VE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_A_LOWER, RUSSIAN_A_UPPER, RUSSIAN_HA_LOWER, RUSSIAN_HA_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, RUSSIAN_EM_LOWER, RUSSIAN_EM_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, RUSSIAN_HA_LOWER, RUSSIAN_HA_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_I_LOWER, RUSSIAN_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_A_LOWER, RUSSIAN_A_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_U_LOWER, RUSSIAN_U_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YU_LOWER, RUSSIAN_YU_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YA_LOWER, RUSSIAN_YA_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_YERU_LOWER, RUSSIAN_YERU_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, false) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, false) ) + { return; } + } + void step_2(string_typeT& text) + { stem::delete_if_is_in_rv(text, RUSSIAN_I_UPPER, RUSSIAN_I_LOWER); } + void step_3(string_typeT& text) + { + if (stem::is_suffix_in_rv(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, + RUSSIAN_ES_LOWER, RUSSIAN_ES_UPPER, + RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, + RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER) ) + { + stem::delete_if_is_in_r2(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, + RUSSIAN_ES_LOWER, RUSSIAN_ES_UPPER, + RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER, + RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER); + } + else if (stem::is_suffix_in_rv(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, + RUSSIAN_ES_LOWER, RUSSIAN_ES_UPPER, + RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER) ) + { + stem::delete_if_is_in_r2(text, RUSSIAN_O_LOWER, RUSSIAN_O_UPPER, + RUSSIAN_ES_LOWER, RUSSIAN_ES_UPPER, + RUSSIAN_TE_LOWER, RUSSIAN_TE_UPPER); + } + } + void step_4(string_typeT& text) + { + if (stem::is_suffix_in_rv(text, RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER, + RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER) ) + { + text.erase(text.end()-1, text.end() ); + stem::update_r_sections(text); + } + else if (stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, + RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, + RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER, + RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER) || + stem::delete_if_is_in_rv(text, RUSSIAN_IE_LOWER, RUSSIAN_IE_UPPER, + RUSSIAN_SHORT_I_LOWER, RUSSIAN_SHORT_I_UPPER, + RUSSIAN_SHA_LOWER, RUSSIAN_SHA_UPPER)) + { + if (stem::is_suffix_in_rv(text, RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER, + RUSSIAN_EN_LOWER, RUSSIAN_EN_UPPER) ) + { + text.erase(text.end()-1, text.end() ); + stem::update_r_sections(text); + } + } + else + { stem::delete_if_is_in_rv(text, RUSSIAN_SOFT_SIGN_LOWER, RUSSIAN_SOFT_SIGN_UPPER); } + } + }; + } + +/** @}*/ + +#endif //__RUSSIAN_STEM_H__ diff --git a/stemming/spanish_stem.h b/stemming/spanish_stem.h new file mode 100755 index 0000000..23898aa --- /dev/null +++ b/stemming/spanish_stem.h @@ -0,0 +1,1398 @@ +/**@addtogroup Stemming +@brief Library for stemming words down to their root words. +@date 2003-2015 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ + +#ifndef __SPANISH_STEM_H__ +#define __SPANISH_STEM_H__ + +#include "stemming.h" + +namespace stemming + { + /** + @brief Spanish stemmer. + + @par Algorithm: + + Letters in Spanish include the following accented forms: + - á é í ó ú ü ñ + + The following letters are vowels: + - a e i o u á é í ó ú ü + + R2 is defined in the usual way - see the note on R1 and R2. + + RV is defined as follows (and this is not the same as the French stemmer definition): + + If the second letter is a consonant, RV is the region after the next following vowel, + or if the first two letters are vowels, RV is the region after the next consonant, + and otherwise (consonant-vowel case) RV is the region after the third letter. + But RV is the end of the word if these positions cannot be found. + + For example, + + m a c h o o l i v a t r a b a j o á u r e o + |...| |...| |.......| |...| + + @par Algorithm: + + Always do steps 0 and 1. + + Step 0: + + Search for the longest among the following suffixes + - me se sela selo selas selos la le lo las les los nos + - Delete it, if comes after one of + - iéndo ándo ár ér ír + - ando iendo ar er ir + - yendo, following u + + in RV. In the case of (c), yendo must lie in RV, but the preceding u can be outside it. + + In the case of (a), deletion is followed by removing the acute accent + (for example, haciéndola -> haciendo). + + Step 1: + + Search for the longest among the following suffixes, and perform the action indicated. + - anza anzas ico ica icos icas ismo ismos able ables ible ibles ista istas oso osa osos osas amiento amientos imiento imientos + - Delete if in R2. + - adora ador ación adoras adores aciones ante antes ancia ancias + - Delete if in R2. + - If preceded by ic, delete if in R2 + - logía logías + - Replace with log if in R2. + - ución uciones + - Replace with u if in R2. + - encia encias + - Replace with ente if in R2. + - amente + - Delete if in R1. + - If preceded by iv, delete if in R2 (and if further preceded by at, delete if in R2), otherwise, + - If preceded by os, ic or ad, delete if in R2. + - mente + - Delete if in R2. + - If preceded by ante, able or ible, delete if in R2. + - idad idades + - Delete if in R2 + - If preceded by abil, ic or iv, delete if in R2. + - iva ivo ivas ivos + - Delete if in R2. + - If preceded by at, delete if in R2. + + Do step 2(a) if no ending was removed by step 1. + + Step 2(a): + + Search for the longest among the following suffixes in RV, and if found, delete if preceded by u. + - ya ye yan yen yeron yendo yo yó yas yes yais yamos + + (Note that the preceding u need not be in RV). + + Step 2(b): + + Do Step 2(b) if step 2(a) was done, but failed to remove a suffix. + + Search for the longest among the following suffixes in RV, and perform the action indicated. + - en es éis emos + - Delete, and if preceded by gu delete the u (the gu need not be in RV). + - arían arías arán arás aríais aría aréis aríamos aremos ará aré erían erías + erán erás eríais ería eréis eríamos eremos erá eré irían irías irán irás iríais + iría iréis iríamos iremos irá iré aba ada ida ía ara iera ad ed id ase iese aste + iste an aban ían aran ieran asen iesen aron ieron ado ido ando iendo ió ar er ir + as abas adas idas ías aras ieras ases ieses ís áis abais íais arais ierais + aseis ieseis asteis isteis ados idos amos ábamos íamos imos áramos iéramos iésemos ásemos + - Delete. + + Always do step 3. + + Step 3: + + Search for the longest among the following suffixes in RV, and perform the action indicated. + - os a o á í ó + - Delete if in RV. + - e é + - Delete if in RV, and if preceded by gu with the u in RV delete the u. + */ + //------------------------------------------------------ + template + class spanish_stem : public stem + { + public: + //--------------------------------------------- + /**@param[in,out] text string to stem*/ + void operator()(string_typeT& text) + { + if (text.length() < 3) + { + stem::remove_spanish_acutes(text); + return; + } + + //reset internal data + stem::reset_r_values(); + + stem::trim_western_punctuation(text); + + stem::find_r1(text, SPANISH_VOWELS); + stem::find_r2(text, SPANISH_VOWELS); + stem::find_spanish_rv(text, SPANISH_VOWELS); + + step_0(text); + step_1(text); + ///steps 2a and 2b and only called from step1 + step_3(text); + + stem::remove_spanish_acutes(text); + } + private: + //--------------------------------------------- + void step_0(string_typeT& text) + { + if (stem::is_suffix_in_rv(text,/*selos*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S)) + { + if (step_0a(text, 5)) + { return; } + if (step_0b(text, 5)) + { return; } + if (step_0c(text, 5)) + { return; } + return; + } + else if (stem::is_suffix_in_rv(text,/*selas*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S)) + { + if (step_0a(text, 5)) + { return; } + if (step_0b(text, 5)) + { return; } + if (step_0c(text, 5)) + { return; } + return; + } + else if (stem::is_suffix_in_rv(text,/*sela*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A)) + { + if (step_0a(text, 4)) + { return; } + if (step_0b(text, 4)) + { return; } + if (step_0c(text, 4)) + { return; } + return; + } + else if (stem::is_suffix_in_rv(text,/*selo*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O)) + { + if (step_0a(text, 4)) + { return; } + if (step_0b(text, 4)) + { return; } + if (step_0c(text, 4)) + { return; } + return; + } + else if (stem::is_suffix_in_rv(text,/*las*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S)) + { + if (step_0a(text, 3)) + { return; } + if (step_0b(text, 3)) + { return; } + if (step_0c(text, 3)) + { return; } + return; + } + else if (stem::is_suffix_in_rv(text,/*les*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S)) + { + if (step_0a(text, 3)) + { return; } + if (step_0b(text, 3)) + { return; } + if (step_0c(text, 3)) + { return; } + return; + } + else if (stem::is_suffix_in_rv(text,/*los*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S)) + { + if (step_0a(text, 3)) + { return; } + if (step_0b(text, 3)) + { return; } + if (step_0c(text, 3)) + { return; } + return; + } + else if (stem::is_suffix_in_rv(text,/*nos*/common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S)) + { + if (step_0a(text, 3)) + { return; } + if (step_0b(text, 3)) + { return; } + if (step_0c(text, 3)) + { return; } + return; + } + else if (stem::is_suffix_in_rv(text,/*la*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A)) + { + if (step_0a(text, 2)) + { return; } + if (step_0b(text, 2)) + { return; } + if (step_0c(text, 2)) + { return; } + return; + } + else if (stem::is_suffix_in_rv(text,/*le*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E)) + { + if (step_0a(text, 2)) + { return; } + if (step_0b(text, 2)) + { return; } + if (step_0c(text, 2)) + { return; } + return; + } + else if (stem::is_suffix_in_rv(text,/*lo*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O)) + { + if (step_0a(text, 2)) + { return; } + if (step_0b(text, 2)) + { return; } + if (step_0c(text, 2)) + { return; } + return; + } + else if (stem::is_suffix_in_rv(text,/*me*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E)) + { + if (step_0a(text, 2)) + { return; } + if (step_0b(text, 2)) + { return; } + if (step_0c(text, 2)) + { return; } + return; + } + else if (stem::is_suffix_in_rv(text,/*se*/common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E)) + { + if (step_0a(text, 2)) + { return; } + if (step_0b(text, 2)) + { return; } + if (step_0c(text, 2)) + { return; } + return; + } + } + //--------------------------------------------- + bool step_0a(string_typeT& text, size_t suffix_length) + { + if ((text.length() >= suffix_length+5) && + stem::get_rv() <= (text.length()-(5+suffix_length)) && + /*iéndo*/ + (is_either(text[text.length()-(5+suffix_length)], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[text.length()-(4+suffix_length)], common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE) && + is_either(text[text.length()-(3+suffix_length)], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) && + is_either(text[text.length()-(1+suffix_length)], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) ) + { + text.erase(text.length()-suffix_length); + text[text.length()-4] = common_lang_constants::LOWER_E; + stem::update_r_sections(text); + return true; + } + else if ((text.length() >= suffix_length+4) && + stem::get_rv() <= (text.length()-(4+suffix_length)) && + /*ándo*/ + (is_either(text[text.length()-(4+suffix_length)], common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE) && + is_either(text[text.length()-(3+suffix_length)], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) && + is_either(text[text.length()-(1+suffix_length)], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) ) + { + text.erase(text.length()-suffix_length); + text[text.length()-4] = common_lang_constants::LOWER_A; + stem::update_r_sections(text); + return true; + } + else if ((text.length() >= suffix_length+2) && + stem::get_rv() <= (text.length()-(2+suffix_length)) && + /*ár*/ + (is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE) && + is_either(text[text.length()-(1+suffix_length)], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) ) + { + text.erase(text.length()-suffix_length); + text[text.length()-2] = common_lang_constants::LOWER_A; + stem::update_r_sections(text); + return true; + } + else if ((text.length() >= suffix_length+2) && + stem::get_rv() <= (text.length()-(2+suffix_length)) && + /*ér*/ + (is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE) && + is_either(text[text.length()-(1+suffix_length)], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) ) + { + text.erase(text.length()-suffix_length); + text[text.length()-2] = common_lang_constants::LOWER_E; + stem::update_r_sections(text); + return true; + } + else if ((text.length() >= suffix_length + 2) && + stem::get_rv() <= (text.length()-(2+suffix_length)) && + /*ír*/ + (is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE) && + is_either(text[text.length()-(1+suffix_length)], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) ) + { + text.erase(text.length()-suffix_length); + text[text.length()-2] = common_lang_constants::LOWER_I; + stem::update_r_sections(text); + return true; + } + return false; + } + + //--------------------------------------------- + bool step_0b(string_typeT& text, size_t suffix_length) + { + if ((text.length() >= suffix_length+5) && + stem::get_rv() <= (text.length()-(5+suffix_length)) && + /*iendo*/ + (is_either(text[text.length()-(5+suffix_length)], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[text.length()-(4+suffix_length)], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[text.length()-(3+suffix_length)], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) && + is_either(text[text.length()-(1+suffix_length)], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) ) + { + text.erase(text.length()-suffix_length); + stem::update_r_sections(text); + return true; + } + else if ((text.length() >= suffix_length+4) && + stem::get_rv() <= (text.length()-(4+suffix_length)) && + /*ando*/ + (is_either(text[text.length()-(4+suffix_length)], common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && + is_either(text[text.length()-(3+suffix_length)], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) && + is_either(text[text.length()-(1+suffix_length)], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) ) + { + text.erase(text.length()-suffix_length); + stem::update_r_sections(text); + return true; + } + else if ((text.length() >= suffix_length+2) && + stem::get_rv() <= (text.length()-(2+suffix_length)) && + /*ar*/ + (is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && + is_either(text[text.length()-(1+suffix_length)], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) ) + { + text.erase(text.length()-suffix_length); + stem::update_r_sections(text); + return true; + } + else if ((text.length() >= suffix_length+2) && + stem::get_rv() <= (text.length()-(2+suffix_length)) && + /*er*/ + (is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[text.length()-(1+suffix_length)], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) ) + { + text.erase(text.length()-suffix_length); + stem::update_r_sections(text); + return true; + } + else if ((text.length() >= suffix_length+2) && + stem::get_rv() <= (text.length()-(2+suffix_length)) && + /*ir*/ + (is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_I, common_lang_constants::UPPER_I) && + is_either(text[text.length()-(1+suffix_length)], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) ) + { + text.erase(text.length()-suffix_length); + stem::update_r_sections(text); + return true; + } + return false; + } + + //--------------------------------------------- + bool step_0c(string_typeT& text, size_t suffix_length) + { + if ((text.length() >= suffix_length+6) && + stem::get_rv() <= text.length()-(suffix_length+5) && + /*uyendo*/ + (is_either(text[text.length()-(6+suffix_length)], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) && + is_either(text[text.length()-(5+suffix_length)], common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) && + is_either(text[text.length()-(4+suffix_length)], common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) && + is_either(text[text.length()-(3+suffix_length)], common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) && + is_either(text[text.length()-(2+suffix_length)], common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) && + is_either(text[text.length()-(1+suffix_length)], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) ) + { + text.erase(text.length()-suffix_length); + stem::update_r_sections(text); + return true; + } + return false; + } + //--------------------------------------------- + void step_1(string_typeT& text) + { + size_t original_length = text.length(); + if (stem::delete_if_is_in_r2(text,/*imientos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*amientos*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::is_suffix_in_r2(text,/*uciones*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + text.erase(text.length()-6); + stem::update_r_sections(text); + return; + } + else if (stem::delete_if_is_in_r2(text,/*amiento*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*imiento*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*aciones*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C); + return; + } + step_2a(text); + } + else if (stem::is_suffix_in_r2(text,/*logías*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + return; + } + else if (stem::is_suffix_in_r2(text,/*encias*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + text.erase(text.length()-2); + text[text.length()-2] = common_lang_constants::LOWER_T; + text[text.length()-1] = common_lang_constants::LOWER_E; + stem::update_r_sections(text); + return; + } + else if (stem::delete_if_is_in_r2(text,/*idades*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + if (stem::delete_if_is_in_r2(text,/*abil*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) || + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) || + stem::delete_if_is_in_r2(text,/*iv*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V) ) + { + return; + } + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r1(text,/*amente*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (original_length > text.length() ) + { + if (stem::delete_if_is_in_r2(text,/*iv*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V) ) + { + stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T); + return; + } + else + { + if (stem::delete_if_is_in_r2(text,/*os*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) || + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) || + stem::delete_if_is_in_r2(text,/*ad*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) ) + { + return; + } + } + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*adores*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) || + stem::delete_if_is_in_r2(text,/*adoras*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) || + stem::delete_if_is_in_r2(text,/*ancias*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S)) + { + if (original_length > text.length() ) + { + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C); + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*adora*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) || + stem::delete_if_is_in_r2(text,/*ación*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O_ACUTE, common_lang_constants::UPPER_O_ACUTE, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) || + stem::delete_if_is_in_r2(text,/*antes*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) || + stem::delete_if_is_in_r2(text,/*ancia*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (original_length > text.length() ) + { + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C); + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*ibles*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*istas*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*ables*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*ismos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*anzas*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::is_suffix_in_r2(text,/*logía*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + return; + } + else if (stem::is_suffix_in_r2(text,/*ución*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O_ACUTE, common_lang_constants::UPPER_O_ACUTE, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + return; + } + else if (stem::is_suffix_in_r2(text,/*encia*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + text.erase(text.length()-1); + text[text.length()-2] = common_lang_constants::LOWER_T; + text[text.length()-1] = common_lang_constants::LOWER_E; + stem::update_r_sections(text); + return; + } + else if (stem::delete_if_is_in_r2(text,/*mente*/common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (original_length > text.length() ) + { + if (stem::delete_if_is_in_r2(text,/*ante*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::delete_if_is_in_r2(text,/*able*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) || + stem::delete_if_is_in_r2(text,/*ible*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + return; + } + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*anza*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_Z, common_lang_constants::UPPER_Z, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*icos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*icas*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*ismo*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*able*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*ible*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*ista*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*osos*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*osas*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*ivas*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T); + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*ivos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (original_length > text.length() ) + { + stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T); + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*ador*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) || + stem::delete_if_is_in_r2(text,/*ante*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (original_length > text.length() ) + { + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C); + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*idad*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) ) + { + if (original_length > text.length() ) + { + if (stem::delete_if_is_in_r2(text,/*abil*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) || + stem::delete_if_is_in_r2(text,/*ic*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) || + stem::delete_if_is_in_r2(text,/*iv*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V) ) + { + return; + } + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*ico*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*ica*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_C, common_lang_constants::UPPER_C, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*oso*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*osa*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (original_length > text.length() ) + { + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*iva*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + if (original_length > text.length() ) + { + stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T); + return; + } + step_2a(text); + } + else if (stem::delete_if_is_in_r2(text,/*ivo*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_V, common_lang_constants::UPPER_V, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + if (original_length > text.length() ) + { + stem::delete_if_is_in_r2(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T); + return; + } + step_2a(text); + } + //this should only be called from here if nothing was removed in step 1 + if (text.length() == original_length) + { + step_2a(text); + } + } + //--------------------------------------------- + void step_2a(string_typeT& text) + { + size_t original_length = text.length(); + if (stem::is_suffix_in_rv(text,/*yeron*/common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N)) + { + if (is_either(text[text.length()-6], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-5); + stem::update_r_sections(text); + return; + } + step_2b(text); + } + else if (stem::is_suffix_in_rv(text,/*yendo*/common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O)) + { + if (text.length() >= 6 && + is_either(text[text.length()-6], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-5); + stem::update_r_sections(text); + return; + } + step_2b(text); + } + else if (stem::is_suffix_in_rv(text,/*yamos*/common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S)) + { + if (text.length() >= 6 && + is_either(text[text.length()-6], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-5); + stem::update_r_sections(text); + return; + } + step_2b(text); + } + else if (stem::is_suffix_in_rv(text,/*yais*/common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S)) + { + if (text.length() >= 5 && + is_either(text[text.length()-5], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-4); + stem::update_r_sections(text); + return; + } + step_2b(text); + } + else if (stem::is_suffix_in_rv(text,/*yan*/common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N)) + { + if (text.length() >= 4 && + is_either(text[text.length()-4], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + return; + } + step_2b(text); + } + else if (stem::is_suffix_in_rv(text,/*yen*/common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N)) + { + if (text.length() >= 4 && + is_either(text[text.length()-4], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + return; + } + step_2b(text); + } + else if (stem::is_suffix_in_rv(text,/*yas*/common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S)) + { + if (text.length() >= 4 && + is_either(text[text.length()-4], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + return; + } + step_2b(text); + } + else if (stem::is_suffix_in_rv(text,/*yes*/common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S)) + { + if (text.length() >= 4 && + is_either(text[text.length()-4], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-3); + stem::update_r_sections(text); + return; + } + step_2b(text); + } + else if (stem::is_suffix_in_rv(text,/*ya*/common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A)) + { + if (text.length() >= 3 && + is_either(text[text.length()-3], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + return; + } + step_2b(text); + } + else if (stem::is_suffix_in_rv(text,/*ye*/common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E)) + { + if (text.length() >= 3 && + is_either(text[text.length()-3], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + return; + } + step_2b(text); + } + else if (stem::is_suffix_in_rv(text,/*yo*/common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O)) + { + if (text.length() >= 3 && + is_either(text[text.length()-3], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + return; + } + step_2b(text); + } + else if (stem::is_suffix_in_rv(text,/*yó*/common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y, common_lang_constants::LOWER_O_ACUTE, common_lang_constants::UPPER_O_ACUTE)) + { + if (text.length() >= 3 && + is_either(text[text.length()-3], common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-2); + stem::update_r_sections(text); + return; + } + step_2b(text); + } + //only called if 2a fails to remove a suffix + if (text.length() == original_length) + { + step_2b(text); + } + } + //--------------------------------------------- + void step_2b(string_typeT& text) + { + if (stem::delete_if_is_in_rv(text,/*aríamos*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*eríamos*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iríamos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iéramos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iésemos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*aríais*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*aremos*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*eríais*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*eremos*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iríais*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iremos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ierais*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ieseis*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*asteis*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*isteis*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ábamos*/common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*áramos*/common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ásemos*/common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*arían*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*arías*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*aréis*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erían*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erías*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*eréis*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*irían*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*irías*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iréis*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ieran*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iesen*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ieron*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iendo*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ieras*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ieses*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*abais*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*arais*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*aseis*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*íamos*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*emos*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + if (stem::is_suffix(text,/*gu*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + return; + } + else if (stem::delete_if_is_in_rv(text,/*arán*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*arás*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*aría*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erán*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erás*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ería*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*irán*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*irás*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iría*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iera*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iese*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*aste*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iste*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*aban*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*aran*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*asen*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*aron*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ando*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*abas*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*adas*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*idas*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*aras*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ases*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*íais*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ados*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*idos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*amos*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*imos*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_M, common_lang_constants::UPPER_M, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ará*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*aré*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*erá*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*eré*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*irá*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*iré*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*aba*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_B, common_lang_constants::UPPER_B, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ada*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ida*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ara*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ase*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ían*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ado*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ido*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ías*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*áis*/common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*éis*/common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + if (stem::is_suffix(text,/*gu*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + return; + } + else if (stem::delete_if_is_in_rv(text,/*ía*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ad*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ed*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*id*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*an*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ió*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_O_ACUTE, common_lang_constants::UPPER_O_ACUTE, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ar*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*er*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ir*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*as*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ís*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*en*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + if (stem::is_suffix(text,/*gu*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + return; + } + else if (stem::delete_if_is_in_rv(text,/*es*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + if (stem::is_suffix(text,/*gu*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + return; + } + } + //--------------------------------------------- + void step_3(string_typeT& text) + { + if (stem::delete_if_is_in_rv(text,/*os*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*a*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*o*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*á*/common_lang_constants::LOWER_A_ACUTE, common_lang_constants::UPPER_A_ACUTE) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*í*/common_lang_constants::LOWER_I_ACUTE, common_lang_constants::UPPER_I_ACUTE) ) + { + return; + } + else if (stem::delete_if_is_in_rv(text,/*ó*/common_lang_constants::LOWER_O_ACUTE, common_lang_constants::UPPER_O_ACUTE) ) + { + return; + } + + else if (stem::delete_if_is_in_rv(text,/*é*/common_lang_constants::LOWER_E_ACUTE, common_lang_constants::UPPER_E_ACUTE) || + stem::delete_if_is_in_rv(text,/*e*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E) ) + { + if (stem::is_suffix_in_rv(text,/*u*/common_lang_constants::LOWER_U, common_lang_constants::UPPER_U)) + { + if (text.length() >= 2 && + is_either(text[text.length()-2], common_lang_constants::LOWER_G, common_lang_constants::UPPER_G) ) + { + text.erase(text.length()-1); + } + } + return; + } + } + }; + } + +/** @}*/ + +#endif //__SPANISH_STEM_H__ diff --git a/stemming/stemming.h b/stemming/stemming.h new file mode 100755 index 0000000..31bd745 --- /dev/null +++ b/stemming/stemming.h @@ -0,0 +1,2341 @@ +/**@addtogroup Stemming +@brief Library for stemming words down to their root words. +@date 2003-2015 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ + +#ifndef __STEM_H__ +#define __STEM_H__ + +#include +#include "../indexing/string_util.h" +#include "../indexing/common_lang_constants.h" + +///Namespace for stemming classes. +namespace stemming + { + enum stemming_type + { + no_stemming, + danish, + dutch, + english, + finnish, + french, + german, + italian, + norwegian, + portuguese, + spanish, + swedish, + STEMMING_TYPE_COUNT + }; + //these characters should not appear in an indexed word + const wchar_t UPPER_Y_HASH = 7;//bell + const wchar_t LOWER_Y_HASH = 9;//tab + const wchar_t UPPER_I_HASH = 10;//line feed + const wchar_t LOWER_I_HASH = 11;//vertical tab + const wchar_t UPPER_U_HASH = 12;//form feed (new page) + const wchar_t LOWER_U_HASH = 13;//carriage return + + //language constants + static const wchar_t FRENCH_VOWELS[] = { 97, 101, 105, 111, 117, 121, 0xE2, + 0xE0, 0xEB, 0xE9, + 0xEA, 0xE8, 0xEF, + 0xEE, 0xF4, 0xFB, + 0xF9, 65, 69, 73, 79, 85, 89, 0xC2, + 0xC0, 0xCB, 0xC9, + 0xCA, 0xC8, 0xCF, + 0xCE, 0xD4, 0xDB, + 0xD9, 0 }; + static const wchar_t FRENCH_ACCENTED_E[] = { 0xE9, 0xE8, + 0xC9, 0xC8, 0 }; + static const wchar_t FRENCH_AIOUES[] = { 97, 105, 111, 117, 0xE8, 115, 65, 73, 79, 85, + 0xC8, 83, 0 }; + + static const wchar_t GERMAN_VOWELS[] = { 97, 101, 105, 111, 117, 0xFC, 121, + 0xE4, 0xF6, 65, 0xC4, + 69, 73, 79, 0xD6, 85, 0xDC, 89, 0 }; + + static const wchar_t DANISH_VOWELS[] = { 97, 101, 105, 111, 117, 121, 0xE6, + 0xE5, 0xF8, 65, 69, 73, 79, 85, 89, + 0xC6, 0xC5, 0xD8, 0 }; + static const wchar_t DANISH_ALPHABET[] = { 97, 98, 99, 100, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 114, + 116, 118, 121, 122, 0xE5, 65, 66, 67, 68, 70, 71, 72, 74, 75, 76, 77, 78, 79, + 80, 82, 84, 86, 89, 90, 0xC5, 0 }; + + static const wchar_t FINNISH_VOWELS[] = { 97, 101, 105, 111, 117, 121, 0xE4, 0xF6, 65, 69, 73, 79, 85, 89, + 0xC4, 0xD6, 0 }; + static const wchar_t FINNISH_VOWELS_NO_Y[] = { 97, 101, 105, 111, 117, 0xE4, 0xF6, 65, 69, 73, 79, 85, + 0xC4, 0xD6, 0 }; + static const wchar_t FINNISH_VOWELS_SIMPLE[] = { 97, 101, 105, 0xE4, 65, 69, 73, 0xC4, 0 }; + static const wchar_t FINNISH_STEP_1_SUFFIX[] = { 110, 116, 97, 101, 105, 111, 117, 121, 0xE4, + 0xF6, 78, 84, 65, 69, 73, 79, 85, 89, 0xC4, 0xD6, 0 }; + + static const wchar_t DUTCH_VOWELS[] = { 97, 101, 105, 111, 117, 121, 0xE8, + 65, 69, 73, 79, 85, 89, 0xC8, 0 }; + static const wchar_t DUTCH_KDT[] = { 107, 100, 116, 75, 68, 84, 0 }; + static const wchar_t DUTCH_S_ENDING[] = { 97, 101, 0xE8, 105, 111, 117, 121, 106, 65, 69, + 0xC8, 73, 79, 85, 89, 74, 0 }; + + static const wchar_t NORWEGIAN_VOWELS[] = { 97, 101, 105, 111, 0xF8, 117, 121, 0xE5, + 0xE6, 0xC5, 65, 0xC6, 69, 73, 79, + 0xD8, 85, 89, 0 }; + static const wchar_t PORTUGUESE_VOWELS[] = { 97, 101, 105, 111, 117, 0xE1, 0xE9, + 0xED, 0xF3, 0xFA, 0xE2, + 0xEA, 0xF4, 65, 69, 73, 79, 85, 0xC1, + 0xC9, 0xCD, 0xD3, 0xDA, + 0xC2, 0xCA, 0xD4, 0 }; + static const wchar_t SPANISH_VOWELS[] = { 97, 101, 105, 111, 117, 0xE1, 0xE9, + 0xED, 0xF3, 0xFA, 0xFC, + 65, 69, 73, 79, 85, 0xC1, 0xC9, 0xCD, + 0xD3, 0xDA, 0xDC, 0 }; + + static const wchar_t SWEDISH_VOWELS[] = { 97, 101, 105, 111, 117, 121, 0xE5, + 0xE4, 0xF6, 65, 69, 73, 79, 85, 89, + 0xC5, 0xC4, 0xD6, 0 }; + + static const wchar_t ITALIAN_VOWELS[] = { 97, 101, 105, 111, 117, 0xE0, + 0xE8, 0xEC, 0xF2, + 0xF9, 65, 69, 73, 79, 85, 0xC0, + 0xC8, 0xCC, 0xD2, + 0xD9, 0 }; + static const wchar_t ITALIAN_VOWELS_SIMPLE[] = { 97, 101, 105, 111, 0xE0, + 0xE8, 0xEC, 0xF2, + 65, 69, 73, 79, 0xC0, 0xC8, + 0xCC, 0xD2, 0 }; + + /** + @class stem + @brief The base class for language-specific stemmers. + @details The template argument for the stemmers are the type + of std::basic_string that you are trying to stem, by default std::wstring (Unicode strings). + As long as the char type of your basic_string is wchar_t, then you can use any type of basic_string. + This is to say, if your basic_string has a custom char_traits or allocator, then just specify it in + your template argument to the stemmer. + + @par Example: + \code + typedef std::basic_string myString; + myString word(L"documentation"); + stemming::english_stem StemEnglish; + StemEnglish(word); + \endcode */ + template + class stem + { + public: + stem() : m_r1(0), m_r2(0), m_rv(0) {} + protected: + //R1, R2, RV functions + void find_r1(const string_typeT& text, + const wchar_t* vowel_list) + { + //see where the R1 section begin + //R1 is the region after the first consonant after the first vowel + size_t start = text.find_first_of(vowel_list, 0); + if (start == string_typeT::npos) + { + //we need at least need a vowel somewhere in the word + m_r1 = text.length(); + return; + } + + m_r1 = text.find_first_not_of(vowel_list,++start); + if (get_r1() == string_typeT::npos) + { + m_r1 = text.length(); + } + else + { + ++m_r1; + } + } + + void find_r2(const string_typeT& text, + const wchar_t* vowel_list) + { + size_t start = 0; + //look for R2--not required for all criteria. + //R2 is the region after the first consonant after the first vowel after R1 + if (get_r1() != text.length() ) + { + start = text.find_first_of(vowel_list, get_r1()); + } + else + { + start = string_typeT::npos; + } + if (start != string_typeT::npos && + static_cast(start) != static_cast(text.length())-1) + { + m_r2 = text.find_first_not_of(vowel_list,++start); + if (get_r2() == string_typeT::npos) + { + m_r2 = text.length(); + } + else + { + ++m_r2; + } + } + else + { + m_r2 = text.length(); + } + } + + void find_spanish_rv(const string_typeT& text, + const wchar_t* vowel_list) + { + //see where the RV section begin + if (text.length() < 4) + { + m_rv = text.length(); + return; + } + //if second letter is a consonant + if (!string_util::is_one_of(text[1], vowel_list) ) + { + size_t start = text.find_first_of(vowel_list, 2); + if (start == string_typeT::npos) + { + //can't find next vowel + m_rv = text.length(); + return; + } + else + { + m_rv = start+1; + } + } + //if first two letters are vowels + else if (string_util::is_one_of(text[0], vowel_list) && + string_util::is_one_of(text[1], vowel_list)) + { + size_t start = text.find_first_not_of(vowel_list, 2); + if (start == string_typeT::npos) + { + //can't find next consonant + m_rv = text.length(); + return; + } + else + { + m_rv = start+1; + } + } + //consonant/vowel at beginning + else if (!string_util::is_one_of(text[0], vowel_list) && + string_util::is_one_of(text[1], vowel_list)) + { + m_rv = 3; + } + else + { + m_rv = text.length(); + } + } + + /*If the word begins with two vowels, RV is the region after the third letter, + otherwise the region after the first vowel not at the beginning of the word, + or the end of the word if these positions cannot be found. + (Exceptionally, par, col or tap, at the begining of a word is also taken to be the region before RV.)*/ + void find_french_rv(const string_typeT& text, + const wchar_t* vowel_list) + { + //see where the RV section begin + if (text.length() < 3) + { + m_rv = text.length(); + return; + } + /*Exceptions: If the word begins with these then RV goes right after them, + whether it be a letter or simply the end of the word.*/ + if (text.length() >= 3 && + ((is_either(text[0], common_lang_constants::LOWER_P, common_lang_constants::UPPER_P) && + is_either(text[1], common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && + is_either(text[2], common_lang_constants::LOWER_R, common_lang_constants::UPPER_R) ) || //par + + (is_either(text[0], common_lang_constants::LOWER_C, common_lang_constants::UPPER_C) && + is_either(text[1], common_lang_constants::LOWER_O, common_lang_constants::UPPER_O) && + is_either(text[2], common_lang_constants::LOWER_L, common_lang_constants::UPPER_L) ) || //col + + (is_either(text[0], common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) && + is_either(text[1], common_lang_constants::LOWER_A, common_lang_constants::UPPER_A) && + is_either(text[2], common_lang_constants::LOWER_P, common_lang_constants::UPPER_P) ))//tap + ) + { + m_rv = 3; + return; + } + //if first two letters are vowels + if (string_util::is_one_of(text[0], vowel_list) && + string_util::is_one_of(text[1], vowel_list)) + { + m_rv = 3; + } + else + { + size_t start = text.find_first_not_of(vowel_list, 0); + if (start == string_typeT::npos) + { + //can't find first consonant + m_rv = text.length(); + return; + } + start = text.find_first_of(vowel_list, start); + if (start == string_typeT::npos) + { + //can't find first vowel + m_rv = text.length(); + return; + } + m_rv = start+1; + } + } + + void find_russian_rv(const string_typeT& text, + const wchar_t* vowel_list) + { + size_t start = text.find_first_of(vowel_list); + if (start == string_typeT::npos) + { + //can't find first vowel + m_rv = text.length(); + return; + } + else + { + m_rv = start+1; + } + } + + inline void update_r_sections(const string_typeT& text) + { + if (get_r1() > text.length() ) + { + m_r1 = text.length(); + } + if (get_r2() > text.length() ) + { + m_r2 = text.length(); + } + if (get_rv() > text.length() ) + { + m_rv = text.length(); + } + } + /**Determines if a character is an apostrophe (includes straight single quotes). + @param ch The letter to be analyzed.*/ + inline bool is_apostrophe(const wchar_t& ch) const + { + return (ch == 39) ? //' + true : (ch == 146) ? //apostrophe + true : (ch == 180) ? //apostrophe + true : (ch == 0x2019) ? //right single apostrophe + true : false; + } + //--------------------------------------------- + void trim_western_punctuation(string_typeT& text) const + { + if (text.length() >= 3 && + is_apostrophe(text[text.length()-3]) && + is_either(text[text.length()-2], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) && + is_apostrophe(text[text.length()-1]) ) + { text.erase(text.length()-3); } + else if (text.length() >= 2 && + is_apostrophe(text[text.length()-2]) && + is_either(text[text.length()-1], common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { text.erase(text.length()-2); } + else if (is_apostrophe(text[text.length()-1])) + { text.erase(text.length()-1); } + while (text.length() ) + { + const wchar_t lastChar = text[text.length()-1]; + if (!(lastChar >= 48 && lastChar <= 57) && + !(lastChar >= 65 && lastChar <= 90) && + !(lastChar >= 97 && lastChar <= 122) && + !(lastChar >= 192 && lastChar <= 246) && + !(lastChar >= 248 && lastChar <= 255) && + lastChar != 0xA0)//space + { + text.erase(text.length()-1); + } + else + { break; } + } + while (text.length() ) + { + if (!(text[0] >= 48 && text[0] <= 57) && + !(text[0] >= 65 && text[0] <= 90) && + !(text[0] >= 97 && text[0] <= 122) && + !(text[0] >= 192 && text[0] <= 246) && + !(text[0] >= 248 && text[0] <= 255) ) + { text.erase(0, 1); } + else + { break; } + } + } + + //suffix removal determinant functions + ///is_suffix for one character + inline bool is_suffix(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U) const + { + if (text.length() < 1) + { return false; } + return is_either(text[text.length()-1], suffix1L, suffix1U); + } + ///is_suffix for two characters + inline bool is_suffix(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U) const + { + if (text.length() < 2) + { + return false; + } + return is_either(text[text.length()-2], suffix1L, suffix1U) && + is_either(text[text.length()-1], suffix2L, suffix2U); + } + + ///is_suffix for three characters + inline bool is_suffix(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U) const + { + if (text.length() < 3) + { + return false; + } + return is_either(text[text.length()-3], suffix1L, suffix1U) && + is_either(text[text.length()-2], suffix2L, suffix2U) && + is_either(text[text.length()-1], suffix3L, suffix3U); + } + ///is_suffix for four characters + inline bool is_suffix(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U) const + { + if (text.length() < 4) + { + return false; + } + return is_either(text[text.length()-4], suffix1L, suffix1U) && + is_either(text[text.length()-3], suffix2L, suffix2U) && + is_either(text[text.length()-2], suffix3L, suffix3U) && + is_either(text[text.length()-1], suffix4L, suffix4U); + } + ///is_suffix for five characters + inline bool is_suffix(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U) const + { + if (text.length() < 5) + { + return false; + } + return is_either(text[text.length()-5], suffix1L, suffix1U) && + is_either(text[text.length()-4], suffix2L, suffix2U) && + is_either(text[text.length()-3], suffix3L, suffix3U) && + is_either(text[text.length()-2], suffix4L, suffix4U) && + is_either(text[text.length()-1], suffix5L, suffix5U); + } + ///is_suffix for six characters + inline bool is_suffix(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U) const + { + if (text.length() < 6) + { + return false; + } + return is_either(text[text.length()-6], suffix1L, suffix1U) && + is_either(text[text.length()-5], suffix2L, suffix2U) && + is_either(text[text.length()-4], suffix3L, suffix3U) && + is_either(text[text.length()-3], suffix4L, suffix4U) && + is_either(text[text.length()-2], suffix5L, suffix5U) && + is_either(text[text.length()-1], suffix6L, suffix6U); + } + ///is_suffix for seven characters + inline bool is_suffix(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U, + const wchar_t suffix7L, const wchar_t suffix7U) const + { + if (text.length() < 7) + { + return false; + } + return is_either(text[text.length()-7], suffix1L, suffix1U) && + is_either(text[text.length()-6], suffix2L, suffix2U) && + is_either(text[text.length()-5], suffix3L, suffix3U) && + is_either(text[text.length()-4], suffix4L, suffix4U) && + is_either(text[text.length()-3], suffix5L, suffix5U) && + is_either(text[text.length()-2], suffix6L, suffix6U) && + is_either(text[text.length()-1], suffix7L, suffix7U); + } + ///is_suffix for eight characters + inline bool is_suffix(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U, + const wchar_t suffix7L, const wchar_t suffix7U, + const wchar_t suffix8L, const wchar_t suffix8U) const + { + if (text.length() < 8) + { + return false; + } + return is_either(text[text.length()-8], suffix1L, suffix1U) && + is_either(text[text.length()-7], suffix2L, suffix2U) && + is_either(text[text.length()-6], suffix3L, suffix3U) && + is_either(text[text.length()-5], suffix4L, suffix4U) && + is_either(text[text.length()-4], suffix5L, suffix5U) && + is_either(text[text.length()-3], suffix6L, suffix6U) && + is_either(text[text.length()-2], suffix7L, suffix7U) && + is_either(text[text.length()-1], suffix8L, suffix8U); + } + ///is_suffix for nine characters + inline bool is_suffix(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U, + const wchar_t suffix7L, const wchar_t suffix7U, + const wchar_t suffix8L, const wchar_t suffix8U, + const wchar_t suffix9L, const wchar_t suffix9U) const + { + if (text.length() < 9) + { + return false; + } + return is_either(text[text.length()-9], suffix1L, suffix1U) && + is_either(text[text.length()-8], suffix2L, suffix2U) && + is_either(text[text.length()-7], suffix3L, suffix3U) && + is_either(text[text.length()-6], suffix4L, suffix4U) && + is_either(text[text.length()-5], suffix5L, suffix5U) && + is_either(text[text.length()-4], suffix6L, suffix6U) && + is_either(text[text.length()-3], suffix7L, suffix7U) && + is_either(text[text.length()-2], suffix8L, suffix8U) && + is_either(text[text.length()-1], suffix9L, suffix9U); + } + + ///comparison for two characters + inline bool is_partial_suffix(const string_typeT& text, + const size_t start_index, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U) + { + if ((start_index+2) >= text.length()) + { return false; } + return (is_either(text[start_index], suffix1L, suffix1U) && + is_either(text[start_index+1], suffix2L, suffix2U)); + } + ///comparison for three characters + inline bool is_partial_suffix(const string_typeT& text, + const size_t start_index, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U) + { + if ((start_index+3) >= text.length()) + { return false; } + return (is_either(text[start_index], suffix1L, suffix1U) && + is_either(text[start_index+1], suffix2L, suffix2U) && + is_either(text[start_index+2], suffix3L, suffix3U)); + } + + ///RV suffix functions + //------------------------------------------------- + ///RV suffix comparison for one character + inline bool is_suffix_in_rv(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U) + { + if (text.length() < 1) + { + return false; + } + return (is_either(text[text.length()-1], suffix1L, suffix1U) && + (get_rv() <= text.length()-1) ); + } + ///RV suffix comparison for two characters + inline bool is_suffix_in_rv(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U) + { + if (text.length() < 2) + { + return false; + } + return ((is_either(text[text.length()-2], suffix1L, suffix1U) && + is_either(text[text.length()-1], suffix2L, suffix2U) ) && + (get_rv() <= text.length()-2) ); + } + ///RV suffix comparison for three characters + inline bool is_suffix_in_rv(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U) + { + if (text.length() < 3) + { + return false; + } + return ((is_either(text[text.length()-3], suffix1L, suffix1U) && + is_either(text[text.length()-2], suffix2L, suffix2U) && + is_either(text[text.length()-1], suffix3L, suffix3U) ) && + (get_rv() <= text.length()-3) ); + } + ///RV suffix comparison for four characters + inline bool is_suffix_in_rv(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U) + { + if (text.length() < 4) + { + return false; + } + return ((is_either(text[text.length()-4], suffix1L, suffix1U) && + is_either(text[text.length()-3], suffix2L, suffix2U) && + is_either(text[text.length()-2], suffix3L, suffix3U) && + is_either(text[text.length()-1], suffix4L, suffix4U) ) && + (get_rv() <= text.length()-4) ); + } + ///RV suffix comparison for five characters + inline bool is_suffix_in_rv(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U) + { + if (text.length() < 5) + { + return false; + } + return ((is_either(text[text.length()-5], suffix1L, suffix1U) && + is_either(text[text.length()-4], suffix2L, suffix2U) && + is_either(text[text.length()-3], suffix3L, suffix3U) && + is_either(text[text.length()-2], suffix4L, suffix4U) && + is_either(text[text.length()-1], suffix5L, suffix5U) ) && + (get_rv() <= text.length()-5) ); + } + ///RV suffix comparison for six characters + inline bool is_suffix_in_rv(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U) + { + if (text.length() < 6) + { + return false; + } + return ((is_either(text[text.length()-6], suffix1L, suffix1U) && + is_either(text[text.length()-5], suffix2L, suffix2U) && + is_either(text[text.length()-4], suffix3L, suffix3U) && + is_either(text[text.length()-3], suffix4L, suffix4U) && + is_either(text[text.length()-2], suffix5L, suffix5U) && + is_either(text[text.length()-1], suffix6L, suffix6U) ) && + (get_rv() <= text.length()-6) ); + } + ///RV suffix comparison for seven characters + inline bool is_suffix_in_rv(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U, + const wchar_t suffix7L, const wchar_t suffix7U) + { + if (text.length() < 7) + { + return false; + } + return ((is_either(text[text.length()-7], suffix1L, suffix1U) && + is_either(text[text.length()-6], suffix2L, suffix2U) && + is_either(text[text.length()-5], suffix3L, suffix3U) && + is_either(text[text.length()-4], suffix4L, suffix4U) && + is_either(text[text.length()-3], suffix5L, suffix5U) && + is_either(text[text.length()-2], suffix6L, suffix6U) && + is_either(text[text.length()-1], suffix7L, suffix7U) ) && + (get_rv() <= text.length()-7) ); + } + ///RV suffix comparison for eight characters + inline bool is_suffix_in_rv(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U, + const wchar_t suffix7L, const wchar_t suffix7U, + const wchar_t suffix8L, const wchar_t suffix8U) + { + if (text.length() < 8) + { + return false; + } + return ((is_either(text[text.length()-8], suffix1L, suffix1U) && + is_either(text[text.length()-7], suffix2L, suffix2U) && + is_either(text[text.length()-6], suffix3L, suffix3U) && + is_either(text[text.length()-5], suffix4L, suffix4U) && + is_either(text[text.length()-4], suffix5L, suffix5U) && + is_either(text[text.length()-3], suffix6L, suffix6U) && + is_either(text[text.length()-2], suffix7L, suffix7U) && + is_either(text[text.length()-1], suffix8L, suffix8U) ) && + (get_rv() <= text.length()-8) ); + } + + ///R1 suffix functions + //------------------------------------------------- + ///R1 suffix comparison for one character + inline bool is_suffix_in_r1(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U) + { + if (text.length() < 1) + { + return false; + } + return (is_either(text[text.length()-1], suffix1L, suffix1U) && + (get_r1() <= text.length()-1) ); + } + ///R1 suffix comparison for two characters + inline bool is_suffix_in_r1(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U) + { + if (text.length() < 2) + { + return false; + } + return ((is_either(text[text.length()-2], suffix1L, suffix1U) && + is_either(text[text.length()-1], suffix2L, suffix2U) ) && + (get_r1() <= text.length()-2) ); + } + ///R1 suffix comparison for three characters + inline bool is_suffix_in_r1(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U) + { + if (text.length() < 3) + { + return false; + } + return ((is_either(text[text.length()-3], suffix1L, suffix1U) && + is_either(text[text.length()-2], suffix2L, suffix2U) && + is_either(text[text.length()-1], suffix3L, suffix3U) ) && + (get_r1() <= text.length()-3) ); + } + ///R1 suffix comparison for four characters + inline bool is_suffix_in_r1(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U) + { + if (text.length() < 4) + { + return false; + } + return ((is_either(text[text.length()-4], suffix1L, suffix1U) && + is_either(text[text.length()-3], suffix2L, suffix2U) && + is_either(text[text.length()-2], suffix3L, suffix3U) && + is_either(text[text.length()-1], suffix4L, suffix4U) ) && + (get_r1() <= text.length()-4) ); + } + ///R1 suffix comparison for five characters + inline bool is_suffix_in_r1(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U) + { + if (text.length() < 5) + { + return false; + } + return ((is_either(text[text.length()-5], suffix1L, suffix1U) && + is_either(text[text.length()-4], suffix2L, suffix2U) && + is_either(text[text.length()-3], suffix3L, suffix3U) && + is_either(text[text.length()-2], suffix4L, suffix4U) && + is_either(text[text.length()-1], suffix5L, suffix5U) ) && + (get_r1() <= text.length()-5) ); + } + ///R1 suffix comparison for six characters + inline bool is_suffix_in_r1(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U) + { + if (text.length() < 6) + { + return false; + } + return ((is_either(text[text.length()-6], suffix1L, suffix1U) && + is_either(text[text.length()-5], suffix2L, suffix2U) && + is_either(text[text.length()-4], suffix3L, suffix3U) && + is_either(text[text.length()-3], suffix4L, suffix4U) && + is_either(text[text.length()-2], suffix5L, suffix5U) && + is_either(text[text.length()-1], suffix6L, suffix6U) ) && + (get_r1() <= text.length()-6) ); + } + + ///R2 suffix functions + //------------------------------------------------- + ///R2 suffix comparison for one character + inline bool is_suffix_in_r2(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U) + { + if (text.length() < 1) + { + return false; + } + return (is_either(text[text.length()-1], suffix1L, suffix1U) && + (get_r2() <= text.length()-1) ); + } + ///R2 suffix comparison for two characters + inline bool is_suffix_in_r2(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U) + { + if (text.length() < 2) + { + return false; + } + return ((is_either(text[text.length()-2], suffix1L, suffix1U) && + is_either(text[text.length()-1], suffix2L, suffix2U) ) && + (get_r2() <= text.length()-2) ); + } + ///R2 suffix comparison for three characters + inline bool is_suffix_in_r2(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U) + { + if (text.length() < 3) + { + return false; + } + return ((is_either(text[text.length()-3], suffix1L, suffix1U) && + is_either(text[text.length()-2], suffix2L, suffix2U) && + is_either(text[text.length()-1], suffix3L, suffix3U) ) && + (get_r2() <= text.length()-3) ); + } + ///R2 suffix comparison for four characters + inline bool is_suffix_in_r2(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U) + { + if (text.length() < 4) + { + return false; + } + return ((is_either(text[text.length()-4], suffix1L, suffix1U) && + is_either(text[text.length()-3], suffix2L, suffix2U) && + is_either(text[text.length()-2], suffix3L, suffix3U) && + is_either(text[text.length()-1], suffix4L, suffix4U) ) && + (get_r2() <= text.length()-4) ); + } + ///R2 suffix comparison for five characters + inline bool is_suffix_in_r2(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U) + { + if (text.length() < 5) + { + return false; + } + return ((is_either(text[text.length()-5], suffix1L, suffix1U) && + is_either(text[text.length()-4], suffix2L, suffix2U) && + is_either(text[text.length()-3], suffix3L, suffix3U) && + is_either(text[text.length()-2], suffix4L, suffix4U) && + is_either(text[text.length()-1], suffix5L, suffix5U) ) && + (get_r2() <= text.length()-5) ); + } + ///R2 suffix comparison for six characters + inline bool is_suffix_in_r2(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U) + { + if (text.length() < 6) + { + return false; + } + return ((is_either(text[text.length()-6], suffix1L, suffix1U) && + is_either(text[text.length()-5], suffix2L, suffix2U) && + is_either(text[text.length()-4], suffix3L, suffix3U) && + is_either(text[text.length()-3], suffix4L, suffix4U) && + is_either(text[text.length()-2], suffix5L, suffix5U) && + is_either(text[text.length()-1], suffix6L, suffix6U) ) && + (get_r2() <= text.length()-6) ); + } + ///R2 suffix comparison for seven characters + inline bool is_suffix_in_r2(const string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U, + const wchar_t suffix7L, const wchar_t suffix7U) + { + if (text.length() < 7) + { + return false; + } + return ((is_either(text[text.length()-7], suffix1L, suffix1U) && + is_either(text[text.length()-6], suffix2L, suffix2U) && + is_either(text[text.length()-5], suffix3L, suffix3U) && + is_either(text[text.length()-4], suffix4L, suffix4U) && + is_either(text[text.length()-3], suffix5L, suffix5U) && + is_either(text[text.length()-2], suffix6L, suffix6U) && + is_either(text[text.length()-1], suffix7L, suffix7U) ) && + (get_r2() <= text.length()-7) ); + } + + //suffix removal functions + //R1 deletion for one character suffix + inline bool delete_if_is_in_r1(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const bool success_on_find = true) + { + assert(suffix1L == string_util::tolower_western(suffix1U) ); + if (text.length() < 1) + { + return false; + } + if (is_either(text[text.length()-1], suffix1L, suffix1U)) + { + if (get_r1() <= text.length()-1) + { + text.erase(text.length()-1); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //R1 deletion for two character suffix + inline bool delete_if_is_in_r1(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const bool success_on_find = true) + { + if (text.length() < 2) + { + return false; + } + if (is_either(text[text.length()-2], suffix1L, suffix1U) && + is_either(text[text.length()-1], suffix2L, suffix2U)) + { + if (get_r1() <= text.length()-2) + { + text.erase(text.length()-2); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //R1 deletion for three character suffix + inline bool delete_if_is_in_r1(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const bool success_on_find = true) + { + if (text.length() < 3) + { + return false; + } + if (is_either(text[text.length()-3], suffix1L, suffix1U) && + is_either(text[text.length()-2], suffix2L, suffix2U) && + is_either(text[text.length()-1], suffix3L, suffix3U) ) + { + if (get_r1() <= text.length()-3) + { + text.erase(text.length()-3); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //R1 deletion for four character suffix + inline bool delete_if_is_in_r1(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const bool success_on_find = true) + { + if (text.length() < 4) + { + return false; + } + if (is_either(text[text.length()-4], suffix1L, suffix1U) && + is_either(text[text.length()-3], suffix2L, suffix2U) && + is_either(text[text.length()-2], suffix3L, suffix3U) && + is_either(text[text.length()-1], suffix4L, suffix4U) ) + { + if (get_r1() <= text.length()-4) + { + text.erase(text.length()-4); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //R1 deletion for five character suffix + inline bool delete_if_is_in_r1(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const bool success_on_find = true) + { + if (text.length() < 5) + { + return false; + } + if (is_either(text[text.length()-5], suffix1L, suffix1U) && + is_either(text[text.length()-4], suffix2L, suffix2U) && + is_either(text[text.length()-3], suffix3L, suffix3U) && + is_either(text[text.length()-2], suffix4L, suffix4U) && + is_either(text[text.length()-1], suffix5L, suffix5U) ) + { + if (get_r1() <= text.length()-5) + { + text.erase(text.length()-5); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //R1 deletion for six character suffix + inline bool delete_if_is_in_r1(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U, + const bool success_on_find = true) + { + if (text.length() < 6) + { + return false; + } + if (is_either(text[text.length()-6], suffix1L, suffix1U) && + is_either(text[text.length()-5], suffix2L, suffix2U) && + is_either(text[text.length()-4], suffix3L, suffix3U) && + is_either(text[text.length()-3], suffix4L, suffix4U) && + is_either(text[text.length()-2], suffix5L, suffix5U) && + is_either(text[text.length()-1], suffix6L, suffix6U) ) + { + if (get_r1() <= text.length()-6) + { + text.erase(text.length()-6); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //R1 deletion for seven character suffix + inline bool delete_if_is_in_r1(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U, + const wchar_t suffix7L, const wchar_t suffix7U, + const bool success_on_find = true) + { + if (text.length() < 7) + { + return false; + } + if (is_either(text[text.length()-7], suffix1L, suffix1U) && + is_either(text[text.length()-6], suffix2L, suffix2U) && + is_either(text[text.length()-5], suffix3L, suffix3U) && + is_either(text[text.length()-4], suffix4L, suffix4U) && + is_either(text[text.length()-3], suffix5L, suffix5U) && + is_either(text[text.length()-2], suffix6L, suffix6U) && + is_either(text[text.length()-1], suffix7L, suffix7U) ) + { + if (get_r1() <= text.length()-7) + { + text.erase(text.length()-7); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + + //R2 deletion functions + //R2 deletion for one character suffix + inline bool delete_if_is_in_r2(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const bool success_on_find = true) + { + if (text.length() < 1) + { + return false; + } + if (is_either(text[text.length()-1], suffix1L, suffix1U)) + { + if (get_r2() <= text.length()-1) + { + text.erase(text.length()-1); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //R2 deletion for two character suffix + inline bool delete_if_is_in_r2(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const bool success_on_find = true) + { + if (text.length() < 2) + { + return false; + } + if (is_either(text[text.length()-2], suffix1L, suffix1U) && + is_either(text[text.length()-1], suffix2L, suffix2U)) + { + if (get_r2() <= text.length()-2) + { + text.erase(text.length()-2); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //R2 deletion for three character suffix + inline bool delete_if_is_in_r2(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const bool success_on_find = true) + { + if (text.length() < 3) + { + return false; + } + if (is_either(text[text.length()-3], suffix1L, suffix1U) && + is_either(text[text.length()-2], suffix2L, suffix2U) && + is_either(text[text.length()-1], suffix3L, suffix3U) ) + { + if (get_r2() <= text.length()-3) + { + text.erase(text.length()-3); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //R2 deletion for four character suffix + inline bool delete_if_is_in_r2(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const bool success_on_find = true) + { + if (text.length() < 4) + { + return false; + } + if (is_either(text[text.length()-4], suffix1L, suffix1U) && + is_either(text[text.length()-3], suffix2L, suffix2U) && + is_either(text[text.length()-2], suffix3L, suffix3U) && + is_either(text[text.length()-1], suffix4L, suffix4U) ) + { + if (get_r2() <= text.length()-4) + { + text.erase(text.length()-4); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + ///R2 deletion for five character suffix + inline bool delete_if_is_in_r2(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const bool success_on_find = true) + { + if (text.length() < 5) + { + return false; + } + if (is_either(text[text.length()-5], suffix1L, suffix1U) && + is_either(text[text.length()-4], suffix2L, suffix2U) && + is_either(text[text.length()-3], suffix3L, suffix3U) && + is_either(text[text.length()-2], suffix4L, suffix4U) && + is_either(text[text.length()-1], suffix5L, suffix5U) ) + { + if (get_r2() <= text.length()-5) + { + text.erase(text.length()-5); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + ///R2 deletion for six character suffix + inline bool delete_if_is_in_r2(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U, + const bool success_on_find = true) + { + if (text.length() < 6) + { + return false; + } + if (is_either(text[text.length()-6], suffix1L, suffix1U) && + is_either(text[text.length()-5], suffix2L, suffix2U) && + is_either(text[text.length()-4], suffix3L, suffix3U) && + is_either(text[text.length()-3], suffix4L, suffix4U) && + is_either(text[text.length()-2], suffix5L, suffix5U) && + is_either(text[text.length()-1], suffix6L, suffix6U) ) + { + if (get_r2() <= text.length()-6) + { + text.erase(text.length()-6); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + ///R2 deletion for seven character suffix + inline bool delete_if_is_in_r2(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U, + const wchar_t suffix7L, const wchar_t suffix7U, + const bool success_on_find = true) + { + if (text.length() < 7) + { + return false; + } + if (is_either(text[text.length()-7], suffix1L, suffix1U) && + is_either(text[text.length()-6], suffix2L, suffix2U) && + is_either(text[text.length()-5], suffix3L, suffix3U) && + is_either(text[text.length()-4], suffix4L, suffix4U) && + is_either(text[text.length()-3], suffix5L, suffix5U) && + is_either(text[text.length()-2], suffix6L, suffix6U) && + is_either(text[text.length()-1], suffix7L, suffix7U) ) + { + if (get_r2() <= text.length()-7) + { + text.erase(text.length()-7); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + ///R2 deletion for eight character suffix + inline bool delete_if_is_in_r2(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U, + const wchar_t suffix7L, const wchar_t suffix7U, + const wchar_t suffix8L, const wchar_t suffix8U, + const bool success_on_find = true) + { + if (text.length() < 8) + { + return false; + } + if (is_either(text[text.length()-8], suffix1L, suffix1U) && + is_either(text[text.length()-7], suffix2L, suffix2U) && + is_either(text[text.length()-6], suffix3L, suffix3U) && + is_either(text[text.length()-5], suffix4L, suffix4U) && + is_either(text[text.length()-4], suffix5L, suffix5U) && + is_either(text[text.length()-3], suffix6L, suffix6U) && + is_either(text[text.length()-2], suffix7L, suffix7U) && + is_either(text[text.length()-1], suffix8L, suffix8U) ) + { + if (get_r2() <= text.length()-8) + { + text.erase(text.length()-8); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + + //RV deletion functions + //RV deletion for one character suffix + inline bool delete_if_is_in_rv(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const bool success_on_find = true) + { + if (text.length() < 1) + { + return false; + } + if (is_either(text[text.length()-1], suffix1L, suffix1U)) + { + if (get_rv() <= text.length()-1) + { + text.erase(text.length()-1); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //RV deletion for two character suffix + inline bool delete_if_is_in_rv(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const bool success_on_find = true) + { + if (text.length() < 2) + { + return false; + } + if (is_either(text[text.length()-2], suffix1L, suffix1U) && + is_either(text[text.length()-1], suffix2L, suffix2U)) + { + if (get_rv() <= text.length()-2) + { + text.erase(text.length()-2); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //RV deletion for three character suffix + inline bool delete_if_is_in_rv(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const bool success_on_find = true) + { + if (text.length() < 3) + { + return false; + } + if (is_either(text[text.length()-3], suffix1L, suffix1U) && + is_either(text[text.length()-2], suffix2L, suffix2U) && + is_either(text[text.length()-1], suffix3L, suffix3U) ) + { + if (get_rv() <= text.length()-3) + { + text.erase(text.length()-3); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //RV deletion for four character suffix + inline bool delete_if_is_in_rv(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const bool success_on_find = true) + { + if (text.length() < 4) + { + return false; + } + if (is_either(text[text.length()-4], suffix1L, suffix1U) && + is_either(text[text.length()-3], suffix2L, suffix2U) && + is_either(text[text.length()-2], suffix3L, suffix3U) && + is_either(text[text.length()-1], suffix4L, suffix4U) ) + { + if (get_rv() <= text.length()-4) + { + text.erase(text.length()-4); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //RV deletion for five character suffix + inline bool delete_if_is_in_rv(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const bool success_on_find = true) + { + if (text.length() < 5) + { + return false; + } + if (is_either(text[text.length()-5], suffix1L, suffix1U) && + is_either(text[text.length()-4], suffix2L, suffix2U) && + is_either(text[text.length()-3], suffix3L, suffix3U) && + is_either(text[text.length()-2], suffix4L, suffix4U) && + is_either(text[text.length()-1], suffix5L, suffix5U) ) + { + if (get_rv() <= text.length()-5) + { + text.erase(text.length()-5); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //RV deletion for six character suffix + inline bool delete_if_is_in_rv(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U, + const bool success_on_find = true) + { + if (text.length() < 6) + { + return false; + } + if (is_either(text[text.length()-6], suffix1L, suffix1U) && + is_either(text[text.length()-5], suffix2L, suffix2U) && + is_either(text[text.length()-4], suffix3L, suffix3U) && + is_either(text[text.length()-3], suffix4L, suffix4U) && + is_either(text[text.length()-2], suffix5L, suffix5U) && + is_either(text[text.length()-1], suffix6L, suffix6U) ) + { + if (get_rv() <= text.length()-6) + { + text.erase(text.length()-6); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //RV deletion for seven character suffix + inline bool delete_if_is_in_rv(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U, + const wchar_t suffix7L, const wchar_t suffix7U, + const bool success_on_find = true) + { + if (text.length() < 7) + { + return false; + } + if (is_either(text[text.length()-7], suffix1L, suffix1U) && + is_either(text[text.length()-6], suffix2L, suffix2U) && + is_either(text[text.length()-5], suffix3L, suffix3U) && + is_either(text[text.length()-4], suffix4L, suffix4U) && + is_either(text[text.length()-3], suffix5L, suffix5U) && + is_either(text[text.length()-2], suffix6L, suffix6U) && + is_either(text[text.length()-1], suffix7L, suffix7U) ) + { + if (get_rv() <= text.length()-7) + { + text.erase(text.length()-7); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + //RV deletion for eight character suffix + inline bool delete_if_is_in_rv(string_typeT& text, + const wchar_t suffix1L, const wchar_t suffix1U, + const wchar_t suffix2L, const wchar_t suffix2U, + const wchar_t suffix3L, const wchar_t suffix3U, + const wchar_t suffix4L, const wchar_t suffix4U, + const wchar_t suffix5L, const wchar_t suffix5U, + const wchar_t suffix6L, const wchar_t suffix6U, + const wchar_t suffix7L, const wchar_t suffix7U, + const wchar_t suffix8L, const wchar_t suffix8U, + const bool success_on_find = true) + { + if (text.length() < 8) + { + return false; + } + if (is_either(text[text.length()-8], suffix1L, suffix1U) && + is_either(text[text.length()-7], suffix2L, suffix2U) && + is_either(text[text.length()-6], suffix3L, suffix3U) && + is_either(text[text.length()-5], suffix4L, suffix4U) && + is_either(text[text.length()-4], suffix5L, suffix5U) && + is_either(text[text.length()-3], suffix6L, suffix6U) && + is_either(text[text.length()-2], suffix7L, suffix7U) && + is_either(text[text.length()-1], suffix8L, suffix8U) ) + { + if (get_rv() <= text.length()-8) + { + text.erase(text.length()-8); + update_r_sections(text); + return true; + } + return success_on_find; + } + else + { + return false; + } + } + + //string support functions + void remove_german_umlauts(string_typeT& text) + { + for (size_t i = 0; i < text.length(); ++i) + { + if (text[i] == 0xC4) + { + text[i] = common_lang_constants::UPPER_A; + } + else if (text[i] == 0xD6) + { + text[i] = common_lang_constants::UPPER_O; + } + else if (text[i] == 0xDC) + { + text[i] = common_lang_constants::UPPER_U; + } + else if (text[i] == 0xE4 ) + { + text[i] = common_lang_constants::LOWER_A; + } + else if (text[i] == 0xF6) + { + text[i] = common_lang_constants::LOWER_O; + } + else if (text[i] == 0xFC) + { + text[i] = common_lang_constants::LOWER_U; + } + } + } + void italian_acutes_to_graves(string_typeT& text) + { + for (size_t i = 0; i < text.length(); ++i) + { + if (text[i] == 0xC1)//A acute + { + text[i] = 0xC0; + } + else if (text[i] == 0xC9)//E acute + { + text[i] = 0xC8; + } + else if (text[i] == 0xCD)//I acute + { + text[i] = 0xCC; + } + else if (text[i] == 0xD3)//O acute + { + text[i] = 0xD2; + } + else if (text[i] == 0xDA)//U acute + { + text[i] = 0xD9; + } + else if (text[i] == 0xE1)//a acute + { + text[i] = 0xE0; + } + else if (text[i] == 0xE9)//e acute + { + text[i] = 0xE8; + } + else if (text[i] == 0xED)//i acute + { + text[i] = 0xEC; + } + else if (text[i] == 0xF3)//o acute + { + text[i] = 0xF2; + } + else if (text[i] == 0xFA)//u acute + { + text[i] = 0xF9; + } + } + } + ///Hash initial y, y after a vowel, and i between vowels into hashed character. + //---------------------------------------------------------- + void hash_dutch_yi(string_typeT& text, + const wchar_t* vowel_string) + { + //need at least 2 letters for hashing + if (text.length() < 2) + { return; } + + if (text[0] == common_lang_constants::LOWER_Y) + { + text[0] = LOWER_Y_HASH; + } + else if (text[0] == common_lang_constants::UPPER_Y) + { + text[0] = UPPER_Y_HASH; + } + bool in_vowel_block = string_util::is_one_of(text[0], vowel_string); + + size_t i = 1; + for (i = 1; i < text.length()-1; ++i) + { + if (in_vowel_block && + text[i] == common_lang_constants::LOWER_I && + string_util::is_one_of(text[i+1], vowel_string) ) + { + text[i] = LOWER_I_HASH; + in_vowel_block = false; + } + else if (in_vowel_block && + text[i] == common_lang_constants::UPPER_I && + string_util::is_one_of(text[i+1], vowel_string) ) + { + text[i] = UPPER_I_HASH; + in_vowel_block = false; + } + else if (in_vowel_block && + text[i] == common_lang_constants::LOWER_Y) + { + text[i] = LOWER_Y_HASH; + in_vowel_block = false; + } + else if (in_vowel_block && + text[i] == common_lang_constants::UPPER_Y) + { + text[i] = UPPER_Y_HASH; + in_vowel_block = false; + } + else if (string_util::is_one_of(text[i], vowel_string) ) + { + in_vowel_block = true; + } + else + { + in_vowel_block = false; + } + } + //check the last letter + if (in_vowel_block && + text[i] == common_lang_constants::LOWER_Y) + { + text[i] = LOWER_Y_HASH; + in_vowel_block = false; + } + else if (in_vowel_block && + text[i] == common_lang_constants::UPPER_Y) + { + text[i] = UPPER_Y_HASH; + in_vowel_block = false; + } + } + + //---------------------------------------------------------- + inline void unhash_dutch_yi(string_typeT& text) + { + string_util::replace_all(text, LOWER_Y_HASH, common_lang_constants::LOWER_Y); + string_util::replace_all(text, UPPER_Y_HASH, common_lang_constants::UPPER_Y); + string_util::replace_all(text, LOWER_I_HASH, common_lang_constants::LOWER_I); + string_util::replace_all(text, UPPER_I_HASH, common_lang_constants::UPPER_I); + } + + ///Hash 'u' and 'y' between vowels + //---------------------------------------------------------- + void hash_german_yu(string_typeT& text, + const wchar_t* vowel_string) + { + //need at least 2 letters for hashing + if (text.length() < 2) + { return; } + + bool in_vowel_block = string_util::is_one_of(text[0], vowel_string); + + for (size_t i = 1; i < text.length()-1; ++i) + { + if (in_vowel_block && + string_util::is_one_of(text[i], vowel_string) && + string_util::is_one_of(text[i+1], vowel_string) ) + { + if (text[i] == common_lang_constants::LOWER_Y) + { + text[i] = LOWER_Y_HASH; + } + else if (text[i] == common_lang_constants::UPPER_Y) + { + text[i] = UPPER_Y_HASH; + } + else if (text[i] == common_lang_constants::LOWER_U) + { + text[i] = LOWER_U_HASH; + } + else if (text[i] == common_lang_constants::UPPER_U) + { + text[i] = UPPER_U_HASH; + } + } + else if (string_util::is_one_of(text[i], vowel_string) ) + { + in_vowel_block = true; + } + else + { + in_vowel_block = false; + } + } + //hashable values must be between vowels, so don't bother looking at last letter + } + + //---------------------------------------------------------- + inline void unhash_german_yu(string_typeT& text) + { + string_util::replace_all(text, LOWER_Y_HASH, common_lang_constants::LOWER_Y); + string_util::replace_all(text, UPPER_Y_HASH, common_lang_constants::UPPER_Y); + string_util::replace_all(text, LOWER_U_HASH, common_lang_constants::LOWER_U); + string_util::replace_all(text, UPPER_U_HASH, common_lang_constants::UPPER_U); + } + + /**Hash u or i preceded and followed by a vowel, and y preceded or followed by a vowel. + u after q is also hashed. For example, + jouer -> joUer + ennuie -> ennuIe + yeux -> Yeux + quand -> qUand*/ + //---------------------------------------------------------- + void hash_french_yui(string_typeT& text, + const wchar_t* vowel_string) + { + //need at least 2 letters for hashing + if (text.length() < 2) + { return; } + + bool in_vowel_block = false; + + //start loop at zero because 'y' at start of string can be hashed + size_t i = 0; + for (i = 0; i < text.length()-1; ++i) + { + if (in_vowel_block && + string_util::is_one_of(text[i], vowel_string) && + string_util::is_one_of(text[i+1], vowel_string) ) + { + if (text[i] == common_lang_constants::LOWER_Y) + { + text[i] = LOWER_Y_HASH; + in_vowel_block = false; + } + else if (text[i] == common_lang_constants::UPPER_Y) + { + text[i] = UPPER_Y_HASH; + in_vowel_block = false; + } + else if (text[i] == common_lang_constants::LOWER_U) + { + text[i] = LOWER_U_HASH; + in_vowel_block = false; + } + else if (text[i] == common_lang_constants::UPPER_U) + { + text[i] = UPPER_U_HASH; + in_vowel_block = false; + } + else if (text[i] == common_lang_constants::LOWER_I) + { + text[i] = LOWER_I_HASH; + in_vowel_block = false; + } + else if (text[i] == common_lang_constants::UPPER_I) + { + text[i] = UPPER_I_HASH; + in_vowel_block = false; + } + } + //if just previous letter is a vowel then examine for 'y' + else if (in_vowel_block && + text[i] == common_lang_constants::LOWER_Y) + { + text[i] = LOWER_Y_HASH; + in_vowel_block = false; + } + else if (in_vowel_block && + text[i] == common_lang_constants::UPPER_Y) + { + text[i] = UPPER_Y_HASH; + in_vowel_block = false; + } + //if just following letter is a vowel then examine for 'y' + else if (text[i] == common_lang_constants::LOWER_Y && + string_util::is_one_of(text[i+1], vowel_string) && + is_neither(text[i+1], common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) ) + { + text[i] = LOWER_Y_HASH; + in_vowel_block = false; + } + else if (text[i] == common_lang_constants::UPPER_Y && + string_util::is_one_of(text[i+1], vowel_string) && + is_neither(text[i+1], common_lang_constants::LOWER_Y, common_lang_constants::UPPER_Y) ) + { + text[i] = UPPER_Y_HASH; + in_vowel_block = false; + } + else if (string_util::is_one_of(text[i], vowel_string) ) + { + if (text[i] == common_lang_constants::LOWER_U && + (i > 0) && + is_either(text[i-1], common_lang_constants::LOWER_Q, common_lang_constants::UPPER_Q) ) + { + text[i] = LOWER_U_HASH; + in_vowel_block = false; + } + else if (text[i] == common_lang_constants::UPPER_U && + (i > 0) && + is_either(text[i-1], common_lang_constants::LOWER_Q, common_lang_constants::UPPER_Q) ) + { + text[i] = UPPER_U_HASH; + in_vowel_block = false; + } + else + { + in_vowel_block = true; + } + } + else + { + in_vowel_block = false; + } + } + //verify that the last letter + if (text[i] == common_lang_constants::LOWER_Y && + (i > 0) && + string_util::is_one_of(text[i-1], vowel_string) ) + { + text[i] = LOWER_Y_HASH; + } + else if (text[i] == common_lang_constants::UPPER_Y && + (i > 0) && + string_util::is_one_of(text[i-1], vowel_string) ) + { + text[i] = UPPER_Y_HASH; + } + else if (text[i] == common_lang_constants::LOWER_U && + (i > 0) && + is_either(text[i-1], common_lang_constants::LOWER_Q, common_lang_constants::UPPER_Q) ) + { + text[i] = LOWER_U_HASH; + } + else if (text[i] == common_lang_constants::UPPER_U && + (i > 0) && + is_either(text[i-1], common_lang_constants::LOWER_Q, common_lang_constants::UPPER_Q) ) + { + text[i] = UPPER_U_HASH; + } + } + + void unhash_french_yui(string_typeT& text) + { + string_util::replace_all(text, LOWER_Y_HASH, common_lang_constants::LOWER_Y); + string_util::replace_all(text, UPPER_Y_HASH, common_lang_constants::UPPER_Y); + string_util::replace_all(text, LOWER_U_HASH, common_lang_constants::LOWER_U); + string_util::replace_all(text, UPPER_U_HASH, common_lang_constants::UPPER_U); + string_util::replace_all(text, LOWER_I_HASH, common_lang_constants::LOWER_I); + string_util::replace_all(text, UPPER_I_HASH, common_lang_constants::UPPER_I); + } + + //---------------------------------------------------------- + void hash_y(string_typeT& text, + const wchar_t* vowel_string) + { + //need at least 2 letters for hashing + if (text.length() < 2) + { return; } + + //if first letter is a 'y', then it is likely not a vowel + if (text[0] == common_lang_constants::LOWER_Y) + { + text[0] = LOWER_Y_HASH; + } + else if (text[0] == common_lang_constants::UPPER_Y) + { + text[0] = UPPER_Y_HASH; + } + + bool in_vowel_block = string_util::is_one_of(text[0], vowel_string); + + for (size_t i = 1; i < text.length(); ++i) + { + //LOWER_Y after vowel is a consonant + if (in_vowel_block && + text[i] == common_lang_constants::LOWER_Y) + { + text[i] = LOWER_Y_HASH; + in_vowel_block = false; + } + else if (in_vowel_block && + text[i] == common_lang_constants::UPPER_Y) + { + text[i] = UPPER_Y_HASH; + in_vowel_block = false; + } + else if (string_util::is_one_of(text[i], vowel_string) ) + { + in_vowel_block = true; + } + //we are on a consonant + else + { + in_vowel_block = false; + } + } + } + + //---------------------------------------------------------- + inline void unhash_y(string_typeT& text) + { + string_util::replace_all(text, LOWER_Y_HASH, common_lang_constants::LOWER_Y); + string_util::replace_all(text, UPPER_Y_HASH, common_lang_constants::UPPER_Y); + } + + ///Hash u after q, and u, i between vowels + //---------------------------------------------------------- + void hash_italian_ui(string_typeT& text, + const wchar_t* vowel_string) + { + //need at least 2 letters for hashing + if (text.length() < 2) + { return; } + + bool in_vowel_block = string_util::is_one_of(text[0], vowel_string); + + size_t i = 1; + for (i = 1; i < text.length()-1; ++i) + { + if (in_vowel_block && + string_util::is_one_of(text[i], vowel_string) && + string_util::is_one_of(text[i+1], vowel_string) ) + { + if (text[i] == common_lang_constants::LOWER_I ) + { + text[i] = LOWER_I_HASH; + } + else if (text[i] == common_lang_constants::UPPER_I ) + { + text[i] = UPPER_I_HASH; + } + else if (text[i] == common_lang_constants::LOWER_U) + { + text[i] = LOWER_U_HASH; + } + else if (text[i] == common_lang_constants::UPPER_U) + { + text[i] = UPPER_U_HASH; + } + } + else if (string_util::is_one_of(text[i], vowel_string) ) + { + /*u after q should be encrypted and not be + treated as a vowel*/ + if (text[i] == common_lang_constants::LOWER_U && + (i > 0) && + is_either(text[i-1], common_lang_constants::LOWER_Q, common_lang_constants::UPPER_Q) ) + { + text[i] = LOWER_U_HASH; + in_vowel_block = false; + } + else if (text[i] == common_lang_constants::UPPER_U && + (i > 0) && + is_either(text[i-1], common_lang_constants::LOWER_Q, common_lang_constants::UPPER_Q) ) + { + text[i] = UPPER_U_HASH; + in_vowel_block = false; + } + else + { + in_vowel_block = true; + } + } + //we are on a consonant + else + { + in_vowel_block = false; + } + } + //verify the last letter + if (text[i] == common_lang_constants::LOWER_U && + (i > 0) && + is_either(text[i-1], common_lang_constants::LOWER_Q, common_lang_constants::UPPER_Q) ) + { + text[i] = LOWER_U_HASH; + } + else if (text[i] == common_lang_constants::UPPER_U && + (i > 0) && + is_either(text[i-1], common_lang_constants::LOWER_Q, common_lang_constants::UPPER_Q) ) + { + text[i] = UPPER_U_HASH; + } + } + + //---------------------------------------------------------- + inline void unhash_italian_ui(string_typeT& text) + { + string_util::replace_all(text, LOWER_I_HASH, common_lang_constants::LOWER_I); + string_util::replace_all(text, UPPER_I_HASH, common_lang_constants::UPPER_I); + string_util::replace_all(text, LOWER_U_HASH, common_lang_constants::LOWER_U); + string_util::replace_all(text, UPPER_U_HASH, common_lang_constants::UPPER_U); + } + + //---------------------------------------------------------- + void remove_dutch_umlauts(string_typeT& text) + { + for (size_t i = 0; i < text.length(); ++i) + { + if (text[i] == 0xC4) + { + text[i] = common_lang_constants::UPPER_A; + } + else if (text[i] == 0xCB) + { + text[i] = common_lang_constants::UPPER_E; + } + else if (text[i] == 0xCF) + { + text[i] = common_lang_constants::UPPER_I; + } + else if (text[i] == 0xD6) + { + text[i] = common_lang_constants::UPPER_O; + } + else if (text[i] == 0xDC) + { + text[i] = common_lang_constants::UPPER_U; + } + else if (text[i] == 0xE4) + { + text[i] = common_lang_constants::LOWER_A; + } + else if (text[i] == 0xEB) + { + text[i] = common_lang_constants::LOWER_E; + } + else if (text[i] == 0xEF) + { + text[i] = common_lang_constants::LOWER_I; + } + else if (text[i] == 0xF6) + { + text[i] = common_lang_constants::LOWER_O; + } + else if (text[i] == 0xFC) + { + text[i] = common_lang_constants::LOWER_U; + } + } + } + + //---------------------------------------------------------- + void remove_dutch_acutes(string_typeT& text) + { + for (size_t i = 0; i < text.length(); ++i) + { + if (text[i] == 0xC1) + { + text[i] = common_lang_constants::UPPER_A; + } + else if (text[i] == 0xC9) + { + text[i] = common_lang_constants::UPPER_E; + } + else if (text[i] == 0xCD) + { + text[i] = common_lang_constants::UPPER_I; + } + else if (text[i] == 0xD3) + { + text[i] = common_lang_constants::UPPER_O; + } + else if (text[i] == 0xDA) + { + text[i] = common_lang_constants::UPPER_U; + } + else if (text[i] == 0xE1) + { + text[i] = common_lang_constants::LOWER_A; + } + else if (text[i] == 0xE9) + { + text[i] = common_lang_constants::LOWER_E; + } + else if (text[i] == 0xED) + { + text[i] = common_lang_constants::LOWER_I; + } + else if (text[i] == 0xF3) + { + text[i] = common_lang_constants::LOWER_O; + } + else if (text[i] == 0xFA) + { + text[i] = common_lang_constants::LOWER_U; + } + } + } + + //---------------------------------------------------------- + void remove_spanish_acutes(string_typeT& text) + { + for (size_t i = 0; i < text.length(); ++i) + { + if (text[i] == 0xC1) + { + text[i] = common_lang_constants::UPPER_A; + } + else if (text[i] == 0xC9) + { + text[i] = common_lang_constants::UPPER_E; + } + else if (text[i] == 0xCD) + { + text[i] = common_lang_constants::UPPER_I; + } + else if (text[i] == 0xD3) + { + text[i] = common_lang_constants::UPPER_O; + } + else if (text[i] == 0xDA) + { + text[i] = common_lang_constants::UPPER_U; + } + else if (text[i] == 0xE1) + { + text[i] = common_lang_constants::LOWER_A; + } + else if (text[i] == 0xE9) + { + text[i] = common_lang_constants::LOWER_E; + } + else if (text[i] == 0xED) + { + text[i] = common_lang_constants::LOWER_I; + } + else if (text[i] == 0xF3) + { + text[i] = common_lang_constants::LOWER_O; + } + else if (text[i] == 0xFA) + { + text[i] = common_lang_constants::LOWER_U; + } + } + } + + inline size_t get_r1() const + { return m_r1; } + inline void set_r1(const size_t val) + { m_r1 = val; } + + inline size_t get_r2() const + { return m_r2; } + inline void set_r2(const size_t val) + { m_r2 = val; } + + inline size_t get_rv() const + { return m_rv; } + inline void set_rv(const size_t val) + { m_rv = val; } + + void reset_r_values() + { m_r1 = m_r2 = m_rv = 0; } + private: + size_t m_r1; + size_t m_r2; + //only used for romance/russian languages + size_t m_rv; + }; + + //------------------------------------------------------ + /*A non-operational stemmer that is used in place of regular stemmers when + you don't want the system to actually stem anything.*/ + template + class no_op_stem + { + public: + ///No-op stemming of declared string type + inline void operator()(const string_typeT&) const + {} + ///No-op stemming of flexible string type + template + inline void operator()(const T&) const + {} + }; + } + +/** @}*/ + +#endif //__STEM_H__ diff --git a/stemming/swedish_stem.h b/stemming/swedish_stem.h new file mode 100755 index 0000000..07abd74 --- /dev/null +++ b/stemming/swedish_stem.h @@ -0,0 +1,332 @@ +/**@addtogroup Stemming +@brief Library for stemming words down to their root words. +@date 2003-2015 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ + +#ifndef __SWEDISH_STEM_H__ +#define __SWEDISH_STEM_H__ + +#include "stemming.h" + +namespace stemming + { + /** + @brief Swedish stemmer. + + @par Algorithm: + + The Swedish alphabet includes the following additional letters, + - ä å ö + + The following letters are vowels: + - a e i o u y ä å ö + + R2 is not used: R1 is defined in the same way as in the German stemmer. + + Define a valid s-ending as one of: + - b c d f g h j k l m n o p r t v y + + @par Algorithm: + + Step 1: + + Search for the longest among the following suffixes in R1, and perform the action indicated. + - a arna erna heterna orna ad e ade ande arne are aste en anden + aren heten ern ar er heter or as arnas ernas ornas es ades + andes ens arens hetens erns at andet het ast + - Delete. + - s + - Delete if preceded by a valid s-ending. + + (Of course the letter of the valid s-ending is not necessarily in R1). + + Step 2: + + Search for one of the following suffixes in R1, and if found delete the last letter. + - dd gd nn dt gt kt tt + + (For example, friskt -> frisk, fröknarnn -> fröknarn). + + Step 2: + + Search for the longest among the following suffixes in R1, and perform the action indicated. + - lig ig els + - Delete + - löst + - Replace with lös + - fullt + - Replace with full + */ + //------------------------------------------------------ + template + class swedish_stem : public stem + { + public: + //--------------------------------------------- + /**@param[in,out] text string to stem*/ + void operator()(string_typeT& text) + { + if (text.length() < 3) + { + return; + } + + //reset internal data + stem::reset_r_values(); + + stem::trim_western_punctuation(text); + + //see where the R1 section begins + //R1 is the first consonant after the first vowel + stem::find_r1(text, SWEDISH_VOWELS); + if (stem::get_r1() == text.length()) + { + return; + } + + //R1 must have at least 3 characters in front of it + if (stem::get_r1() < 3) + { + stem::set_r1(3); + } + //swedish does not use R2 + + step_1(text); + step_2(text); + step_3(text); + } + private: + //--------------------------------------------- + void step_1(string_typeT& text) + { + if (stem::delete_if_is_in_r1(text,/*heterna*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*hetens*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*arna*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*erna*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*orna*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ande*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*arne*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*aste*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*anden*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*heten*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*heter*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*arnas*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ernas*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ornas*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*arens*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*andet*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*andes*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*aren*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text, /*erns*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ades*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*are*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ade*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*het*/common_lang_constants::LOWER_H, common_lang_constants::UPPER_H, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ast*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text, /*ens*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ern*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*at*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*es*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*or*/common_lang_constants::LOWER_O, common_lang_constants::UPPER_O, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ad*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*as*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ar*/common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*er*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_R, common_lang_constants::UPPER_R, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*en*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text, common_lang_constants::LOWER_A, common_lang_constants::UPPER_A, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text, common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, false) ) + { + return; + } + else if (stem::is_suffix_in_r1(text, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S) ) + { + if (text.length() >= 2 && + string_util::is_one_of(text[text.length()-2], + L"bcdfghjklmnoprtvyBCDFGHJKLMNOPRTVY") ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + return; + } + } + //--------------------------------------------- + void step_2(string_typeT& text) + { + if (stem::is_suffix_in_r1(text,/*dd*/common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + else if (stem::is_suffix_in_r1(text,/*gd*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_D, common_lang_constants::UPPER_D) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + else if (stem::is_suffix_in_r1(text,/*nn*/common_lang_constants::LOWER_N, common_lang_constants::UPPER_N, common_lang_constants::LOWER_N, common_lang_constants::UPPER_N) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + else if (stem::is_suffix_in_r1(text,/*dt*/common_lang_constants::LOWER_D, common_lang_constants::UPPER_D, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + else if (stem::is_suffix_in_r1(text,/*gt*/common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + else if (stem::is_suffix_in_r1(text,/*kt*/common_lang_constants::LOWER_K, common_lang_constants::UPPER_K, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + else if (stem::is_suffix_in_r1(text,/*tt*/common_lang_constants::LOWER_T, common_lang_constants::UPPER_T, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + } + //--------------------------------------------- + void step_3(string_typeT& text) + { + if (stem::is_suffix_in_r1(text,/*fullt*/common_lang_constants::LOWER_F, common_lang_constants::UPPER_F, common_lang_constants::LOWER_U, common_lang_constants::UPPER_U, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + else if (stem::is_suffix_in_r1(text,/*löst*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_O_UMLAUTS, common_lang_constants::UPPER_O_UMLAUTS, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, common_lang_constants::LOWER_T, common_lang_constants::UPPER_T) ) + { + text.erase(text.length()-1); + stem::update_r_sections(text); + } + else if (stem::delete_if_is_in_r1(text,/*lig*/common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*els*/common_lang_constants::LOWER_E, common_lang_constants::UPPER_E, common_lang_constants::LOWER_L, common_lang_constants::UPPER_L, common_lang_constants::LOWER_S, common_lang_constants::UPPER_S, false) ) + { + return; + } + else if (stem::delete_if_is_in_r1(text,/*ig*/common_lang_constants::LOWER_I, common_lang_constants::UPPER_I, common_lang_constants::LOWER_G, common_lang_constants::UPPER_G, false) ) + { + return; + } + } + }; + } + +/** @}*/ + +#endif //__SWEDISH_STEM_H__ diff --git a/stopwords.txt b/stopwords.txt new file mode 100755 index 0000000..c4f838b --- /dev/null +++ b/stopwords.txt @@ -0,0 +1,536 @@ +a +able +about +above +according + accordingly +across +actually +after + afterwards +again + against +ain't +all +allow + allows + almost +alone +along +already + also + although +always +am +among + amongst +an + and +another +any + anybody +anyhow +anyone +anything +anyway +anyways +anywhere +apart + appear + appreciate + appropriate + are + aren't +around +as +aside +ask +asking +associated +at +available +away +awfully +be +became +because +become +becomes +becoming +been +before +before hand + behind +being +believe + below +beside +besides +best + better +between +beyond +both +brief +but + by +c'mon +c's +came + can +can't +cannot +cant +cause +causes +certain +certainly + changes +clearly +co +com + come + comes +concerning + consequently +consider considering +contain + containing + contains + corresponding +could +couldn't +course + currently +definitely +described + despite +did +didn't +different +do + does +doesn't +doing +don't +done +down +downwards +during + each + edu + eg +eight + either +else + elsewhere + enough + entirely +especially +et + etc + even +ever +every + everybody + everyone +everything +everywhere +ex + exactly +example +except +far +few + fifth +first +five +followed +following +follows +for +former + formerly +forth +four + from +further +furthermore +get + gets + getting +given +gives +go +goes +going +gone +got + gotten +greetings +had + hadn't +happens + hardly +has +hasn't +have + haven't +having + he + he's + hello +help + hence +her + here +here's +hereafter +hereby +herein +hereupon +hers +herself +hi +him +himself +his +hit her +hopefully +how + + however + i'd + i'll + i'm +i've +ie + if +ignored +immediate +in +inasmuch +inc + indeed +indicate +indicated +indicates + inner +insofar +instead + into + inward + is +isn't +it +it'd +it'll +it's + its + itself + just +keep +keeps +kept +know +knows +known +last +lately +later + latter +latterly least + less +lest + let +let's +like +liked +likely +little +look +looking +looks +ltd +mainly + many +may +maybe +me + mean +meanwhile + merely +might + more + moreover +most +mostly + much + must +my +myself +name +namely +nd +near +nearly +necessary +need +needs +neither +never +nevertheless +new +next + nine +no + nobody +non +none +noone + nor +normally + not + nothing +novel now +nowhere +obviously +of +off +often +oh + ok +okay +old +on + once +one +ones +only +onto + or + other + others +otherwise + ought +our + ours +ourselves +out +outside +over +overall +own +particular +particularly +per + perhaps +placed +please +plus +possible +presumably +probably +provides +que + quite +qv + rather +rd + re +really +reasonably +regarding + regardless +regards +relatively +respectively + right +said +same +saw +say +saying + says +second +secondly + see +seeing +seem +seemed +seeming + seems +seen + self + selves +sensible +sent + serious +seriously +seven +several +shall +she + should +shouldn't +since +six +so +some +somebody +somehow +someone +something + sometime + sometimes +somewhat +somewhere + soon + sorry +specified +specify + specifying +still +sub +such +sup + sure + take +taken +tell + tends +than + thank + thanks +thanx +that +that's + thats +the +their +theirs +them + themselves +then +thence +there +there's +thereafter + thereby +therefore +therein + theres +thereupon +these +they +they'd +they'll +they're +they've +think +third +this +thorough + thoroughly +those +though + three +through + throughout thus +to + together +too +took +toward +towards +tried +tries +truly +try + trying +twice + two +un +under +unfortunately +unless + unlikely +until + unto +up + upon +us + use + used +useful +uses +using +usually +value +various +very +via + viz +vs + want +wants +was +wasn't +way +we +we'd +we'll +we're +we've +welcome +well + went +were +weren't +what +what's +whatever +when +whence +whenever +where +where's +whereafter +whereas +whereby +wherein +whereupon +wherever +whether +which +while + whither +who +who's +whoever +whole +whom + whose +why +will +willing +wish +with +within +without +won't +wonder +would +wouldn't +yes + yet +you +you'd +you'll +you're +you've +your +yours +yourself +yourselves +zero diff --git a/utilities/debug_logic.h b/utilities/debug_logic.h new file mode 100755 index 0000000..96f0ff0 --- /dev/null +++ b/utilities/debug_logic.h @@ -0,0 +1,77 @@ +/**@addtogroup Debugging + @brief Functions used for debugging. + @date 2008-2015 + @copyright Oleander Software, Ltd. + @author Oleander Software, Ltd. + @details This program is free software; you can redistribute it and/or modify + it under the terms of the BSD License. +* @{*/ + +#ifndef __DEBUG_LOGIC_H__ +#define __DEBUG_LOGIC_H__ + +#include +#include +#include + +/** +\def __DEBUG_FUNCTION_NAME__ + Expands to the name of the current function. Will not be defined if + compiler does not have a native function name macro. +\def CASSERT(expression) + Validates that an expression is true at compile time. If the expression is false + then compilation will fail. +\def NON_UNIT_TEST_ASSERT(expression) + If unit test symbol (__UNITTEST) is defined then does nothing; otherwise asserts. + This is useful for suppressing asserts when unit testing. +\def DUMP_TO_FILE(stream,file) + Prints data stream to a specified file.*/ +/** @} */ + +#ifdef __PRETTY_FUNCTION__ + #define __DEBUG_FUNCTION_NAME__ __PRETTY_FUNCTION__ +#elif defined(__FUNCTION__) + #define __DEBUG_FUNCTION_NAME__ __FUNCTION__ +#elif defined(__func__) + #define __DEBUG_FUNCTION_NAME__ __func__ +#elif defined(__FUNCSIG__) + #define __DEBUG_FUNCTION_NAME__ __FUNCSIG__ +#elif defined(__FUNCDNAME__) + #define __DEBUG_FUNCTION_NAME__ __FUNCDNAME__ +#endif + +//---------------------------------------------------------------------- +#if !defined (NDEBUG) || defined ENABLE_LOGIC_CHECKS || defined DEBUG_ENABLE_ALL + #define CASSERT(x) typedef char __C_ASSERT__[(x) ? 1 : -1] +#else + #define CASSERT(x) ((void)0) +#endif + +//---------------------------------------------------------------------- +#ifdef __UNITTEST + #define NON_UNIT_TEST_ASSERT(x) ((void)0) +#else + #define NON_UNIT_TEST_ASSERT(x) assert(x) +#endif + +//---------------------------------------------------------------------- +#if !defined (NDEBUG) || defined DEBUG_ENABLE_ALL + #define DUMP_TO_FILE(x,file) __debug::__dump_to_file((x), (file)) +#else + #define DUMP_TO_FILE(x,file) ((void)0) +#endif + +//---------------------------------------------------------------------- +namespace __debug + { + //debug helpers + inline void __dump_to_file(const wchar_t* begin, const std::string& file_path) + { + if (begin == NULL) + { return; } + std::wofstream f(file_path.c_str()); + f.write(begin, static_cast(std::wcslen(begin))); + } + } + +#endif //__DEBUG_LOGIC_H__ diff --git a/utilities/safe_math.h b/utilities/safe_math.h new file mode 100755 index 0000000..480c1fc --- /dev/null +++ b/utilities/safe_math.h @@ -0,0 +1,115 @@ +/**@addtogroup Mathematics + @brief Math and statistics classes. + @date 2004-2015 + @copyright Oleander Software, Ltd. + @author Oleander Software, Ltd. + @details This program is free software; you can redistribute it and/or modify + it under the terms of the BSD License. +* @{*/ + +#ifndef __SAFE_MATH_H__ +#define __SAFE_MATH_H__ + +#include +#include +#include + +//DIVISION OPERATIONS +//------------------- + +///@brief Modulus operation that checks for modulus by zero or into zero (returns zero for those situations). +///@param dividend The dividend (i.e., the value being divided). +///@param divisor The divisor (i.e., the value dividing by). +///@returns The remainder of the modulus operation, or zero if one of the values was invalid. +template +inline T safe_modulus(const T dividend, const T divisor) + { + if (dividend == 0 || divisor == 0) + { return 0; } + return dividend%divisor; + } + +///@brief Division operation that checks for division by zero or into zero (returns zero for those situations). +///@param dividend The dividend (i.e., the value being divided). +///@param divisor The divisor (i.e., the value dividing by). +///@returns The quotient of the division operation, or zero if one of the values was invalid. +///@note If the template type has floating point precision, then the result will retain its precision. +template +inline T safe_divide(const T dividend, const T divisor) + { + if (dividend == 0 || divisor == 0) + { return 0; } + return dividend/static_cast(divisor); + } + +//DOUBLE OPERATIONS +//----------------- + +/**@brief Compares two double values (given the specified precision). + @param actual The value being reviewed. + @param expected The expected value to compare against. + @param delta The tolerance of how different the values can be. The larger the delta, the + higher precision used in the comparison. + @returns True if the value matches the expected value.*/ +inline bool compare_doubles(const double actual, const double expected, const double delta = 1e-6) + { + assert(delta >= 0 && "delta value should be positive when comparing doubles"); + return (std::fabs(actual-expected) <= std::fabs(delta)); + } + +/**@brief Compares two double values for less than (given the specified precision). + @param left The value being reviewed. + @param right The other value to compare against. + @param delta The tolerance of how different the values can be. The larger the delta, the + higher precision used in the comparison. + @returns True if the value is less than the other value.*/ +inline bool compare_doubles_less(const double left, const double right, const double delta = 1e-6) + { + assert(delta >= 0 && "delta value should be positive when comparing doubles"); + return std::fabs(left-right) > std::fabs(delta) && (left < right); + } + +/**@brief Compares two double values for less than or equal to (given the specified precision). + @param left The value being reviewed. + @param right The other value to compare against. + @param delta The tolerance of how different the values can be. The larger the delta, the + higher precision used in the comparison. + @returns True if the value is less than or equal to the other value.*/ +inline bool compare_doubles_less_or_equal(const double left, const double right, const double delta = 1e-6) + { + assert(delta >= 0 && "delta value should be positive when comparing doubles"); + return compare_doubles_less(left,right,delta) || compare_doubles(left,right,delta); + } + +/**@brief Compares two double values for greater than (given the specified precision). + @param left The value being reviewed. + @param right The other value to compare against. + @param delta The tolerance of how different the values can be. The larger the delta, the + higher precision used in the comparison. + @returns True if the value is greater than the other value.*/ +inline bool compare_doubles_greater(const double left, const double right, const double delta = 1e-6) + { + assert(delta >= 0 && "delta value should be positive when comparing doubles"); + return std::fabs(left-right) > std::fabs(delta) && (left > right); + } + +///@brief "less" interface for double values. +class double_less : public std::binary_function + { +public: + inline bool operator()(const double& left, const double& right) const + { return compare_doubles_less(left,right); } + }; + +//INTEGER OPERATIONS +//------------------ + +///@brief Converts an integral type to a boolean. Compilers complain about directly assigning +///an int to a bool (casting doesn't help either), so this works around that. +///@param intVal The integer value to convert to a boolean. +///@returns The boolean equivalent of the integer. +template +inline bool int_to_bool(const T intVal) + { return (intVal != 0); } + +#endif //__SAFE_MATH_H__ diff --git a/utilities/utilities.h b/utilities/utilities.h new file mode 100755 index 0000000..04ce78d --- /dev/null +++ b/utilities/utilities.h @@ -0,0 +1,164 @@ +/**@addtogroup Utilities +@brief Utility classes. +@date 2003-2015 +@copyright Oleander Software, Ltd. +@author Oleander Software, Ltd. +@details This program is free software; you can redistribute it and/or modify +it under the terms of the BSD License. +* @{*/ + +#ifndef __UTILITIES_H__ +#define __UTILITIES_H__ + +#include +#include +#include +#include + +///@returns The item count of an array. +///@note Do not call this on an empty array. +///Also, this is meant for arrays of intrinsic types only. +#define size_of_array(x) (sizeof(x)/sizeof(x[0])) + +/**Range checks a given value and truncates it if it is too high or low. + @param start The start of the valid range. + @param end The end of the valid range. + @param value The value to be range checked. + @returns The value if within the valid range. If it was too large, then the end of the range + is returned. If too low, then the start of the range is returned.*/ +template +inline T within_range(const T start, const T end, const T value) + { + return ( (value >= start) && (value <= end) ) ? value : + (value < start) ? start : + (value > end) ? end : /*never reaches this branch*/ value; + } + +///@returns True if a value is within a given range. +template +inline bool is_within(const T value, const T first, const T second) + { + assert(first <= second); + return (value >= first && value <= second); + } + +///Determines if a value is within a given range. +template +class within : public std::unary_function + { +public: + /**Constructor. + @param range_begin The beginning of the valid range. + @param range_end The end of the valid range.*/ + within(T range_begin, T range_end) + : m_range_begin(range_begin), m_range_end(range_end) + {} + /**@returns True if \ca value is within the valid range of values. + @param value The value to review.*/ + inline bool operator()(T value) const + { return is_within(value, m_range_begin, m_range_end); } +private: + T m_range_begin; + T m_range_end; + }; + +///pair interface that compares on the first item +template +class comparable_first_pair : public std::pair + { +public: + comparable_first_pair() : std::pair() {} + comparable_first_pair(const T1& t1, const T2& t2) : std::pair(t1,t2) {} + bool operator<(const comparable_first_pair& that) const + { return std::pair::first < that.first; } + bool operator==(const comparable_first_pair& that) const + { return std::pair::first == that.first; } + }; + +///class that remembers its original value from construction. +template +class backup_variable + { +public: + backup_variable(const T& value) : m_originalValue(value), m_value(value) + {} + void operator=(const T& value) + { m_value = value; } + bool operator==(const T& value) const + { return m_value == value; } + bool operator<(const T& value) const + { return m_value < value; } + bool operator<=(const T& value) const + { return m_value <= value; } + bool operator>(const T& value) const + { return m_value > value; } + bool operator>=(const T& value) const + { return m_value >= value; } + void operator+(const T& value) + { m_value + value; } + void operator+=(const T& value) + { m_value += value; } + void operator-(const T& value) + { m_value - value; } + void operator-=(const T& value) + { m_value -= value; } + operator const T() const + { return m_value; } + T* operator&() + { return &m_value; } + const T& get_value() const + { return m_value; } + T& get_value() + { return m_value; } + bool has_changed() const + { return m_value != m_originalValue; } +private: + T m_originalValue; + T m_value; + }; + +///Determines if a given value is either of two other given values +template +inline bool is_either(const T value, const T first, const T second) + { + return (value == first || value == second); + } + +///Determines if a given value is neither of two other given values +template +inline bool is_neither(const T value, const T first, const T second) + { + assert(first != second); + return (value != first && value != second); + } + +/**calls a member function of elements in a container for each +element in another container*/ +template +inline outT copy_member(inT begin, inT end, outT dest, member_extract_functorT get_value) + { + for (; begin != end; ++dest, ++begin) + *dest = get_value(*begin); + return (dest); + } + +///Copies a member value between objects based on specified criteria +template +inline outT copy_member_if(inT begin, inT end, outT dest, + _Pr meets_criteria, + member_extract_functorT get_value) + { + for (; begin != end; ++begin) + { + if (meets_criteria(*begin)) + { + *dest = get_value(*begin); + ++dest; + } + } + return (dest); + } + +#endif //__UTILITIES_H__