рдирдорд╕реНрддреЗред
рдЖрдЬ рдореИрдВ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐ рдорд╛рдирдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬ рдХреЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЯреЗрд▓рдиреЗрдЯ, рдЯреАрдПрдлрдЯреАрдкреА, рдПрдЯ рд╕реЗрдЯреЗрд░рд╛, рдПрдЯ рд╕реАрдЯреЗрд░рд╛ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдХреБрдЫ рднреА рдирдпрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ - рдпреЗ рд╕рднреА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдПрдХ рд╡рд░реНрд╖ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╕рднреА рдХреЛ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╣реБрдб рдХреЗ рддрд╣рдд рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред
рдХрдЯ рдХреЗ рддрд╣рдд рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдЗрд╕реЗ рд╡рд┐рд▓рдВрдмрд┐рдд рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдХреЗрд╡рд▓ рдЯреЗрд▓рдиреЗрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдкрд░ рдЕрднреА рднреА рд╕рд╛рдордЧреНрд░реА рд╣реИ - рдпрд╣ рдЪрдХреНрд░ рдХреЗ рдЖрдЧреЗ рдХреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд╣реЛрдЧрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЯреЗрд▓рдиреЗрдЯ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рд╕реВрддреНрд░реЛрдВ рдХреЛ рд╢рдмреНрджрд╢рдГ рдЙрджреНрдзреГрдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдореИрдВ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╕рдВрд▓рдЧреНрди рдХрд░реВрдВрдЧрд╛), рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЯреЗрд▓рдиреЗрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЛ рджреВрд░рд╕реНрде рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рджреНрд╡рд╛рд░рд╛ рдФрд░ рдмрдбрд╝реЗ, рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИ (рдореИрдВрдиреЗ рдЪреБрдкрдЪрд╛рдк рд╕рд░реНрд╡рд░ рдкреЛрд░реНрдЯ рд╕реЗ рд╕рдЪреЗрдд рд░реВрдк рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛, рдЙрд╕ рдкрд░ рдФрд░ рдмрд╛рдж рдореЗрдВ)ред рдЗрд╕рд▓рд┐рдП, рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд▓рд╛рдЗрди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрдврд╝реЗрдВ, рдпрджрд┐ рдХреЛрдИ рд╣реЛ, рддреЛ рдЗрд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░реЗрдВ рдФрд░ рдШрдЯрдирд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред рддреНрд░реБрдЯрд┐рдпрд╛рдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рдордЭрд╛рддреА рд╣реИрдВ рдХрд┐ рдХреБрдЫ рдЧрд▓рдд рд╣реИред
рдЙрдкрд░реЛрдХреНрдд рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рддрджрдиреБрд╕рд╛рд░, рдЖрдкрдХреЛ 2 рдХрд╛рд░реНрдпрд╢реАрд▓ рд╡рд░реНрдЧреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рд╡рд░реНрдЧ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╣рдо рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рддрджрдиреБрд╕рд╛рд░, рдлрд┐рд▓рд╣рд╛рд▓, рдЖрд╡реЗрджрди рдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- TelnetClient
- TelnetClientTester
- TelnetServer
- TelnetServerTester
рдЖрдЗрдП рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░ рдЬрд╛рдПрдВ:
TelnetClientрдпрд╣ рд╡рд░реНрдЧ рдЬреЛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╣ рдкреНрд░рд╛рдкреНрдд рдЖрджреЗрд╢реЛрдВ рдХреЛ рднреЗрдЬрдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдЙрддреНрддрд░реЛрдВ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рд░рд┐рдореЛрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдПрдХ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд (рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдкреЛрд░реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдФрд░ рдЙрд╕рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдП рдЧрдП:
рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдПрдХ рд╕реЙрдХреЗрдЯ рдкрддреЗ рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ, рдПрдХ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рддрд╛ рд╣реИ рдФрд░ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ (рдзрд╛рд░рд╛ рдЪрд░ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╣реИрдВ, рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдкреВрд░реНрдг рд╕реНрд░реЛрдд)ред
public void run(String ip, int port) { try { Socket socket = new Socket(ip, port); InputStream sin = socket.getInputStream(); OutputStream sout = socket.getOutputStream(); Scanner keyboard = new Scanner(System.in); reader = new Thread(()->read(keyboard, sout)); writer = new Thread(()->write(sin)); reader.start(); writer.start(); } catch (Exception e) { System.out.println(e.getMessage()); } }
рдПрдХ рд╣реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдУрд╡рд░рд▓реЛрдб рдХрд░рдирд╛, рдЯреЗрд▓рдиреЗрдЯ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреЛрд░реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ - рдпрд╣ 23 рд╣реИ
public void run(String ip) { run(ip, 23); }
рдлрд╝рдВрдХреНрд╢рди рдХреАрдмреЛрд░реНрдб рд╕реЗ рд╡рд░реНрдг рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╕реЙрдХреЗрдЯ рдореЗрдВ рднреЗрдЬрддрд╛ рд╣реИ - рдЬреЛ рдХрд┐ рд╡рд░реНрдг рдореЛрдб рдХреЗ рдмрдЬрд╛рдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ:
private void read(Scanner keyboard, OutputStream sout) { try { String input = new String(); while (true) { input = keyboard.nextLine(); for (char i : (input + " \n").toCharArray()) sout.write(i); } } catch (Exception e) { System.out.println(e.getMessage()); } }
рдлрд╝рдВрдХреНрд╢рди рд╕реЙрдХреЗрдЯ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
private void write(InputStream sin) { try { int tmp; while (true){ tmp = sin.read(); System.out.print((char)tmp); } } catch (Exception e) { System.out.println(e.getMessage()); } }
рдлрд╝рдВрдХреНрд╢рди рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдФрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред
public void stop() { reader.stop(); writer.stop(); } }
TelnetServerрдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рд╕реЙрдХреЗрдЯ рд╕реЗ рдХрдорд╛рдВрдб рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ, рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рднреЗрдЬрдиреЗ рдФрд░ рдХрдорд╛рдВрдб рд╕реЗ рд╡рд╛рдкрд╕ рд╕реЙрдХреЗрдЯ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднреЗрдЬрдиреЗ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЬрд╛рдирдмреВрдЭрдХрд░ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, "рдмреЙрдХреНрд╕ рдЯреЗрд▓рдиреЗрдЯ" рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреА рдбрд┐рд╕реНрдХ рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрд╡рд╕рд░ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рдореБрджреНрджрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╢рдмреНрдж рдирд╣реАрдВ рд╣реИ рдпрд╛ рдПрд╕рдПрд╕рдПрд▓ред
рдХреЗрд╡рд▓ 2 рдХрд╛рд░реНрдп рд╣реИрдВ (рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдЕрддрд┐рднрд╛рд░рд┐рдд рд╣реИ), рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рдпрд╣ рд╕рдм рдХреБрдЫ рдЫреЛрдбрд╝рдирд╛ рдЙрдЪрд┐рдд рд▓рдЧрд╛ред
boolean isRunning = true; public void run(int port) { (new Thread(()->{ try { ServerSocket ss = new ServerSocket(port);
рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рд░реНрд╡рд░ рдкреЛрд░реНрдЯ рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдХрдорд╛рдВрдб рдЯрд░реНрдорд┐рдиреЗрд╢рди рдХреИрд░реЗрдХреНрдЯрд░ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХрдорд╛рдВрдб рдХреЛ рдПрдХ рдирдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рд╕реЙрдХреЗрдЯ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдПрдХ рдХрд▓рд╛рд╢реНрдирд┐рдХреЛрд╡ рдЕрд╕реЙрд▓реНрдЯ рд░рд╛рдЗрдлрд▓ рдХреА рддрд░рд╣ рд╣реИред
рддрджрдиреБрд╕рд╛рд░, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рднрд╛рд░ рд╣реИ:
public void run() { run(23); }
рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рддрджрдиреБрд╕рд╛рд░, рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рд╕рд░реНрд╡рд░ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ рд╡рд╣ рднреА рддреБрдЪреНрдЫ рд╣реИ, рдпрд╣ рдЕрдирдиреНрдд рдЪрдХреНрд░ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддрд╛ рд╣реИред
public void stop() { System.out.println("Server was stopped"); this.isRunning = false; }
рдореИрдВ рдпрд╣рд╛рдВ рдкрд░реАрдХреНрд╖рдг рдХрдХреНрд╖рд╛рдПрдВ рдирд╣реАрдВ рджреВрдВрдЧрд╛, рд╡реЗ рд╕рдмрд╕реЗ рдиреАрдЪреЗ рд╣реИрдВ - рд╡реЗ рдЬреЛ рднреА рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдЧреАрддрд╛ рдкрд░ рд╣реИред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╢рд╛рдо рдХреЛ рдЖрдк рдореБрдЦреНрдп рдХрдВрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм, рдЬрдм рд╣рдо рджреВрд░рд╕реНрде рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ - рдЬрд╛рджреВ рдЧрд╛рдпрдм рд╣реЛ рдЧрдпрд╛ рд╣реИ)
рддреЛ рд▓рд┐рдВрдХ рд╣реИрдВ:
рд╕рднреА рд╕реНрд░реЛрдд рдереЗ, рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рд░рд╣реЗрдВрдЧреЗрдЯреЗрд▓рдиреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВрдЯреЗрд▓рдиреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ