Administração do filtro de abusos

Diferenças entre versões

EntradaVersão de 01h21min de 2 de novembro de 2017 por !SilentVersão de 00h04min de 7 de novembro de 2017 por !Silent
Informações básicas
Notas:
Descrição: filtro referente ao bloqueio de termos de cunho ofensivo. Somente termos iniciados entre D e M (ver [[WP:FE/VANDAL]]).
Descrição: filtro referente ao bloqueio de termos de cunho ofensivo. Somente termos iniciados entre D e M (ver [[WP:FE/VANDAL]]).


* As notas anteriores a setembro de 2017 se encontram em [[Wikipédia:Filtro de edições/141/Arquivo]].
* As notas anteriores a setembro de 2017 se encontram em [[Wikipédia:Filtro de edições/141/Arquivo]].


* +variações. --!Silent (01/set/2017)
* +variações. --!Silent (01/set/2017)
* ajuste para corrigir FP. --!Silent (02/set/2017)
* ajuste para corrigir FP. --!Silent (02/set/2017)
* +variação; +termo. --!Silent (05/set/2017)
* +variação; +termo. --!Silent (05/set/2017)
* +variação. --!Silent (07/set/2017)
* +variação. --!Silent (07/set/2017)
* +termo. --!Silent (08/set/2017)
* +termo. --!Silent (08/set/2017)
* Mudança termo de condição, para evitar FP. --!Silent (09/set/2017)
* Mudança termo de condição, para evitar FP. --!Silent (09/set/2017)
* Correção na regex; +termo. --!Silent (11/set/2017)
* Correção na regex; +termo. --!Silent (11/set/2017)
* +variações; ajuste na regex; +termo. --!Silent (13/set/2017)
* +variações; ajuste na regex; +termo. --!Silent (13/set/2017)
* ajuste na regex. --!Silent (14/set/2017)
* ajuste na regex. --!Silent (14/set/2017)
* ajuste para evitar fp. --!Silent (15/set/2017)
* ajuste para evitar fp. --!Silent (15/set/2017)
* ajustes para evitar fp; +termo. --!Silent (19/set/2017)
* ajustes para evitar fp; +termo. --!Silent (19/set/2017)
* +termo, +variações, ajustes, migrada parte de um termo para o filtro 112. --!Silent (20/set/2017)
* +termo, +variações, ajustes, migrada parte de um termo para o filtro 112. --!Silent (20/set/2017)
* ajustes para evitar fp, migrada parte de um termo para o filtro 112. --!Silent (21/set/2017)
* ajustes para evitar fp, migrada parte de um termo para o filtro 112. --!Silent (21/set/2017)
* +termo. --!Silent (22/set/2017)
* +termo. --!Silent (22/set/2017)
* Ajustes para evitar FP. --!Silent (24/set/2017)
* Ajustes para evitar FP. --!Silent (24/set/2017)
* Correção na regex, +variação. --!Silent (26/set/2017)
* Correção na regex, +variação. --!Silent (26/set/2017)
* +variações, ajuste para evitar FP. --!Silent (27/set/2017)
* +variações, ajuste para evitar FP. --!Silent (27/set/2017)
* +variações, ajuste para evitar FP, +termo. --!Silent (28/set/2017)
* +variações, ajuste para evitar FP, +termo. --!Silent (28/set/2017)
* +variações, bloqueio total do termo "merda" após testes no filtro 147, ajuste na regex. --!Silent (29/set/2017)
* +variações, bloqueio total do termo "merda" após testes no filtro 147, ajuste na regex. --!Silent (29/set/2017)
* ajuste para evitar FP, termos migrados para o filtro 143, +termo. --!Silent (01/out/2017)
* ajuste para evitar FP, termos migrados para o filtro 143, +termo. --!Silent (01/out/2017)
* +variações. --!Silent (02/out/2017)
* +variações. --!Silent (02/out/2017)
* +variação, +termos, ajuste na condição para pegar os casos em que um pipe é usado anterior ou posteriormente ao termo. --!Silent (03/out/2017)
* +variação, +termos, ajuste na condição para pegar os casos em que um pipe é usado anterior ou posteriormente ao termo. --!Silent (03/out/2017)
* +termo, ajuste nas condições para evitar FP. --!Silent (05/out/2017)
* +termo, ajuste nas condições para evitar FP. --!Silent (05/out/2017)
* Ajuste na regex. --!Silent (06/out/2017)
* Ajuste na regex. --!Silent (06/out/2017)
* -caracteres já normalizados pela função ccnorm, +variações, +termos. --!Silent (10/out/2017)
* -caracteres já normalizados pela função ccnorm, +variações, +termos. --!Silent (10/out/2017)
* ajuste para evitar FP. --!Silent (11/out/2017)
* ajuste para evitar FP. --!Silent (11/out/2017)
* ajuste para evitar FP. --!Silent (14/out/2017)
* ajuste para evitar FP. --!Silent (14/out/2017)
* +termo. --!Silent (16/out/2017)
* +termo. --!Silent (16/out/2017)
* Pondo para executar no sumário também. --!Silent (18/out/2017)
* Pondo para executar no sumário também. --!Silent (18/out/2017)
* +termo. --!Silent (19/out/2017)
* +termo. --!Silent (19/out/2017)
* +variação, correção na regex. --!Silent (20/out/2017)
* +variação, correção na regex. --!Silent (20/out/2017)
* +variações. --!Silent (23/out/2017)
* +variações. --!Silent (23/out/2017)
* ajustes. --!Silent (24/out/2017)
* ajustes. --!Silent (24/out/2017)
* +variação. --!Silent (29/out/2017)
* +variação. --!Silent (29/out/2017)
* +variação. --!Silent (01/nov/2017)
* +variação. --!Silent (01/nov/2017)
* +termo. --!Silent (06/nov/2017)
Condições do filtro
Condições:
(ajuda | discussão)
!'confirmed' in user_groups & !( article_prefixedtext irlike '(?:Filtro de edições/Solicitações|Informe um erro|(?:Wikipédia|Usuári).+Testes)' ) & article_namespace != 2 & ( (
!'confirmed' in user_groups & !( article_prefixedtext irlike '(?:Filtro de edições/Solicitações|Informe um erro|(?:Wikipédia|Usuári).+Testes)' ) & article_namespace != 2 & ( (
terms := '(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ\-\"]|^)(?:D[EI]LI(?:[CÇS](?:IO[CS][IÍ]SIM)?I?A|[ÇS]IO[ZS][AO])|DEFE(?:(?:K|QU)EI|[CK]ADO(?:R|R[AE]S?)?)|D[EI]SGRACA(?:D[AO]|M)|DISGRA[CÇS]A|DESGRASA|DIVOS[AO]|DOID(?:A(?:O|U[MN])|I[CS][EI]|ONA)|E[NM]RAB(?:A(?:R|D[AO](?:R(?:ES))?|MENTO)|O)?|[EI][SX][CK]RAV[OU][CS]ETA|ESCROT(?:AO?|INH[AO]|ONA)?|FAROFEIR[AO]|FEI(?:K|QU)E|FEIOU?[SZ][AOU]|FERA(?:D[AO]|R)|(?:F|PH)[OU]U?D(?:ASTI[CK][AO]|I(?:[CÇS]A(?:O|U[MN]))?|ID(?:[AO](?:CO|O)?|[OÕ]ES|ONA)|E(?:[ORU]|NDO|DORES)?|[AO](?:O|U[MN])?|[OÕ]ES|IAO)(?:\-[a-z]{2,3}(?:\-[a-z]{2,3})?|[MST][EI])?|FULEIR[AO]|F[OU]L[EÊ]I?R(?:[AO](?:GEM)|I[SC][EI])|GAY(?:[UÚÙ]CH[AO]|[SZ](?:AO|INH[AO]|OLA|UD[AO]))|GORDU|GO[SZ](?:A(?:MOS|D[AO]|RAM|D[AO]R(?:ES)?|D[AO]S?|RIA(?:MOS)?)|EI|OU)|GOSTO[SZ](?:A(?:O|U[MN])|ONA|UD(?:[AO](?:O|NA)?|INH[AO])|INH[AO])|GOSTOZ[AO]|HOMAO|H[OÓ]TARI[OU]|IDIOTAMENTE|ILUMINATI|INFIAR|IS(?:CROT[OU]|TUPID[AO])|KENGA|KORNO|LARILA|LA[SZ]ARENT[AO]|LAS[CK]ADO(?:R|R[AE]S?)?|LEGA[LU][SZ]A[OU][MN]?|LEITINH[OU]|LIMD[AOU]|LIND(?:AO|ONA|U(?:X[AO]H?)?)|LIX(?:AU[MN]|I[MN]|OS[AO]|U)|MACONH(?:A|EIR[AO](?:[CÇS][OU])?)|MAROTA(?:MENTE)?|MAXISTA|MEL[EÉ](?:[CK]|QU)(?:(?:INH)?A|ENT[AO])|MENTIR@|MIJ(?:A(?:[OR]|D[AO]|M)?|EI|OU)|MI[SZ]ERA|MODA ?FO[CK]A|MON?STRAO)S?(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ\-\"]|$)';
terms := '(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ\-\"]|^)(?:D[EI]LI(?:[CÇS](?:IO[CS][IÍ]SIM)?I?A|[ÇS]IO[ZS][AO])|DEFE(?:(?:K|QU)EI|[CK]ADO(?:R|R[AE]S?)?)|D[EI]SGRACA(?:D[AO]|M)|DISGRA[CÇS]A|DESGRASA|DIVOS[AO]|DOID(?:A(?:O|U[MN])|I[CS][EI]|ONA)|E[NM]RAB(?:A(?:R|D[AO](?:R(?:ES))?|MENTO)|O)?|[EI][SX][CK]RAV[OU][CS]ETA|ESCROT(?:AO?|INH[AO]|ONA)?|FAROFEIR[AO]|FEI(?:K|QU)E|FEIOU?[SZ][AOU]|FERA(?:D[AO]|R)|(?:F|PH)[OU]U?D(?:ASTI[CK][AO]|I(?:[CÇS]A(?:O|U[MN]))?|ID(?:[AO](?:CO|O)?|[OÕ]ES|ONA)|E(?:[ORU]|NDO|DORES)?|[AO](?:O|U[MN])?|[OÕ]ES|IAO)(?:\-[a-z]{2,3}(?:\-[a-z]{2,3})?|[MST][EI])?|FULEIR[AO]|F[OU]L[EÊ]I?R(?:[AO](?:GEM)|I[SC][EI])|GAY(?:[UÚÙ]CH[AO]|[SZ](?:AO|INH[AO]|OLA|UD[AO]))|GORDU|GO[SZ](?:A(?:MOS|D[AO]|RAM|D[AO]R(?:ES)?|D[AO]S?|RIA(?:MOS)?)|EI|OU)|GOSTO[SZ](?:A(?:O|U[MN])|ONA|UD(?:[AO](?:O|NA)?|INH[AO])|INH[AO])|GOSTOZ[AO]|HOMAO|H[OÓ]TARI[OU]|IDIOTAMENTE|ILUMINATI|INFIAR|IS(?:CROT[OU]|TUPID[AO])|KENGA|KORNO|LARILA|LA[SZ]ARENT[AO]|LAS[CK]ADO(?:R|R[AE]S?)?|LEGA[LU][SZ]A[OU][MN]?|LEITINH[OU]|LIMD[AOU]|LIND(?:AO|ONA|U(?:X[AO]H?)?)|LIX(?:AU[MN]|I[MN]|OS[AO]|U)|MACONH(?:A|EIR[AO](?:[CÇS][OU])?)|MAMADOR(?:A|ES)?|MAROTA(?:MENTE)?|MAXISTA|MEL[EÉ](?:[CK]|QU)(?:(?:INH)?A|ENT[AO])|MENTIR@|MIJ(?:A(?:[OR]|D[AO]|M)?|EI|OU)|MI[SZ]ERA|MODA ?FO[CK]A|MON?STRAO)S?(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ\-\"]|$)';


ccnorm( rmdoubles( summary ) ) irlike terms | (
ccnorm( rmdoubles( summary ) ) irlike terms | (
( ccnorm( rmdoubles( added_lines ) ) irlike terms | rmdoubles( added_lines ) irlike terms )
( ccnorm( rmdoubles( added_lines ) ) irlike terms | rmdoubles( added_lines ) irlike terms )
& !( ccnorm( rmdoubles( removed_lines ) ) irlike terms | rmdoubles( removed_lines ) irlike terms )
& !( ccnorm( rmdoubles( removed_lines ) ) irlike terms | rmdoubles( removed_lines ) irlike terms )
);
);
) | (
) | (
/* Termos utilizados somente nos domínios de contéudo */
/* Termos utilizados somente nos domínios de contéudo */
terms := '(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|^)(?:GO[SZ]AND[OU]|MET(?:ID[AO]|END?[OU]|ER))(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|$)';
terms := '(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|^)(?:GO[SZ]AND[OU]|MET(?:ID[AO]|END?[OU]|ER))(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|$)';


article_namespace % 2 == 0 & ( ccnorm( rmdoubles( summary ) ) irlike terms | (
article_namespace % 2 == 0 & ( ccnorm( rmdoubles( summary ) ) irlike terms | (
( ccnorm( rmdoubles( added_lines ) ) irlike terms | rmdoubles( added_lines ) irlike terms )
( ccnorm( rmdoubles( added_lines ) ) irlike terms | rmdoubles( added_lines ) irlike terms )
& !( ccnorm( rmdoubles( removed_lines ) ) irlike terms | rmdoubles( removed_lines ) irlike terms )
& !( ccnorm( rmdoubles( removed_lines ) ) irlike terms | rmdoubles( removed_lines ) irlike terms )
) );
) );
) | (
) | (
/* Termos utilizados sem o uso da função "ccnorm" */
/* Termos utilizados sem o uso da função "ccnorm" */
terms := '(?:[^a-zA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ\-\#]|^)(?:F[E3]I0|FE1[A@O]|FEI4|FOD[E3]|G(?:[4@]Y|U?[E3][IY])|GORDAO|L1XO|LIX0|L1X0|MENTIR4|MENT1RA|M3NTIRA|MENT1R4|M3NT1RA|M3NTIR4|M3NT1R4)(?:[^a-zA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ\-]|$)';
terms := '(?:[^a-zA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ\-\#]|^)(?:F[E3]I0|FE1[A@O]|FEI4|FOD[E3]|G(?:[4@]Y|U?[E3][IY])|GORDAO|L1XO|LIX0|L1X0|MENTIR4|MENT1RA|M3NTIRA|MENT1R4|M3NT1RA|M3NTIR4|M3NT1R4)(?:[^a-zA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ\-]|$)';


rmdoubles( summary ) irlike terms | ( rmdoubles( added_lines ) irlike terms
rmdoubles( summary ) irlike terms | ( rmdoubles( added_lines ) irlike terms
& !rmdoubles( removed_lines ) irlike terms
& !rmdoubles( removed_lines ) irlike terms
);
);
) | (
) | (
/* Termos utilizados sem o uso da função "ccnorm" e com "rlike" */
/* Termos utilizados sem o uso da função "ccnorm" e com "rlike" */
terms := '(?:[^a-zãâáàä@çèéêẽêìíïóòôõq̃úűüũA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|^)(?:BONIT[A@OU]|(?<![=\|])[Ff]dp(?![=\|])|FEI[AO]|GAY|GOSTOS[AO]|H[A@4]CK[E3][A@4]D[A@O4]|H?OR[IÍ]VEL|IN[UÚ]T(?:EIS|IL)|LIND[A@O]|LIXO)S?(?:[^a-zãâáàä@çèéêẽêìíïóòôõq̃úűüũA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|$)';
terms := '(?:[^a-zãâáàä@çèéêẽêìíïóòôõq̃úűüũA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|^)(?:BONIT[A@OU]|(?<![=\|])[Ff]dp(?![=\|])|FEI[AO]|GAY|GOSTOS[AO]|H[A@4]CK[E3][A@4]D[A@O4]|H?OR[IÍ]VEL|IN[UÚ]T(?:EIS|IL)|LIND[A@O]|LIXO)S?(?:[^a-zãâáàä@çèéêẽêìíïóòôõq̃úűüũA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|$)';


rmdoubles( summary ) rlike terms | ( rmdoubles( added_lines ) rlike terms
rmdoubles( summary ) rlike terms | ( rmdoubles( added_lines ) rlike terms
& !rmdoubles( removed_lines ) rlike terms
& !rmdoubles( removed_lines ) rlike terms
);
);
) | (
) | (
/* Termos utilizados somente nos domínios de contéudo e sem o uso da função "ccnorm" */
/* Termos utilizados somente nos domínios de contéudo e sem o uso da função "ccnorm" */
terms := '(?:[^a-zA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-\.=]|^)(?:L[A@]DR[A@]O|(?:M[A@])M[A@]E|(?:MI ?){3,})(?:[^a-zA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-\.=]|$)';
terms := '(?:[^a-zA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-\.=]|^)(?:L[A@]DR[A@]O|(?:M[A@])M[A@]E|(?:MI ?){3,})(?:[^a-zA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-\.=]|$)';


article_namespace % 2 == 0 & ( rmdoubles( summary ) irlike terms | (
article_namespace % 2 == 0 & ( rmdoubles( summary ) irlike terms | (
rmdoubles( added_lines ) irlike terms
rmdoubles( added_lines ) irlike terms
& !rmdoubles( removed_lines ) irlike terms
& !rmdoubles( removed_lines ) irlike terms
) );
) );
) | (
) | (
/* Termos utilizados somente nos domínios de contéudo, sem o uso da função "ccnorm" e com "rlike" */
/* Termos utilizados somente nos domínios de contéudo, sem o uso da função "ccnorm" e com "rlike" */
terms := '(?:[^a-zãâáàä@çèéêẽêìíïóòôõq̃úűüũA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|^)(?:m[aA][eE]|MAE|Mae(?! [A-Z][\w]+)|MENTIRA)(?:[^a-zãâáàä@çèéêẽêìíïóòôõq̃úűüũA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|$)';
terms := '(?:[^a-zãâáàä@çèéêẽêìíïóòôõq̃úűüũA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|^)(?:m[aA][eE]|MAE|Mae(?! [A-Z][\w]+)|MENTIRA)(?:[^a-zãâáàä@çèéêẽêìíïóòôõq̃úűüũA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|$)';


article_namespace % 2 == 0 & ( rmdoubles( summary ) rlike terms | (
article_namespace % 2 == 0 & ( rmdoubles( summary ) rlike terms | (
rmdoubles( added_lines ) rlike terms
rmdoubles( added_lines ) rlike terms
& !rmdoubles( removed_lines ) rlike terms
& !rmdoubles( removed_lines ) rlike terms
) );
) );
) | (
) | (
/* Termos utilizados sem o uso da função "ccnorm" e "rmdoubles"*/
/* Termos utilizados sem o uso da função "ccnorm" e "rmdoubles"*/
terms := '(?:[^a-zA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|^)(?:GG+AY|GAA+Y|GAYY+|GG+AA+Y|GG+AYY+|GAA+Y+|GG+AA+YY+|F+E+R+R[A@]+(?:R+|N+D+O+)?)(?:[^a-zA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|$)';
terms := '(?:[^a-zA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|^)(?:GG+AY|GAA+Y|GAYY+|GG+AA+Y|GG+AYY+|GAA+Y+|GG+AA+YY+|F+E+R+R[A@]+(?:R+|N+D+O+)?)(?:[^a-zA-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|$)';


summary irlike terms | ( added_lines irlike terms
summary irlike terms | ( added_lines irlike terms
& !removed_lines irlike terms
& !removed_lines irlike terms
);
);
) | (
) | (
/* Termos utilizados sem o uso da função "rmdoubles"*/
/* Termos utilizados sem o uso da função "rmdoubles"*/
terms := '(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|^)(?:FOD)(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|$)';
terms := '(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|^)(?:FOD)(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ\-]|$)';


ccnorm( summary ) irlike terms | (
ccnorm( summary ) irlike terms | (
( ccnorm( added_lines ) irlike terms | added_lines irlike terms )
( ccnorm( added_lines ) irlike terms | added_lines irlike terms )
& !( ccnorm( removed_lines ) irlike terms | removed_lines irlike terms )
& !( ccnorm( removed_lines ) irlike terms | removed_lines irlike terms )
);
);
) | (
) | (
/* Bloqueio total */
/* Bloqueio total */
terms := 'MI?H?ERD(?:AO?|EIR[AO]|INHA)';
terms := 'MI?H?ERD(?:AO?|EIR[AO]|INHA)';


ccnorm( rmdoubles( summary ) ) irlike terms | (
ccnorm( rmdoubles( summary ) ) irlike terms | (
( ccnorm( rmdoubles( added_lines ) ) irlike terms | rmdoubles( added_lines ) irlike terms )
( ccnorm( rmdoubles( added_lines ) ) irlike terms | rmdoubles( added_lines ) irlike terms )
& !( ccnorm( rmdoubles( removed_lines ) ) irlike terms | rmdoubles( removed_lines ) irlike terms )
& !( ccnorm( rmdoubles( removed_lines ) ) irlike terms | rmdoubles( removed_lines ) irlike terms )
);
);
) );
) );