// module3.code




var getStartValueList(var SYS){
	if(SYS->isset("StartValueList"))return SYS->StartValueList;
	if(SYS->function.getNamesStart().empty())return SYS->StartValueList={};
	if(SYS->FineData.size()==1){
		SYS->activeN=0;
		Result=SborkaFor(SYS,SYS->function.getNamesStart());
		if(typeof(Result)=="vector")return SYS->StartValueList=Result;
		Result=systemPara(SYS);
		if(typeof(Result)=="map"){
			SYS->Izvesno+=Result;
			Result=SborkaFor(SYS,SYS->function.getNamesStart());
			if(typeof(Result)=="vector")return SYS->StartValueList=Result;
			}
		}
	return SYS->StartValueList="Неоднозначно";
}



vector SborkaFor(var SYS,var S){
	Result={};
	i=0;
	while(i<S.size()){
		if(!SYS->FineData[SYS->activeN].Izvesno.isset(S[i]))return 0;
		Result.push(SYS->FineData[SYS->activeN].Izvesno[S[i]]);
		++i;
		}
	return Result;
}



var systemPara(var SYS){
	UniqueSystem=SYS->vars;
	sustem=0;
	SustemMaster(&sustem,"задать систему уравнений",UniqueSystem);
	SustemMaster(&sustem,"решить");
	return SustemMaster(&sustem,"взять известные значения");
}


// module3.code	:-|