o
    6t¾iE  ã                   @   s¬  d Z ddlmZ dZdZdZdZdZdZd	Z	d
Z
dZdZi ed ej“ed ej“ed ej“ed ej“ed ej“ed ej“ed ej“ed ej“ed ej“ed ej“ed ej“ed ej“ed ej“ed ej“ed ej“ed ej“ed ej“e	d eje	d eje
d  ej ed! ej!ed" ej"ed# ej#ed$ ej$e
d% ej%i¥Z&i ed ed h“ed ed h“ed ed h“ed ed h“ed ed ed ed ed ed e
d  ed" ed# h“ed ed h“ed ed ed ed ed h“ed ed h“ed ed ed h“ed ed h“ed ed h“ed ed h“ed e'e& (¡ ƒ“ed ed h“ed ed ed ed h“ed e'e& (¡ ƒ )ed ed h¡“ed ed h“e	d e'e& (¡ ƒ )ed ed ed ed ed$ h¡e	d e'e& (¡ ƒ )ed ed ed$ h¡e
d  e
d  hed! ed! ed# ed" hed" ed" hed# ed# ed" hed$ ed$ he
d% e
d% ed hi¥Z*d&d'„ Z+d(S ))zRegistry of all instructions.é    )Úinstructionsz	keywords:z	language:zlength_constraints:zdetectable_content:zdetectable_format:zmulti-turn:zcombination:z	startend:zchange_case:zpunctuation:Ú	existenceÚ	frequencyÚforbidden_wordsÚletter_frequencyÚresponse_languageÚnumber_sentencesÚnumber_paragraphsÚnumber_wordsÚnth_paragraph_first_wordÚnumber_placeholdersÚ
postscriptÚnumber_bullet_listsÚconstrained_responseÚnumber_highlighted_sectionsÚmultiple_sectionsÚjson_formatÚtitleÚtwo_responsesÚrepeat_promptÚend_checkerÚcapital_word_frequencyÚenglish_capitalÚenglish_lowercaseÚno_commaÚ	quotationc                 C   s8   | D ]}| | D ]	}| |   |¡ q| |   |¡ q| S )as  Makes sure if A conflicts with B, B will conflict with A.

    Args:
      conflicts: Dictionary of potential conflicts where key is instruction id
        and value is set of instruction ids that it conflicts with.

    Returns:
      Revised version of the dictionary. All instructions conflict with
      themselves. If A conflicts with B, B will conflict with A.
    )Úadd)Ú	conflictsÚkeyÚk© r    új/home/ubuntu/.local/lib/python3.10/site-packages/lm_eval/tasks/leaderboard/ifeval/instructions_registry.pyÚconflict_make™   s
   r"   N),Ú__doc__Úlm_eval.tasks.ifevalr   Ú_KEYWORDÚ	_LANGUAGEÚ_LENGTHÚ_CONTENTÚ_FORMATÚ
_MULTITURNÚ_COMBINATIONÚ	_STARTENDÚ_CHANGE_CASESÚ_PUNCTUATIONÚKeywordCheckerÚKeywordFrequencyCheckerÚForbiddenWordsÚLetterFrequencyCheckerÚResponseLanguageCheckerÚNumberOfSentencesÚParagraphCheckerÚNumberOfWordsÚParagraphFirstWordCheckÚPlaceholderCheckerÚPostscriptCheckerÚBulletListCheckerÚConstrainedResponseCheckerÚHighlightSectionCheckerÚSectionCheckerÚ
JsonFormatÚTitleCheckerÚTwoResponsesCheckerÚRepeatPromptThenAnswerÚ
EndCheckerÚCapitalWordFrequencyCheckerÚCapitalLettersEnglishCheckerÚLowercaseLettersEnglishCheckerÚCommaCheckerÚQuotationCheckerÚINSTRUCTION_DICTÚsetÚkeysÚ
differenceÚINSTRUCTION_CONFLICTSr"   r    r    r    r!   Ú<module>   s  
ÿ
þ
û
ú
ù
ø
	÷

ö
õ
ô
ó
ò
ï
î
í
ê
é







ß$ÿþûúøùïüîèþçãâá"Þ#Ý$ýÜ+ÿÕ.Ò1ûÿ	ÿýþ·M