рд╣рдорд╛рд░рд╛ рдзреНрдпрд╛рди GitHub рдкрд░ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдЖрд░реНрдЯреНрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИ рдФрд░ рддреЗрдИрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рд╣рдо рдХреЗрд╡рд▓ рдХреБрдЫ C ++ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рдереЗ: EASTL, EAStdC, EABase, EAThread, EATest, EAMain рдФрд░ EAAssertред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рднреА рдмрд╣реБрдд рдЫреЛрдЯреЗ рдереЗ (рд▓рдЧрднрдЧ 10 рдлрд╛рдЗрд▓реЗрдВ), рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХреЗрд╡рд▓ 20 рдлрд╛рдЗрд▓реЛрдВ рдХреЗ "рд╕рдмрд╕реЗ рдмрдбрд╝реЗ" рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓реАрдВ: рдбреА рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рднреА рдорд┐рд▓рд╛! рдЬрдм рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛, рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдФрд░ рдореИрдВрдиреЗ рднреА рдИрдП рдХреЗ рдЦреЗрд▓ рдФрд░ рдЗрд╕рдХреА рд░рдгрдиреАрддрд┐ рдкрд░ рдЬреЛрд░рджрд╛рд░ рдЪрд░реНрдЪрд╛ рдХреА: рдбреА

рдкрд░рд┐рдЪрдп
рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдЖрд░реНрдЯреНрд╕ (EA) рдПрдХ рдЕрдореЗрд░рд┐рдХреА рдХрдВрдкрдиреА рд╣реИ рдЬреЛ рд╡реАрдбрд┐рдпреЛ рдЧреЗрдо рд╡рд┐рддрд░рд┐рдд рдХрд░рддреА рд╣реИред GitHub рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░, рдЙрд╕рдХреЗ рдкрд╛рд╕ рдПрдХ рдЫреЛрдЯреА
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рдХрдИ C ++ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рд╣реИрдВред рдпреЗ C ++ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИрдВ: EASTL, EAStdC, EABase, EAThread, EATest, EAMain рдФрд░ EAAssertред рд╡реЗ рдмрд╣реБрдд рдЫреЛрдЯреЗ рд╣реИрдВ рдФрд░ рд╣рдордиреЗ
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ "рд╕рдмрд╕реЗ рдмрдбрд╝реА" -
рдИрдПрдПрд╕рдЯреАрдбреАрд╕реА (20 рдлрд╛рдЗрд▓реЗрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд┐рд▓рдЪрд╕реНрдк рддреНрд░реБрдЯрд┐рдпрд╛рдВ
рдкрд╛рдИрдВ ред рдРрд╕реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде, рдПрдХ рдкреВрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд
рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ ред рдмрд╕ 5 рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреЗ рд▓рд┐рдП рдирд┐рд░реНрдгрдп рд▓реЗрдВред
рдЪреЗрддрд╛рд╡рдиреА рез
V524 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ '>>' рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╢рд░реАрд░ '<<' рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдХреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордХрдХреНрд╖ рд╣реИред EAFixedPoint.h 287
template <class T, int upShiftInt, int downShiftInt, int upMulInt, int downDivInt> struct FPTemplate { .... FPTemplate operator<<(int numBits) const { return value << numBits; } FPTemplate operator>>(int numBits) const { return value << numBits; } FPTemplate& operator<<=(int numBits) { value <<= numBits; return *this;} FPTemplate& operator>>=(int numBits) { value >>= numBits; return *this;} .... }
рдЬрдм рд╢рд┐рдлреНрдЯ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдУрд╡рд░рд▓реЛрдбрд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкреЛ рдмрдирд╛рдпрд╛, рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рддреЗ рд╣реБрдП << рдФрд░ >>ред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ-рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред
рдЪреЗрддрд╛рд╡рдиреА реи
V557 рдРрд░реЗ рдУрд╡рд░рд░рди рд╕рдВрднрд╡ рд╣реИред 'NFormatLength' рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдореВрд▓реНрдп 16 рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИред EASprintfOrdered.cpp 246
static const int kSpanFormatCapacity = 16; struct Span8 { .... char mFormat[kSpanFormatCapacity]; .... }; static int OVprintfCore(....) { .... EA_ASSERT(nFormatLength < kSpanFormatCapacity); if(nFormatLength < kSpanFormatCapacity) spans[spanIndex].mFormat[nFormatLength++] = *p;
рд╕реНрдкреИрди [рд╕реНрдкреИрдирдЗрдВрдбреЗрдХреНрд╕] .mFormat рд╕рд░рдгреА рдореЗрдВ
16 рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рдЕрдВрддрд┐рдо рд╡реИрдз рд╡рд╕реНрддреБ рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ
15 рд╣реИ ред рдЕрдм
OVprintfCore рдлрд╝рдВрдХреНрд╢рди
рдХреЛрдб рдХреЛ рд▓рд┐рдЦрд╛
рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐
nFormatLength рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рд╕реВрдЪрдХрд╛рдВрдХ -
15 рд╣реЛ , рддреЛ
16 рддрдХ рдХреА рд╡реГрджреНрдзрд┐ рд╣реЛрдЧреАред
рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рдЖрдЧреЗ
, рд╕рд░рдгреА рдХреА рд╕реАрдорд╛ рд╕реЗ рдкрд░реЗ рдЬрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдпрд╣ рдХреЛрдб рдЯреБрдХрдбрд╝рд╛ 2 рдФрд░ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
- V557 рдРрд░реЗ рдУрд╡рд░рд░рди рд╕рдВрднрд╡ рд╣реИред 'NFormatLength' рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдореВрд▓реНрдп 16 рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИред EASprintfOrdered.cpp 614
- V557 рдРрд░реЗ рдУрд╡рд░рд░рди рд╕рдВрднрд╡ рд╣реИред 'NFormatLength' рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдореВрд▓реНрдп 16 рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИред EASprintfOrdered.cpp 977
рдЪреЗрддрд╛рд╡рдиреА рей
V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: (рдкрд░рд┐рдгрд╛рдо> = 0)ред EASprintfOrdered.cpp 489
static int OVprintfCore(....) { .... for(result = 1; (result >= 0) && (p < pEnd); ++p) { if(pWriteFunction8(p, 1, pWriteFunctionContext8, kWFSIntermediate) < 0) return -1; nWriteCountSum += result; } .... }
рд╕реНрдерд┐рддрд┐
рдкрд░рд┐рдгрд╛рдо> = 0 рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐
рдкрд░рд┐рдгрд╛рдо рдЪрд░ рд▓реВрдк рдореЗрдВ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред рдХреЛрдб рдмрд╣реБрдд рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдХреЛрдб рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реИред
рдпрд╣ рдХреЛрдб рдЯреБрдХрдбрд╝рд╛ 2 рдФрд░ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
- V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: (рдкрд░рд┐рдгрд╛рдо> = 0)ред EASprintfOrdered.cpp 852
- V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: (рдкрд░рд┐рдгрд╛рдо> = 0)ред EASprintfOrdered.cpp 1215
рдЪреЗрддрд╛рд╡рдиреА рек
V1009 рд╕рд░рдгреА рдЖрд░рдВрднреАрдХрд░рдг рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рддрддреНрд╡ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрд░рдВрднрд┐рдХ рд╣реИред рдмрд╛рдХреА рддрддреНрд╡реЛрдВ рдХреЛ рд╢реВрдиреНрдп рд╕реЗ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред EASprintfOrdered.cpp 151
static int OVprintfCore(....) { .... int spanArgOrder[kArgCapacity] = { -1 }; .... }
рдпрд╣ рдПрдХ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреЗрд╡рд▓
рд╕реНрдкреИрдирдСрдЧреНрд░рдбрд░ рд╕рд░рдгреА рдХрд╛ рдкрд╣рд▓рд╛ рддрддреНрд╡
-1 рдХреЗ рдорд╛рди рд╕реЗ рдЖрд░рдореНрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрдиреНрдп рд╕рднреА рдХрд╛ рдорд╛рди 0 рд╣реЛрдЧрд╛ред
рдпрд╣ рдХреЛрдб рдЯреБрдХрдбрд╝рд╛ 2 рдФрд░ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
- V1009 рд╕рд░рдгреА рдЖрд░рдВрднреАрдХрд░рдг рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рддрддреНрд╡ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрд░рдВрднрд┐рдХ рд╣реИред рдмрд╛рдХреА рддрддреНрд╡реЛрдВ рдХреЛ рд╢реВрдиреНрдп рд╕реЗ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред EASprintfOrdered.cpp 518
- V1009 рд╕рд░рдгреА рдЖрд░рдВрднреАрдХрд░рдг рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рддрддреНрд╡ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрд░рдВрднрд┐рдХ рд╣реИред рдмрд╛рдХреА рддрддреНрд╡реЛрдВ рдХреЛ рд╢реВрдиреНрдп рд╕реЗ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред EASprintfOrdered.cpp 881
рдЪреЗрддрд╛рд╡рдиреА рел
V728 рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рдЬрд╛рдБрдЪ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдж '(A &&! B) || (рдП! рдФрд░ рдмреА) 'рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐' рдмреВрд▓ (рдП)! = рдмреВрд▓ (рдмреА) 'рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред int128.h 1242
inline void int128_t::Modulus(....) const { .... bool bDividendNegative = false; bool bDivisorNegative = false; .... if( (bDividendNegative && !bDivisorNegative) || (!bDividendNegative && bDivisorNegative)) { quotient.Negate(); } .... }
рдЗрд╕ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЛ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореВрд▓ рдореЗрдВ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд▓рдВрдмреА рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬрд┐рд╕реЗ рдкрдврд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдПрдХ рдФрд░ рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╕рд░рд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реИ:
if( bDividendNegative != bDivisorNegative) { quotient.Negate(); }
рдХреЛрдб рдмрд╣реБрдд рдХрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдиреЗ рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рддрд░реНрдХ рдХреА рд╕рдордЭ рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд░ рджрд┐рдпрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдВрджрд┐рдЧреНрдз рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рддреАрди рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдФрд░ рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рднреАрддрд░ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИрдВред рдХреЛрдб рджреЛрд╣рд░рд╛рд╡ рдПрдХ рдмрд╣реБрдд рдмреБрд░рд╛ рд╡рд┐рдХрд╛рд╕ рдЕрднреНрдпрд╛рд╕ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдХреЛрдб рд╕рдорд░реНрдерди рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдкреВрд░реЗ рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рд╕рд╛рд░ рдХреЗ рдХрд╛рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╕реНрдерд┐рд░рддрд╛ рддреЗрдЬреА рд╕реЗ рдШрдЯ рдЬрд╛рддреА рд╣реИред
рдЪрд▓реЛ рдЖрд╢рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╣рдо рдЗрд╕ рднрдВрдбрд╛рд░ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓реМрдЯ рдЖрдПрдВрдЧреЗ :)ред рдЗрд╕ рдмреАрдЪ, рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдЬреЛ
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рдЦреБрдж рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: Svyatoslav Razmyslovред
рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдЖрд░реНрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рдЧрднрдЧ рдкрд░рдлреЗрдХреНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА ред