рдмреЗрдмреАрд▓реЛрдирд┐рдпрди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЖрдк рдмреЗрдмреАрд▓реЛрди рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдм рд╕реАрдЦреЗрдВрдЧреЗ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпред

рдЖрдЗрдП рд▓реБрдИрд╕ рдмреЛрд░реНрдЧреЗрд╕ рдХреЗ рдмреЗрдмреАрд▓реЛрдирд┐рдпрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЙрджреНрдзрд░рдгреЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред

рдЙрджреНрдзрд░рдг
"рдмреНрд░рд╣реНрдорд╛рдВрдб - рдХреБрдЫ рдЗрд╕реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╣рддреЗ рд╣реИрдВ - рдЗрд╕рдореЗрдВ рд╣реЗрдХреНрд╕рд╛рдЧреЛрдирд▓ рджреАрд░реНрдШрд╛рдУрдВ рдХреА рдПрдХ рд╡рд┐рд╢рд╛рд▓, рд╕рдВрднрд╡рддрдГ рдЕрдирдВрдд рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд╡рд╛рдпреБрдордВрдбрд▓реАрдп рдХрдХреНрд╖ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдХрдо рд░реЗрд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд▓рдЧреНрди рд╣реЛрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд╖рдЯреНрднреБрдЬ рд╕реЗ рджреЛ рдКрдкрд░реА рдФрд░ рджреЛ рдирд┐рдЪрд▓реА рдордВрдЬрд┐рд▓реЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ - рдЕрдирдВрдд рддрдХред "

тАЬрдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдПрдХ рдЧреЗрдВрдж рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╕рдЯреАрдХ рдХреЗрдВрджреНрд░ рд╣реЗрдХреНрд╕рд╛рдЧреЛрдиреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд╣реИ, рдФрд░ рд╕рддрд╣ рджреБрд░реНрдЧрдо рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╖рдЯреНрднреБрдЬ рдХреА рдкреНрд░рддреНрдпреЗрдХ рджреАрд╡рд╛рд░ рдкрд░ рдкрд╛рдБрдЪ рдЕрд▓рдорд╛рд░рд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рд╢реЗрд▓реНрдл рдкрд░ рдПрдХ рд╣реА рдкреНрд░рд╛рд░реВрдк рдХреА рдмрддреНрддреАрд╕ рдкреБрд╕реНрддрдХреЗрдВ рд╣реЛрддреА рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкреБрд╕реНрддрдХ рдореЗрдВ рдЪрд╛рд░ рд╕реМ рдФрд░ рджрд╕ рдкреГрд╖реНрда рд╣реЛрддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдореЗрдВ рдЪрд╛рд▓реАрд╕ рд▓рд╛рдЗрдиреЗрдВ рд╣реЛрддреА рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд▓рдЧрднрдЧ рдЕрд╕реНрд╕реА рдХрд╛рд▓реЗ рдЕрдХреНрд╖рд░ рд╣реЛрддреЗ рд╣реИрдВред рдкреБрд╕реНрддрдХ рдХреА рд░реАрдврд╝ рдкрд░ рдкрддреНрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдкреГрд╖реНрда рдХреЛ рдХреНрдпрд╛ рдХрд╣реЗрдВрдЧреЗ, рдЗрд╕рдХрд╛ рдкреВрд░реНрд╡рд╛рднрд╛рд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╡рд┐рд╕рдВрдЧрддрд┐, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдПрдХ рдмрд╛рд░ рд░рд╣рд╕реНрдпрдордп рд▓рдЧ рд░рд╣рд╛ рдерд╛ред "


рдпрджрд┐ рдЖрдк рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╖рдЯреНрднреБрдЬ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрд┐рд╕реА рднреА рджреАрд╡рд╛рд░ рдкрд░ рдЬрд╛рдПрдВ, рдХрд┐рд╕реА рднреА рд╢реЗрд▓реНрдл рдХреЛ рджреЗрдЦреЗрдВ рдФрд░ рдЙрд╕ рдкреБрд╕реНрддрдХ рдХреЛ рд▓реЗрдВ рдЬрд┐рд╕реЗ рдЖрдк рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрд░реЗрд╢рд╛рди рд╣реИрдВред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рдЬреАрд╡рди рдХреЗ рдЕрд░реНрде рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреА рдЙрдореНрдореАрдж рдереА, рд▓реЗрдХрд┐рди рдЖрдкрдиреЗ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдХреБрдЫ рдЕрдЬреАрдм рд╕реЗрдЯ рджреЗрдЦреЗред рд▓реЗрдХрд┐рди рдЗрддрдиреА рдЬрд▓реНрджреА рдкрд░реЗрд╢рд╛рди рдордд рд╣реЛрдЗрдП! рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреБрд╕реНрддрдХреЗрдВ рдЕрд░реНрдерд╣реАрди рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкрдЪреНрдЪреАрд╕ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╡реЗрд░рд┐рдПрдВрдЯ рдХреА рдПрдХ рддрд▓рд╛рд╢реА рд╡рд╛рд▓реА рдЦреЛрдЬ рд╣реИрдВ ( рдпрд╣ рдЗрд╕ рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╣реИ рдХрд┐ рдмреЛрд░реЗрдЬ рдиреЗ рдЕрдкрдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рддрдм рдкрд╛рдардХ рдХреЛ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд░реНрдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ )ред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдореБрдЦреНрдп рдирд┐рдпрдо рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рджреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди рдХрд┐рддрд╛рдмреЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рддрджрдиреБрд╕рд╛рд░ рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░рд┐рдорд┐рдд рд╣реИ, рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рднреА рдХрд┐рд╕реА рджрд┐рди рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдмреЛрд░реНрдЬреЗрд╕ рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрдерд╛ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЖрд╡рдзрд┐рдХ рд╣реИ:

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


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

рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рддрдереНрдп рд╕реЗ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░ рджреВрдВрдЧрд╛: рдпрджрд┐ рдЖрдк рд▓реБрдИрд╕ рдмреЛрд░реНрдЬреЗрд╕ рдХреЗ рдмреЗрдмреАрд▓реЛрдирд┐рдпрди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреА рдорд╛рддреНрд░рд╛ рджреГрд╢реНрдпрдорд╛рди рдмреНрд░рд╣реНрдорд╛рдВрдб рдХреА рдорд╛рддреНрд░рд╛ 10 ^ 611338 (!) рдЯрд╛рдЗрдореНрд╕ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрдбрд╝реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдореИрдВ рдпрд╣ рд╕реЛрдЪрдХрд░ рднреА рдбрд░ рдЧрдпрд╛ рд╣реВрдВред

рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


рдореЙрдбреНрдпреВрд▓ рд╡рд┐рд╡рд░рдг


рд╣рдорд╛рд░рд╛ рдЫреЛрдЯрд╛ рд╕рд╛ рдкрд░рд┐рдЪрдп рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд┐рдирд╛ рдЕрд░реНрде рдХреЗ рдирд╣реАрдВ рд╣реИ: рдЕрдм рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдмреЗрдмреАрд▓реЛрдирд┐рдпрди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдкрдврд╝рдирд╛ рдХреЗрд╡рд▓ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рджреВрд░ рд╣реЛ рдЬрд╛рдКрдВрдЧрд╛, рдореИрдВ рдПрдХ "рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ" рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЬрд┐рд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред рдореИрдВ Node.js. рдХреЗ рддрд╣рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдХреНрдпрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
  • рдЬрд▓реНрджреА рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдкрд╛рда рдвреВрдВрдвреЗрдВ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЕрдкрдирд╛ рд╕реНрдерд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ
  • рдкреБрд╕реНрддрдХ рдХрд╛ рд╢реАрд░реНрд╖рдХ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ
  • рдЬрд▓реНрджреА рд╕реЗ рд╕рд╣реА рд╢реАрд░реНрд╖рдХ рдХреЗ рд╕рд╛рде рдПрдХ рдХрд┐рддрд╛рдм рдЦреЛрдЬреЗрдВ

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

рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓ index.js рд╣реИ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдкреВрд░рд╛ рддрд░реНрдХ рд╡рд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рдореИрдВ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдордЭрд╛рдКрдВрдЧрд╛ред

let sha512 = require(`js-sha512`); 

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

 module.exports = ({ lengthOfPage = 4819, lengthOfTitle = 31, digs = '0123456789abcdefghijklmnopqrstuvwxyz', alphabet = ', .', wall = 5, shelf = 7, volume = 31, page = 421, } = {}) => { // ... }; 

рдЕрдм рд╣рдо рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдорд╛рдирдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдЕрднрд╛рдЬреНрдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЪреБрдирдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред

  • lengthOfPage - рд╕рдВрдЦреНрдпрд╛, рдПрдХ рдкреГрд╖реНрда рдкрд░ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ 4819 рд╣реИред рдпрджрд┐ рд╣рдо рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ 61 рдФрд░ 79 рдорд┐рд▓рддреЗ рд╣реИрдВред 79 рд╡рд░реНрдгреЛрдВ рдХреА 61 рдкрдВрдХреНрддрд┐рдпрд╛рдБ, рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд▓реЗрдХрд┐рди рдореИрдВ рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдБред
  • lengthOfTitle - рд╕рдВрдЦреНрдпрд╛, рдкреБрд╕реНрддрдХ рд╢реАрд░реНрд╖рдХ рдХреЗ рд╢реАрд░реНрд╖рдХ рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред
  • digs - рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЗрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдмрд░рд╛рдмрд░ рдЖрдзрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдВрдХред рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдХрд┐рд╕ рд▓рд┐рдП рд╣реИ? рдЗрд╕рдореЗрдВ рд╖рдЯреНрднреБрдЬ рдХреА рд╕рдВрдЦреНрдпрд╛ (рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛) рд╣реЛрдЧреА рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рд▓реИрдЯрд┐рди рдФрд░ рд▓реЛрдЕрд░рдХреЗрд╕ 0-9 рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд╛рда рдпрд╣рд╛рдВ рдПрдиреНрдХреЛрдб рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╣реЛрдЧреА - рдХрдИ рд╣рдЬрд╛рд░ рдмрд┐рдЯреНрд╕ (рдкреГрд╖реНрда рдкрд░ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░), рд▓реЗрдХрд┐рди рдпрд╣ рдЪрд░рд┐рддреНрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
  • рд╡рд░реНрдгрдорд╛рд▓рд╛ - рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЕрдХреНрд╖рд░ рдЬрд┐рд╕реЗ рд╣рдо рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рдЙрдирд╕реЗ рднрд░рд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд░реНрдгрдорд╛рд▓рд╛ рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрд┐ рд╖рдЯреНрднреБрдЬ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдВрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╣реЛред
  • рджреАрд╡рд╛рд░ - рд╕рдВрдЦреНрдпрд╛, рдЕрдзрд┐рдХрддрдо рджреАрд╡рд╛рд░ рд╕рдВрдЦреНрдпрд╛, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рел
  • рд╢реЗрд▓реНрдл - рд╕рдВрдЦреНрдпрд╛, рдЕрдзрд┐рдХрддрдо рд╢реЗрд▓реНрдл рд╕рдВрдЦреНрдпрд╛, рдбрд┐рдлрд╝реЙрд▓реНрдЯ 7
  • рд╡реЙрд▓реНрдпреВрдо - рд╕рдВрдЦреНрдпрд╛, рдЕрдзрд┐рдХрддрдо рдкреБрд╕реНрддрдХ рд╕рдВрдЦреНрдпрд╛, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рейрез
  • рдкреГрд╖реНрда - рд╕рдВрдЦреНрдпрд╛, рдЕрдзрд┐рдХрддрдо рдкреГрд╖реНрда рд╕рдВрдЦреНрдпрд╛, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рекреирез

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

рдкреГрд╖реНрда рдЦреЛрдЬ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ


рдЬрдм рд╣рдо рдХрд┐рд╕реА рдкрддреЗ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА рджреЗрдЦрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдлрд┐рд░ рд╕реЗ рдЙрд╕реА рдкрддреЗ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рд╛рдордЧреНрд░реА рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕реА рд╣реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рдЫрджреНрдо рдЖрдпрд╛рдореА рд╕рдВрдЦреНрдпрд╛ рдкреИрджрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ - рд░реИрдЦрд┐рдХ рд╕рд░реНрд╡рд╛рдВрдЧрд╕рдо рд╡рд┐рдзрд┐ ред рдЬрдм рд╣рдореЗрдВ рдкрддрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░рд┐рддреНрд░ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдпрд╛, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА, рддреЛ рдпрд╣ рд╣рдорд╛рд░реА рдорджрдж рдХрд░реЗрдЧрд╛, рдФрд░ рдкреГрд╖реНрдареЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдЕрд▓рдорд╛рд░рд┐рдпреЛрдВ, рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдирд╛рдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореЗрд░реЗ PRNG рдХрд╛ рд╡рд┐рдиреНрдпрд╛рд╕: m = 2 ^ 32 (4294967296), a = 22695477, c = 1. рдореИрдВ рдпрд╣ рднреА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реИрдЦрд┐рдХ рд╕рд░реНрд╡рд╛рдВрдЧрд╕рдо рд╡рд┐рдзрд┐ рд╕реЗ рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИ, рдмрд╛рдХреА рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╕реВрдЪреА рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ:

рдХреЛрдб
 module.exports = ({ lengthOfPage = 4819, lengthOfTitle = 31, digs = '0123456789abcdefghijklmnopqrstuvwxyz', alphabet = ', .', wall = 5, shelf = 7, volume = 31, page = 421, } = {}) => { let seed = 13; //   const rnd = (min = 1, max = 0) => { //   //    min  max seed = (seed * 22695477 + 1) % 4294967296; //   //      return min + seed / 4294967296 * (max - min); //   //   }; const pad = (s, size) => s.padStart(size, `0`); //   //       let getHash = str => parseInt(sha512(str).slice(0, 7), 16); //  const mod = (a, b) => ((a % b) + b) % b; //    const digsIndexes = {}; //     //    digs const alphabetIndexes = {}; //     //    alphabet Array.from(digs).forEach((char, position) => { //    digs digsIndexes[char] = position; //     //   }); Array.from(alphabet).forEach((char, position) => { //    alphabet alphabetIndexes[char] = position; //     //   }); return { //    }; 


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдВрдЦреНрдпрд╛ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рдмрд╛рдж PRNG рдЕрдирд╛рдЬ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╕реАрдзреЗ рддрдерд╛рдХрдерд┐рдд рд╕рдВрджрд░реНрдн рдмрд┐рдВрджреБ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ - рдЕрдирд╛рдЬ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╣рдореЗрдВ рд░реБрдЪрд┐ рджреЗрдЧреАред (рд╣рдо рдкрддрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ)

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

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

рдФрд░ рдорд┐рдард╛рдИ рдХреЛрдб рдХрд╛ рдЕрдВрддрд┐рдо рдЯреБрдХрдбрд╝рд╛ рд▓реМрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ:

рдХреЛрдб
 return { wall, shelf, volume, page, lengthOfPage, lengthOfTitle, search(searchStr) { let wall = `${(Math.random() * this.wall + 1 ^ 0)}`, shelf = `${(Math.random() * this.shelf + 1 ^ 0)}`, volume = pad(`${(Math.random()* this.volume + 1 ^ 0)}`, 2), page = pad(`${(Math.random()* this.page + 1 ^ 0)}`, 3), locHash = getHash(`${wall}${shelf}${volume}${page}`), hex = ``, depth = Math.random() * (this.lengthOfPage - searchStr.length) ^ 0; for (let i = 0; i < depth; i++){ searchStr = alphabet[Math.random() * alphabet.length ^ 0] + searchStr; } seed = locHash; for (let i = 0; i < searchStr.length; i++){ let index = alphabetIndexes[searchStr[i]] || -1, rand = rnd(0, alphabet.length), newIndex = mod(index + parseInt(rand), digs.length), newChar = digs[newIndex]; hex += newChar; } return `${hex}-${wall}-${shelf}-${+volume}-${+page}`; }, searchExactly(text) { const pos = Math.random() * (this.lengthOfPage - text.length) ^ 0; return this.search(`${` `.repeat(pos)}${text}${` `.repeat(this.lengthOfPage - (pos + text.length))}`); }, searchTitle(searchStr) { let wall = `${(Math.random() * this.wall + 1 ^ 0)}`, shelf = `${(Math.random() * this.shelf + 1 ^ 0)}`, volume = pad(`${(Math.random()* this.volume + 1 ^ 0)}`, 2), locHash = getHash(`${wall}${shelf}${volume}`), hex = ``; searchStr = searchStr.substr(0, this.lengthOfTitle); searchStr = searchStr.length == this.lengthOfTitle ? searchStr : `${searchStr}${` `.repeat(this.lengthOfTitle - searchStr.length)}`; seed = locHash; for (let i = 0; i < searchStr.length; i++){ let index = alphabetIndexes[searchStr[i]], rand = rnd(0, alphabet.length), newIndex = mod(index + parseInt(rand), digs.length), newChar = digs[newIndex]; hex += newChar; } return `${hex}-${wall}-${shelf}-${+volume}`; }, getPage(address) { let addressArray = address.split(`-`), hex = addressArray[0], locHash = getHash(`${addressArray[1]}${addressArray[2]}${pad(addressArray[3], 2)}${pad(addressArray[4], 3)}`), result = ``; seed = locHash; for (let i = 0; i < hex.length; i++) { let index = digsIndexes[hex[i]], rand = rnd(0, digs.length), newIndex = mod(index - parseInt(rand), alphabet.length), newChar = alphabet[newIndex]; result += newChar; } seed = getHash(result); while (result.length < this.lengthOfPage) { result += alphabet[parseInt(rnd(0, alphabet.length))]; } return result.substr(result.length - this.lengthOfPage); }, getTitle(address) { let addressArray = address.split(`-`), hex = addressArray[0], locHash = getHash(`${addressArray[1]}${addressArray[2]}${pad(addressArray[3], 2)}`), result = ``; seed = locHash; for (let i = 0; i < hex.length; i++) { let index = digsIndexes[hex[i]], rand = rnd(0, digs.length), newIndex = mod(index - parseInt(rand), alphabet.length), newChar = alphabet[newIndex]; result += newChar; } seed = getHash(result); while (result.length < this.lengthOfTitle) { result += alphabet[parseInt(rnd(0, alphabet.length))]; } return result.substr(result.length - this.lengthOfTitle); } }; 


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

рдЦреЛрдЬ рд╡рд┐рдзрд┐


 search(searchStr) { let wall = `${(Math.random() * this.wall + 1 ^ 0)}`, shelf = `${(Math.random() * this.shelf + 1 ^ 0)}`, volume = pad(`${(Math.random() * this.volume + 1 ^ 0)}`, 2), page = pad(`${(Math.random() * this.page + 1 ^ 0)}`, 3), locHash = getHash(`${wall}${shelf}${volume}${page}`), hex = ``, depth = Math.random() * (this.lengthOfPage - searchStr.length) ^ 0; for (let i = 0; i < depth; i++){ searchStr = alphabet[Math.random() * alphabet.length ^ 0] + searchStr; } seed = locHash; for (let i = 0; i < searchStr.length; i++){ let index = alphabetIndexes[searchStr[i]] || -1, rand = rnd(0, alphabet.length), newIndex = mod(index + parseInt(rand), digs.length), newChar = digs[newIndex]; hex += newChar; } return `${hex}-${wall}-${shelf}-${+volume}-${+page}`; } 

рд▓рд╛рдпрдмреНрд░реЗрд░реА рдореЗрдВ searchStr рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдкрддрд╛ рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рджреАрд╡рд╛рд░, рд╢реЗрд▓реНрдл, рд╡реЙрд▓реНрдпреВрдо, рдкреЗрдЬ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдорд╛рддреНрд░рд╛ рдФрд░ рдкреГрд╖реНрда рднреА рдЗрдЪреНрдЫрд┐рдд рд▓рдВрдмрд╛рдИ рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рдЧрджреНрджреЗрджрд╛рд░ред рдЕрдЧрд▓рд╛, рдЙрдиреНрд╣реЗрдВ getHash рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВред рдкрд░рд┐рдгрд╛рдореА рд▓реЛрдХрд╛рд╢ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдЕрдирд╛рдЬред

рдЕрдзрд┐рдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рддрддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЗ рдЫрджреНрдо рдЖрдпрд╛рдореА рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд░реНрдЪрд╕реНрдЯреНрд░реАрдо рдЧрд╣рд░рд╛рдИ рдХреЛ рдкреВрд░рдХ рдХрд░рддреЗ рд╣реИрдВ, рдмреАрдЬ рдмреАрдЬ рдХреЛ рд▓реЛрдХрд╛рд╢ рдореЗрдВ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдпрд╣ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рдХрд┐ рд╣рдо рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рд▓рд╛рдЗрди рдХреЛ рдкреВрд░рдХ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ PRNG рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдЖрдк рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреНрдпрд╛рдЧ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд░реБрдЪрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рдкреГрд╖реНрда рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╣реЛрдВред

рд╖рдЯреНрднреБрдЬ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдмрдЪреА рд╣реИ рдЦреЛрдЬ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

  1. рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдореЗрдВ рд╕реВрдЪрдХрд╛рдВрдХ рд╡рд░реНрдг рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдпрджрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИ, рддреЛ -1 рд▓реМрдЯреЗрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдЧрд▓рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред
  2. рд╣рдорд╛рд░реЗ PRNG рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрджреНрдо-рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рд░реИрдВрдб рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ, рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреА рд▓рдВрдмрд╛рдИ рд╕реЗ 0 рддрдХред
  3. рдирдП рд╕реВрдЪрдХрд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ, рдЬреЛ рдХрд┐ рдкреНрд░рддреАрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЫрджреНрдо-рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рд░реИрдВрдб рдХреЗ рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдореЛрдбреБрд▓реЛ рдХреЛ рдбрд┐рдЧреНрд╕ рдХреА рд▓рдВрдмрд╛рдИ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреА рд╣реИред
  4. рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдореЗрдВ рд╖рдЯреНрднреБрдЬ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдЕрдВрдХ рдорд┐рд▓рд╛ - newChar (рдЗрд╕реЗ рдбрд┐рдЧреНрд╕ рд╕реЗ рд▓реЗрдирд╛)ред
  5. рдирдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╣реЗрдХреНрд╕ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╕реЗ рдЬреЛрдбрд╝реЗрдВ

рд╣реЗрдХреНрд╕ рдкреАрдврд╝реА рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░, рд╣рдо рдЙрд╕ рд╕реНрдерд╛рди рдХрд╛ рдкреВрд░рд╛ рдкрддрд╛ рджреЗрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рд░реЗрдЦрд╛ рдирд┐рд╣рд┐рдд рд╣реЛрддреА рд╣реИред рдкрддрд╛ рдШрдЯрдХреЛрдВ рдХреЛ рдПрдХ рд╣рд╛рдЗрдлрд╝рди рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

SearchExactly рд╡рд┐рдзрд┐


 searchExactly(text) { const pos = Math.random() * (this.lengthOfPage - text.length) ^ 0; return this.search(`${` `.repeat(pos)}${text}${` `.repeat(this.lengthOfPage - (pos + text.length))}`); } 

рдпрд╣ рд╡рд┐рдзрд┐ рдЦреЛрдЬ рд╡рд┐рдзрд┐ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЛ рднрд░рддрд╛ рд╣реИ ( рдЦреЛрдЬ рд╕реНрдЯреНрд░рд┐рдВрдЧ searchStr рдХреЛ рд▓рдВрдмрд╛рдИ рдХреА рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓реЗ рдЕрдХреНрд╖рд░реЛрдВ рд╕реЗ рдмрдирд╛рддрд╛ рд╣реИ) рд░рд┐рдХреНрдд рд╕реНрдерд╛рдиред рдРрд╕рд╛ рдкреГрд╖реНрда рджреЗрдЦрдиреЗ рдкрд░, рдпрд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рда рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЗрд╕ рдкрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред

SearchTitle рд╡рд┐рдзрд┐


 searchTitle(searchStr) { let wall = `${(Math.random() * this.wall + 1 ^ 0)}`, shelf = `${(Math.random() * this.shelf + 1 ^ 0)}`, volume = pad(`${(Math.random()* this.volume + 1 ^ 0)}`, 2), locHash = getHash(`${wall}${shelf}${volume}`), hex = ``; searchStr = searchStr.substr(0, this.lengthOfTitle); searchStr = searchStr.length == this.lengthOfTitle ? searchStr : `${searchStr}${` `.repeat(this.lengthOfTitle - searchStr.length)}`; seed = locHash; for (let i = 0; i < searchStr.length; i++){ let index = alphabetIndexes[searchStr[i]], rand = rnd(0, alphabet.length), newIndex = mod(index + parseInt(rand), digs.length), newChar = digs[newIndex]; hex += newChar; } return `${hex}-${wall}-${shelf}-${+volume}`; } 

SearchTitle рд╡рд┐рдзрд┐ searchStr рдирд╛рдордХ рдкреБрд╕реНрддрдХ рдХрд╛ рдкрддрд╛ рджреЗрддреА рд╣реИ ред рдЕрдВрджрд░, рдпрд╣ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдорд╛рди рд╣реИред рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ locHash рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп рд╣рдо рдЗрд╕рдХрд╛ рдирд╛рдо рдкреБрд╕реНрддрдХ рдореЗрдВ рдмрд╛рдБрдзрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдкреГрд╖реНрда рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ searchStr рдХреЛ рд▓рдВрдмрд╛рдИ рдореЗрдВ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣, рд╣реЗрдХреНрд╕рд╛рдЧреЛрди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдкрддрд╛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдкреГрд╖реНрда рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдордирдорд╛рдирд╛ рдкрд╛рда рдХреЗ рд╕рдЯреАрдХ рдкрддреЗ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рдерд╛ред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЧрдврд╝реЗ рдЧрдП рдирд╛рдо рдХреЗ рд╕рд╛рде рдкреБрд╕реНрддрдХ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ, рддреЛ рдЙрд╕ рдкреГрд╖реНрда рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдВ рдЬрд┐рд╕ рдкрд░ рдЖрдк рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

GetPage рд╡рд┐рдзрд┐


 getPage(address) { let addressArray = address.split(`-`), hex = addressArray[0], locHash = getHash(`${addressArray[1]}${addressArray[2]}${pad(addressArray[3], 2)}${pad(addressArray[4], 3)}`), result = ``; seed = locHash; for (let i = 0; i < hex.length; i++) { let index = digsIndexes[hex[i]], rand = rnd(0, digs.length), newIndex = mod(index - parseInt(rand), alphabet.length), newChar = alphabet[newIndex]; result += newChar; } seed = getHash(result); while (result.length < this.lengthOfPage) { result += alphabet[parseInt(rnd(0, alphabet.length))]; } return result.substr(result.length - this.lengthOfPage); } 

рдЦреЛрдЬ рд╡рд┐рдзрд┐ рдХреЗ рд╡рд┐рдкрд░реАрддред рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдп рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрддреЗ рдкрд░ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╡рд┐рднрд╛рдЬрдХ "-" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрддреЗ рдХреЛ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрддрд╛ рдШрдЯрдХреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ: рд╖рдЯреНрднреБрдЬ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рджреАрд╡рд╛рд░, рд╢реЗрд▓реНрдл, рдкреБрд╕реНрддрдХ, рдкреГрд╖реНрдаред рд╣рдо рд▓реЛрдХрд╣реИрд╢ рдХреА рдЧрдгрдирд╛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рд╣рдордиреЗ рдЦреЛрдЬ рд╡рд┐рдзрд┐ рдореЗрдВ рдХреА рдереАред рд╣рдореЗрдВ рд╡рд╣реА рдирдВрдмрд░ рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рдкрддрд╛ рдЬрдирд░реЗрдЯ рдХрд░рддреЗ рд╕рдордп рдерд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ PRNG рдПрдХ рд╣реА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛, рдпрд╣ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдЬреЛ рд╕реНрд░реЛрдд рдкрд╛рда рдкрд░ рд╣рдорд╛рд░реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдкреНрд░рддрд┐рд╡рд░реНрддреАрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдг (de facto, рдпрд╣ рдПрдХ рдЕрдВрдХ рд╣реИ) рдкрд░ рд╖рдЯреНрднреБрдЬ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд░рддреЗ рд╣реИрдВ:

  1. рд╣рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбрд┐рдЧреНрд╕ рдореЗрдВ рд╕реВрдЪрдХрд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕реЗ digsIndexes рд╕реЗ рд▓реЗрдВ ред
  2. PRNG рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рд░реЗрдВрдЬ 0 рдореЗрдВ рдПрдХ рдЫрджреНрдо-рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рд░реИрдВрдб рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рд╕реБрдВрджрд░ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдВрдХреЛрдВ рд╡рд╛рд▓реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдмрд░рд╛рдмрд░ред рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред
  3. рд╣рдо рд╕реНрд░реЛрдд рдкрд╛рда newIndex рдХреЗ рдкреНрд░рддреАрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЧрдгрдирд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдФрд░ рд░реИрдВрдб рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд░реНрдгрдХреНрд░рдо рдХреА рд▓рдВрдмрд╛рдИ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЕрдВрддрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реИ, рдлрд┐рд░ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рднрд╛рдЬрди рдореЛрдбреНрдпреВрд▓ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕реВрдЪрдХрд╛рдВрдХ рджреЗрдЧрд╛, рдЬреЛ рд╣рдореЗрдВ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдореЙрдбреБрд▓реЛ рдбрд┐рд╡реАрдЬрди рдХреЗ рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред (рдЖрдк рдЙрдкрд░реЛрдХреНрдд рд╕реВрддреНрд░ рд╕реЗ рдирд┐рд░рдкреЗрдХреНрд╖ рдореВрд▓реНрдп рд▓реЗрдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рднреА рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдпрд╣ рдЕрднреА рддрдХ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)
  4. рдкреГрд╖реНрда рдХреЗ рдкрд╛рда рдХрд╛ рдЪрд░рд┐рддреНрд░ рдирдпрд╛ рд╣реИ , рд╣рдо рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╕реЗ рд╕реВрдЪрдХрд╛рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред
  5. рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рдПрдХ рдкрд╛рда рд╡рд░реНрдг рдЬреЛрдбрд╝реЗрдВред

рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЛ рдирд╣реАрдВ рднрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдирдП рдЕрдирд╛рдЬ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЗ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдореБрдХреНрдд рд╕реНрдерд╛рди рдХреЛ рднрд░реЗрдВрдЧреЗред PRNG рд╣рдореЗрдВ рд╕рд┐рдВрдмрд▓ рдЪреБрдирдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдкреГрд╖реНрда рд╕рд╛рдордЧреНрд░реА рдХреА рдЧрдгрдирд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ, рд╣рдо рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдзрд┐рдХрддрдо рд▓рдВрдмрд╛рдИ рддрдХ рдлрд╕рд▓ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рднреВрд▓рдирд╛ред рд╢рд╛рдпрдж рд╣реЗрдХреНрд╕рд╛рдЧреЛрди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЕрднрджреНрд░ рд░реВрдк рд╕реЗ рдЗрдирдкреБрдЯ рдкрддреЗ рдореЗрдВ рдмрдбрд╝реЗ рдереЗред

GetTitle рд╡рд┐рдзрд┐


 getTitle(address) { let addressArray = address.split(`-`), hex = addressArray[0], locHash = getHash(`${addressArray[1]}${addressArray[2]}${pad(addressArray[3], 2)}`), result = ``; seed = locHash; for (let i = 0; i < hex.length; i++) { let index = digsIndexes[hex[i]], rand = rnd(0, digs.length), newIndex = mod(index - parseInt(rand), alphabet.length), newChar = alphabet[newIndex]; result += newChar; } seed = getHash(result); while (result.length < this.lengthOfTitle) { result += alphabet[parseInt(rnd(0, alphabet.length))]; } return result.substr(result.length - this.lengthOfTitle); } 

рдЦреИрд░, рдХрд╣рд╛рдиреА рд╡рд╣реА рд╣реИред рдкрд┐рдЫрд▓реА рд╡рд┐рдзрд┐ рдХреЗ рд╡рд░реНрдгрди рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ, рдХреЗрд╡рд▓ рддрдм рдЬрдм PRNG рдЕрдирд╛рдЬ рдХреА рдЧрдгрдирд╛ рдкреГрд╖реНрда рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкреБрд╕реНрддрдХ рд╢реАрд░реНрд╖рдХ рдХреА рдЕрдзрд┐рдХрддрдо рд▓рдВрдмрд╛рдИ - lengthOfTitle рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рдЯрддреЗ рд╣реИрдВ ред

рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛


рдмрд╛рдж рдореЗрдВ рд╣рдордиреЗ рдХрд┐рд╕реА рдмреЗрдмреАрд▓реЛрди-рдЬреИрд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ - рдпрд╣ рд╕рдм рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЖрдЬрдорд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдореИрдВ рд▓реБрдИрд╕ рдмреЛрд░реНрдЬреЗрд╕ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдПрдХ рдХреЗ рдХрд░реАрдм рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рд╣рдо рдПрдХ рд╕рд░рд▓ рд╡рд╛рдХреНрдпрд╛рдВрд╢ "habr.com" рдХреА рдЦреЛрдЬ рдХрд░реЗрдВрдЧреЗ:

 const libraryofbabel = require(`libraryofbabel`)({ lengthOfPage: 3200, alphabet: `abcdefghijklmnopqrstuvwxyz, .`, //, , ,  digs: `0123456789abcdefghijklmnopqrs`, // - 29-  wall: 4, shelf: 5, volume: 32, page: 410 //   }); //  console.log(libraryofbabel.search(`habr.com`)); 

рднрд╛рдЧреЛ, рдкрд░рд┐рдгрд╛рдо:

рдЫрд╡рд┐

рдлрд┐рд▓рд╣рд╛рд▓, рдпрд╣ рд╣рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдЗрдП рдЬрд╛рдиреЗрдВ рдХрд┐ рдЗрд╕ рдкрддреЗ рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рдЫрд┐рдкрд╛ рд╣реИ! рдХреЛрдб рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛:

 const libraryofbabel = require(`libraryofbabel`)({ lengthOfPage: 3200, alphabet: `abcdefghijklmnopqrstuvwxyz, .`, //, , ,  digs: `0123456789abcdefghijklmnopqrs`, // - 29-  wall: 4, shelf: 5, volume: 32, page: 410 //   }); const text = `habr.com`; //  const adress = libraryofbabel.search(text); //    const clc = require(`cli-color`); //      console.log(libraryofbabel.getPage(adress).replace(text, clc.green(text))); 

рдкрд░рд┐рдгрд╛рдо:

рдЫрд╡рд┐

рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╣рдо рдЕрдирдВрдд (рдореИрдВ рд╢рд░реНрдд) рдкреГрд╖реНрдареЛрдВ рдХреА рдПрдХ рдЕрдирдВрдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреНрдпрд╛ рджреЗрдЦ рд░рд╣реЗ рдереЗ!

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

 const libraryofbabel = require(`libraryofbabel`)({ lengthOfPage: 3200, alphabet: `abcdefghijklmnopqrstuvwxyz, .`, //, , ,  digs: `0123456789abcdefghijklmnopqrs`, // - 29-  wall: 4, shelf: 5, volume: 32, page: 410 //   }); const text = `habr.com`; //  const adress = libraryofbabel.search(text); //    const clc = require(`cli-color`); //      console.log(libraryofbabel.getPage(adress).replace(text, clc.green(text))); console.log(`\n : ${clc.green(libraryofbabel.getTitle(adress))}`); 

рдкреБрд╕реНрддрдХ рдХрд╛ рд╢реАрд░реНрд╖рдХ рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдЫрд╡рд┐

рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдпрд╣ рдмрд╣реБрдд рдЖрдХрд░реНрд╖рдХ рдирд╣реАрдВ рд▓рдЧреЗрдЧрд╛ред рдлрд┐рд░ рд╢реАрд░реНрд╖рдХ рдореЗрдВ рд╣рдорд╛рд░реЗ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреЗ рд╕рд╛рде рдПрдХ рдкреБрд╕реНрддрдХ рдвреВрдВрдврддреЗ рд╣реИрдВ:

 const libraryofbabel = require(`libraryofbabel`)({ lengthOfPage: 3200, alphabet: `abcdefghijklmnopqrstuvwxyz, .`, //, , ,  digs: `0123456789abcdefghijklmnopqrs`, // - 29-  wall: 4, shelf: 5, volume: 32, page: 410 //   }); const text = `habr.com`; //  const adress = libraryofbabel.searchTitle(text); //    const newAdress = `${adress}-${1}`; //    console.log(libraryofbabel.getPage(newAdress)); //     console.log(libraryofbabel.getTitle(newAdress)); //  ,        :) 

рдЫрд╡рд┐

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

 const libraryofbabel = require(`libraryofbabel`)({ lengthOfPage: 100, alphabet: `1010101010101010`, // 1  0,     digs: `0123456789abcdef`, // - 16-  wall: 4, shelf: 5, volume: 32, page: 410 //   }); const text = `10101100101010111001000000`; //  const adress = libraryofbabel.search(text); //    console.log(`\n${adress}\n`); //    const clc = require(`cli-color`); //      console.log(libraryofbabel.getPage(adress).replace(text, clc.green(text))); console.log(`\n : ${clc.green(libraryofbabel.getTitle(adress))}`); 

рдЫрд╡рд┐

рдЖрдЗрдП рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдкреВрд░рд╛ рдореИрдЪ рджреЗрдЦрдиреЗ рдкрд░ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреБрд░рд╛рдиреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреЛрдб рдореЗрдВ Libraryofbabel.search рдХреЛ Libraryofbabel.searchExactly рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ :

 const libraryofbabel = require(`libraryofbabel`)({ lengthOfPage: 3200, alphabet: `abcdefghijklmnopqrstuvwxyz, .`, //, , ,  digs: `0123456789abcdefghijklmnopqrs`, // - 29-  wall: 4, shelf: 5, volume: 32, page: 410 //   }); const text = `habr.com`; //  const adress = libraryofbabel.searchExactly(text); //    const clc = require(`cli-color`); //      console.log(libraryofbabel.getPage(adress).replace(text, clc.green(text))); console.log(`\n : ${clc.green(libraryofbabel.getTitle(adress))}`); 

рдЫрд╡рд┐

рдирд┐рд╖реНрдХрд░реНрд╖


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

рдЖрдк рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рднреА рдЖ рд╕рдХрддреЗ рд╣реИрдВ: рдХрд┐рд╕реА рднреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬрд╣рд╛рдВ рдЖрдкрдХреЗ рд╡реНрдпрд╛рдкрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд╕рд┐рдлрд░рдЯреЗрдХреНрд╕ рдХрд╛ рдкрддрд╛ рд╣реЛрдЧрд╛ред рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди - рдкреГрд╖реНрда рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред рдпрд╛ рд╢рд╛рдпрдж рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЖрдзрд╛рд░ 64 , рдореА?

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

рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ "рд▓рд╛рдЗрдмреНрд░реЗрд░реА" рдХреА рдПрдХ рдХрд┐рд╕реНрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рди рдХреЗрд╡рд▓ рдкрд╛рддреНрд░реЛрдВ, рдмрд▓реНрдХрд┐ рдкреВрд░реЗ рд╢рдмреНрджреЛрдВ, рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдзреНрд╡рдирд┐рдпреЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ! рдПрдХ рдРрд╕реА рдЬрдЧрд╣ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдЖрдк рдорд╛рдирд╡реАрдп рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдХрд┐рд╕реА рднреА рдзреНрд╡рдирд┐ рдХреЛ рд╕реБрди рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЧреАрдд рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореИрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдЬрд░реВрд░ рдХрд░реВрдВрдЧрд╛ред

рд░реВрд╕реА рдореЗрдВ рд╡реЗрдм рд╕рдВрд╕реНрдХрд░рдг рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИ , рдпрд╣ рдореЗрд░реЗ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рдд рд╣реИред рдореИрдВ рдмреЗрдмреАрд▓реЛрди рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЬреАрд╡рди рдХреЗ рдЕрд░реНрде рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕реБрдЦрдж рдЦреЛрдЬреЛрдВ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛, рдпрд╛ рдЖрдк рдХреНрдпрд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЕрд▓рд╡рд┐рджрд╛! :)

Source: https://habr.com/ru/post/hi433336/


All Articles