DotVVM рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдпрд╣ рджреВрд╕рд░рд╛ рд▓реЗрдЦ рд╣реИред
рдкрд╣рд▓реЗ рд▓реЗрдЦ рдореЗрдВ рддрдереНрдп-рдЦреЛрдЬ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдереАред рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ рдмреБрдирд┐рдпрд╛рджреА рд╕реНрддрд░ рдкрд░ DotVVM рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред рд▓реЗрдЦ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░ рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛: рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд▓реЗрдЦ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдпрд╛рддрд╛рдпрд╛рдд рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред
рдпрд╣ рд▓реЗрдЦ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХреА рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ред
рдЖрдк рдПрдХ рдЯреВ-рдбреВ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╣рд╛рдВ рд▓рд┐рдЦреЗ рдЧрдП рдЖрд╡реЗрджрди рдореЗрдВ, рдирдП рдорд╛рдорд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ред
рд╕рдВрдЪрд╛рд░
рдЬрдм рдкреГрд╖реНрда рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ URL рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ DotVVMStartup.cs рдореЗрдВ DotVVM рдЗрд╕рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдорд╛рд░реНрдЧ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ .dothtml рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдкрде рд╣реИ, рдЬрд╣рд╛рдБ, рдмрджрд▓реЗ рдореЗрдВ, ViewModel рдкрд░ рдПрдХ рдирд┐рд░реНрджреЗрд╢ рд╣реИред
ViewModel рдХреЛ json рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ ViewModel рдкрд░ рдХреБрдЫ рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рд╕рднреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рддрд░реАрдХреЗ рдФрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЧреБрдг (рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЧрд╛рдЗрдб, рдмреВрд▓, рдЗрдВрдЯ, рдЕрдиреНрдп рд╕рд╛рдВрдЦреНрдпрд┐рдХ рдкреНрд░рдХрд╛рд░, рджрд┐рдирд╛рдВрдХ рд╕рдордп, рд╕рдВрдЧреНрд░рд╣ (рд╕рд░рдгреА, рд╕реВрдЪреА)) рдЬреБрдмрд╛рди рдореЗрдВ рдЖрддреЗ рд╣реИрдВред рд╕реВрдЪреА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╕рдорд╛рди рд╕рд░рд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдпрд╛ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред ред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ DotVVM рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, ViewModel рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд▓рд┐рдП рдХрдИ рдирд┐рдпрдо рд╕рд╛рдордиреЗ рдЖрдП, рдЬрд┐рдирдХрд╛ рд╣рдо рдкрд╛рд▓рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
- ViewModel рдореЗрдВ рд╕реАрдзреЗ Entity Framework DbContext рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ
- рджреГрд╢реНрдп рдореЗрдВ рдХреНрд▓реАрди рдПрдВрдЯрд┐рдЯреАрдЬрд╝ рди рджрд┐рдЦрд╛рдПрдВ, рд▓реЗрдХрд┐рди рдбреАрдЯреАрдУ (рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
- ViewModel рдкрд░ рдЕрдзрд┐рдХ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ DotvvmViewModelBase рдХреЛ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рддреЛ рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ ViewModel рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЬрд╕рди рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕рднреА рдлреНрд░рдВрдЯ-рдПрдВрдб рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╡реНрдпреВ рдФрд░ рдкреЗрдЬ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реБрдП рдереЗред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, DotvvmViewModelBase рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛: Init (), Load (), рдФрд░ PreRender ()ред рдЬрдм рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ рдкреГрд╖реНрда рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдУрд╡рд░рд░рд╛рдЗрдб рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдЪреАрдЬреЗрдВред

рдПрдХ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдорд╛рдорд▓рд╛ рдЬреЛрдбрд╝реЗрдВред
- AJAX POST рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд ViewModel рдХреЗ json рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рд╡рд╣реА ViewModel рд╕рд░реНрд╡рд░ рдореЗрдореЛрд░реА рдореЗрдВ рдЕрдирд▓реЛрдб рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реИ
- Init () рджреНрд╡рд╛рд░рд╛
- рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╕рд░реНрд╡рд░ ViewModel рдХреА рддреБрд▓рдирд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдЖрдИ рд╣реБрдИ рд╣реИ
- рд▓реЛрдб рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрд╛рджрд┐рдд ()
- рд╡рд┐рдзрд┐ рдХреЛ рд╣реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
- рдкреНрд░реАрд░реЗрдВрдбрд░ рджреНрд╡рд╛рд░рд╛ ()
- рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╡рд╛рдкрд╕ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬрдм рдЖрдкрдХрд╛ ViewModel DotvvmViewModelBase рдХреЛ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ Init (), рд▓реЛрдб () рдФрд░ PreRender () рддрдХ рдкрд╣реБрдВрдЪ рд╣реИред рд╕рднреА рддреАрди рд╡рд┐рдзрд┐рдпрд╛рдВ рдЕрдореВрд░реНрдд рд╣реИрдВ рдФрд░ рдЗрдиреНрд╣реЗрдВ рдмрдврд╝рд╛рдпрд╛ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, DotvvmViewModelBase рдореЗрдВ рдЕрдиреБрд░реЛрдз рд╕рдВрджрд░реНрдн рд╕рдВрджрд░реНрдн рдХреА рдПрдХ рд╕рдВрдкрддреНрддрд┐ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реЗ рдЕрдиреБрд░реЛрдз рдСрдмреНрдЬреЗрдХреНрдЯ рддрдХ рдкрд╣реБрдВрдЪ, IsPostBack рд╕рдВрдкрддреНрддрд┐, URL рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░
рдмрд╣реБрдд рдХреБрдЫ рд╣реИ ред
рд╣рд░ рдкреЛрд╕реНрдЯрдмреИрдХ рдХреЗ рд╕рд╛рде рдкреВрд░реЗ ViewModel рдХреЛ рднреЗрдЬрдирд╛ рдмрд╣реБрдд рдХреБрд╢рд▓ рдирд╣реАрдВ рд╣реИред рдХрдо рд╕реЗ рдХрдо рдХрд┐рд╕реА рддрд░рд╣ рднреЗрдЬреЗ рдЧрдП рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, DotVVM рдореЗрдВ рдХрдИ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВред
рдмрд╛рдБрдзрдиреЗ рдХрд╛ рдЧреБрдг
рдмрд┐рдВрдж рд╡рд┐рд╢реЗрд╖рддрд╛ рдЖрдкрдХреЛ рд╕рдВрдХрд▓рдХ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдХрд┐ рд╡реНрдпреВрдореЙрдбрд▓ рдореЗрдВ рдЧреБрдгреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред

- [Bind (Direction.Both)] - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧред рд╣рд░ рдЕрдиреБрд░реЛрдз рдкрд░ рдбреЗрдЯрд╛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
- [рдмрд┐рдВрдж (рдирд┐рд░реНрджреЗрд╢рди)
- [Bind (Direction.ServerToClient)] - рд╕рд░реНрд╡рд░ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рддрдХ рдбреЗрдЯрд╛ рдХреЗрд╡рд▓ рдПрдХ рджрд┐рд╢рд╛ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХреЗрд╡рд▓ рдкреЗрдЬ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рд╣реИ, рд▓реЗрдХрд┐рди рдкреЛрд╕реНрдЯрдмреИрдХ рдХреЗ рд╕рд╛рде рдирд╣реАрдВред
- [Bind (Direction.ServerToClientFirstRequest)] - рд╕реНрдереИрддрд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреЙрдореНрдмреЛ рдмреЙрдХреНрд╕ рдореЗрдВ рд╡рд┐рдХрд▓реНрдк
- [Bind (Direction.ClientToServer)] - рдбреЗрдЯрд╛ рдХреЗрд╡рд▓ рдПрдХ рджрд┐рд╢рд╛ рдореЗрдВ, рдбрд╛рдХ рд╕реЗ, рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╕рд░реНрд╡рд░ рддрдХ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реНрдереИрддрд┐рдХ рдЖрдЬреНрдЮрд╛
DotVVM рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рд╕реНрдерд┐рд░ рд╡рд┐рдзрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдХреЗрд╡рд▓ рдЙрддреНрддрд░ рднреЗрдЬрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рд╕рдВрдкреВрд░реНрдг ViewModel рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╡рд╣ рд╣рд┐рд╕реНрд╕рд╛ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред рдРрд╕реЗ рд╕реНрдерд┐рд░ рддрд░реАрдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдорд╛рди рд▓реМрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдПрдХ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк рд╕реНрдЯреЗрдЯрд┐рдХ рдХрдорд╛рдВрдб рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рд╣рдо рдХрд┐рд╕реА рдорд╛рдорд▓реЗ рдХреЛ рдкреВрд░рд╛ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВред рд╕рд░реНрд╡рд░ рдХреЛ рд╕рдВрдкреВрд░реНрдг ViewModel рднреЗрдЬрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред
рдЖрдк MarkAsDone (ToDoItem рдЖрдЗрдЯрдо) рд╡рд┐рдзрд┐ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ рдФрд░
[AllowStaticCommand] рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рд╡рд┐рдзрд┐ рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
namespace FirstDotvvmApp { public static class ToDoItemValidator { [AllowStaticCommand] public static bool IsDone() => true; } }
рдЖрдкрдХреЛ рдЙрд╕ рд╕реНрдерд╛рди рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд╝рдХрд░ рджреГрд╢реНрдп рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рд╣рдорд╛рд░рд╛ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧ рд╕реНрдерд┐рдд рд╣реИред
@import FirstDotvvmApp
рдмрдЯрди рди рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╕реНрдЯреИрдЯрд┐рдХрдХрдордВрдбред
<dot:Button Validation.Enabled="false" Visible="{value: !IsDone}" Text="Mark as done" Click="{staticCommand: IsDone = ToDoItemValidator.IsDone()}"> </dot:Button>
рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдХрд┐рддрдирд╛ рдЯреНрд░реИрдлрд╝рд┐рдХ рдмрдЪрд╛рдпрд╛ рд╣реИред

рдЖрдорддреМрд░ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рд╕рдВрдЪрд╛рд░ рдХрд░рддреЗ рд╕рдордп рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдВрджрд░реНрдн
рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЕрдзрд┐рдХ рдЙрджрд╛рд╣рд░рдг
рдпрд╣рд╛рдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ
рд╣реИрдВ ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рд╛рд▓ рд╣реА рдореЗрдВ
DotVVM 2.0 рдкрд░ рдПрдХ
рдзрд╛рд░рд╛ (Engред) рдереА, рдЬрд╣рд╛рдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЦреНрдп рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдФрд░ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереАред