U
    zDe                  
   @   s   d dl Z ddddd ddddd	dd
d dddd ddd ddd ddd ddZeedddZdeeedddZeedddZdS )    NPython   )	full_nameindentcppz
int main())r   r   mainZJavazpublic static void mainZcsharpzpublic static void MainZPHPZ
TypeScriptZ
JavaScriptZBash)pythonr   javacsphptsjssh)questionlangc                    s   dd |   dD  | dkrr fddtt D d } | dd   }d d | }||fS  d d	d   }d d d }||fS )
Nc                 S   s   g | ]}|  r|qS  )strip).0xr   r   a/weka-jd/prod/deepseek/permanent/yangdejian/DeepSeek-Coder/Evaluation/HumanEval/utils/instruct.py
<listcomp>*   s      z%get_function_name.<locals>.<listcomp>
r   c                    s   g | ]} |  d r|qS )zdef )
startswith)r   iZ
func_linesr   r   r   -   s      (r   {)r   splitlowerrangelenjoin)r   r   Zfunc_idx	func_namefunc_prefixr   r   r   get_function_name)   s    r%   F)example	lang_codeverbosec              
   C   s
  | d }|  d|  d}| d  }t| }|d }|d }zztd|  d|tjtjB d	 }	|r|td
	||	 | dd r|d |	kr|	
|d }
|	d |
 }	t||\}}zt|	 
| }d	}|| d	kr|	|| d  dkr|d7 }qz|	dd|  d }W n   t|	}Y nX W n@   d	}z|	dd|  d }W n   t|	}Y nX Y nX |	|| }| dkr|dd|  d 7 }|d | d }|| d< W nJ tk
r } z*td	||| | d d | | d< W 5 d }~X Y nX | S )Ntask_idoutputZgpt_completionpromptr   r   z```z	
(.*?)```r   z>>> Task: {}
{}r       r   })r   r   r   
generationzIFailed to extract code block with error `{}`:
>>> Task: {}
>>> Output:
{})getr   languge_settingsrefindallr   DOTALL
IGNORECASEprintformatindexr%   rindexr!   	Exception)r&   r'   r(   r)   r*   r   Zsettingr   r   Z
code_blockZ
main_startr#   r$   startendbodyr/   exr   r   r   extract_generation_code6   sT    & 
  &r?   Zlanguger   c                 C   s   d  |  |S )Nz
Please help me to complete the function. Use the given packages only and DO NOT refer any new package. Please return all completed function in a codeblock. 
Here is the given code to do completion:
```{}
{}
```
)r   r7   Zlower@   r   r   r   build_deepseekcoder_instructionk   s     rA   )F)r2   r1   strr%   boolr?   rA   r   r   r   r   <module>   s>   &5