рд░рд╕реНрдЯ рднрд╛рд╖рд╛ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреЗ рд▓рд┐рдП рдкреИрдЪ рдХрд╛ рдЫрдард╛ рд╕рдВрд╕реНрдХрд░рдг

рд░рд╕реНрдЯ-рдлреЙрд░-рд▓рд┐рдирдХреНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓реЗрдЦрдХ рдорд┐рдЧреБрдПрд▓ рдУрдЬреЗрдбрд╛ рдиреЗ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рд░рд╕реНрдЯ рднрд╛рд╖рд╛ рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реА 6 рдШрдЯрдХреЛрдВ рдХреЛ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрд╛ред рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдпрд╣ рдкреИрдЪ рдХрд╛ рд╕рд╛рддрд╡рд╛рдВ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬрд┐рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд░рд╕реНрдЯ рд╕рдорд░реНрдерди рдХреЛ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд┐рдирдХреНрд╕-рдиреЗрдХреНрд╕реНрдЯ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ рдХрд░реНрдиреЗрд▓ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрдореВрд░реНрдд рдкрд░рддреЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдбреНрд░рд╛рдЗрд╡рд░ рдФрд░ рдореЙрдбреНрдпреВрд▓ рд▓рд┐рдЦрдиреЗ рдкрд░ рдХрд╛рдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд┐рдХрд╛рд╕ рдХреЛ Google рдФрд░ ISRG (рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реБрд░рдХреНрд╖рд╛ рдЕрдиреБрд╕рдВрдзрд╛рди рд╕рдореВрд╣) рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддреНрдд рдкреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд▓реЗрдЯреНрд╕ рдПрдирдХреНрд░рд┐рдкреНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рдВрд╕реНрдерд╛рдкрдХ рд╣реИ рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реБрд░рдХреНрд╖рд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП HTTPS рдФрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрддрд╛ рд╣реИред

рдирдпреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ:

  • рдЯреВрд▓рдХрд┐рдЯ рдФрд░ рдПрд▓реЛрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг, рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрдиреЗ рдкрд░ "рдкреИрдирд┐рдХ" рд╕реНрдерд┐рддрд┐ рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рдкреАрдврд╝реА рд╕реЗ рдореБрдХреНрдд рд╣реЛрдХрд░, рд░рд╕реНрдЯ 1.60 рдХреА рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдХрд░реНрдиреЗрд▓ рдкреИрдЪ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ "рд╢рд╛рдпрдж_рдпреВрдирд┐рдЯ_рдПрдХреНрд╕реНрдЯреНрд░рд╛" рдореЛрдб рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рддрд╛ рд╣реИред
  • рдХрд░реНрдиреЗрд▓ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд KUnit рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдХрд░реНрдиреЗрд▓ рдПрдкреАрдЖрдИ рд╕реЗ рдЬреБрдбрд╝реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рдВрдХрд▓рди-рд╕рдордп рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг (рдкрд░реАрдХреНрд╖рдг рдЬреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ) рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИред
  • рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдЕрдкрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд░рд╕реНрдЯ рдХрд░реНрдиреЗрд▓ рдХреЛрдб рдХреА рддрд░рд╣, рдХреНрд▓рд┐рдкреНрдкреА рд▓рд┐рдВрдЯрд░ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
  • рдиреЗрдЯрд╡рд░реНрдХ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд╕рд╛рде "рдиреЗрдЯ" рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИред рд░рд╕реНрдЯ рдХреЛрдб рдХреЗ рдкрд╛рд╕ рдХрд░реНрдиреЗрд▓ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдЬреИрд╕реЗ рдиреЗрдорд╕реНрдкреЗрд╕ (рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдиреЗрдЯ рдХрд░реНрдиреЗрд▓ рд╕рдВрд░рдЪрдирд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд), SkBuff (struct sk_buff), TcpListener, TcpStream (struct рд╕реЙрдХреЗрдЯ), Ipv4Addr (struct in_addr), SocketAddrV4 (struct sockaddr_in) рдФрд░ рдЙрдирдХреЗ IPv6 рд╕рдордХрдХреНрд╖реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИред .
  • рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ (рдПрд╕рд┐рдВрдХ) рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдорд░реНрдерди рд╣реИ, рдЬрд┐рд╕реЗ рдХрд╛рд╕рд┐рдВрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЯреАрд╕реАрдкреА рд╕реЙрдХреЗрдЯ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ: async fn echo_server(stream: TcpStream) -> Result {let mut buf = [0u8; 1024]; рд▓реВрдк { Let n = рд╕реНрдЯреНрд░реАрдо.рд░реАрдб(&mut buf).await?; рдпрджрд┐ n == 0 {рд╡рд╛рдкрд╕реА рдареАрдХ рд╣реИ (()); } рд╕реНрдЯреНрд░реАрдо.рд░рд╛рдЗрдЯ_рдСрд▓(&buf[..n]).рдкреНрд░рддреАрдХреНрд╖рд╛?; } }
  • рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯ рдлрд╝рд┐рд▓реНрдЯрд░ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЗрдЯ::рдлрд╝рд┐рд▓реНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рд░рд╕реНрдЯ рднрд╛рд╖рд╛ рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рдеrust_netfilter.rs рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
  • рдПрдХ рд╕рд░рд▓ рдореНрдпреВрдЯреЗрдХреНрд╕ smutex::Mutex рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЬрд┐рд╕реЗ рдкрд┐рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
  • NoWaitLock рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЬреЛ рдХрднреА рднреА рд▓реЙрдХ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рдереНрд░реЗрдб рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдмрдЬрд╛рдп рд▓реЙрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЬрд╛рддреА рд╣реИред
  • рдЙрди рдЕрдиреБрднрд╛рдЧреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ, рдХрд░реНрдиреЗрд▓ рдореЗрдВ raw_spinlock_t рджреНрд╡рд╛рд░рд╛ рдкрд╣рдЪрд╛рдиреЗ рдЧрдП rawSpinLock рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
  • рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП ARef рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЬрд┐рд╕ рдкрд░ рд╕рдВрджрд░реНрдн рдЧрдгрдирд╛ рддрдВрддреНрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╣рдореЗрд╢рд╛-рдкреБрдирдГ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ)ред
  • рд░рд╕реНрдЯрд╕реА_рдХреЛрдбрдЬреЗрди_рдЬреАрд╕реАрд╕реА рдмреИрдХрдПрдВрдб, рдЬреЛ рдЖрдкрдХреЛ рдЬреАрд╕реАрд╕реА рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рд░рд╕реНрдЯрд╕реА рдХреЛ рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╕реНрдЯрд╕реА рдореЗрдВ рдПрдХ рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреАрд╕реАрд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ libgccgit рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдиреЗ рд░рд╕реНрдЯрд╕реА рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдХреА рд╣реИред рдХрдВрдкрд╛рдЗрд▓рд░ рдкреНрд░рдореЛрд╢рди рдХрд╛ рдЕрд░реНрде рд╣реИ рд░рд╕реНрдЯрд╕реА рдХрдВрдкрд╛рдЗрд▓рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╕реНрдЯрд╕реА рдореЗрдВ рдЬреАрд╕реАрд╕реА-рдЖрдзрд╛рд░рд┐рдд рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреАрд╕реАрд╕реА 12.1 рдХреА рд╣рд╛рд▓рд┐рдпрд╛ рд░рд┐рд▓реАрдЬ рдореЗрдВrustc_codegen_gcc рдХреЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ libgccgit рдХреЗ рд╕реБрдзрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд░рд╕реНрдЯрдЕрдк рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗrustc_codegen_gcc рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рддреИрдпрд╛рд░реА рдЪрд▓ рд░рд╣реА рд╣реИред
  • рдЬреАрд╕реАрд╕реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд░рд╕реНрдЯ рднрд╛рд╖рд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдЬреАрд╕реАрд╕реА рдлреНрд░рдВрдЯрдПрдВрдб рдЬреАрд╕реАрд╕реАрдЖрд░рдПрд╕ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдкреНрд░рдЧрддрд┐ рдиреЛрдЯ рдХреА рдЧрдИ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рджреЛ рдкреВрд░реНрдгрдХрд╛рд▓рд┐рдХ рдбреЗрд╡рд▓рдкрд░ gccrs рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдФрд░ рдХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╕реНрдЯ рдХреЛ рджреВрд╕рд░реА рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддреЗ рд╣реИрдВред рд░рд╕реНрдЯ рд╕рдорд░реНрдерди рдХреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХрд░реНрдиреЗрд▓ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдмрд┐рд▓реНрдб рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд╕реНрдЯ рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбреНрд░рд╛рдЗрд╡рд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд░рд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЛ рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде рд╕реБрд░рдХреНрд╖рд┐рдд рдФрд░ рдмреЗрд╣рддрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдЬреЛ рдлреНрд░реАрд┐рдВрдЧ рдХреЗ рдмрд╛рдж рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕, рдирд▓ рдкреЙрдЗрдВрдЯрд░ рдбреАрд░реЗрдлрд░реЗрдВрд╕ рдФрд░ рдмрдлрд░ рдУрд╡рд░рд░рди рдЬреИрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдореБрдХреНрдд рд╣реЛрдЧрд╛ред

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

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ