По-прежнему мы можем дополнять список с помощью флага ?I или переменной окру-жения PERL6LIB, например


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
Np_eN_rJaNcpM12
np_eN_rJancpMamN
ίϨϜϠϞϗ12αϒϗύώϝϩ0./3
αϝϠϐϕϒϏϨϜϠϞϗϕϕϡϛϝϙύϟϨϓϠϝϚύϘύϏϞϒϐϑύ
ϙϛϓϚϛϔύϐϝϠϔϕϟϩϞ
np_eN_rJancpMamN
ξϏϛ
ϜϝϛϞύϙϕϕϜϝϒϑϘϛϓϒϚϕϬϙϕϜϕϥϕϟϒϚύϜϛϤϟϠ
cbJrmp>np_eN_rJancpMamN

ηϛϙϙϒϚϟύϝϕϕϗϗύϓϑϛϖϞϟύϟϩϒϒϞϟϩϏfrNM
ϏϒϝϞϕϕμϛϑϜϕϞύϟϩϞϬϚύϚϛϏϨϒϏϨϜϠϞϗϕϙϛϓϚϛ
ϜϛϞϞϨϘϗϒ
np_eN_rJancpMamN/qs`qapJ`c

έϏϟϛϝϨϞϟύϟϒϖίϘύϑϕϙϕϝθϒϟϟϕϒϏ έϚϑϝϒϖυϕ
ϟϛϏ αϒϚϕϞρϒϑϛϞϒϒϏ
λώϘϛϓϗύιύϝϗϛεϏύϚϨϗ
ηϛϝϝϒϗϟϛϝέϚϑϝϒϖυϕϟϛϏ
ίϨϜϠϞϗύϫϦϕϖϝϒϑύϗϟϛϝίϬϤϒϞϘύϏοϕϢύϚϛϏ
Ϟϗϕϖ
νϒϏϕϔϕϬ0./3/01//.14
©kNp_eN_rJaNcpM{
О;лͻͽление
/λϟϝϒϑύϗϟϛϝύ
/
0ίϜϒϤύϟϘϒϚϕϬϛϟϏϛϝϗϥϛϜύ
S_JOrNcpM0./3
0
1ίϔϐϘϬϑϚύ0./3ϐ
/0
2πϜϝύϏϘϒϚϕϒϙϛϑϠϘϬϙϕϕϜϝϒ
ϗϛϙϜϕϘϬϣϕϬϏNcpM4
/4
3NcpM4ϏϕϚϒϐϝϒϟ
10
4εϞϜϛϘϩϔϛϏύϚϕϒPsqrϕϔNcpM
25
5λώϔϛϝANA/ϔύϚϛϬώϝϩ0./3ϐ
.
6εϚϟϒϝϏϩϫϞαϙϕϟϝϕϒϙυύ
ϙύϟϝϕϚϨϙ
/.3
/
О΍΋еͿͻк΍о΋ͻ
ίϞϒϢϤϕϟύϟϒϘϒϖϜϛϔϑϝύϏϘϬϒϙϞϚύϞϟϠϜύϫ
ϦϕϙϕϜϝύϔϑϚϕϗύϙϕϕϓϒϘύϒϙϕϚϟϒϝϒϞϚϨϢ
ϜϝϛϒϗϟϛϏϏϚϛϏϛϙϐϛϑϠ!
αϝϠϔϩϬ ϓϠϝϚύϘϕϦϒϟϚϛϏϨϢύϏϟϛϝϛϏκϒ
ϠϜϠϞϗύϖϟϒϟύϗϛϖϏϛϔϙϛϓϚϛϞϟϕ!βϞϘϕϠϏύϞ
ϒϞϟϩϕϑϒϕϕϘϕϓϒϘύϚϕϒϜϛϙϛϤϩ ϜϛϓύϘϠϖ
Ϟϟύ
ϞϏϬϓϕϟϒϞϩ
ϞϚύϙϕ
μϝϕϬϟϚϛϐϛϤϟϒϚϕϬ

΢ϟϗυϑϋπςβψϕπύώςϑϊψω
0
͝Ίечͻ΍лениΚо΍ͽо΋кшоΊͻS_JOrNcpM
0./3
έυψχόυύϟϟϒϐπτψϖψψ/τυϊπρϐϟ0./3σϏϐώ
ϘϡϋϑυτϜόώωυφυσώτύϛωςώϐϊϘώϏ
S_JOrNcpM
τϋϟςϑυϕϋϞρψϒυϋυωψϏϐώϔυϑϑψώύπϋώςόψϐπ
NcpMςαπύϊϒίυϒυϐρϓϐσυ
αϘϬϙϒϚϬϚϒϔύώϨϏύϒϙϨϒϏϜϒϤύϟϘϒϚϕϬϛϗϛϚ
ϡϒϝϒϚϣϕϕϚύϤύϘϕϞϩϒϦϮϞϙϛϙϒϚϟύϜϝϕώϨ
ϟϕϬϏξύϚϗϟμϒϟϒϝώϠϝϐϔύϟϬϚϠϟϛϒϞϒϝϨϙϕ
ϛώϘύϗύϙϕϚϒώϛ ϙϛϝϛϞϬϦϕϖϑϛϓϑϩϕ 4zA
κϒϛώϨϤϚϛϑϘϬϞϒϝϒϑϕϚϨϑϒϗύώϝϬ ϑύϕϜϛ
ϞϘϒϑϠϫϦϕϒϑϚϕϞϟύϏϕϘϕϟϒϙϜϒϝύϟϠϝϚϨϒϝϒ
ϗϛϝϑϨ
ίϪϟϛϙϐϛϑϠϗϛϚϡϒϝϒϚϣϕϬϜϝϛϢϛϑϕϘύϚύ
ϜϘϛϦύϑϗϒ ϜϝϒϑϛϞϟύϏϘϒϚϚϛϖϐϒϚϒϝύϘϩϚϨϙ
ϜύϝϟϚϮϝϛϙϗϛϚϡϒϝϒϚϣϕϕۘϗϛϙϜύϚϕϒϖ
B_r_Apr
κύ
Ϟύϖϟϒ
ϗϛϚϡϒϝϒϚϣϕϕϔύϝϒϐϕ
ϞϟϝϕϝϛϏύϘϕϞϩ31ϤϒϘϛϏϒϗύ ϜϝϕϤϮϙϟϝϛϒϕϔ
ϚϕϢϞϑϒϘύϘϕϪϟϛϠϓϒϏϑϒϚϩϗϛϚϡϒϝϒϚϣϕϕ
κϒϏϞϒϞϝύϔϠϞϙϛϐϘϕϚύϖϟϕϏϢϛϑϏϔϑύϚϕϒ
ϜϛϪϟϛϙϠϔύ/.ϙϕϚϠϟϑϛϚύϤύϘύϔύϘώϨϘϒϦϮ
ϜϛϤϟϕϜϠϞϟϛϖ ϚϛϏϞϗϛϝϒϛϚϔύϜϛϘϚϕϘϞϬ
ϜϛϑϛϥϘϕ ϏϛϔϙϛϓϚϛ ϚϒϏϞϒ ϚϛώϘϕϔϗϛϗϔύ
ϬϏϘϒϚϚϛϙϠϤϕϞϘϠήϨϘύϑύϓϒϏϕϑϒϛϞϧϮϙϗύ
ϚϛϜϛϘϠϤϕϘύϞϩϘϕϛϚύϕϐϑϒώϠϑϠϟϔύϜϕϞϕ
ϜϛϗύϚϒϕϔϏϒϞϟϚϛ
λϟϗϝϨϘϗϛϚϡϒϝϒϚϣϕϫξϒϝϐϒϖνϛϙύϚϛϏ
ϜϛϜϝϕϏϒϟϞϟϏϛϏύϏϞϘϠϥύϟϒϘϒϖϕϝύϞϞϗύϔύϏ
ϛϜϘύϚϒϗϛϚϡϒϝϒϚϣϕϕϕϚύϙϒϤύϫϦϕϢϞϬ
ϙϒϝϛϜϝϕϬϟϕϬϢ
μϒϝϏϨϖϑϛϗϘύϑϚύϔϨϏύϘϞϬk
μϝϛϟϛϗϛϘ
FRRN/0δύϤϒϙϕϗύϗϕϞϜϛϘϩϔϛϏύϟϩϏNcpM
{
ϕϪϟϛώϨϘϙϛϖϑϛϗϘύϑιϚϒϟϝϠϑϚϛϞϗύϔύϟϩ
ϗύϗϏϛϞϜϝϕϚϬϘϕϑϛϗϘύϑϞϘϠϥύϟϒϘϕ Ϛϛ2.
ϙϕϚϠϟϑϘϬϙϒϚϬϜϝϛϘϒϟϒϘϕϚϒϔύϙϒϟϚϛ
ήϛϘϩϥύϬϤύϞϟϩϑϛϗϘύϑύώϨϘύϜϛϞϏϬϦϒϚύ
ϜϝϛϟϛϗϛϘϠFRRNϕϞϟϛϝϕϕϜϝϛϟϛϗϛϘύ Ϛϒϑϛ
ϞϟύϟϗύϙFRRN///ϕϑϛϞϟϛϕϚϞϟϏύϙFRRN/0
δύϟϒϙϜϝϛϏϛϑϕϘϞϬϛώϔϛϝϝϒύϘϕϔύϣϕϖϑϘϬ
NcpMϜϛϑϝϛώϚϛϝύϞϞϙϛϟϝϒϚ
NetCurO
ϕϒϐϛ
ϝύώϛϟύϞFRRN/0 ύϟύϗϓϒ
ProtocoO+TTP2
ۘϗύϗϏϛϔϙϛϓϚύϬϛϞϚϛϏύϑϘϬϝϒύϘϕϔύϣϕϖ
ϗϘϕϒϚϟϛϏϕϞϒϝϏϒϝϛϏϞϜϛϑϑϒϝϓϗϛϖFRRN/0
μϛϞϘϒϑϛϗϘύϑύώϨϘϏϛϜϝϛϞϛϞϠϑϩώϒ
Uc`SmaLcr ϕϑϘϬϙϚϛϐϕϢϞϟύϘϛϛϟϗϝϛϏϒ
Ϛϕϒϙ ϤϟϛUc`SmaLcrϚϒϝύώϛϟύϒϟϜϛϏϒϝϢ
FRRN/0ϕϚϕϗύϗϛϖύϘϩϟϒϝϚύϟϕϏϨϑϘϬϒϐϛ
ϔύϙϒϚϨFRRN/0ϚϒϜϝϒϑϘύϐύϒϟνύϔϝύώϛϟϗύ
ϞϜϒϣϕϡϕϗύϣϕϕUc`SmaLcrϜϛϏϒϝϢFRRN/0
ϔύϐϘϛϢϘύϕϜϛϢϛϓϒϚϕϗϛϙϠϚϒϚϠϓϚύ
ξϘϒϑϠϫϦϕϙϑϛϗϘύϑϤϕϗϛϙϑϛϘϓϒϚώϨϘ
ϞϟύϟϩεϘϩϬτϒϞϚϛϗϛϏ ϗϛϟϛϝϨϖϐϛϟϛϏϕϘϕϚ
ϟϒϝύϗϟϕϏϚϨϖϑϛϗϘύϑ ϚϛϕϔϔύϟϒϢϚϕϤϒϞϗϛϖ
ϚύϗϘύϑϗϕϑϛϗϘύϑϜϝϕϥϘϛϞϩϜϒϝϒϚϒϞϟϕ
μϛϪϟϛϙϠϞϘϒϑϠϫϦϕϙϏϨϞϟϠϜύϘιϕϢύϕϘ
ιύϟϏϒϒϏϞϑϛϗϘύϑϛϙkεϚϞϟϝϠϙϒϚϟϨϑϘϬ
ϝύώϛϟϨϞϕϔϛώϝύϓϒϚϕϬϙϕϏNcpM{
ίϑϛϗϘύϑϒώϨϘϞϑϒϘύϚϛώϔϛϝϞύϙϨϢϜϛϜϠ
ϘϬϝϚϨϢϙϛϑϠϘϒϖNcpMϑϘϬϝύώϛϟϨϞϕϔϛώ
ϝύϓϒϚϕϬϙϕ*N_ec._eJaL Ep_nfJa._eJaL
ϕϑϝϠϐϕϒηύϗϛώϨϤϚϛ ϏϛϜϝϛϞϏϨώϛϝύ
ϙϛϑϠϘϬϏϛϔϚϕϗϏϝϒϔϠϘϩϟύϟϒϝύώϛϟϨϚύϑ
ϜϝύϗϟϕϤϒϞϗϛϖϔύϑύϤϒϖϚύϜϕϞύϚϕϒϞϏϛϒϖ
ϞϛώϞϟϏϒϚϚϛϖϗύϜϤϕλϞϛώϛϏϑϛϗϘύϑϒώϨϘ
ϏϨϑϒϘϒϚϙϛϑϠϘϩ*N_ecp ϗϛϟϛϝϨϖϏϛϟϘϕϤϕϒ
ϛϟϑϝϠϐϕϢώϕώϘϕϛϟϒϗϚϒϟϝϒώϠϒϟϠϞϟύϚϛϏ
ϘϒϚϚϨϢAώϕώϘϕϛϟϒϗϞϔύϐϛϘϛϏϗύϙϕ&Ϥϟϛ
ϕϚϛϐϑύϑϛϞϟύϏϘϬϒϟϜϝϛώϘϒϙϨϜϝϕϞώϛϝϗϒϚύ
ϚϒϗϛϟϛϝϨϢϑϕϞϟϝϕώϠϟϕϏύϢ ϟύϗϓϒϚύϜϕϞύϚ
ϞϕϞϜϛϘϩϔϛϏύϚϕϒϙA/VS ϚϛϞϛώϕϝύϒϟϞϬ
ώϒϔϜϝϛώϘϒϙ ϝύώϛϟύϒϟώϨϞϟϝϒϒ ϢϛϟϩϕϚϒ
ϜϛϑϑϒϝϓϕϏύϒϟώϛϘϩϥϛϐϛϞϜϒϗϟϝύϡϛϝϙύϟϛϏ
ήϨϘϕϜϝϒϑϞϟύϏϘϒϚϨώϒϚϤϙύϝϗϕ ϏϗϛϟϛϝϨϢ
ϟύϗϓϒϙϛϓϚϛώϨϘϛϞϝύϏϚϕϟϩϝύϔϘϕϤϕϬϏ
ϞϗϛϝϛϞϟϕϝύώϛϟϨϙϛϑϠϘϒϖ
αύϘϒϒώϨϘϛώϒϑϒϚϚϨϖϜϒϝϒϝϨϏ ύϔύϟϒϙ
εϘϩϬ ϑϘϬϗϛϟϛϝϛϐϛϚύϥϘϕϜϒϝϒϢϛϑϚϕϗ
ϑϘϬϏϕϑϒϛϝύϔϧϮϙύ ϞϙϛϐϜϛϑϗϘϫϤϕϟϩϞϏϛϖ
ϚϛϠϟώϠϗϕϜϛϗύϔύϟϩϑϛϗϘύϑkοϒϢϚϛϘϛϐϕϕ
ύϞϕϚϢϝϛϚϚϛϐϛϜϝϛϐϝύϙϙϕϝϛϏύϚϕϬ{μϝϒ
ϔϒϚϟύϣϕϬώϨϘύϞϑϒϘύϚύϞϜϛϙϛϦϩϫ
TpmmN
ۘϕϚϞϟϝϠϙϒϚϟύ ϜϛϔϏϛϘϬϫϦϒϐϛϜϛϗύϔϨϏύϟϩ
ϞϘύϖϑϨϏϝϒϑύϗϟϛϝϒtJNαϛϗϘύϑϥϮϘϣϒ
ϘϨϖϤύϞϕϡύϗϟϕϤϒϞϗϕϛώϧϒϑϕϚϕϘϏϞϒώϒ
ϚϒϞϗϛϘϩϗϛώϛϘϩϥϕϢϑϛϗϘύϑϛϏϜϛϝύϔϘϕϤ
ϚϨϙϟϒϢϚϕϗύϙύϞϕϚϢϝϛϚϚϛϐϛϜϝϛϐϝύϙϙϕ
ϝϛϏύϚϕϬϪϟϛϡϛϝϗϕ ϟϝϒϑϨϕϞϛϜϝϛϐϝύϙϙϨ
ήϨϘϛϝύϞϞϗύϔύϚϛ ϤϒϙϠϓύϞϚϨNcpMϟϝϒϑϨ
ϕϜϛϤϒϙϠAmpmۘϪϟϛϒϑϕϚϞϟϏϒϚϚϨϒϚϛϝ
ϙύϘϩϚύϬϝϒύϘϕϔύϣϕϬϟϝϒϑϛϏ&ϢϛϟϬϪϟϛϕϚϒ
ϞϛϏϞϒϙϟϝϒϑϨϏϜϝϕϏϨϤϚϛϙϜϛϚϕϙύϚϕϕ 
ήϒϚϤϙύϝϗϕϕϘϘϫϞϟϝϕϝϛϏύϘϕϝύϔϘϕϤϕϬϏϝύ
ώϛϟϒϝύϔϘϕϤϚϨϢϝϒύϘϕϔύϣϕϖύϞϕϚϢϝϛϚϚϨϢ
ϟϒϢϚϕϗ ϗύϗϜϛϚύϐϝϠϔϗϒϜϝϛϣϒϞϞϛϝύ ϟύϗϕ
ϜϛϕϞϜϛϘϩϔϛϏύϚϕϫϜύϙϬϟϕ
ξϘϒϑϠϫϦϕϙϑϛϗϘύϑϤϕϗϛϙώϨϘαϒϚϕϞρϒϑϛ
ϞϒϒϏ ϗϛϟϛϝϨϖϜϝϒϑϞϟύϏϕϘϑϛϗϘύϑkθϒϐύϞϕ
ϪϟϛϚϒϞϟϝύϥϚϛ{αϒϚϕϞϜϛϑϒϘϕϘϞϬϛϜϨϟϛϙ
ώϛϝϩώϨϞϛϐϝϛϙϚϨϙϘϒϐύϞϕϜϝϛϒϗϟϛϙ ϐϑϒ
ϚϒϟϚϕϟϒϞϟϛϏ ϚϕϝύϔϑϒϘϒϚϕϬϚύϜύϗϒϟϨ Ϛϕ
ϑύϓϒϪϘϒϙϒϚϟύϝϚϛϐϛ
usestrLct
&ϚύϪϟϛϙ
ϙϒϞϟϒϛϞϛώϛϤϠϏϞϟϏϕϟϒϘϩϚϨϒϜϒϝϘϛϏϕϗϕ
ϑϛϘϓϚϨϠϜύϞϟϩϏϛώϙϛϝϛϗ νύϞϞϗύϔύϘϛ
ϟϒϢϚϕϗύϢϕϔϛϘϬϣϕϕϗϛϑύ ϞϜϛϞϛώύϢϏϒϑϒϚϕϬ
ϕϞϜϝύϏϘϒϚϕϖμϝϒϔϒϚϟύϣϕϬώϨϘύϛϤϒϚϩϗϝύ
ϞϛϤϚϛϖ ϜϛϔϏϛϘϬϬϣϒϘϕϗϛϙϜϝϛϚϕϗϚϠϟϩϞϬ
ύϟϙϛϞϡϒϝϛϖώϒϔϨϞϢϛϑϚϛϞϟϕϓϕϏϨϒϙϒϝϟϏϒ
ϣϨ ϏϒϘϛϞϕϜϒϑϨϞϗϏύϑϝύϟϚϨϙϕϗϛϘϮϞύϙϕ
κϛϏϕϟϛϐϒώϨϘϞϑϒϘύϚϏϨϏϛϑ ϤϟϛϏϨϓϕϏύϟϩ
ϞϘϒϐύϞϕϙϛϓϚϛ ϕϪϟϛϚϒϞϟϝύϥϚϛ
μϛϞϘϒϗϛϡϒώϝϒϖϗύϏϨϞϟϠϜϕϘϘϕϑϒϝ
.mqamunNμύϏϒϘφϒϝώϕϚϕϚϞϑϛϗϘύ
ϑϛϙk*ObcvAmObJrJmONsqfbmuO{ ϗϛϟϛϝϨϖ
ώϨϘϜϛϞϏϬϦϮϚϛϑϚϛϕϙϮϚϚϛϖϡϕϤϒ ϗϛϟϛ
ϝύϬϜϛϬϏϕϘύϞϩϏ.ZSO-34ξϘύϖϑϛϏϗύϗ
ϟύϗϛϏϨϢώϨϘϛϚϒϙϚϛϐϛ ϏϛϞϚϛϏϚϛϙϏϞϒ
ϛώϧϬϞϚϒϚϕϬϔύϝϕϞϛϏϨϏύϘϕϞϩϚύϡϘϕϜϤύϝϟϒ
ϜϝϕϪϟϛϙϛϤϒϚϩύϗϟϕϏϚϛϜϝϛϕϞϢϛϑϕϘϛϏϔύ
ϕϙϛϑϒϖϞϟϏϕϒϞϛϞϘϠϥύϟϒϘϬϙϕ ϞϛώϞϟϏϒϚϚϛ
ϪϟϛϕώϨϘϛώϘϕϓϒϗϑϠϢϠϏϛϝϗϥϛϜύ&Ϟϒϙϕ
Ϛύϝύ ϗϛϐϑύϙϛϓϚϛϚϒϟϛϘϩϗϛϞϘϠϥύϟϩ Ϛϛ
ϕϜϨϟύϟϩϞϬϜϛϚϬϟϩ ϛϤϮϙϝϒϤϩϕϜϨϟύϟϩϞϬ
ϛϟϏϒϤύϟϩϚύϏϛϜϝϛϞϨ
αϛϗϘύϑϔύϗϛϚϛϙϒϝϚϛϜϛϝϛϑϕϘϏϛϜϝϛϞ
ϔύϤϒϙ.ZSO- ϒϞϘϕϒϞϟϩNmqrepcSO- Ϛϛ
ϡϘϒϖϙώϨϘώϒϞϜϛϦύϑϚϛϛϟϞϒϤϮϚۘϗύϓϑϨϖ
ϕϞϜϛϘϩϔϠϒϟϟϛ ϤϟϛϒϐϛϠϞϟϝύϕϏύϒϟϕϏϤϮϙ
ϛϚϘϠϤϥϒϝύϔώϕϝύϒϟϞϬ
ίϔύϏϒϝϥϒϚϕϕϗϛϚϡϒϝϒϚϣϕϕώϨϘϕώϘϕϣ
ϑϛϗϘύϑϨκύϑϛϞϗύϔύϟϩ ϤϟϛώϛϘϩϥϕϚϞϟϏϛ
ϑϛϗϘύϑϛϏώϨϘϕϔύϝϒϐϕϞϟϝϕϝϛϏύϚϨϠϓϒϜϛ
ϢϛϑϠϗϛϚϡϒϝϒϚϣϕϕ
ۦ
AprspNcO�JOcOϞϑϒϘύϘϞϝύϔϠϑϏύώϘϕϣ
ϑϛϗϘύϑύϛϟϛϙϗύϗϙϛϓϚϛϝύϞϜύϝϞϕϟϩ
ϗϛϚϡϕϐϠϝύϣϕϛϚϚϨϖϡύϖϘϛϑϚϛϞϟϝϛϤ
ϚϕϗϛϙϕϤύϞϟϚϨϖϞϘϠϤύϖϞϗϛϚϡϕϐϠϝύ
ϣϕϛϚϚϨϙϡύϖϘϛϏϏϡϛϝϙύϟϒJOJ
ۦ
εϘϩϬτϒϞϚϛϗϛϏ kλϝϒϐϠϘϬϝϚϛϞϟϕ{
κϒϙϚϛϐϛϡϕϘϛϞϛϡϞϗϕϖϑϛϗϘύϑϛ
ϞϛώϨϟϕϬϢϏϚύϥϒϖϓϕϔϚϕϕϡϛϝ
ϙϕϝϛϏύϚϕϕϜϛϘϒϔϚϨϢϜϝϕϏϨϤϒϗ
ϚύϜϝϕϙϒϝ ϝϒϐϠϘϬϝϚϛϒϜϝϛϏϒϑϒϚϕϒ
ϗϛϚϡϒϝϒϚϣϕϖϕϘϕϒϓϒϐϛϑϚϛϒϏϒϑϒϚϕϒ
ϣϕϗϘύϝϛϓϑϒϞϟϏϒϚϞϗϕϢϞϟύϟϒϖ
NcpM
AbtcOrA_McOb_p

ۦ
εϘϩϬτϒϝϚϛϏ kNSNMmrۘϐϝύϡϕϗϕ
ϏCNS{αϛϗϘύϑώϨϘϜϛϞϏϬϦϮϚϞϛώ
ϞϟϏϒϚϚϛϖϝύϔϝύώϛϟϗϒϙϛϑϠϘϫnqnMmr
ϗϛϟϛϝϨϖϜϛϔϏϛϘϬϒϟϝϕϞϛϏύϟϩϑϏϠϙϒϝ
ϚϨϒϐϝύϡϕϗϕϏϡϛϝϙύϟϒCNS
ۦ
αϛϗϘύϑϨιϕϢύϕϘύεϏύϚϛϏύkSUAR{
ϕέϘϒϗϞϒϬιϒϘϒϓϕϗύkSn_ppmuFs`{
ώϨϘϕϘϛϐϕϤϒϞϗϕϛώϧϒϑϕϚϒϚϨϕϜϛ
ϞϏϬϦϒϚϨϞϕϞϟϒϙϒ
Su_r
ۘBS-ϬϔϨϗϠ
ϕϠϟϕϘϕϟύϙϑϘϬώϨϞϟϝϛϖϝύϔϝύώϛϟϗϕ
ύϏϟϛϙύϟϕϤϒϞϗϕϢϟϒϞϟϛϏuc`ϜϝϕϘϛ
ϓϒϚϕϖϕϒϐϛϞϜϠϟϚϕϗϠ
qn_ppmufs`

ϞϘϠϓύϦϒϐϛϑϘϬϢϝύϚϒϚϕϬϞϣϒϚύ
ϝϕϒϏϟϒϞϟϕϝϛϏύϚϕϬϑϘϬϚύϕώϛϘϒϒ
ϜϛϜϠϘϬϝϚϨϢϏϒώϜϝϕϘϛϓϒϚϕϖ&ϟϕϜύ
umpbnpcqq 
ۦ
ξϒϝϐϒϖνϛϙύϚϛϏϏϑϛϗϘύϑϒkAfpJqrN_q
JqamNJOe{ϚύϗϛϚϒϣϠϜϛϙϬϚϠϘϟϛ
ϤϟϛϜϝύϗϟϕϤϒϞϗϕϚϒϔϏϠϤύϘϛϚύϗϛϚ
ϡϒϝϒϚϣϕϕNcpM4κύϝϛϓϑϒϞϟϏϛϚύϞ
ϏϞϒϢϓϑϮϟϞϟύώϕϘϩϚϨϖϝϒϘϕϔNcpM4
ϗϛϟϛϝϛϐϛϟύϗϓϑύϘϕϜϛϞϘϒϑϚϕϒ/3Ϙϒϟ
μϛϞϘϒϛϗϛϚϤύϚϕϬϑϛϗϘύϑϛϏϜϛϞϘϒϑϛϏύϘύ
ϟϝύϑϕϣϕϛϚϚύϬ_ॏcpn_prZϏϛϑϚϛϙϕϔώύϝϛϏ
ϞϒϏϒϝϚϛϖϞϟϛϘϕϣϨ&ύϑϘϬϚϒϗϛϟϛϝϨϢϕϚϒϏ
ϛϑϚϛϙ κϛϪϟϛϠϓϒϑϝϠϐύϬϕϞϟϛϝϕϬ ϏϜϒϤύϟ
ϘϒϚϕϬϛϗϛϟϛϝϛϖϟϝϠϑϚϛϏϨϝύϔϕϟϩϞϘϛϏύϙϕ
ϚϛϙϛϓϚϛϕϔϙϒϝϕϟϩϏϒϑϕϚϕϣύϢϛώϧϮϙύ

΢ϋπτψόψϐΫυϒϒψυς
1
͝з;лΚͿнͻ0./3;
Ϊϐπϒϊψωώρχώϐχπόυϒύϛϕϑώρϛϒψωςόψϐυ
NcpMχπϏϐώϘυτϘψωσώτ
/ϔυςϐπϋϟ
κύϗϛϚϡϒϝϒϚϣϕϕDMSBC.ϏήϝϫϞϞϒϘϒ
θύϝϝϕπϛϘϘϛώϧϬϏϕϘ ϤϟϛϛϡϕϣϕύϘϩϚύϬ
ώϒϟύϏϒϝϞϕϬNcpM4ϜϛϬϏϕϟϞϬ05ϞϒϚϟϬώϝϬ
&Ϛύϒϐϛ4/Ϙϒϟϕϒ ύϝϒϘϕϔ4.ϛϓϕϑύϒϟϞϬϚύ
νϛϓϑϒϞϟϏϛ0./3ϐϛ
ξϟύϟϩϬϏϓϠϝϚύϘϒϞϔύϙϒϟϗύϙϕϞϪϟϛϐϛϏϨ
ϞϟϠϜϘϒϚϕϬ
NcpM4 ϕϘϕEcrpc_bZrmn_prZ

0ϔυςϐπϋϟ
ίϘύϑϕϙϕϝθϒϟϟϕϒϏϛϟϗϝϨϘϞύϖϟ
ncpMOcuqps
ۘϚϛϏϛϞϟϚϛϖώϘϛϐϛϏϞϒϢϔύϙϒϟϚϨϢϞϛώϨϟϕ
ϬϢϙϕϝύNcpMϚύϝϠϞϞϗϛϙϬϔϨϗϒ
/4ϔυςϐπϋϟ
νύϔϝύώϛϟϤϕϗϕP_Lsbm
ϛώϧϬϏϕϘϕ
ϤϟϛϜϝϒ
ϗϝύϦύϫϟϜϛϑϑϒϝϓϗϠϏϕϝϟϠύϘϩϚϛϖϙύϥϕϚϨ
N_ppmr ϤϟϛώϨϚϒϟϝύϟϕϟϩϞϕϘϨϚύϜϛϑϑϒϝϓύ
ϚϕϒώϒϗϒϚϑύ ϗϛϟϛϝϨϖϏϞϒϝύϏϚϛϚϒϞϙϛϓϒϟ
ϛώϒϞϜϒϤϕϟϩϚϒϗϛϟϛϝϨϒϚϠϓϚϨϒϏϛϔϙϛϓϚϛ
Ϟϟϕ ϗϛϟϛϝϨϒϜϛϟϝϒώϠϫϟϞϬϏϜϝϒϑϞϟϛϬϦϒϙ
ϝϒϘϕϔϒNcpM4.Ϗ0./3ϐϛϑϠ
4πϏϐυϋϟ
य़cNcpMDmsOb_rJmO
ϛώϧϬϏϕϘϕϛϞϛϔϑύϚϕϕ
ϡϛϚϑύ
ϜϛϑϑϒϝϓϗϕϝύϔϏϕϟϕϬϬϑϝύNcpM4&NcpM
4AmpcBctcMmnNcOrDsOb 
06πϏϐυϋϟ
.JapmqmॏϏϨϜϠϞϟϕϘϟϒϗϞϟϛϏϨϖϝϒϑύϗϟϛϝϑϘϬ
ϜϝϛϐϝύϙϙϕϞϟϛϏ
TJqs_MSrsbJmAmbc
ξϝϒϑϕ
ϬϔϨϗϛϏ ϑϘϬϗϛϟϛϝϨϢϑϛϞϟϠϜϚύϜϛϑϞϟϏϒϟϗύ
ϞϕϚϟύϗϞϕϞύ ۘNcpMϕNcpM4
/ψϞύϟ
ίϨϥϒϘϝϒϘϕϔNcpM300ξϟύϟϩϕϏϓϠϝϚύϘϒ
ۦ
τϟϛϚϛϏϛϐϛϏNcpM300
ۦ
μϒϝϒϏϛϑϑϛϗϠϙϒϚϟύncpM300.bcMr_nmb
ϚύϝϠϞϞϗϕϖϬϔϨϗ
4ψϞύϟ
ιύϝϗθϒϙύϚ
ύϚϛϚϞϕϝϛϏύϘϞϏϛϖϡϛϝϗ
NcpM
300 ϜϝϛϏϛϗύϣϕϛϚϚϛϚύϔϏύϏϒϐϛqr_`McncpM
/4πςσϓϑϒπ
0.Ϙϒϟ
ANA/
Ϡ
05ϑυύϒϟρϐϟ
NcpM4&ϏϘϕϣϒP_LsbmSr_p0./3. ϛϡϕϣϕύϘϩ
ϚϛϜϛϘϠϤϕϘϞϟύϟϠϞώϒϟύϏϒϝϞϕϕ
/6τυϊπρϐϟ
όϔϨϗϠϜϝϛϐϝύϙϙϕϝϛϏύϚϕϬ
NcpM
ϕϞϜϛϘϚϕ
ϘϛϞϩ06Ϙϒϟ
03τυϊπρϐϟ
νϒϘϕϔ
NcpM4


Πύτϐυωθψϒώς
2
ͮΊ΋ͻͽлениемоͿΎлΚмииΊ΋екомΊилΚ
циΚͽNcpM4
03τυϊπρϐϟ0./3σςϛϘυϋϏυϐςϛωϑϒπρψϋϜύϛω
ϐυϋψχP_LsbmNcpM4 ϑϐυτψύώςϘυϑϒςϊώϒώϐώ
σώϑώςυϐϘυύύώύώςπϟϑψϑϒυόπϓϏϐπςϋυύψϟόώ
τϓϋϟόψψϏϐυϊώόϏψϋϟϖψϟΰπϑϑόώϒϐψόςτυ
ϒπϋϟϕϏϐώϖυϑϑχπσϐϓχϊψ ϐπχϐυϘυύψϟχπςψϑψ
όώϑϒυωψϊώόϏψϋϟϖψψόώτϓϋυω
ОͼычнͻΚзͻ;΋ΎзкͻмоͿΎлΚ
οϝύϑϕϣϕϛϚϚϨϖϜϝϛϣϒϞϞϔύϐϝϠϔϗϕϙϛϑϠϘϬϏ
NcpM3ϏϨϐϘϬϑϕϟϑϛϞϟύϟϛϤϚϛϜϝϛϞϟϛϕϙϬϙϛ
ϑϠϘϬϜϝϒϛώϝύϔϠϒϟϞϬϗϕϙϒϚϕϡύϖϘύ ϚύϜϝϕ
ϙϒϝ
FooBar
ϛϓϕϑύϒϟϞϬώϨϟϩϚύϖϑϒϚϚϨϙ
ϏϡύϖϘϒDmm/@_pnNίϙύϞϞϕϏϒ
@,NC
Ϟϛϑϒϝ
ϓϕϟϞϬϞϜϕϞϛϗϗύϟύϘϛϐϛϏ ϏϗϛϟϛϝϨϢϞϘϒϑϠϒϟ
ϜϝϛϕϔϏϛϑϕϟϩϜϛϕϞϗϡύϖϘϛϏϙϛϑϠϘϒϖτύϞϟϩ
ϗύϟύϘϛϐϛϏϬϏϘϬϒϟϞϬϡϕϗϞϕϝϛϏύϚϚϨϙϕϕϜϛ
ϘϠϤϕϘϕϞϏϛϕϛώϛϔϚύϤϒϚϕϬ ϚύϜϝϕϙϒϝ
ۦ
qJrc
ۘϗύϟύϘϛϐϑϘϬϜϛϕϞϗύϙϛϑϠϘϒϖ
ϠϞϟύϚϛϏϘϒϚϚϨϢύϑϙϕϚϕϞϟϝύϟϛϝϛϙ
ϞϕϞϟϒϙϨ
ۦ
tcObmp
ۘϗύϟύϘϛϐϑϘϬϙϛϑϠϘϒϖ ϜϛϞϟύϏ
ϘϬϒϙϨϢϞϑϕϞϟϝϕώϠϟϕϏϛϙ
ۦ
ncpM
ۘϗύϟύϘϛϐϙϛϑϠϘϒϖ ϕϑϠϦϕϢϏϜϛ
ϞϟύϏϗϒNcpM
ιϛϑϠϘϕϕϦϠϟϞϬϕϔύϐϝϠϓύϫϟϞϬϏϛϏϝϒϙϬ
ϗϛϙϜϕϘϬϣϕϕϜϝϛϐϝύϙϙϨϕϔϕϞϢϛϑϚϛϐϛ
ϗϛϑύϚύϑϕϞϗϒούϗϛϖϓϒϙϒϟϛϑϑϛϚϒϑύϏ
ϚϒϐϛϏϝϒϙϒϚϕϕϞϜϛϘϩϔϛϏύϘϞϬϕϏNcpM4 Ϛϛ
ϝϛϓϑϒϞϟϏϒϚϞϗϕϖϝϒϘϕϔϏϚϮϞϞϠϦϒϞϟϏϒϚϚϨϒ
ϕϔϙϒϚϒϚϕϬϏϟύϗϛϒϜϛϘϛϓϒϚϕϒϏϒϦϒϖ
ͫеΊози΍о΋ии
οϒϜϒϝϩϏNcpM4ϙϨϝύώϛϟύϒϙϞϝϒϜϛϔϕϟϛϝϕ
ϬϙϕۘϛϜϝϒϑϒϘϮϚϚϨϙϛώϝύϔϛϙϛϝϐύϚϕϔϛ
ϏύϚϚϛϒϢϝύϚϕϘϕϦϒϙϛϑϠϘϒϖνϒϜϛϔϕϟϛϝϕϕ
ϙϛϐϠϟώϨϟϩϝύϔϘϕϤϚϨϢϟϕϜϛϏ ϕϪϟϛϜϒϝϏϛϒ
ϛϟϘϕϤϕϒϛϟϟϝύϑϕϣϕϛϚϚϨϢϗύϟύϘϛϐϛϏμϝϛ
ϞϟϒϖϥϕϖϏύϝϕύϚϟϝϒϜϛϔϕϟϛϝϕϬϞϛϏϙϒϞϟϕϙϞ
ϟϝύϑϕϣϕϛϚϚϨϙϜϛϑϢϛϑϛϙϕϢϝύϚϕϟϡύϖϘϨ
ϙϛϑϠϘϒϖϏϞϛϛϟϏϒϟϞϟϏϕϕϞϕϙϒϚϒϙϜύϗϒϟύ
ήϛϘϒϒϞϘϛϓϚϨϖϏύϝϕύϚϟϜϛϑϑϒϝϓϕϏύϒϟ
ϠϞϟύϚϛϏϗϠϑϕϞϟϝϕώϠϟϕϏϛϏϙϛϑϠϘϒϖϏϙϒϞϟϒ
ϞϙϒϟύϕϚϡϛϝϙύϣϕϒϖϕϝϒϞϠϝϞύϙϕ ύϟύϗϓϒ
ϜϝϛϕϔϏϛϑϕϟϜϝϒϗϛϙϜϕϘϬϣϕϫϙϛϑϠϘϒϖϏ
ώύϖϟϗϛϑ
νύϚϒϒϕϞϜϛϘϩϔϠϒϙϨϖϙύϞϞϕϏ
@ ,NC
ϠϥϮϘ
ϏϚϒώϨϟϕϒϕϟϒϜϒϝϩϜϝϕϔύϐϝϠϔϗϒϙϛϑϠ
ϘϒϖϕϞϜϛϘϩϔϠϒϟϞϬϜϒϝϒϙϒϚϚύϬϜϝϛϣϒϞϞύ
PROCESS$REPO>
ϗϛϟϛϝύϬϬϏϘϬϒϟϞϬ
ϞϏϬϔύϚϚϨϙϞϜϕϞϗϛϙϞϕϚϡϛϝϙύϣϕϒϖϛ
ϑϛϞϟϠϜϚϨϢϝϒϜϛϔϕϟϛϝϕϬϢ
/
$perO6

e for$ REPO.repo

cKaLn

>$n^sa\$n}
0
1
Lnst#/Kome/user/.perO6/2015.12
2
Lnst#/usr/sKare/perO6/sLte
3
Lnst#/usr/sKare/perO6/vendor
4
Lnst#/usr/sKare/perO6
5
...
ηύϗϏϕϑϚϛ ϏϛϟϘϕϤϕϒϛϟNcpM3 ϏϣϒϜϛϤϗϒ
ϝϒϜϛϔϕϟϛϝϕϒϏϜϝϕϞϠϟϞϟϏϠϒϟϚϛϏϨϖϗύϟύϘϛϐ
ϚύϢϛϑϬϦϕϖϞϬϏϗύϟύϘϛϐϒϜϛϘϩϔϛϏύϟϒϘϬ
ϔύϜϠϞϟϕϏϥϒϐϛϜϝϛϐϝύϙϙϠ ϕϛϚϕϙϒϒϟ
ϙύϗϞϕϙύϘϩϚϨϖϜϝϕϛϝϕϟϒϟηϝϛϙϒϟϛϐϛ
ϜϝϕϞϠϟϞϟϏϠϒϟϜϝϒϡϕϗϞ
Lnst#
ϗϛϟϛϝϨϖ
ϠϗύϔϨϏύϒϟϚύϟϕϜϝϒϜϛϔϕϟϛϝϕϬ ϏϑύϚϚϛϙ
ϞϘϠϤύϒϟϕϜ
CompUnLtReposLtor\
,nstaOOatLon
ϗϛϟϛϝϨϖϜϛϑϑϒϝϓϕϏύϒϟ
ϕϚϞϟύϘϘϬϣϕϫ
μϛϜϝϒϓϚϒϙϠϙϨϙϛϓϒϙϑϛϜϛϘϚϬϟϩϞϜϕϞϛϗ
ϞϜϛϙϛϦϩϫϡϘύϐύ

,
ϕϘϕϜϒϝϒϙϒϚϚϛϖϛϗϝϠ
ϓϒϚϕϬ
PER/6/,B
ϚύϜϝϕϙϒϝ
/
$perO6

,/opt/perO6 for$ REPO
.repo

cKaLn

>$n^sa\$n}
0
1
fLOe#/opt/perO6
2
Lnst#/Kome/user/.perO6/2015.12
3
Lnst#/usr/sKare/perO6/sLte
4
Lnst#/usr/sKare/perO6/vendor
5
...
ηύϗϏϕϑϚϛ ϒϞϘϕϚϒϠϗύϔύϟϩϟϕϜϝϒϜϛϔϕϟϛ
ϝϕϬϜϒϝϒϑϜϠϟϮϙ ϟϛϛϚώϠϑϒϟϞϤϕϟύϟϩϞϬϟϝύ
ϑϕϣϕϛϚϚϨϙϡύϖϘϛϏϨϙ
fLOe#

τϟϛϗύϞύϒϟϞϬϏϨϝύϓϒϚϕϬ
useOLb /patK/
to/OLb
ϟϛϟϒϜϒϝϩϒϮϚϒϘϩϔϬϕϞϜϛϘϩϔϛϏύϟϩ
ϏϙϛϑϠϘϬϢ ϟϛϘϩϗϛϏϞϗϝϕϜϟύϢ
ИнΌ΍ͻллΚциΚͽ΋еΊози΍о΋ий
εϚϞϟύϘϘϬϣϕϬϏϟϝύϑϕϣϕϛϚϚϨϖϡύϖϘϛϏϨϖ
ϝϒϜϛϔϕϟϛϝϕϖۘϪϟϛϜϝϛϞϟϛϒϗϛϜϕϝϛϏύϚϕϒ
ϡύϖϘϛϏξϚϛϏϨϙϟϕϜϛϙϝϒϜϛϔϕϟϛϝϕϬ
ϏϞϮϚϒϞϗϛϘϩϗϛϞϘϛϓϚϒϒνύϞϞϙϛϟϝϕϙϗύϗ
ϛϝϐύϚϕϔϛϏύϚϟύϗϛϖϝϒϜϛϔϕϟϛϝϕϖ
/
?
0


dLst
1
_
2


sources
3
_
4


resources
5
_
6


sKort

_
/.


precomp
//
?
/0
compLOer.Ld
/1
?
/2
..
μϝϕϕϚϞϟύϘϘϬϣϕϕϑϕϞϟϝϕώϠϟϕϏύ
Foo
Ϟϛ
ϑϒϝϓύϦϒϐϛϙϛϑϠϘϩ
FooBar
ϏϗύϟύϘϛϐϒ
bJqrϞϛϔϑύϮϟϞϬϡύϖϘϞϕϙϒϚϒϙ ϜϝϒϑϞϟύϏϘϬ
ϫϦϕϙϞϛώϛϖSFA/ϛϟϠϚϕϗύϘϩϚϛϐϛϕϑϒϚ
ϟϕϡϕϗύϟϛϝύϑϕϞϟϝϕώϠϟϕϏύ ϞϛϑϒϝϓύϦϕϖ
ϙϒϟύϕϚϡϛϝϙύϣϕϫϛϑϕϞϟϝϕώϠϟϕϏϒϏϡϛϝ
ϙύϟϒ+SM/ίϗύϟύϘϛϐqmspacqϜϛϙϒϦύϫϟϞϬ
ϕϞϢϛϑϚϨϒϗϛϑϨϙϛϑϠϘϬ ϏϗύϟύϘϛϐpcqmspac
ϞϏϬϔύϚϚϨϒϝϒϞϠϝϞϚϨϒϡύϖϘϨ ϏϞϒϕϙϒϚύ
ϡύϖϘϛϏϐϒϚϒϝϕϝϠϫϟϞϬϗύϗϠϚϕϗύϘϩϚϨϒ
2.ϞϕϙϏϛϘϩϚϨϒϕϑϒϚϟϕϡϕϗύϟϛϝϨ
ίϗύϟύϘϛϐqfmprϜϛϙϒϦύϫϟϞϬϡύϖϘϨϞϕϙϒ
ϚύϙϕϗύϗϝϒϔϠϘϩϟύϟϢϒϥϡϠϚϗϣϕϕSFA/ϛϟ
ϕϙϒϚϕϞϛϛϟϏϒϟϞϟϏϠϫϦϒϐϛϙϛϑϠϘϬίϟύϗϛϙ
ϡύϖϘϒϜϛϙϒϦύϒϟϞϬ2.ϞϕϙϏϛϘϩϚϨϖϕϑϒϚϟϕ
ϡϕϗύϟϛϝϑϕϞϟϝϕώϠϟϕϏύ ϏϞϛϞϟύϏϗϛϟϛϝϛϐϛ
ϏϢϛϑϕϟϑύϚϚϨϖϙϛϑϠϘϩ
ίϗύϟύϘϛϐnpcamNnϜϛϙϒϦύϒϟϞϬϝϒϔϠϘϩϟύϟ
ϗϛϙϜϕϘϬϣϕϕϕϞϢϛϑϚϛϐϛϗϛϑύϏώύϖϟϗϛϑ
ίϚϠϟϝϕϗύϟύϘϛϐύnpcamNnϞϛϔϑύϮϟϞϬϗύϟύϘϛϐ
ϑϘϬϟϒϗϠϦϒϖϏϒϝϞϕϕϗϛϙϜϕϘϬϟϛϝύ&ϏϕϙϬ
ϏϗϘϫϤύϒϟϞϬϑύϓϒϏϝϒϙϬϞώϛϝϗϕϗϛϙϜϕϘϬϟϛ
ϝύ αύϘϩϚϒϖϥύϬϛϝϐύϚϕϔύϣϕϬϏϘϛϓϒϚϚϨϢ
ϗύϟύϘϛϐϛϏnpcamNnϚύϜϛϙϕϚύϒϟeJrϏϚϠϟϝϕ
ϞϛϔϑύϮϟϞϬϑϛ034ϑϏϠϢώϠϗϏϒϚϚϨϢϗύϟύϘϛϐϛϏ
ϏϗϛϟϛϝϨϖϜϛϙϒϦύϫϟϞϬϞϗϛϙϜϕϘϕϝϛϏύϚ
ϚϨϖώύϖϟϗϛϑ ϚύϜϝϕϙϒϝ
/


5C
0
?
1
5
C4B123EB33BB6EC53A5CEE4F4531BD
2
5
C4B123EB33BB6EC53A5CEE4F4531BD
.deps
3
5
C4B123EB33BB6EC53A5CEE4F4531BD
.rev

deps
4


E
5
?
6

E4AC40F562C4CCBD30FEB4B2200451024


E4AC40F562C4CCBD30FEB4B2200451024
.deps
/.

E4AC40F562C4CCBD30FEB4B2200451024
.rev

deps
ξϛϔϑύϫϟϞϬϟύϗϓϒϡύϖϘϨbcnqϕpctbcnqϗϠ
ϑύϜϛϙϒϦύϒϟϞϬϑύϚϚϨϒϛϔύϏϕϞϕϙϛϞϟϬϢϕϛώ
ϝύϟϚϨϢϔύϏϕϞϕϙϛϞϟϬϢ&qf_/ϢϒϥϕϙϒϚϕϙϛ
ϑϠϘϬ 
ούϗϕϙϛώϝύϔϛϙ ϗϛϐϑύϏϗϛϑϒϏϞϟϝϒϤύϒϟϞϬϔύ
ϜϕϞϩ
useFooBar
ϗϛϙϜϕϘϬϟϛϝϏϨϜϛϘϚϬ
ϒϟϟύϗϠϫϣϒϜϛϤϗϠϑϒϖϞϟϏϕϖ
/
ϏϨϤϕϞϘϬϒϟqf_/ϞϠϙϙϠϕϙϒϚϕ
Foo
Bar

0
ϕϦϒϟϡύϖϘϞϜϛϘϠϤϕϏϥϕϙϞϬJbϏϗύϟύ
Ϙϛϐϒqfmpr
1
ϒϞϘϕϚύϢϛϑϕϟ ϟϛϜϛϞϛϑϒϝϓϕϙϛϙϠ
ϠϔϚύϮϟJbϑϕϞϟϝϕώϠϟϕϏύ
2
ϔύϐϝϠϓύϒϟϙϒϟύϕϚϡϛϝϙύϣϕϫϑϕϞϟϝϕ
ώϠϟϕϏύϕϔϗύϟύϘϛϐύbJqr
3
ϕϔϙϒϟύϕϚϡϛϝϙύϣϕϕϠϔϚύϮϟϝύϞϜϛϘϛ
ϓϒϚϕϒϕϞϢϛϑϚϛϐϛϗϛϑύϚϠϓϚϛϐϛϙϛϑϠ
ϘϬϑϕϞϟϝϕώϠϟϕϏύ
4
ϜϝϛϏϒϝϬϒϟϚύϘϕϤϕϒϕϞϢϛϑϚϛϐϛϗϛϑύϏ
ϗύϟύϘϛϐύqmspacq&ϚϛϚϒϔύϐϝϠϓύϒϟ 
5
ϜϝϛϏϒϝϬϒϟϚύϘϕϤϕϒϜϝϒϗϛϙϜϕϘϕϝϛ
ϏύϚϚϛϐϛϗϛϑύϏnpcamNn
6
ϒϞϘϕϚϒϟϜϝϒϗϛϙϜϕϘϕϝϛϏύϚϚϛϐϛϗϛϑύ
ϟϛϏϨϜϛϘϚϬϒϟϔύϐϝϠϔϗϠϕϞϢϛϑϚϛϐϛϗϛ
ϑύϕϜϝϒϗϛϙϜϕϘϬϣϕϫϞϞϛϢϝύϚϒϚϕϒϙ
ώύϖϟϗϛϑύ

ϔύϐϝϠϓύϒϟϕϔϗύϟύϘϛϐύnpcamNnϡύϖϘ
ϞϜϝϒϗϛϙϜϕϘϕϝϛϏύϚϚϨϙϗϛϑϛϙϙϛϑϠ
ϘϬ
/.
ϜϝϛϏϒϝϬϒϟϚύϘϕϤϕϒϏϗύϟύϘϛϐϒ
npcamNnϡύϖϘύϞϟύϗϕϙϓϒϕϙϒϚϒϙ
ϚϛϞϛϗϛϚϤύϚϕϒϙbcnq
//
ϒϞϘϕϒϞϟϩbcnqϡύϖϘ ϟϛϚύϢϛϑϕϟϏϚϮϙ
ϕϙϒϚύqmspacϡύϖϘϛϏϔύϏϕϞϕϙϛϞϟϒϖ
/0
ϏϣϕϗϘϒϜϝϛϢϛϑϕϟϥύϐϕ0ۗ/0ϑϘϬϏϞϒϢ
ϔύϏϕϞϕϙϛϞϟϒϖ
δύϕϚϞϟύϘϘϬϣϕϫϛϟϏϒϤύϒϟϗϘύϞϞ
CompUnLt
ReposLtor\,nstaOOatLon
μϝϕϙϒϝ
ϗϛϑύ ϏϨϜϛϘϚϬϫϦϒϐϛϠϞϟύϚϛϏϗϠ ϙϛϓϚϛ
ϠϏϕϑϒϟϩϏ
ϞϗϝϕϜϟϒ
ϠϞϟύϚϛϏϗϕϑϕϞϟϝϕώϠ
ϟϕϏύAMPCϜϝϕϞώϛϝϗϒP_LsbmίϣϒϘϛϙ
ϜϝϕϙϒϝϚϛϟύϗ
/
m\%provLdes=
0
"FooBar"=>"OLb/Foo/Bar.
pm6"
1

2
3
#ǑNJǎNJǪǖǙǝǜǦǔǚǏǙǘǑǒǜǘǚǒǨǎǕǩ
ǎNJǗǗǘǍǘǙǚǘǠǏǛǛNJ
4
PROCESS$REPO>=CompUnLt
ReposLtor\ReJLstr\
5
.reposLtor\

for

spec "Lnst#/
patK/to/repo" 
6

#ǝǛǜNJǗNJnjǕǒnjNJǏǖ/ǙǚǏǔǘǖǙǒǕǒǚǝǏǖ
/.
$ REPO.LnstaOO
//
DLstrLbutLon.neZ
/0
name=>"Foo"
/1
autK=>"vendor"
/2
ver
=>"0.1"
/3
provLdes=>%provLdes
/4

/5
%provLdes
/6
force
/

НеͿоΌ΍ͻ΍ки
ηϞϛϓύϘϒϚϕϫ ϞϗϛϝϛϞϟϩ ϞϗϛϟϛϝϛϖϜϛϬϏϕ
ϘϕϞϩϚϛϏϨϒϝϒϜϛϔϕϟϛϝϕϕ&ϢϛϟϒϘϕϠϞϜϒϟϩϗ
νϛϓϑϒϞϟϏϠ ϜϛϙϒϥύϘύϑϛϞϟύϟϛϤϚϛϢϛϝϛϥϛ
ϜϝϛϟϒϞϟϕϝϛϏύϟϩϕϚϛϝϙύϘϩϚϛϝϒύϘϕϔϛϏύϟϩ
ϡϠϚϗϣϕϛϚύϘ
$ DESTD,R
ήϛϘϩϥϕϚϞϟϏϛϑϕϞϟϝϕώϠϟϕϏϛϏ-JOsvϕ
S/*VϞϕϞϟϒϙϕϞϜϛϘϩϔϠϫϟϜϒϝϒϙϒϚϚϠϫ
ϛϗϝϠϓϒϚϕϬ
$ DESTD,R
ϤϟϛώϨϠϗύϔύϟϩ
ϏϝϒϙϒϚϚϨϖϗύϟύϘϛϐϑϘϬϕϚϞϟύϘϘϬϣϕϕϜϝϕ
Ϟώϛϝϗϒ&ϚύϜϝϕϙϒϝ ϜϝϕϞώϛϝϗϒϜύϗϒϟϛϏ 
κϛϏϨϖϙϒϢύϚϕϔϙϝϒϜϛϔϕϟϛϝϕϒϏϔύϟϝϠϑϚϬϒϟ
ϠϗύϔύϚϕϒϏϝϒϙϒϚϚϛϐϛϜϝϒϡϕϗϞύ ϜϛϪϟϛϙϠ
ϏϨϥϒϑϥϕϖP_Lsbm0./3/0ϜϝϛϞϟϛϜύϑύϒϟϞ
ϛϥϕώϗϛϖϜϝϕϠϞϟύϚϛϏϗϒϞϕϞϜϛϘϩϔϛϏύϚϕϒϙ
$ DESTD,R

ηϞϤύϞϟϩϫ ϪϟϛώϨϞϟϝϛϔύϙϒϟϕϘϕϕϏϏϒϘϕϚϛ
ϏϠϫϜϒϝϒϙϒϚϚϠϫϛϗϝϠϓϒϚϕϬ
RA.UDO_PREF,;
ϗϛϟϛϝύϬϜϛϔϏϛϘϬϒϟϜϒϝϒϛϜϝϒϑϒϘϕϟϩϜϝϒ
ϡϕϗϞϜϝϕϛϜϒϝύϣϕϬϢϞϝϒϜϛϔϕϟϛϝϕϬϙϕκϛ
ϪϟϛϠϓϒϏϛϖϑϮϟϟϛϘϩϗϛϏϞϘϒϑϠϫϦϕϖϝϒϘϕϔ
ͪ΋екомΊилΚциΚ
εϞϜϛϘϩϔϛϏύϚϕϒϝϒϔϠϘϩϟύϟϛϏϜϝϒϗϛϙϜϕϘϬ
ϣϕϕϕϞύϙύϜϝϒϗϛϙϜϕϘϬϣϕϬϏϨϜϛϘϚϬϒϟϞϬ
ϟϛϘϩϗϛϏϞύϙϛϙϜϒϝϏϛϙϝϒϜϛϔϕϟϛϝϕϕϕϔ
ϞϜϕϞϗύμϛϠϙϛϘϤύϚϕϫϪϟϛϝϒϜϛϔϕϟϛϝϕϖϕϔ
ϑϛϙύϥϚϒϐϛϗύϟύϘϛϐύϜϛϘϩϔϛϏύϟϒϘϬαύϓϒ
ϒϞϘϕϕϞϢϛϑϚϨϖϗϛϑϚύϢϛϑϕϟϞϬ ϚύϜϝϕϙϒϝ
ϏϝϒϜϛϔϕϟϛϝϕϕ
tcObmp
ϕϟύϙϓϒϒϞϟϩϜϝϒ
ϗϛϙϜϕϘϕϝϛϏύϚϚϨϖϗϛϑ ϟϛp_LsbmϚϒώϠϑϒϟ
ϕϞϜϛϘϩϔϛϏύϟϩϝϒϔϠϘϩϟύϟϜϝϒϗϛϙϜϕϘϬϣϕϕ
ύϔύϚϛϏϛϏϨϜϛϘϚϕϟϜϝϒϗϛϙϜϕϘϬϣϕϫϕ
ϞϛϔϑύϞϟϚϒϛώϢϛϑϕϙϨϒϡύϖϘϨϏϗύϟύϘϛϐϒ
ϜϛϘϩϔϛϏύϟϒϘϬ
ίϪϟϛϙϛϟϚϛϥϒϚϕϕϗύϟύϘϛϐϕϜϝϒϗϛϙ
ϜϕϘϬϣϕϕϏϨϐϘϬϑϬϟϏϛϛώϦϒϛϟϑϒϘϩϚϛϖ
ϞϠϦϚϛϞϟϩϫϛϟϝϒϜϛϔϕϟϛϝϕϒϏ
μϝϛϣϒϞϞϜϝϒϗϛϙϜϕϘϬϣϕϬϗύϓϑϛϐϛϙϛϑϠϘϬ
ϏϨϜϛϘϚϬϒϟϞϬϏϛϟϑϒϘϩϚϛϙϜϝϛϣϒϞϞϒ&cvca
ϤϟϛώϒϔϠϙϚϛϔύϟϛϝϙύϓϕϏύϒϟϜϒϝϏϨϖϔύϜϠϞϗ
ϜϝϛϐϝύϙϙϨ ϕϙϜϛϝϟϕϝϠϫϦϒϖϙϚϛϓϒϞϟϏϛ
ϙϛϑϠϘϒϖ
ήϛϘϒϒϟϛϐϛ ϒϞϘϕϝϒϜϛϔϕϟϛϝϕϖϛϗύϓϒϟϞϬ
ϚϒϑϛϞϟϠϜϚϨϙϑϘϬϔύϜϕϞϕϜϛϘϩϔϛϏύϟϒϘϫ
ϟϛϜϝϛϐϝύϙϙύϜϝϛϞϟϛϚϒϔύϜϠϞϟϕϟϞϬϞ
ϛϥϕώϗϛϖ
P_Lsbm0./4./
/4ϬϚϏύϝϬ0./4ϐϛϓϕϑύϒϟϞϬϛϤϒϝϒϑϚϛϖϝϒ
ϘϕϔP_LsbmίϒϝϛϬϟϚϛ ϤϟϛϟϛϕϔϛώϚύϝϠϓϒϚ
ϚϨϢϜϝϛώϘϒϙώϠϑϒϟϕϞϜϝύϏϘϒϚϛ

΢ϋπτψόψϐΫυϒϒψυς
3
NcpM4ͽине;΋е΍
έώςώσώτύψωώϋψςϜυڞϑρώϐύπϟϑώϋϟύϊπϏϐώϐπχ
ύϛυψύϒυϐυϑύϛυϘϒϓϊψςNcpM4
ЮникоͿ
ςϝύϚϒϚϕϒϕϛώϝύώϛϟϗύϞϕϙϏϛϘϛϏϏϚϠϟϝϕ
ϞϟϝϛϗNcpM4ϜϝϛϕϞϢϛϑϕϟϏϡϛϝϙύϟϒ/DE
&/mpN_MDmpNEp_nfcNc ϊϟϛϚύϔϏύϚϕϒ
ϜϝϕϑϠϙύϚϛϒϦϒ
ϏώϨϟϚϛϞϟϩN_ppmr
ύϞϜϝύϗ
ϟϕϤϒϞϗϛϖϟϛϤϗϕϔϝϒϚϕϬϑϛϞϟύϟϛϤϚϛϔϚύϟϩ
ϤϟϛϕϔϘϫώϛϐϛϞϕϙϏϛϘύϙϛϓϚϛϜϛϘϠϤϕϟϩ
ϒϐϛ/DA /DB /D,Aϕ/D,BϡϛϝϙϨ
 ϊϟϛϝύϔϚϨϒϗύϚϛϚϕϤϒϞϗϕϒϕϑϒϗϛϙϜϛ
ϔϕϝϛϏύϚϚϨϒϜϝϒϑϞϟύϏϘϒϚϕϬϞϕϙϏϛϘϛϏϏ
ϫϚϕϗϛϑϒ
μϛϑϝϛώϚϛϞϟϕϜϝϛϝύϔϚϨϒϡϛϝϙϨϜϝϒϑϞϟύϏ
ϘϒϚϕϖϞϕϚϟϒϝϒϞϚϨϙϕϜϝϕϙϒϝύϙϕ
ϛϜϠώϘϕ
ϗϛϏύϚϨϚύϞύϖϟϒϫϚϕϗϛϑύ
ύϕϞϟϛϝϕϬ/DEۘ
ϏώϘϛϐϒαϓϛϚύϟύϚύ

μϛϞϙϛϟϝϒϟϩϝύϔϚϨϒϡϛϝϙϨϜϛϙϛϐϠϟϛϑϚϛ
ϕϙϒϚϚϨϒϙϒϟϛϑϨ ϗϛϟϛϝϨϒϙϛϓϚϛϏϨϔϨ
ϏύϟϩϚύϛϑϚϛϞϕϙϏϛϘϩϚϨϢϞϟϝϛϗύϢ
/
sa\$s.NFC#codepoLnt
0
sa\$s.NFD
1
sa\$s.NF.C
2
sa\$s.NF.D
μϛϘϚϛϒϗύϚϛϚϕϤϒϞϗϛϒϚύϔϏύϚϕϒϏϛϔϏϝύϦύϒϟ
ϙϒϟϛϑ
.unLname

/
sa\ Ǔ .unLname#C/ETTERS+ORT,
πϞϟϝϛϗϒϞϟϩϜϛϘϒϔϚϨϖϙϒϟϛϑ
.encode
Ϝϛϔ
ϏϛϘϬϫϦϕϖϜϛϘϠϤϕϟϩϜϝϒϑϞϟύϏϘϒϚϕϒϏϟϛϖ
ϕϘϕϕϚϛϖϫϚϕϗϛϑϚϛϖϗϛϑϕϝϛϏϗϒ
/
m\$name= ƹǏǚǕ 
0
sa\$name.encode UTF

 
1
2
#utf0[d0fd0b5d10d0bb
>
&ϊϟϛϟϙϒϟϛϑϚϒϜϛϙϛϓϒϟϜϒϝϒϗϛϑϕϝϛϏύϟϩ
AN/0/3Ϗηλε6
αϘϬϔύϗϝϒϜϘϒϚϕϬϙύϟϒϝϕύϘύϜϝϒϑϘύϐύϫϜϛ
ϞϙϛϟϝϒϟϩϚύϏϨϏϛϑϠϜϛϙϬϚϠϟϨϢϙϒϟϛϑϛϏϚύ
ϝύϔϚϨϢϢϕϟϝϨϢϞϕϙϏϛϘύϢ
/
unLdump ￿ 
0
unLdump ǥ 
1
unLdump § 
2
unLdump « 
3
unLdump ￿ #ǘǎǒǗǒǑǗǏǖǗǘǍǒǟ
ǛǒǖnjǘǕǘnj
4
#ǎǕǩǔǘǜǘǚǘǍǘ
ǚNJǑǕǒǡNJǨǜǛǩ
5
#njǛǏǔNJǗǘǗǒǡǏǛǔǒǏ
ǙǚǏǎǛǜNJnjǕǏǗǒǩ
6
unLdump Ǔ 

unLdump ² 
/.
unLdump Æ 
//
/0
subunLdump $s ^
/1
sa\$s
/2
/3
sa\$s.cKars#ǡǒǛǕǘǍǚNJǞǏǖ
/4
sa\$s.NFC#codepoLnt
/5
sa\$s.NFD
/6
sa\$s.NF.C
/
sa\$s.NF.D
0.
sa\$s.unLname#ǨǗǒǔǘǎǗǘǏ
ǗNJǑnjNJǗǒǏNjǝǔnjǥ
0/
00
sa\$s.NFD.OLst#ǛǙǒǛǔǘǖ
01
02
sa\$s.encode UTF

 .eOems
#ǛǔǘǕǦǔǘNjNJǓǜǘnj
03
sa\$s.encode UTF

16 .eOems

04
05
sa\$s.encode UTF

 #nj
njǒǎǏutf0[...>
06
0
sa\ 
1.
}
ρϛϝϙϨ/D,Aϕ/D,B ϏϤύϞϟϚϛϞϟϕ ϙϛϐϠϟ
ϜϝϒϛώϝύϔϛϏύϟϩϚύϑϞϟϝϛϤϚϨϒϕϜϛϑϞϟϝϛϤ
ϚϨϒϕϚϑϒϗϞϨϏϛώϨϤϚϨϒϣϕϡϝϨ
/
sa\ 2 .NF.D#NF.D0[0032>
0
sa\ ² .NF.D#NF.D0[0032>
ξϜϛϙϛϦϩϫϡϠϚϗϣϕϕ
unLmatcK
ϙϛϓϚϛ
ϠϔϚύϟϩ ϜϝϕϚύϑϘϒϓϕϟϘϕϞϕϙϏϛϘϗϟϛϖ
ϕϘϕϕϚϛϖϐϝϠϜϜϒϞϕϙϏϛϘϛϏϏϫϚϕϗϛϑϒ
κύϜϝϕϙϒϝ
/
sa\unLmatcK Ǟ  C\rLOOLc #
True
κϛϚϠϓϚϛώϨϟϩϛϞϟϛϝϛϓϚϨϙ ϤϟϛώϨϚϒϝύϔ
ϓϕϐύϟϩ
/
sa\unLmatcK ǰ  C\rLOOLc #
True
0
sa\unLmatcK ±  C\rLOOLc #
FaOse
δϑϒϞϩώϨϘϕϛϑϕϚύϗϛϏϛϏϨϐϘϬϑϬϦϕϒ Ϛϛ
ϝύϔϚϨϒϞϕϙϏϛϘϨεϢ/DBϞϛϛϟϏϒϟϞϟϏϒϚϚϛ
0
[0456030>
ϕ
0[006030>
ύϕϙϒϚύ
ۘ
Cϕ
/AT,N
SMA///ETTER,:,T+D,AERES,S

ϋϚϕϗϛϑϚϨϒϞϏϛϖϞϟϏύ
ϙϛϓϚϛϜϝϛϏϒϝϕϟϩϕ
ϝϒϐϠϘϬϝϚϨϙϕϏϨϝύϓϒϚϕϬϙϕ
/
sa\1Lf ǧ ~~/C\rLOOLc>/
0
sa\1Lf ǧ ~~//O>/#/etter
OoZercase
αϘϬϞϛϔϑύϚϕϬϫϚϕϗϛϑϚϨϢϞϟϝϛϗϙϛϓϚϛ
ϚύϜϝϬϙϠϫϏϛϞϜϛϘϩϔϛϏύϟϩϞϬϗϛϚϞϟϝϠϗϟϛϝϛϙ
ϗϘύϞϞύ
UnL

/
sa\UnL.neZ 0[043 .Str#Ǔ
0
sa\UnL.neZ 0[cf0[4 .Str#Ï
Uf_rctcp&
Uf_rctcpۘϪϟϛϗϘύϞϞ ϗϛϟϛϝϨϖϜϛϔϏϛϘϬϒϟ
ϞϛϔϑύϏύϟϩϛώϧϒϗϟϨ ϟϕϜϕϔϚύϤϒϚϕϒϗϛϟϛ
ϝϨϢϛϜϝϒϑϒϘϬϫϟϞϬϕϔϗϛϚϟϒϗϞϟύτϟϛώϨ
Ϟϛϔϑύϟϩϟύϗϛϖϛώϧϒϗϟ ϑϛϞϟύϟϛϤϚϛϜϛϞϟύ
ϏϕϟϩϔϏϒϔϑϛϤϗϠ&ϒϞϘϕϛϚύ ϝύϔϠϙϒϒϟϞϬ Ϛϒ
ϛϔϚύϤύϒϟϠϙϚϛϓϒϚϕϒ 
/
sa\ .:+AT# :Katever
Uf_rctcpϠϑϛώϚϛϕϞϜϛϘϩϔϛϏύϟϩϑϘϬϞϛϔϑύ
ϚϕϬϜϝϛϞϟϨϢϡϠϚϗϣϕϖ ϚύϜϝϕϙϒϝ
/
m\$f= 2#njǘǑnjǏǎǏǗǒǏnj
ǔnjNJǎǚNJǜ
0
sa\$f 16 #256
1
2
m\$[\= #njǘǑnjǏǎǏǗǒǏnj
ǙǚǘǒǑnjǘǕǦǗǝǨǛǜǏǙǏǗǦ
3
sa\$[\ 34 #1
οϛϐϛϓϒϝϒϔϠϘϩϟύϟύϠϑύϞϟϞϬϑϛϞϟϕϤϩώϛϘϒϒ
ϟϝύϑϕϣϕϛϚϚϨϙ&ϑϘϬϞϟύϝϛϐϛNcpM4 ϞϕϚϟύϗ
ϞϕϞϛϙ
/
#ƪǗǘǗǒǖǗǥǓNjǕǘǔǔǘǎNJǛǘǎǗǒǖ
NJǚǍǝǖǏǗǜǘǖ$[
0
m\$J=

>$[^$[ 2}
1
sa\$J 16 
2
3
#ƫǕǘǔǛǎnjǝǖǩNJǚǍǝǖǏǗǜNJǖǒǒǖǏǗNJ
ǛǘǚǜǒǚǝǨǜǛǩǙǘNJǕǞNJnjǒǜǝ
4
m\$K=^$^a $^b}
5
sa\$K 34 
ίϜϛϘϚϒϛϜϝύϏϑύϚϛϕϞϜϛϘϩϔϛϏύϚϕϒϔϏϒϔϑϛϤ
ϗϕϑϘϬϞϛϔϑύϚϕϬϕϚϟϒϝϏύϘϛϏ&P_Oec 
μϝϕϙϒϝϞϣϕϗϘϛϙ
/
for 5.. ^
0
.sa\#ǙǘǛǜǚǘǡǗǘǙǏǡNJǜNJǏǜǘǜ
5ǎǘ10
1
OastLf$_==10
2
}
μϝϕϙϒϝϞϙύϞϞϕϏϛϙ
/
m\@a=2461012>
0
sa\@a>3.. ]# 1012
λϟϑϒϘϩϚϛϞϘϒϑϠϒϟϝύϞϞϙϛϟϝϒϟϩ ϤϟϛϜϝϛϕϞ
ϢϛϑϕϟϞϛϟϝϕϣύϟϒϘϩϚϨϙϕϔϚύϤϒϚϕϬϙϕ
ίϞϒ ϚύϤϕϚύϬϞϤϒϟϏϒϝϟϛϐϛϪϘϒϙϒϚϟύϕϔύϗύϚ
ϤϕϏύϬϜϝϒϑϜϛϞϘϒϑϚϕϙ
/
sa\@a>3..

2]# 10
τϟϛώϨϜϛϘϠϤϕϟϩϜϛϞϘϒϑϚϕϖϪϘϒϙϒϚϟ ϚϒϘϩ
ϔϬϜϝϛϞϟϛϚύϜϕϞύϟϩ
@a>

1]

/
UnsupporteduseofaneJatLve

1
subscrLpttoLnde[fromtKe
end
0
LnPerO6pOeaseuseafunctLon
sucKas

1
ξϘϒϑϠϒϟϑϛώύϏϕϟϩϔϏϒϔϑϛϤϗϠ
/
sa\@a>

1]#12
δϏϒϔϑϛϤϗύϜϛϑϢϛϑϕϟϕϑϘϬϞϛϔϑύϚϕϬϘϒϚϕ
ϏϨϢϞϜϕϞϗϛϏ&ϟϛϒϞϟϩϟύϗϕϢϞϜϕϞϗϛϏ ϛϤϒϝϒϑ
ϚϛϖϪϘϒϙϒϚϟϗϛϟϛϝϨϢϏϨϤϕϞϘϬϒϟϞϬϜϛϙϒϝϒ
ϚϒϛώϢϛϑϕϙϛϞϟϕ 
/
m\@a= 1... 
0
for 0..5 ^
1
sa\@a>$_]
2
}
ίϘϒϚϕϏϨϢϞϜϕϞϗύϢϑϛϜϠϞϟϕϙϛϜϛϑϞϗύϔύϟϩ
ϗϛϙϜϕϘϬϟϛϝϠ ϗύϗϐϒϚϒϝϕϝϛϏύϟϩϜϛϞϘϒϑϛϏύ
ϟϒϘϩϚϛϞϟϩ
/
m\@a= 12... #Ǜ
ǢNJǍǘǖ1
0
m\@a= 24... #ǡǏǜǗǥǏ
ǡǒǛǕNJ
1
m\@a= 24... #
ǛǜǏǙǏǗǒǎnjǘǓǔǒ
θϕώϛϕϞϜϛϘϩϔϛϏύϟϩϬϏϚϛϛϜϝϒϑϒϘϒϚϚϨϖ
ώϘϛϗϞϛϞϜϛϞϛώϛϙϏϨϤϕϞϘϒϚϕϬ
/
m\@fLb=01  ... #
ƾǒNjǘǗNJǡǡǒ
ͯͻйлы
εϙϬϡύϖϘύ ϗϛϟϛϝϨϖϞϒϖϤύϞϕϞϜϛϘϚϬϒϞϬ ϟϒ
ϜϒϝϩϚύϢϛϑϕϟϞϬϏϜϒϝϒϙϒϚϚϛϖ
$ PRO*RAM

NAME
ύϚϒ
$ PRO*RAM_NAME

ϗύϗώϨϘϛϒϦϒ
ϞϛϏϞϒϙϚϒϑύϏϚϛ

έϏϛϟϜϝϛϐϝύϙϙύ ϗϛϟϛϝύϬϕϞϜϛϘϩϔϠϒϟϏϞϟϝϛ
ϒϚϚϠϫϡϠϚϗϣϕϫ
sOurp
ϤϕϟύϫϦϠϫϞϛϑϒϝ
ϓϕϙϛϒϟϒϗϠϦϒϐϛϡύϖϘύ
/
sa\sOurp$ PRO*RAM

NAME
μϝϛϟϕϏϛϜϛϘϛϓϚύϬϡϠϚϗϣϕϬۘ
spurt
&kώϕϟϩϞϟϝϠϒϖ{ ϛϚύϔύϜϕϞϨϏύϒϟϑύϚϚϨϒϏ
ϡύϖϘίϛϟϜϝϕϙϒϝϝϒύϘϕϔύϣϕϕϫϚϕϗϞϛϏϛϖ
ϡϠϚϗϣϕϕ
cp
ϚύNcpM4
/
m\ $source$dest [email protected] AR*S
0
1
m\$data=sOurp$source
2
spurt$dest$data
μϛϠϙϛϘϤύϚϕϫϡύϖϘϘϕώϛϞϛϔϑύϒϟϞϬ Ϙϕώϛ
ϜϒϝϒϔύϜϕϞϨϏύϒϟϞϬηϘϫϤ&ϕϙϒϚϛϏύϚϚϨϖ
ύϝϐϠϙϒϚϟ
append
ϜϛϜϝϛϞϕϟϑϛώύϏϘϬϟϩ
ϚϛϏϨϒϑύϚϚϨϒϏϗϛϚϒϣϡύϖϘύ
/
spurt$dest$dataappend
τϟϛώϨϠϜύϞϟϩϞϛϥϕώϗϛϖϜϝϕϜϛϜϨϟϗϒϔύ
ϜϕϞϕϏϞϠϦϒϞϟϏϠϫϦϕϖϡύϖϘ ϑϛώύϏϩϟϒϛϜ
ϣϕϫ
createonO\
&
append
ϜϝϕϪϟϛϙϞϟύ
ϚϒϟϚϒύϗϟϠύϘϩϚϛϖ 
/
spurt$dest$datacreateonO\
ε
sOurp
ϕ
spurt
ϜϝϕϚϕϙύϫϟύϝϐϠϙϒϚϟ
ϞϕϙϒϚϒϙϗϛϑϕϝϛϏϗϕ
enc
ϚϛϛϜϬϟϩϓϒ
ϞϟύϝϨϢϗϛϑϕϝϛϏϛϗϟϕϜύ
.O,
ϟύϙϚϒϟ&ϑύ
ϕϚϒϚύϑϛ 
/
m\$data=sOurp$sourceenc=>
UTF

 
0
spurt$dest$dataenc=> UTF

16 
βϞϘϕϚύϞϟϝϛϗϒϏϨϔϏύϟϩϙϒϟϛϑ
.,O
ϟϛϏϛϔ
ϏϝύϦύϒϟϞϬϛώϧϒϗϟϗϘύϞϞύ
*MN_rf
ιϒϟϛϑ
ϛϜϝϒϑϒϘϒϚϟύϗ
/
metKod,O returns,OPatKD
&
D
ϔϑϒϞϩϚϒϝϓύϤϚϨϖϞϙύϖϘ ύϛϔϚύϤύϒϟ
bc੗Ocb
κύϜϝϕϙϒϝ ϗύϗϜϛϘϠϤϕϟϩύώϞϛϘϫϟϚϨϖϜϠϟϩ
ϗϘϛϗύϘϩϚϛϙϠϡύϖϘϠ
/
sa\ fLOe1.pO .,O.abspatK
ηύϗϜϛϘϠϤϕϟϩϞϛϑϒϝϓϕϙϛϒϟύϗϛϐϛϟϛϗύϟύϘϛ
ϐύ
/
sa\ . .,O.dLr
μϝϛϏϒϝϗϕϞϠϦϒϞϟϏϛϏύϚϕϬϡύϖϘϛϏϕϗύϟύϘϛ
ϐϛϏϟϒϜϒϝϩϏϨϐϘϬϑϬϟϟύϗ
/
sa\1Lf fLOe.t[t .,O.e#

e
fLOe.t[t njPerO5
0
sa\1Lf fLOe.t[t .,O.f#

f
1
sa\1Lf .. .,O.d
#

d
λϞϟύϘϩϚϨϒϙϒϟϛϑϨ ϜϒϝϒϤϕϞϘϒϚϚϨϒϏ
ϑϛϗϠϙϒϚϟύϣϕϕ ϏϜϛϘϚϒϜϛϚϬϟϚϨώϒϔϛώϧϬϞ
ϚϒϚϕϖκύϜϝϕϙϒϝ ϑϘϬϏϨϑϒϘϒϚϕϬϕϔϕϙϒϚϕ
ϡύϖϘύϝύϞϥϕϝϒϚϕϬϙϛϓϚϛϏϛϞϜϛϘϩϔϛϏύϟϩϞϬ
ϙϒϟϛϑϛϙ
.e[tensLon

/
sa\$fLOename.,O.e[tensLon

Πύτϐυωθψϒώς
4
ИΌΊользоͽͻниеPsqrизNcpM
΢ϑϒϐπψςπύψυPsqrςNcpMϑϏώόώϙϜϞDD*
Rust
ۘϬϔϨϗϞϕϞϟϒϙϚϛϐϛϜϝϛϐϝύϙϙϕϝϛ
ϏύϚϕϬ ϝύϔϏϕϏύϒϙϨϖ.m[JMM_DsOb_rJmO
μϝϕϔϏύϚϔύϙϒϚϕϟϩϞϛώϛϖξλώϒϞϜϒϤϕϏύϒϟ
ώϒϔϛϜύϞϚϠϫϝύώϛϟϠϞϜύϙϬϟϩϫϕϜϝϛϤϕϒ
ϜϝϕϬϟϚϨϒϙϒϘϛϤϕ ϗϛϟϛϝϨϢϕϚϛϐϑύϟύϗϚϒ
ϢϏύϟύϒϟϏξ ϜϝϕϪϟϛϙϚϒϑύϒϟϛϏϒϝϢϒϑύϜϛ
ϜϝϛϕϔϏϛϑϕϟϒϘϩϚϛϞϟϕ&Ϗϟϒϛϝϕϕ 
μϛϑϝϛώϚϛϞϟϕϬϔϨϗϛϏϨϢϗϛϚϞϟϝϠϗϣϕϖϬϟϠϟ
ϝύϞϜϕϞϨϏύϟϩϞϕϘϩϚϛϚϒώϠϑϠ ϏϣϒϘϛϙ ϏϞϒ
ϜϝϕϙϒϝϨϠϗϘύϑϨϏύϫϟϞϬϏϜϒϝϏϨϒ2ϐϘύϏϨ
ϗϚϕϐϕϜϛPsqr

ξϚύϤύϘύϠϞϟύϚϛϏϕϙ
Rust
ϜϛϞϘϒϑϚϒϖϏϒϝϞϕϕ
&/3ϚύϙϛϙϒϚϟϚύϜϕϞύϚϕϬ εϚϞϟϝϠϗϣϕϕ
ϜϛϠϞϟύϚϛϏϗϒϚύϏϞϒϜϛϑϑϒϝϓϕϏύϒϙϨϒ
ϜϘύϟϡϛϝϙϨϙϛϓϚϛϚύϖϟϕϚύϞύϖϟϒۘ
frrnq//uuupsqrM_Oempe/bmuOMm_bqfrNM

ήϠϑϒϙϞϤϕϟύϟϩ Ϥϟϛ
Rust
ϠϓϒϠϞϟύϚϛϏϘϒϚϕ
ϑύϓϒϝύώϛϟύϒϟμϛϜϝϛώϠϒϙϒϐϛϕϞϜϛϘϩϔϛϏύϟϩ
ϕϔ
PerO

ξϚύϤύϘύϛϜϝϛώϠϒϙϜϝϕϙϒϝϕϔϑϛϗϠϙϒϚϟύ
ϣϕϕ ϞϛϔϑύϑϕϙϚϛϏϨϖϜϝϛϒϗϟϞϜϛϙϛϦϩϫ
CarJo

/
carJoneZembed
0
cdembed
αϛώύϏϕϙϏ
CarJo.tomO
ϞϘϒϑϠϫϦϒϒϞϛϑϒϝ
ϓϕϙϛϒ
/
>OLb]
0
name="embed"
1
crate

t\pe=>"d\OLb"]
ϊϟϕϙϙϨϐϛϏϛϝϕϙϗύϝϐϛ ϤϟϛϙϨϢϛϟϕϙ
ϜϛϘϠϤϕϟϩώϕώϘϕϛϟϒϗϠ ύϚϒώϕϚύϝϚϕϗϕ
ώϕώϘϕϛϟϒϗύϑϛϘϓϚύϘϕϚϗϛϏύϟϩϞϬϞϗϛϑϛϙ
ϚύA
οϒϜϒϝϩϛϟϝϒϑύϗϟϕϝϠϒϙ
src/OLb.rs
ϕϜϝϕ
ϏϒϑϒϙϒϐϛϗϟύϗϛϙϠϏϕϑϠ
/
usestdtKread
0
1
#>no_manJOe]
2
pube[ternfnprocess ^
3
OetKandOesVec_>= 0..10
.map ___^
4
tKreadspaZn __^
5
Oetmut[=0
6
for_Ln 0..5
_000_000 ^

[=1
/.
}
//
[
/0
}
/1
} .coOOect 
/2
/3
forKLnKandOes^
/4
prLntOn! "TKreadfLnLsKed
ZLtKcount=^}"
/5
K.MoLn .map_err ___"
CouOdnotMoLna
tKread!" .unZrap 
/6
}
/
0.
prLntOn! "done!" 
0/
}
ϊϟϛϜϝϕϘϛϓϒϚϕϒϔύϜϠϞϗύϒϟ/.ϟϝϒϑϛϏ ϗύϓ
ϑϨϖϕϔϗϛϟϛϝϨϢϞϤϕϟύϒϟϑϛ3...... Ϟϛώϕϝύ
ϒϟϛϟϚϕϢϏϛϔϏϝύϦύϒϙϛϒϔϚύϤϒϚϕϒ&ϞϤϒϟϤϕϗ
[
ϕϏϨϏϛϑϕϟϪϟϛϚύϙ
ξϛώϒϝϒϙϒϐϛ
/
carJobuLOd
��
reOease
ίϗύϟύϘϛϐϒ
tarJet/reOease
ϠϚύϞϜϛϬϏϕϟ
ϞϬϡύϖϘ
OLbembed.so
&ϑϘϬ._aMSϝύϞϥϕϝϒ
ϚϕϒώϠϑϒϟbZMJ` ϑϘϬUJOۘbMM ϬϏϞϒϪϟϛϜϝϛ
ϑϒϘϨϏύϫϚύϙύϗϒ ϟύϗϤϟϛώϕώϘϕϛϟϒϗϕϏϒϔ
ϑϒώϠϑϠϟϞϝύϞϥϕϝϒϚϕϒϙbZMJ` ϏύϙϓϒϚύϑϛ
ώϠϑϒϟϜϛϜϝύϏϕϟϩϜϛϑϞϏϛϫϞϕϞϟϒϙϠ ۘϪϟϛ
ϚύϥύϜϛϑϗϘϫϤύϒϙύϬώϕώϘϕϛϟϒϗύμϝϕϡϛϝ
ϙϕϝϛϏύϚϕϕώϕώϘϕϛϟϒϗϕ
CarJo
ύϏϟϛϙύϟϕϤϒ
ϞϗϕϑϛώύϏϘϬϒϟϜϝϒϡϕϗϞ
OLb
ϗϕϙϒϚϕϜϝϛϒϗ
ϟύ ϠϗύϔύϚϚϛϐϛϏ
name

κύϞϟύϘϛϏϝϒϙϬϏϨϔϏύϟϩϒϒϕϔ
PerO
ούϗ
ϗύϗVSώϕϚϑϕϚϐϛϏϏ
PerO
ϑϘϬ
Rust
ϒϦϒϚϒ
ϞϠϦϒϞϟϏϠϒϟ&ϚϠϕϘϕϬϕϢϚϒϚύϥϒϘ ϟϛϙϨ
ώϠϑϒϙϕϞϜϛϘϩϔϛϏύϟϩ
DD*P_u
ϊϟϛϟϙϛϑϠϘϩ
ϜϛϔϏϛϘϬϒϟϕϔϗϛϑύϚύ
PerO
ϑϒϝϐύϟϩϡϠϚϗ
ϣϕϕϏώϕώϘϕϛϟϒϗύϢϚύξιϛϑϠϘϩϏϒϞϩϙύ
ϚϕϔϗϛϠϝϛϏϚϒϏϨϖ ϚϛϑϘϬϚύϤύϘύϪϟϛϑύϓϒ
Ϣϛϝϛϥϛ
ξϛϔϑύϑϕϙϡύϖϘ
maLn.pO
ϞϛϞϘϒϑϠϫϦϕϙϞϛ
ϑϒϝϓϕϙϨϙ
/
#!/usr/bLn/envperO
0
1
usev5.16
2
useFF,RaZ
3
4
m\$process=FF,RaZ

>neZ
5
tarJet/reOease/OLbembed.d\OLb
 process 
6
FF,RaZvoLd


/.
//
sa\$process

>caOO 
/0
/1
sa\"Done!"
δϑϒϞϩϏϗϛϚϞϟϝϠϗϟϛϝϒϙϨϠϗύϔϨϏύϒϙϜϠϟϩϗ
ϚύϥϒϖώϕώϘϕϛϟϒϗϒ ϕϙϬϡϠϚϗϣϕϕ ϗϛϟϛϝϠϫ
ϙϨϢϛϟϕϙϕϞϜϛϘϩϔϛϏύϟϩ ϕϟϕϜϏϛϔϏϝύϦύϒ
ϙϛϐϛϔϚύϤϒϚϕϬίϑύϚϚϛϙϞϘϠϤύϒϡϠϚϗϣϕϬϠ
ϚύϞϚϕϤϒϐϛϚϒϏϛϔϏϝύϦύϒϟ ϟύϗϤϟϛϪϟϛώϠϑϒϟ
voLd

εϔύϜϠϞϟϕϙϚύϥϜϒϝϘϛϏϨϖϞϗϝϕϜϟ
/
aOpKa6$perO./maLn.pO
0
TKreadfLnLsKedZLtKcount
=5000000
1
TKreadfLnLsKedZLtKcount
=5000000
2
TKreadfLnLsKedZLtKcount
=5000000
3
TKreadfLnLsKedZLtKcount
=5000000
4
TKreadfLnLsKedZLtKcount
=5000000
5
TKreadfLnLsKedZLtKcount
=5000000
6
TKreadfLnLsKedZLtKcount
=5000000

TKreadfLnLsKedZLtKcount
=5000000
/.
TKreadfLnLsKedZLtKcount
=5000000
//
TKreadfLnLsKedZLtKcount
=5000000
/0
done!
/1
Done!
ϊϟϛϟϗϛϑϙϛϓϒϟϏύϘϕϟϩϞϬϞ
SeJmentatLon
fauOt11
ϜϒϝϒϑϏϨϢϛϑϛϙϕϔϞϗϝϕϜϟύϊϟϛ
ϞϏϬϔύϚϛϞϏϨϏϛϑϛϙϞSRBMSRϕϔϗϛϑύϚύ
Rust
ίϕϑϕϙϛ DD*ϗύϗϟϛϗϝϕϏϛϛώϝύώύϟϨϏύ
ϒϟϔύϗϝϨϟϕϒϑϒϞϗϝϕϜϟϛϝϛϏκύϙύϗϒϏύϘϕϟϞϬ
ϞϟύώϕϘϩϚϛ Ϛύ-JOsvϝύώϛϟύϒϟώϒϔϛϥϕώϛϗ
ϚύUJObmuqϚϒϜϝϛϏϒϝϬϘίϕϑϕϙϛ ϏϘϕϬϫϟ
ϗύϗϕϒϟϛϛϞϛώϒϚϚϛϞϟϕϜϘύϟϡϛϝϙϨ
ίϨϔϨϏύϟϩϤϕϞϘϛϑϝϛώϕϘϗϕϕϔ
PerO
Ϫϟϛϗϛ
ϚϒϤϚϛϢϛϝϛϥϛ ϚϛϗύϗϚύϞϤϒϟϜϒϝϒϑύϤϕϜύ
ϝύϙϒϟϝϛϏϡϠϚϗϣϕϕ=οϛϓϒϙϛϓϚϛ ϜϛϞϤϕϟύ
ϒϙϡύϗϟϛϝϕύϘ
μϝϕϏϒϑϒϙqpa/MJ`pqϗϏϕϑϠ
/
#>no_manJOe]
0
pube[ternfnfact [L32

>L32
^
1
Oetmutfact=1
2
forLLn1..[1^
3
fact =L
4
}
5
6
returnfact

}
δϑϒϞϩϙϨϛώϧϬϏϘϬϒϙϜϠώϘϕϤϚϠϫϡϠϚϗϣϕϫ
fact
ϗϛϟϛϝύϬϜϝϕϚϕϙύϒϟϚύϏϢϛϑϤϕϞϘϛϏ
Ϗϕϑϒ10ώϕϟϚϛϐϛϣϒϘϛϐϛϕϟϛϓϒϞύϙϛϒϏϛϔ
ϏϝύϦύϒϟϏϗύϤϒϞϟϏϒϝϒϔϠϘϩϟύϟύ
ούϗϓϒϛώϝύϟϕϟϒϏϚϕϙύϚϕϒ
#>no_manJOe]
ϚύϑϛϠϗύϔϨϏύϟϩϜϒϝϒϑϗύϓϑϛϖϡϠϚϗϣϕϒϖ
ϗϛϟϛϝϠϫϙϨϢϛϟϕϙϪϗϞϜϛϝϟϕϝϛϏύϟϩβϞϘϕ
ϠώϝύϟϩϪϟϠϞϟϝϛϗϠϕϜϛϜϝϛώϛϏύϟϩϏϨϔϏύϟϩ
ϝύϞϞϤϒϟϡύϗϟϛϝϕύϘύ ϙϨϜϛϘϠϤϕϙϛϥϕώϗϠ
ϚϒϞϙϛϟϝϬϚύϟϛ ϤϟϛϡϠϚϗϣϕϬϛώϧϬϏϘϒϚύ
ϜϠώϘϕϤϚϛϖ
/
aOpKa6$perO./maLn.pO
0
dOs\m 0[ffeda40abd0fact 
s\mboOnotfoundat./maLn.pO
OLne13.
no_manJOe
ϐϛϏϛϝϕϟϗϛϙϜϕϘϬϟϛϝϠ ϤϟϛώϨϛϚ
ϚϒϕϔϙϒϚϬϘϕϙϬϡϠϚϗϣϕϕϏϛϏϝϒϙϬϗϛϙϜϕ
ϘϬϣϕϕ ϤϟϛϑϒϘύϒϟϏϛϔϙϛϓϚϨϙϑϛϞϟϠϜϗϚϒϖ
ϕϔϑϝϠϐϕϢϬϔϨϗϛϏ
μϝϕϏϒϑϒϙ
maLn.pO
ϗϏϕϑϠ
/
m\$fact_fn=FF,RaZ

>neZ
0
tarJet/reOease/OLbembed.d\OLb
 fact 
1
FF,RaZLnt
2
FF,RaZLnt
3

4
5
m\$fact_vaO=$fact_fn

>caOO 30

6

sa\"FactorLaO>$fact_vaO]"
ξϛϢϝύϚϬϒϙ ϔύϜϠϞϗύϒϙ
/
aOpKa6$perO./maLn.pO
0
FactorLaO>14026144]
1
PerOcodedone!
ςϙ ϗύϓϒϟϞϬ ϤϟϛϟϛϜϛϥϘϛϚϒϟύϗ۪
ίϪϟϛϙϜϝϕϙϒϝϒϙϛϓϚϛϠϏϕϑϒϟϩϚύϐϘϬϑϚϛ
ϝύϔϘϕϤϕϬ
PerO
ϕϬϔϨϗϛϏώϛϘϒϒϚϕϔϗϛϐϛ
ϠϝϛϏϚϬβϞϘϕϜϛϞϙϛϟϝϒϟϩϚύϝϒϔϠϘϩϟύϟ
ϝύώϛϟϨϡϠϚϗϣϕϕ ϟϛϏϕϑϚϛϤϟϛϡύϗϟϛϝϕύϘ
1.ϚϒϙϚϛϓϗϛϚϒϬϏϘϬϒϟϞϬϡύϗϟϛϝϕύϘϛϙ1.
ϢϛϟϬώϨϜϛϟϛϙϠϤϟϛϏϚϒϙϑϛϘϓϚϛώϨϟϩ00
ϣϕϡϝϨμϝϕϪϟϛϙϜϝϛϞϟϛϠϏϒϘϕϤϒϚϕϒϝύϔ
ϝϬϑϚϛϞϟϕϑϛs42ϚϒϜϛϙϛϓϒϟ ϜϛϟϛϙϠϤϟϛ
ϟϠϑύϛϚϟϛϓϒϚϒϏϘϒϔύϒϟίϛώϦϒϙ ϙϛϝύϘϩ
ϞϒϖώύϞϚϕϟύϗϛϏύۘϞϘϒϑϕϟϒϔύϜϒϝϒϜϛϘ
ϚϒϚϕϒϙϜϒϝϒϙϒϚϚϨϢ ϟύϗϗύϗϗϛϙϜϕϘϬϟϛϝ
ϪϟϛϐϛϚϒϛϟϞϘϒϓϕϏύϒϟ ϕϝύϚϟύϖϙϜϝϛϏϒϝϛϗ
ϜϛϠϙϛϘϤύϚϕϫϟϛϓϒϚϒϟ
ίϜϝϛϤϒϙ ϜϝϕϕϔϙϒϚϒϚϕϕϝύϔϝϬϑϚϛϞϟϕϞJOr
ϑϛJOr42 ϡύϗϟϛϝϕύϘ/2ϝύϞϞϤϕϟϨϏύϒϟϞϬϏϒϝ
Ϛϛ ϒϞϘϕϏϒϝϕϟϩ
ϗύϘϩϗϠϘϬϟϛϝϠ
ύϏϞϒ ϤϟϛϏϨ
ϥϒ/3ۘϪϟϛϠϓϒϙύϟϒϙύϟϕϗύϞϢϕϟϝϨϙϕύϘ
ϐϛϝϕϟϙύϙϕ
Rust
ϕϔϗϛϝϛώϗϕϞϚϒϖϝύώϛϟύϟϩ
ϚϒϠϙϒϒϟ
βϦϒϛϑϚύϜϝϛώϘϒϙύۘ
FF,RaZ
ϚϒϜϛϔϏϛ
ϘϬϒϟϚύϜϝϬϙϠϫϜϒϝϒϑύϏύϟϩϕϏϛϔϏϝύϦύϟϩϕϔ
ϏϚϒϥϚϒϐϛϗϛϑύϤϟϛϟϛϞϘϛϓϚϒϒϜϝϕϙϕϟϕϏ
ϚϨϢϟϕϜϛϏοϛϒϞϟϩϜϒϝϒϑύϟϩϏϡϠϚϗϣϕϫϢϒϥ
ϕϘϕϏϒϝϚϠϟϩϏϒϗϟϛϝϚϒϜϛϘϠϤϕϟϞϬκϛϏϞϒ
ϐϑύϙϛϓϚϛϝύώϛϟύϟϩϞϛϞϟϝϠϗϟϠϝύϙϕξ ύϜϒ
ϝϒϐϚύϟϩNcpMϞϟϝϠϗϟϠϝϠϏϞϕϥϚϠϫۘϔύϑύϤύ
ϪϘϒϙϒϚϟύϝϚύϬ
μϝϕϏϒϑϒϙϚύϥ
OLb.rs
ϗϏϕϑϠ
/
pubstructArJs^
0
LnLtu32
1
b\u32
2
}
3
4
#>no_manJOe]
5
pube[ternfnuse_struct arJs&
ArJs

>u32^
6
prLntOn! "ArJs^}

^}"
arJs.LnLtarJs.b\ 

/.
returnarJs.LnLt
//
}
δϑϒϞϩϙϨϛώϧϬϏϘϬϒϙϞϟϝϠϗϟϠϝϠApeqϕϑϒϘύ
ϒϙϒϒϑϛϞϟϠϜϚϛϖϞϚύϝϠϓϕϚύϥϒϖώϕώϘϕϛϟϒ
ϗϕϠϗύϔύϚϕϒϙ
pub
ίϡϠϚϗϣϕϕ
use_struct
ϙϨϐϛϏϛϝϕϙϗϛϙϜϕϘϬϟϛϝϠ ϤϟϛϛϓϕϑύϒϙϚύ
ϏϢϛϑϒϠϗύϔύϟϒϘϩϚύϪϟϠϞϟϝϠϗϟϠϝϠκϠϕϏϛϔ
ϏϝύϦύϒϙϛώϝύϟϚϛϜϒϝϏϨϖϪϘϒϙϒϚϟϞϟϝϠϗϟϠ
ϝϨ
ίϜϒϝϘϛϏϨϖϗϛϑϏϞϟύϏϕϙϟύϗϛϒ
/
m\$pacNed=pacN // 4221 
0
m\$arJ=FF,RaZMemPtr

>
neZ_from_buf $pacNedOenJtK
$pacNed 
1
2
m\$foo=FF,RaZ

>neZ
3
$sKared test_struct 
4
FF,RaZuLnt
5
FF,RaZptr
6


/.
m\$vaO=$foo

> $arJ #ƹǘǕǝǡNJǏǖ
ǛǜǚǝǔǜǝǚǝǒǑRustǔǘǎNJ
//
sa\"resuOt>$vaO]"
δϑϒϞϩϙϨϠϜύϗϛϏϨϏύϒϙϑύϚϚϨϒϑϘϬϞϟϝϠϗ
ϟϠϝϨ&ϑϏύϤϕϞϘύJOr10 ϔύϟϒϙϞϛϔϑύϒϙϕϔ
ϚϕϢϛώϧϒϗϟ
FF,RaZMemPtr
ϗϛϟϛϝϨϖ
ϏϨϑϒϘϬϒϟϛώϘύϞϟϩϜύϙϬϟϕϕϠϗϘύϑϨϏύϒϟ
ϟϠϑύϠϜύϗϛϏύϚϚϠϫϞϟϠϗϟϠϝϠδύϟϒϙϙϨ
ϜϝϕϏϬϔϨϏύϒϙϞϬϗϡϠϚϗϣϕϕ
test_struct
ϕϔϚύϥϒϖώϕώϘϕϛϟϒϗϕϕϐϛϏϛϝϕϙ ϤϟϛώϠϑϒϙ
ϜϒϝϒϑύϏύϟϩϏϚϒϒϠϗύϔύϟϒϘϩ
ξϛώϒϝϒϙϕϔύϜϠϞϟϕϙ
/
aOpKa6$carJobuLOd
��
reOease
0
aOpKa6$perO./maLn.pO
1
ArJs42

21
2
resuOt>42]
μϛϔϑϝύϏϘϬϫ ϙϨϟϛϘϩϗϛϤϟϛϜϒϝϒϑύϘϕϞϟϝϠϗ
ϟϠϝϠϑύϚϚϨϢϏϚύϥϠώϕώϘϕϛϟϒϗϠϚύ
Rust

μϛϜϝϛώϠϒϙϟϒϜϒϝϩϞϑϒϘύϟϩϞϪϟϛϖϞϟϝϠϗϟϠ
ϝϛϖϤϟϛϟϛώϛϘϒϒϛϞϙϨϞϘϒϚϚϛϒ
ξϛϔϑύϑϕϙϞϤϒϟϤϕϗ&ϑϒϖϞϟϏϕϒϚϒϛϞϛώϛ
ϛϞϙϨϞϘϒϚϚϛϒ ϔύϟϛϜϛϗύϔϨϏύϒϟϗύϗϞϪϟϕϙ
ϏϞϒϙϝύώϛϟύϟϩ μϝϕϏϒϑϒϙϚύϥ
OLb.rs
ϗ
ϏϕϑϠ
/
#!>aOOoZ non_snaNe_case ]
0
usestdmemtransmute
1
2
pubstructArJs^
3
LnLtu32
4
b\u32
5
}
6

pubstructCounter^
/.
vaOu32
//
b\u32
/0
}
/1
/2
LmpOCounter^
/3
pubfnneZ arJs&ArJs

>
Counter^
/4
Counter^
/5
vaOarJs.LnLt
/6
b\arJs.b\
/
}
0.
}
0/
00
pubfnJet &seOf

>u32^
01
seOf.vaO
02
}
03
04
pubfnLncr &mutseOf

>u32
^
05
seOf.vaO=seOf.b\
06
seOf.vaO
0
}
1.
1/
pubfndecr &mutseOf

>u32
^
10
seOf.vaO

=seOf.b\
11
seOf.vaO
12
}
13
}
14
15
#>no_manJOe]
16
pube[ternfncreateCounter arJs
&ArJs

> mutCounter^
1
Oet_counter=unsafe^
transmute Bo[neZ Counter
neZ arJs }
2.
_counter
2/
}
20
21
#>no_manJOe]
22
pube[ternfnJetCounterVaOue ptr
 mutCounter

>u32^
23
Oetmut_counter=unsafe^&
mut ptr}
24
OetvaO=_counter.Jet 
25
returnvaO
26
}
2
3.
#>no_manJOe]
3/
pube[ternfnLncrementCounterB\
ptr mutCounter

>u32^
30
Oetmut_counter=unsafe^&
mut ptr}
31
_counter.Lncr
32
}
33
34
#>no_manJOe]
35
pube[ternfndecrementCounterB\
ptr mutCounter

>u32^
36
Oetmut_counter=unsafe^&
mut ptr}
3
_counter.decr
4.
}
4/
40
#>no_manJOe]
41
pube[ternfndestro\Counter ptr
mutCounter ^
42
Oet_counterBo[Counter>=
unsafe^transmute ptr }
43
//Drop
44
}
ϊϟϛϟϗϛϑϬϤϒϞϟϚϛϠϟύϦϕϘ
ϛϟϞϫϑύ
ϜϝύϏϑύ
ϛϚϚϒϔύϝύώϛϟύϘϚύϚϛϏϛϖϏϒϝϞϕϕϗϛϙϜϕϘϬ
ϟϛϝύ ϑύϕϞ
FF,RaZ
ϠϚϒϐϛϟϛϓϒϘϫώϛϏϩ
ϚϒϞϘϛϓϕϘύϞϩ ϜϝϕϥϘϛϞϩϒϐϛϚϒϙϚϛϐϛϜϛ
ϜϝύϏϕϟϩκϛϚϕϤϒϐϛ Ϛύϙ ϜϛϘϩϔϛϏύϟϒϘϬϙ
MoMoOLcLous
ϚϒϜϝϕϏϨϗύϟϩ
τϟϛϔϑϒϞϩϜϝϛϕϞϢϛϑϕϟ=ξϚύϤύϘύϞϛϔϑύϫϟϞϬ
ϑϏϒϞϟϝϠϗϟϠϝϨϑύϚϚϨϢ
ArJs
ϕ
Counter

ϣϒϘϛϙϛϚϕϛϑϕϚύϗϛϏϨϒ ϚϛϑϘϬ
Counter
ϙϨ
ϞϛϔϑύϒϙϝϒύϘϕϔύϣϕϫ ϗϛϟϛϝύϬϑϛώύϏϘϬϒϟϚύ
ώϛϝϙϒϟϛϑϛϏϗϚύϥϒϖϞϟϝϠϗϟϠϝϒ
δύϟϒϙϙϨϛώϧϬϏϘϬϒϙϜϠώϘϕϤϚϠϫϡϠϚϗϣϕϫ
createCounter
ϗϛϟϛϝύϬϚύϏϢϛϑϜϝϕϚϕ
ϙύϒϟϠϗύϔύϟϒϘϩϚύϞϟϝϠϗϟϠϝϠϑύϚϚϨϢ
ArJs

εϔϪϟϛϖϞϟϝϠϗϟϠϝϨϙϨϞϛϔϑύϒϙϛώϧϒϗϟ
Counter
ϗϛϟϛϝϨϖϠϜύϗϛϏϨϏύϒϙϏϗϛϚϟϒϖ
Ϛϒϝ
Bo[neZ
ϗϛϟϛϝϨϖώϠϑϒϟϑϛϞϟϠϜϒϚ
ϤϒϝϒϔϠϗύϔύϟϒϘϩνύώϛϟύϞ
transmute
ϑϒϘϛ
ϛϜύϞϚϛϒ ϜϛϪϟϛϙϠϙϨϛώϛϝύϤϕϏύϒϙϞϛϔϑύ
ϚϕϒϗϛϚϟϒϖϚϒϝύϏ
unsafe
ϕϪϟϕϙϞύϙϨϙ
ϙϨϐϛϏϛϝϕϙϗϛϙϜϕϘϬϟϛϝϠ ϤϟϛϙϨϞύϙϕ
ϜϛϔύώϛϟϕϙϞϬϛϜϝϛϏϒϝϗϒϚύώϒϔϛϜύϞϚϛϞϟϩ
ϏϞϒϖϪϟϛϖϗϛϚϞϟϝϠϗϣϕϕ&ϤϒϐϛϙϨϚϒϑϒϘύϒϙ
ϏϑύϚϚϛϙϞϘϠϤύϒ 
μϛϞϘϒϞϛϔϑύϚϕϬϗϛϚϟϒϖϚϒϝύϙϨϏϛϔϏϝύϦύ
ϒϙϕϔϡϠϚϗϣϕϕϕϔϙϒϚϬϒϙϨϖϠϗύϔύϟϒϘϩ Ϟϗϛ
ϟϛϝϨϙϕώϠϑϒϙϑύϘϩϥϒϝύώϛϟύϟϩϏϒϔϑϒ
οϒϜϒϝϩϞϛϔϑύϑϕϙϡύϖϘ
counter.pO
ϗϛ
ϟϛϝϨϖώϠϑϒϟϕϞϜϛϘϩϔϛϏύϟϩϚύϥϠϚϛϏϠϫ
ώϕώϘϕϛϟϒϗϠ
/
#!/usr/bLn/envperO
0
1
usev5.16
2
useFF,RaZ
3
4
m\$sKared= tarJet/reOease/
OLbembed.d\OLb 
5
6
m\$pacNed=pacN // 4221 

m\$arJ=FF,RaZMemPtr

>
neZ_from_buf $pacNedOenJtK
$pacNed 
/.
//
m\$createCounter=FF,RaZ

>neZ

/0
$sKared createCounter 
/1
FF,RaZptrFF,RaZptr
/2

/3
/4
m\$JetCounterVaOue=FF,RaZ

>
neZ
/5
$sKared JetCounterVaOue 
/6
FF,RaZuLntFF,RaZptr
/

0.
0/
m\$LncrementCounterB\=FF,RaZ

>neZ
00
$sKared LncrementCounterB\ 
01
FF,RaZuLntFF,RaZptr
02

03
04
m\$ptr=$createCounter

> $arJ 
05
06
m\$vaO=$JetCounterVaOue

> $ptr

0
sa\"CurrentvaOue>$vaO]"
1.
1/
m\$nvaO=$LncrementCounterB\

>
$ptr 
10
sa\"NeZvaOue>$nvaO]"
δϑϒϞϩϙϨϞϚύϤύϘύϜϝϕϏϬϔϨϏύϒϙϞϬϗϡϠϚϗ
ϣϕϕ
createCounter
ϕϐϛϏϛϝϕϙ ϤϟϛώϠϑϒϙ
ϜϒϝϒϑύϏύϟϩϠϗύϔύϟϒϘϩϕϓϑϒϙϚύϏϨϢϛϑϒ
ϠϗύϔύϟϒϘϩδύϟϒϙϜϝϕϏϬϔϨϏύϒϙϞϬϗϡϠϚϗ
ϣϕϕ
JetCounterVaOue
ϕϐϛϏϛϝϕϙ Ϥϟϛ
ϜϒϝϒϑύϒϙϒϖϠϗύϔύϟϒϘϩϕϓϑϒϙsOqJeOcbJOr
αϘϬϏϞϒϢϛϞϟύϘϩϚϨϢϡϠϚϗϣϕϖϑϛϘϓϚϨώϨϟϩ
ϞϛϔϑύϚϨύϚύϘϛϐϕϤϚϨϒϔύϜϕϞϕ ϔϑϒϞϩϬϕϢ
ϛϜϕϞϨϏύϟϩϚϒϞϟύϘ
αύϘϩϥϒϙϨϏϨϔϨϏύϒϙ
createCounter

ϗϛϟϛϝϛϙϠϜϒϝϒϑύϒϙϞϛώϝύϚϚϠϫϝϠϗύϙϕ
ϞϟϝϠϗϟϠϝϠ
ArJs
ϕϜϛϘϠϤύϒϙϛώϝύϟϚϛϠϗύϔύ
ϟϒϘϩϚύϗϛϚϟϒϖϚϒϝϞϛϞϤϒϟϤϕϗϛϙαύϘϩϥϒ
ϙϨϕϞϜϛϘϩϔϠϒϙϪϟϛϟϠϗύϔύϟϒϘϩϑϘϬϕϔϙϒϚϒ
ϚϕϬϔϚύϤϒϚϕϖϞϤϒϟϤϕϗύ
ξϛώϒϝϒϙϪϟϛϏϞϒϑϒϘϛϕϔύϜϠϞϟϕϙ
/
aOpKa6$carJobuLOd
��
reOease
0
aOpKa6$perO./maLn.pO
1
CurrentvaOue>42]
2
NeZvaOue>63]
ίϏϨϏϛϑϒϏϕϑϚϛ ϤϟϛϙϨϜϛϘϠϤϕϘϕϟϒϗϠϦϒϒ
ϔϚύϤϒϚϕϒϞϤϒϟϤϕϗύϜϛϞϘϒϞϛϔϑύϚϕϬ ύϜϛϟϛϙ
ϕϔϙϒϚϕϘϕϒϐϛϔϚύϤϒϚϕϒ
οϒϜϒϝϩϙϨϠϙϒϒϙϜϛϘϠϤύϟϩϞϟϝϠϗϟϝϠϕϔ
Rust
ϕϜϒϝϒϑύϏύϟϩϒϒϛώϝύϟϚϛϏώϕώϘϕϛϟϒ
ϗϠλϑϚύϗϛϒϞϟϩϜϝϛώϘϒϙύۘϒϞϘϕϙϨϢϛϟϕϙ
ϕϞϜϛϘϩϔϛϏύϟϩϪϟϠϞϟϝϠϗϟϠϝϠϏϚϠϟϝϕ
PerO
ϗϛϑύ ϟϛϚύϞϓϑϒϟϚϒώϛϘϩϥϛϒϝύϔϛϤύϝϛϏύ
ϚϕϒπϙϒϚϬϟύϗϕϚϒϜϛϘϠϤϕϘϛϞϩϜϝϕϏϒϞϟϕ
ϟϛ ϤϟϛϏϛϔϏϝύϦύϒϟ
Rust
ϏϛϤϟϛϟϛϜϝϕ
ϐϛϑϚϛϒϑϘϬϕϞϜϛϘϩϔϛϏύϚϕϬϏ
PerO
βϞϘϕ
ϗϟϛϟϛϔϚύϒϟ ϗύϗϪϟϛϞϑϒϘύϟϩ ۘϚύϜϕϥϕϟϒ
ϏϗϛϙϙϒϚϟύϝϕϬϢ ύ=
κϛϞϟϝϠϗϟϠϝϨϟϛϜϛϘϠϤύϟϩϢϛϤϒϟϞϬ!τϟϛϓ
ϜϝϕϥϘϛϏϝϒϙϬϑϛώύϏϕϟϩϒϦϒϛϑϕϚϞϘϛϖύώ
ϞϟϝύϗϣϕϕۘϕϞϜϛϘϩϔϠϒϙ
DD*NM_rZnsq
ϏϙϒϞϟϛ
FF,RaZ

FF,POat\pus
ϬϏϘϬϒϟϞϬϚύϙϚϛϐϛώϛϘϒϒϞϠ
ϝϛϏϨϙϕϚϞϟϝϠϙϒϚϟϛϙϕϜϝϒϑϛϞϟύϏϘϬϒϟϗϠϤϠ
ϛϜϣϕϖ ϜϛϔϏϛϘϬϬϚϒϔύϙϛϝύϤϕϏύϟϩϞϬϞϚϕϔ
ϗϛϠϝϛϏϚϒϏϛϖϝύώϛϟϛϖϞϑύϚϚϨϙϕϏϛϟϘϕϤϕϒ
ϛϟ
FF,RaZ

μϝϛϏϒϝϕϙ ϤϟϛϠϚύϞϏϞϒϝύώϛϟύϒϟϗύϗ
ϚύϑϛπϞϟύϚϛϏϕϙ
FF,POat\pus
ϕ
FF,
POat\pus/anJRust
ϪϟϛϟϙϛϑϠϘϩ
ϜϛϔϏϛϘϬϒϟϕϞϜϛϘϩϔϛϏύϟϩϜϝϕϛώϧϬϏϘϒϚϕϬϢ
ϞϟϝϠϗϟϠϝϕϡϠϚϗϣϕϖϞϟϝϠϗϟϠϝϨϕϔ
Rust
ύ
ϚϒϔύϜϛϙϕϚύϟϩϙύϜϜϕϚϐϙϒϓϑϠ
Rust
ϕ
C

εϔϙϒϚϕϙ
OLb.rs
ϕϞϛϔϑύϑϕϙϡύϖϘ
pOat.
pO
ϞϞϛϑϒϝϓϕϙϨϙ ϠϗύϔύϚϚϨϙϚϕϓϒ
src/OLb.rs

/
#>no_manJOe]
0
pube[ternfnKeOOo_pOat arJu32
^
1
prLntOn! "+eOOoP/^}"arJ 
2
}
pOat.pO

/
#!/usr/bLn/envperO
0
usev5.16
1
useFF,POat\pus
2
3
m\$sKared= tarJet/reOease/
OLbembed.d\OLb 
4
5
m\$ffL=FF,POat\pus

>neZ 
6

$ffL

>OLb $sKared 
/.
$ffL

>OanJ Rust 
//
$ffL

>attacK KeOOo_pOat=>> u32
]=> voLd 
/0
KeOOo_pOat 1 
δϑϒϞϩϙϨϞϛϔϑύϒϙϛώϧϒϗϟ
FF,POat\pus
ϕϠϗύϔϨϏύϒϙϒϙϠϜϠϟϩϗώϕώϘϕϛϟϒϗϒۘ
$ffL

>OLb $sKared
ϔύϟϒϙϠϗύϔϨϏύϒϙ
ϗύϗϛϖϬϔϨϗϙϨϢϛϟϕϙϕϞϜϛϘϩϔϛϏύϟϩ
$ffL

>OanJ Rust
μϛϞϘϒϪϟϛϐϛϠϗύϔύϚϕϬ
DD*ϞύϙϜϛϑϐϝϠϔϕϟϙϛϑϠϘϩ
FF,PaOt\pus
/anJ/anJName>
ϕϙϛϓϚϛώϠϑϒϟ
ϕϞϜϛϘϩϔϛϏύϟϩϡϕϤϕϑϘϬϗϛϚϗϝϒϟϚϛϐϛϬϔϨϗύ
&ϞϛϛϟϏϒϟϞϟϏϠϫϦϕϖϙϛϑϠϘϩϑϛϘϓϒϚώϨϟϩ
ϜϝϒϑϏύϝϕϟϒϘϩϚϛϠϞϟύϚϛϏϘϒϚ 
αύϘϒϒϙϨϑϛώύϏϘϬϒϙϡϠϚϗϣϕϫϕϔώϕώϘϕϛ
ϟϒϗϕϏϜϒϝϘϛϏϨϖϗϛϑ ϗϛϚϞϟϝϠϗϣϕϬ
$ffL

>attacK
ϞϛϔϑύϒϟϡϠϚϗϣϕϫϞϠϗύϔύϚϚϨϙ
ϕϙϒϚϒϙ ϗϛϟϛϝύϬϟϝύϚϞϘϕϝϠϒϟϑύϚϚϨϒϏ/ϕϔ
ϞϛϛϟϏϒϟϞϟϠϫϦϠϫώϕώϘϕϛϟϒϤϚϠϫϡϠϚϗϣϕϫ
ρϠϚϗϣϕϬϞϛϔϑύϒϟϞϬϏϜϝϛϞϟϝύϚϞϟϏϒϕϙϒϚ
ϙϛϑϠϘϬ ϟύϗϤϟϛϚύϑϛϞϘϒϑϕϟϩ ϤϟϛώϨϚϒ
ώϨϘϛϜϒϝϒϗϝϨϟϕϬϡϠϚϗϣϕϖϕϔώϕώϘϕϛϟϒϗϕ
ϕϟϒϗϠϦϒϐϛϜύϗϒϟύ
ξϛώϕϝύϒϙ ϔύϜϠϞϗύϒϙ
/
aOpKa6$carJobuLOd
��
reOease
0
aOpKa6$perO./pOat.pO
1
+eOOoP/1
ίϞϒϝύώϛϟύϒϟϗύϗϕϔύϑϠϙύϚϛ
κύϞϟύϘϛϏϝϒϙϬϜϛϘϠϤϕϟϩϓϒϘύϚϚϠϫϞϟϝϠϗ
ϟϠϝϠϕϔϚύϥϒϖώϕώϘϕϛϟϒϗϕ
ίϛϤϒϝϒϑϚϛϖϝύϔϜϒϝϒϑϒϘύϒϙϚύϥ
src/OLb
.rs

/
usestdmemtransmute
0
1
pubstructArJs^
2
LnLtu32
3
b\u32
4
descrStrLnJ
5
}
6

LmpOArJs^
/.
pubfnneZ LnLtu32b\
u32descrStrLnJ

>
ArJs^
//
ArJs^
/0
LnLtLnLt
/1
b\b\
/2
descrdescr
/3
}
/4
}
/5
}
/6
/
#>no_manJOe]
0.
pube[ternfnJet_struct

>
mutArJs^
0/
Oetm\_struct=unsafe^
transmute Bo[neZ ArJs
neZ 421"KLfromRust!"
.to_strLnJ }
00
m\_struct
01
}
δϑϒϞϩϙϨϑϛώύϏϘϬϒϙϗϚύϥϒϖϞϟύϝϛϖϑϛώϝϛϖ
ArJs
ϒϦϒϛϑϚϛϜϛϘϒϞϟϕϜϛϙ
StrLnJ
Ϗϗϛ
ϟϛϝϛϒϙϨώϠϑϒϟϔύϜϕϞϨϏύϟϩϞϟϝϛϗϠ
δύϟϒϙϙϨϞϛϔϑύϑϕϙϕϙϜϘϒϙϒϚϟύϣϕϫ
ϑϘϬώϛϘϒϒϗύϚϛϚϕϤϚϛϐϛϞϛϔϑύϚϕϬϚύϥϒϖ
ϞϟϝϠϗϟϠϝϨ&ώϒϔϪϟϛϐϛϙϛϓϚϛϛώϛϖϟϕϞϩ Ϛϛ
ϚϒϜϝύϏϕϘϩϚϛϪϟϛϗύϗϟϛ ξϛϔϑύϑϕϙϙϒϟϛϑ
neZ
ϚύϏϢϛϑϗϛϟϛϝϛϐϛώϠϑϒϙϜϒϝϒϑύϏύϟϩ
ϑϏύϤϕϞϘύϕϞϟϝϛϗϠκϠύϑύϘϩϥϒϏϡϠϚϗ
ϣϕϕϜϝϛϞϟϛϞϛϔϑύϑϕϙϠϗύϔύϟϒϘϩϚύϚύϥϠ
ϞϟϝϠϗϟϠϝϠϕϏϒϝϚϒϙϒϐϛϜϒϝϘϛϏϛϙϠϗϛϑϠ
λώϝύϟϕϟϒϏϚϕϙύϚϕϒ ϗύϗϞϛϔϑύϒϟϞϬϛώϧϒϗϟ
StrLnJ
Ϗ
Rust
ϒϞϟϩϑϏύϟϕϜύϞϟϝϛϗۘ
str
ϕ
StrLnJ
ίϤϒϙϓϒϛϟϘϕϤϕϬϙϒϓϑϠ
str
ϕ
StrLnJ
=
str
ϪϟϛϟύϗϚύϔϨϏύϒϙϨϖϞϟϝϛϗϛ
ϏϨϖϞϝϒϔλϚϕϙϒϒϟϡϕϗϞϕϝϛϏύϚϚϠϫϑϘϕϚϠ
ϕϚϒϕϔϙϒϚϬϒϙ ϜϛϪϟϛϙϠϙϨϚϒϙϛϓϒϙϕϞ
ϜϛϘϩϔϛϏύϟϩϕϢϏϞϟϝϠϗϟϠϝϒ&ϚύϞύϙϛϙϑϒϘϒ
ϙϛϓϒϙ ϚϛϞϚϒϗϛϟϛϝϨϙϕϔύϟϒϖϘϕϏϨϙϕϟϒ
ϘϛϑϏϕϓϒϚϕϬϙϕ οϕϜ
StrLnJ
ϜϝϒϑϞϟύϏϘϬϒϟ
ϞϛώϛϖϞϟϝϛϗϠ ϝύϔϙϒϦύϒϙϠϫϏϗϠϤϒϕϐύ
ϝύϚϟϕϝϛϏύϚϚϛϬϏϘϫϦϠϫϞϬSRD6Ϟϟϝϛϗϛϖ
λώϨϤϚϛ
StrLnJ
ϜϛϘϠϤύϒϟϞϬϕϔ
str
ϜϠϟϒϙ
ϜϝϒϛώϝύϔϛϏύϚϕϬϤϒϝϒϔ
.to_strLnJ

λώϝύϟϚϛϒϜϝϒϛώϝύϔϛϏύϚϕϒϛϞϠϦϒϞϟϏϘϬϒϟϞϬ
Ϥϒϝϒϔ
&
ۘ
str=&StrLnJ

ήϛϘϒϒϜϛϑϝϛώϚϛϛώϪϟϛϙϙϛϓϚϛϜϛϤϕϟύϟϩϏ
ϑϛϗϠϙϒϚϟύϣϕϕ

οϒϜϒϝϩϜϛϘϠϤϕϙϑύϚϚϨϒϕϔ
Rust

/
usev5.16
0
pacNaJeM\RustStr
1
2
useFF,POat\pusRecord
3
4
#ƸǙǒǛǥnjNJǏǖǛǜǚǝǔǜǝǚǝǎNJǗǗǥǟ
ǔǘǜǘǚǝǨǖǥǐǎǏǖǒǑNjǒNjǕǒǘǜǏǔǒ
5
record_Oa\out qZ
6
uLntrs_counter

uLntrs_b\
/.
strLnJrs_descr
//

/0
/1
m\$sKared= tarJet/reOease/
OLbembed.d\OLb 
/2
/3
m\$ffL=FF,POat\pus

>neZ
/4
$ffL

>OLb $sKared 
/5
$ffL

>OanJ Rust 
/6
/
#ƻnjǩǑǥnjNJǏǖǛǜǚǝǔǜǝǚǝǛǗNJǢǒǖ
ǙNJǔǏǜǘǖM\RustStrǒ
ǙǚǒǛnjNJǒnjNJǏǖǏǓNJǕǒNJǛrstruct
0.
$ffL

>t\pe "record M\RustStr "
=> rstruct 
0/
00
#ƪǜǜNJǡǒǖNjǒNjǕǒǘǜǏǡǗǝǨǞǝǗǔǠǒǨ
Jet_structnjǗNJǢǙNJǔǏǜ
01
#ǒǝǔNJǑǥnjNJǏǖǡǜǘǐǎǏǖǘǜǗǏǏ
ǘNjǤǩnjǕǏǗǗǝǨnjǥǢǏǛǜǚǝǔǜǝǚǝ
02
$ffL

>attacK Jet_struct=>>]=>
rstruct sub^
03
m\ $Lnner$cOass [email protected]_
04
$Lnner

> 
05
} 
06
0
pacNaJemaLn
1.
1/
#ƲǛǙǘǕǦǑǝǏǖǗNJǢǙNJǔǏǜM\
RustStrǎǕǩǚNJNjǘǜǥǛ
NjǒNjǕǒǘǜǏǔǘǓ
10
m\$str=M\RustStr

>Jet_struct

11
12
prLntf"StructLs>%d]>%d]>%s]?n"

13
$str

>rs_counter
14
$str

>rs_b\
15
$str

>rs_descr
ξϚύϤύϘύϙϨϛώϧϬϏϘϬϒϙϜύϗϒϟ
M\RustStr
ϏϗϛϟϛϝϛϙϛϜϕϞϨϏύϒϙϞϟϝϠϗϟϠϝϠϑύϚϚϨϢ
ϗϛϟϛϝϠϫϙϨϢϛϟϕϙϛϟϚύϥϒϖώϕώϘϕϛϟϒϗϕ
εϔϔύϛϞϛώϒϚϚϛϞϟϒϖϙϛϑϠϘϬ
FF,
ϔύϜϕϞϩ
record_Oa\out
ϙϛϓϒϟώϨϟϩϟϛϘϩϗϛϛϑϚύ
ϚύϜύϗϒϟ&ϚύϞύϙϛϙϑϒϘϒϚϒϟ ϚϛϘϠϤϥϒϟύϗ
ϚϒϑϒϘύϟϩ ϜϛϪϟϛϙϠϙϨϏϨϑϒϘϬϒϙϚύϥϠ
ϡϠϚϗϣϕϫϏϛϟϑϒϘϩϚϨϖϜύϗϒϟ
δύϟϒϙϙϨϞϛϔϑύϒϙϚϛϏϨϖϟϕϜϑύϚϚϨϢϏϜύ
ϗϒϟϒ
M\RustStr
$ffL

>t\pe "record
M\RustStr "=> rstruct 
ϕϚύϔϨ
Ϗύϒϙϒϐϛ
rstruct

αύϘϒϒϙϨ ϗύϗϛώϨϤϚϛ ϞϛϔϑύϒϙώϕϚϑϕϚϐ
ϑϛώϕώϘϕϛϟϒϗϕϕϪϞϜϛϝϟϕϝϠϒϙϒϒϏϜϝϛ
ϞϟϝύϚϞϟϏϛϕϙϒϚϜύϗϒϟύ
M\RustStr

λώϝύϟϕϟϒϏϚϕϙύϚϕϒϚύ
$ffL

>attacK
Jet_struct=>>]=> rstruct 
sub^
ϔϑϒϞϩϏϗύϤϒϞϟϏϒϏϛϔϏϝύϦύϒϙϛϐϛ
ϔϚύϤϒϚϕϬϡϠϚϗϣϕϕϙϨϠϗύϔϨϏύϒϙ Ϥϟϛ
ϢϛϟϕϙϜϛϘϠϤϕϟϩϚύϥϠϞϟϝϠϗϟϠϝϠ
rstruct

ούϗϓϒϙϨϠϗύϔϨϏύϒϙϗύϞϟϛϙϚϠϫϡϠϚϗϣϕϫ
ϛώϝύώϛϟϤϕϗ ϜϒϝϒϑύϏύϬambcpcdϜϛϞϘϒϑϚϕϙ
ύϝϐϠϙϒϚϟϛϙίϑύϚϚϛϙϞϘϠϤύϒϛϚϚϒϑϒ
ϘύϒϟϚϕϤϒϐϛϗϝϛϙϒϏϨϔϛϏύώϕώϘϕϛϟϒϤϚϛϖ
ϡϠϚϗϣϕϕ ϚϛϟϠϑύϙϛϓϚϛϑϛώύϏϕϟϩϗύϗϠϫ
ϟϛϑϛϜϛϘϚϕϟϒϘϩϚϠϫϛώϝύώϛϟϗϠϑϛ/ϜϛϞϘϒ
ϏϨϔϛϏύϏϚϒϥϚϒϖώϕώϘϕϟϒϗϕ
δύϟϒϙϙϨϜϝϛϞϟϛϝύϞϜϒϤύϟϨϏύϒϙϞϛϑϒϝϓϕ
ϙϛϒϚύϥϒϖϞϟϝϠϗϟϠϝϨ
οϒϜϒϝϩϙϨϟύϗϓϒϙϛϓϒϙϜϒϝϒϑύϟϩϞϟϝϠϗϟϠ
ϝϠϏϚύϥϠώϕώϘϕϛϟϒϗϠώϒϔϥύϙύϚϞϟϏύϞn_aL
ϕϠϗύϔύϟϒϘϬϙϕεϔϙϒϚϕϙϚύϥϜϒϝϘϛϏϨϖ
ϗϛϑϝύώϛϟϨϞϛϞϤϒϟϤϕϗϛϙ
/
usev5.16
0
1
pacNaJeM\Counter
2
3
useFF,POat\pusRecord
4
5
record_Oa\out qZ
6
uLntrs_counter

uLntrs_b\
/.

//
/0
pacNaJemaLn
/1
/2
m\$sKared= tarJet/reOease/
OLbembed.d\OLb 
/3
/4
m\$ffL=FF,POat\pus

>neZ
/5
$ffL

>OLb $sKared 
/6
$ffL

>OanJ Rust 
/
0.
#ƻǘǑǎNJǏǖǗǘnjǝǨǛǜǚǝǔǜǝǚǝǎNJǗǗǥǟ
ǛǒǖǏǗǏǖCounterStr
0/
$ffL

>t\pe record M\Counter =>
CounterStr 
00
01
#ƪǜǜNJǡǒǖǞǝǗǔǠǒǒǒǑNjǒNjǕǒǘǜǏǔǒ
02
$ffL

>attacK createCounter=>>
CounterStr ]=> opaque 
03
$ffL

>attacK JetCounterVaOue=>>
opaque ]=> u32 
04
$ffL

>attacK LncrementCounterB\
=>> opaque ]=> u32 
05
06
#ƻǘǑǎNJǏǖǛǜǚǝǔǜǝǚǝǒǑǔǘǜǘǚǘǓ
ǖǥǛǘǑǎNJǎǒǖǛǡǏǜǡǒǔ
0
m\$counter=M\Counter

>neZ
1.
rs_counter=>10
1/
rs_b\=>2
10

11
12
#ƻǘǑǎNJǏǖǘNjǤǏǔǜǛǡǏǜǡǒǔNJǒ
ǒǛǙǘǕǦǑǝǏǖǏǍǘǎǕǩǚNJNjǘǜǥ
13
m\$ptr=createCounter $counter

14
sa\JetCounterVaOue $ptr 
15
sa\LncrementCounterB\ $ptr 
δϑϒϞϩϙϨϕϞϜϛϘϩϔϠϒϙ
opaque
ϏϗύϤϒ
ϞϟϏϒϏϛϔϏϝύϦύϒϙϛϐϛϔϚύϤϒϚϕϬϡϠϚϗϣϕϕ
createCounter
ϟύϗϗύϗϚύϙϚϠϓϒϚϞϨ
ϝϛϖϠϗύϔύϟϒϘϩϑϘϬϝύώϛϟϨϞϛϞϟύϘϩϚϨϙϕ
ϜϛϑϗϘϫϤϒϚϚϨϙϕϡϠϚϗϣϕϬϙϕκϛϜϝϕϓϒ
ϘύϚϕϕϪϟϛϟϠϗύϔύϟϒϘϩϙϛϓϚϛϜϝϒϏϝύϟϕϟϩ
ϏϞϟϝϠϗϟϠϝϠϚϠϓϚϛϐϛϡϛϝϙύϟύϞϜϛϙϛϦϩϫ
ϡϠϚϗϣϕϕ
a_qr

ί
Rust
ϗϛϑϒϚϕϤϒϐϛϙϒϚϬϟϩϚϒϚύϑϛ
δύϜϠϞϗύϒϙ
/
aOpKa6$perO./pOat.pO
0
10
1
12
εϟϛϐϛ ϙϨϞϛϔϑύϘϕϚϛϏϨϖϛώϧϒϗϟϞϤϒϟϤϕϗύ
ϕϕϔϙϒϚϕϘϕϒϐϛ
οϒϜϒϝϩϙϨϠϙϒϒϙϝύώϛϟύϟϩϞώϛϘϩϥϒϖ
ϤύϞϟϩϫϞϘϠϤύϒϏ ϗϛϟϛϝϨϒϚύϙϙϛϐϠϟϜϝϕϐϛ
ϑϕϟϩϞϬϜϝϕϕϞϜϛϘϩϔϛϏύϚϕϕϜϛϑϗϘϫϤύϒϙϨϢ
ώϕώϘϕϛϟϒϗ&ϚϒϟϛϘϩϗϛϚύ
Rust
λϞϟύϘϛϞϩ
ϚύϠϤϕϟϩϞϬϏϞϒϪϟϛύϏϟϛϙύϟϕϤϒϞϗϕϞϛώϕϝύϟϩ
ϜϝϕϠϞϟύϚϛϏϗϒϜϒϝϘϛϏϛϐϛϙϛϑϠϘϬ
αϘϬϪϟϛϐϛϚύϙϜϝϕϐϛϑϬϟϞϬ
ModuOeBuLOd
ϕ
ModuOeBuLOdFF,Rust

μϝϕϏϒϑϒϙϞϟϝϠϗϟϠϝϠϜϝϛϒϗϟύϗϏϕϑϠ
/
BuLOd.P/
0
ffL
1
OLb
2
pOat.pO
ί
OLb
ϠϚύϞϘϒϓύϟ
PerO
ώϕώϘϕϛϟϒϗϕϚύϥϒϐϛ
Ϝϝϛϒϗϟύ Ϗ
ffL
ۘ
Rust
ϕϞϢϛϑϚϕϗϕ
BuLOd.
P/
ϏϨϐϘϬϑϕϟϟύϗ
/
#!/usr/bLn/env/perO
0
1
usestrLct
2
useModuOeBuLOd
3
useModuOeBuLOdFF,Rust
4
5
m\$buLOd=ModuOeBuLOdFF,
Rust

>neZ
6
moduOe_name
=>
M\CounterRecord 

dLst_abstract
=> FF,
test 
/.
create_maNefLOe_pO=>
tradLtLonaO 
//
dLst_autKor
=> DenLs
FedoseevdenLs.
[email protected]> 
/0
create_readme
=> 0 
/1
OLcense
=> perO 
/2
confLJure_requLres=>^
/3
ModuOeBuLOd =>0.3
/4
FLOe:KLcK =>0
/5
ModuOeBuLOdFF, => 0.1

/6
}
/
buLOd_requLres=>^}
0.
requLres
=>^
0/
perO
=>
5.016000 
00
FF,POat\pus =>0
01
FF,POat\pus/anJ
Rust =>0
02
03
}
04
recommends
=>^}
05
recursLve_test_fLOes=>0
06
sLJn
=>0
0
create_readme
=>1
1.
create_OLcense
=>1
1/

10
11
$buLOd

>create_buLOd_scrLpt
λώϝύϟϕϟϒϏϚϕϙύϚϕϒϚύϕϞϜϛϘϩϔϛϏύϚϕϒ
ModuOeBuLOdFF,Rust
ϏϙϒϞϟϛ
ϛώϨϤϚϛϐϛ
ModuOeBuLOd
δύϜϠϞϗύϒϙ
ϠϞϟύϚϛϏϗϠ ϜϛϑϐϛϟύϏϘϕϏύϒϙ
BuLOd
ϞϗϝϕϜϟ
/
aOpKa6$perO./BuLOd.P/
0
Can tfLnddLstpacNaJesZLtKout
aMAN,FESTfLOe
1
Run BuLOdmanLfest toJenerate
one
2
3
:ARN,N*PossLbOemLssLnJor
corrupt MAN,FEST fLOe.
4
NotKLnJtoenterfor provLdes
fLeOdLnmetafLOe.
5
CreatedMMson
6
CreatLnJneZ BuLOd scrLptfor
M\Counter

Record versLon v0
.0.2
ξϛώϕϝύϒϙϚύϥϕϙϛϑϠϘϕ
/
aOpKa6$./BuLOd
0
carJobuLOd
��
reOease
1
UpdatLnJreJLstr\`Kttps//
JLtKub.com/rust

OanJ/
crates.Lo

Lnde[`
2
CompLOLnJZLnapLv0.2.5
3
CompLOLnJOLbcv0.2.4
4
CompLOLnJZLnapL

buLOdv0.1.1
5
CompLOLnJadvapL32

s\sv0.1.2
6
CompLOLnJrandv0.3.12

CompLOLnJembedv0.1.0 fLOe
///Users/aOpKa6/proMects/
tests/buLOd/ffL
/.
BuLOdLnJM\Counter

Record
πϞϟύϚύϏϘϕϏύϒϙ
/
aOpKa6$./BuLOdLnstaOO
0
carJobuLOd
��
reOease
1
BuLOdLnJM\Counter

Record
2
FLOesfoundLnbOLb/arcK
LnstaOOLnJfLOesLnbOLb/OLb
LntoarcKLtecturedependent
OLbrar\tree
3
,nstaOOLnJ/Users/aOpKa6/perO5/
perObreZ/perOs/perO

5.20.3/OLb
/sLte_perO/5.20.3/darZLn

2
OeveO/auto/M\Counter/Record/
Record.bundOe
4
,nstaOOLnJ/Users/aOpKa6/perO5/
perObreZ/perOs/perO

5.20.3/OLb
/sLte_perO/5.20.3/darZLn

2
OeveO/M\Counter/Record.pm
M\Counter/Record/Record.bundOe
Ϫϟϛϕ
ϒϞϟϩϚύϥύ
Rust
ώϕώϘϕϛϟϒϗύ ϠϞϟύϚϛϏϘϒϚϚύϬ
ϏϞϕϞϟϒϙϠ
οϒϜϒϝϩϙϨϠϙϒϒϙϝύώϛϟύϟϩϞ
Rust
ϗϛϑϛϙ
ϕϔ
PerO
ϕ ϞύϙϛϒϐϘύϏϚϛϒ ϞϛώϕϝύϟϩϕϔϪϟϛϐϛ
ϜϛϘϚϛϣϒϚϚϨϒϜύϗϒϟϨ ϗϛϟϛϝϨϒϕϚύANA/
ϏϨϘϛϓϕϟϩϙϛϓϚϛ
ίϣϒϘϛϙϏϞϒ ϤϟϛϛϜϕϞύϚϛϏϪϟϛϖϞϟύϟϩϒ
ϞϛϞϟϛϝϛϚϨ
PerO
ϜϝϕϙϒϚϕϙϛϗϘϫώϛϙϠ
ϬϔϨϗϠ ϗϛϟϛϝϨϖϠϙϒϒϟϕϔϛώϝύϓύϟϩϕϔϞϒώϬ
AώϕώϘϕϛϟϒϗϠούϗϤϟϛϟϒϜϒϝϩϏϨϏϞϒϐϑύ
ϞϙϛϓϒϟϒϏϔϬϟϩϚϠϓϚϠϫώϕώϘϕϛϟϒϗϠ ϢϛϟϩϚύ
+_t_ ϕϕϞϜϛϘϩϔϛϏύϟϩϏϗϛϝϨϞϟϚϨϢϣϒϘϬϢ

Τυύψϑδυτώϑυυς
5
Оͼзо΋ANA/зͻноΚͼ΋ь0./3;
ΰϓρϐψϊπϑώρχώϐώόψύϒυϐυϑύϛϕύώςψύώϊANA/
χπϏϐώϘυτϘψωόυϑϟϖ
ͬ΍ͻ΍иΌ΍икͻ
ۦ
κϛϏϨϢϑϕϞϟϝϕώϠϟϕϏϛϏۘ/32
ۦ
κϛϏϨϢϏϨϜϠϞϗϛϏۘ556
НоͽыемоͿΎли
FRRNAmmLJcqNf_OrmN+S
+TTPCooNLesPKantom-S
ۘϝύϞϥϕϝϒ
ϚϕϒϑϘϬ
+TTPCooNLes
ϗϛϟϛϝϛϒϜϛϔϏϛϘϬ
ϒϟϕϞϜϛϘϩϔϛϏύϟϩϡύϖϘϨϞϗϠϗύϙϕϡϛϝϙύϟύ
ϗϛϟϛϝϨϒϜϝϕϙϒϚϬϫϟϞϬϏϏϒώϞϗϝύϜϒϝϒ
Nf_OrmN+S
ϊϟϛώϨϏύϒϟϜϛϘϒϔϚϛ ϗϛϐϑύϗϠ
ϗϕϠϞϟύϚύϏϘϕϏύϫϟϞϬϏϝϒϔϠϘϩϟύϟϒϝύώϛϟϨ
KqϗϛϑύϚύϞϟϛϝϛϚϒϗϘϕϒϚϟύϜϝϕϔύϐϝϠϔϗϒϝϒ
ϞϠϝϞύϏNf_OrmN+S ύϜϛϞϘϒϑϠϫϦϕϒϝϒϞϠϝϞϨ
ϙϛϓϚϛϔύϐϝϠϔϕϟϩ ϕϞϜϛϘϩϔϠϬϜϛϘϠϤϒϚ
ϚϨϒϗϠϗϕ ϞϜϛϙϛϦϩϫώϛϘϒϒϘϒϐϗϛϏϒϞϚϛϐϛ
ϏϒώϗϘϕϒϚϟύ ϚύϜϝϕϙϒϝ
/:PUserAJent

EAA+*R
*CC-,T
ۘϪϟϛϛώϏϬϔϗύϗώϕώϘϕϛϟϒϗϒ
MJ`eaaKJr

ϗϛϟϛϝύϬϜϛϔϏϛϘϬϒϟϚύϘϒϟϠϡϛϝϙϕϝϛϏύϟϩϕ
ϗϛϙϜϕϘϕϝϛϏύϟϩϗϛϑϏϙύϥϕϚϚϨϒϕϚϞϟϝϠϗ
ϣϕϕ
-ma_McRcvrBmN_JOMMCvrp_arVqM_rc
/ocaOeTe[tDomaLnOOE[tract
;sOate
ϜϛϔϏϛϘϬϒϟϕϔϏϘϒϗύϟϩϞϟϝϛϗϕϑϘϬ
ϜϒϝϒϏϛϑύϕϔϥύώϘϛϚϛϏ
Te[t;sOate
ϑϘϬ
ϜϛϞϘϒϑϠϫϦϒϐϛϕϞϜϛϘϩϔϛϏύϚϕϬϏ
/ocaOe
Te[tDomaLnOO

BM.RJOZ
DOMTLn\
ۘϪϟϛϙϕϚϕϙύϘϕϞϟϕϤϚϨϖ
FR.-/V.-BM.ϜύϝϞϒϝϞϜϛϑϑϒϝϓϗϛϖ
ASSϞϒϘϒϗϟϛϝϛϏ
/
m\$dom=DOMTLn\

>neZ EOF 
0
dLv>
1
pLd="a">Test/p>
2
pLd="b">123/p>
3
/dLv>
4
EOF
5
6
sa\$dom

>at #b

>te[t#123

/.
$dom

>fLnd dLvp

>Oast

>append
pLd="c">456/p> 
//
/0
sa\$dom

>at #c

>te[t#456
AnnpcN_pLnM
AppremarNpO
ۘϪϟϛϠϟϕϘϕϟύ ϜϛϔϏϛϘϬϫ
ϦύϬϔύϜϠϞϟϕϟϩϘϛϗύϘϩϚϨϖϏϒώϞϒϝϏϒϝϚύϛϞ
ϚϛϏϒ.mKmMJaJmsqϑϘϬϛϟϛώϝύϓϒϚϕϬϜϝϒϔϒϚϟύ
ϣϕϖϚύϛϞϚϛϏϒ
pcN_pL
ίϗύϤϒϞϟϏϒϜύϝύϙϒϟ
ϝύϠϗύϔϨϏύϒϟϞϬϜϠϟϩϗϡύϖϘϠϞϜϝϒϔϒϚϟύϣϕϕ
Ϗϡϛϝϙύϟϒ._pLbmuO ϜϛϞϘϒϔύϜϠϞϗύϜϝϒϔϒϚ
ϟύϣϕϬϙϛϓϒϟώϨϟϩϛϟϗϝϨϟύϏώϝύϠϔϒϝϒϜϛύϑ
ϝϒϞϠMma_Mfmqr1...
BctcMRpcn_OBcn_pqc
DeveOTrepanDeparse
ۘϪϟϛϜϘύϐϕϚ
ϑϘϬϛϟϘύϑϤϕϗύ
DeveOTrepan
ϗϛϟϛϝϨϖ
ϑϛώύϏϘϬϒϟϑϏϒϚϛϏϨϒϗϛϙύϚϑϨ
bcn_pqc
ϕ
bct_M
ηϛϙύϚϑύbcn_pqcϜϛϔϏϛϘϬϒϟϜϛϗύϔύϟϩ
ϗύϗϛϖϗϛϑώϠϑϒϟϏϨϜϛϘϚϬϟϩϞϬϏϞϘϒϑϠϫϦϒϖ
ϕϚϞϟϝϠϗϣϕϕ ϤϟϛώϨϏύϒϟϜϛϘϒϔϚϛ ϗϛϐϑύ
ϛϟϘύϑϤϕϗϛϞϟύϚϛϏϕϘϞϬϚύϞϟϝϛϗϒ Ϗϗϛϟϛϝϛϖ
ϚϒϞϗϛϘϩϗϛϛϜϒϝύϣϕϖϕϚϒϬϞϚϛϗύϗύϬϕϔϚϕϢ
ώϠϑϒϟϏϨϜϛϘϚϬϟϩϞϬϚύϞϘϒϑϠϫϦϒϙϥύϐϒ
/
Lf Jrep^$_eq foo }@bar
^...}
ϏϨϝύϓϒϚϕϒϏϚϠϟϝϕ
Lf
ϕϘϕϠϓϒώϘϛϗϗϛϑύ
Jrep
ϑϘϬϗύϗϛϐϛϟϛϟϒϗϠϦϒϐϛϔϚύϤϒϚϕϬ
@bar
=ηϛϙύϚϑύbcn_pqcϜϛϗύϓϒϟϗύϗύϬ
ϕϙϒϚϚϛϛϜϒϝύϣϕϬώϠϑϒϟϏϨϜϛϘϚϬϟϩϞϬ
ϞϘϒϑϠϫϦϒϖ
/
deparse
0
#codetoberunne[t...
1
$_
2
#contaLnedLn...
3
$_eq foo
._JMB,*.*rcp_rmp
ιϛϑϠϘϩ
MaLOD.,M,terator
ϜϛϔϏϛϘϬ
ϒϟϛϝϐύϚϕϔϛϏύϟϩϜϝϛϏϒϝϗϠB,*.ϔύϜϕϞϒϖ
ϏϜϛϤϟϛϏϨϢϞϛϛώϦϒϚϕϬϢϕϑϛώύϏϘϬϟϩ
B,*.ϜϛϑϜϕϞϩϗϚϕϙλϞϚϛϏϚϛϒϛϟϘϕϤϕϒ
ϛϟ
MaLOD.,M
ۘϪϟϛϏϛϔϙϛϓϚϛϞϟϩϛϝϐύ
ϚϕϔϛϏύϟϩϚϒώϘϛϗϕϝϠϫϦϠϫϞϬϜϛϟϛϗϛϏϠϫ
ϛώϝύώϛϟϗϠϜϕϞϒϙ
SOJvNMcbec
κϒϑύϏϚϛϜϛϬϏϕϏϥϕϖϞϬϏ[email protected]ϞϕϞϟϒϙ
ϚϨϖϏϨϔϛϏ
nMcbec&0
ϟϒϜϒϝϩϙϛϓϚϛϕϞϜϛϘϩ
ϔϛϏύϟϩϏncpMϜϝϛϐϝύϙϙύϢ ϗϛϟϛϝϨϒώϠϑϠϟϝύ
ώϛϟύϟϩϚύϪϟϛϖϜϘύϟϡϛϝϙϒ ϞϜϛϙϛϦϩϫϙϛ
ϑϠϘϬ
UnL[POedJe
ιϛϑϠϘϩϜϛϔϏϛϘϬϒϟϚύ
ϘϛϓϕϟϩϛϐϝύϚϕϤϒϚϕϬϚύϜϝϛϣϒϞϞ ϚύϜϝϕϙϒϝ
ϔύϜϝϒϟϕϟϩϤϟϒϚϕϒϕϘϕϔύϜϕϞϩϡύϖϘϛϏ ϞϠϗύ
ϔύϚϕϒϙϞϜϕϞϗύϡύϖϘϛϏϕϞϗϘϫϤϒϚϕϖ
NcpM4Cvnmpr
PerO6E[port
ϝϒύϘϕϔϠϒϟNcpM4ϝϛϘϩ
Lse[port
ϑϘϬNcpM3ϙϛϑϠϘϒϖ ϜϛϔϏϛϘϬϬ
ϕϔϬϦϚϛϪϗϞϜϛϝϟϕϝϛϏύϟϩϡϠϚϗϣϕϕϙϛϑϠϘϬ
κύϜϝϕϙϒϝ ϞϝύϏϚϒϚϕϒϞCvnmprcp
/
pacNaJeM\ModuOe
_
pacNaJeM\ModuOe
0
useE[porter
_
usePerO6E[port
1
_
2
[email protected];PORT=qZ foobar _
subfooLse[port MANDATOR< 
3
_
sub
bar
Ls
e[port

MANDATOR<

4
_
5
[email protected];PORT_O.=qZ ba] _
subba]Lse[port DEFAU/T
qu[ 
6
our%E;PORT_TA*S=
_

qZ qu[=>>qZ ba] ] _
NePcJObcv
εϚϑϒϗϞϨNmqrepcqoM
ϑϛϘϓϚϨ
ϜϒϝϕϛϑϕϤϒϞϗϕ
ϜϒϝϒϞϛϔϑύϏύϟϩϞϬϑϘϬϑϛϞϟϕϓϒϚϕϬϛϜϟϕ
ϙύϘϩϚϛϖϜϝϛϕϔϏϛϑϕϟϒϘϩϚϛϞϟϕκύϜϝϕϙϒϝ
ϪϟϛϙϛϓϚϛϞϑϒϘύϟϩϞϜϛϙϛϦϩϫϗϛϙύϚϑϨ
RE,NDE;
ϚϛϏϪϟϛϙϞϘϠϤύϒϜϛϟϝϒώϠϒϟϞϬ
ϪϗϞϗϘϫϔϕϏϚύϬώϘϛϗϕϝϛϏϗύϏϞϒϖϟύώϘϕϣϨ
ιϛϑϠϘϩ
PJReLnde[
ϏϨϜϛϘϚϬϒϟϞϛϔϑύϚϕϒ
ϕϚϑϒϗϞύϞϜϛϙϛϦϩϫ
CREATE,NDE;
CONCURRENT/<
ϗϛϟϛϝϨϖϙϛϓϒϟϏϨϜϛϘ
ϚϬϟϩϞϬώϒϔώϘϛϗϕϝϛϏϗϕδύϟϒϙϛϚϚύϤϕϚύϒϟ
ϟϝύϚϔύϗϣϕϫ ϏϗϛϟϛϝϛϖϠϑύϘϬϒϟϞϟύϝϨϖ
ϕϚϑϒϗϞϕϜϒϝϒϕϙϒϚϛϏϨϏύϒϟϚϛϏϨϖούϗϕϙ
ϛώϝύϔϛϙϑϛϞϟϕϐύϒϟϞϬϜϒϝϒϞϛϔϑύϚϕϒϕϚϑϒϗϞύ
ώϒϔϑϘϕϟϒϘϩϚϛϖώϘϛϗϕϝϛϏϗϕ
ОͼноͽлΜнныемоͿΎли
Scpc_M
1./.
ίϨϥϘϛϛώϚϛϏϘϒϚϕϒ&ϑϒ ϞϒϝϕύϘϕϔύϟϛϝύ
SereaO
ίϚϛϏϨϢϏϨϜϠϞϗύϢϕϞϜϝύϏϘϒϚϛ
ϙϚϛϓϒϞϟϏϛώύϐϛϏ ϏϗϘϫϤύϬϚϒϞϗϛϘϩϗϛϞϘϠ
ϤύϒϏϗϝύϢύϑϒϞϒϝϕύϘϕϔύϟϛϝύ ϗϛϟϛϝϨϒώϨϘϕ
ϛώϚύϝϠϓϒϚϨϜϝϕϟϒϞϟϕϝϛϏύϚϕϒϞϜϛϙϛϦϩϫ
ϡύϔϒϝύAD-
+SM/T_MJb_rmp
.41
ιϛϑϠϘϩ
-SONVaOLdator
ϜϛϔϏϛϘϬϒϟϜϝϛ
ϏϛϑϕϟϩϜϝϛϏϒϝϗϠϑύϚϚϨϢϏϡϛϝϙύϟϒ+SM/
ϚύϞϛϛϟϏϒϟϞϟϏϕϒ+SM/ϞϢϒϙϒίϚϛϏϛϖϏϒϝ
ϞϕϕϠϑύϘϒϚύϜϛϑϑϒϝϓϗύϕϞϜϛϘϩϔϛϏύϚϕϬ
ϙϛϑϠϘϒϖ
ϕ
ϑϘϬϔύϐϝϠϔϗϕ
+SM/ϞϢϒϙϨϏϡϛϝϙύϟϒZ_NM&Ϝϛϑϑϒϝϓϕ
ϏύϫϟϞϬϟϛϘϩϗϛ
ϕ

ξϏϬϔύϚϛϪϟϛϞϟϒϙ Ϥϟϛ
ϕ
TLn\
ϏϚϒϗϛϟϛϝϨϢϞϘϠϤύϬϢϚϒϗϛϝϝϒϗϟϚϛ
ϏϨϜϛϘϚϬϫϟϝύϔώϛϝϡϛϝϙύϟύZ_NM
N_rfRmmMq
14.
ίϨϥϘϛϛώϚϛϏϘϒϚϕϒϑϕϞϟϝϕώϠϟϕϏύN_rfRmmMq
ϏϗϘϫϤύϫϦϕϖϙϛϑϠϘϕϑϘϬϝύώϛϟϨϞϜϠϟϬϙϕ
ϚύϝύϔϘϕϤϚϨϢϜϛϑϑϒϝϓϕϏύϒϙϨϢϏNcpMϜϘύϟ
ϡϛϝϙύϢίϚϛϏϛϖϏϒϝϞϕϕϏϗϘϫϤϮϚϙϛϑϠϘϩ
FLOeSpecAmLJaOS
ϑϘϬϜϛϑϑϒϝϓϗϕ
ϜϘύϟϡϛϝϙϨANJe_MS
.*.CRZncq
0/0
ίϚϛϏϛϖϏϒϝϞϕϕϑϕϞϟϝϕώϠϟϕϏύ
M,ME

T\pes
ϛώϚϛϏϘϒϚύώύϔύϑύϚϚϨϢ.*.CϟϕϜϛϏ ϏϞϛ
ϛϟϏϒϟϞϟϏϕϕϞϟϒϗϠϦϕϙϞϛϞϟϛϬϚϕϒϙϏ*A/A
οϝϒώϛϏύϚϕϬϗϏϒϝϞϕϕNcpMϞϚϕϓϒϚϨϑϛ34
srd6_MM
../5
μϝύϐϙύ
utfaOO
ϟϛϟύϘϩϚϛϏϗϘϫϤύϒϟSRD
6ϑϘϬϕϞϢϛϑϚϛϐϛϗϛϑύϜϝϛϐϝύϙϙϨ Ϝϒϝϒϗϛ
ϑϕϝϠϒϟϛϟϗϝϨϏύϒϙϨϒϡύϖϘϨϕύϝϐϠϙϒϚϟϨ
ϜϒϝϒϑύϚϚϨϒϏϗϛϙύϚϑϚϛϖϞϟϝϛϗϒ ϝύϔϝϒϥύ
ϒϟϕϞϜϛϘϩϔϛϏύϚϕϒϜϛϞϘϒϑϛϏύϟϒϘϩϚϛϞϟϒϖ
?N
^...}
ϑϘϬϔύϑύϚϕϬϫϚϕϗϛϑϞϕϙϏϛϘϛϏϜϛϕϢ
ϕϙϒϚϕϕϟϑίϚϛϏϛϖϏϒϝϞϕϕϜϛϬϏϕϘύϞϩϏϛϔ
ϙϛϓϚϛϞϟϩϛϟϗϘϫϤύϟϩϪϡϡϒϗϟϜϝύϐϙϨ ϞϜϛ
ϙϛϦϩϫ
noutfaOO

NB-
0./3
ίϨϥϒϘϚϛϏϨϖϝϒϘϕϔ
PD/
ۘϙϛϑϠϘϬϑϘϬϝύ
ώϛϟϨϚύϠϤϚϨϢϏϨϤϕϞϘϒϚϕϖϕϛϟϛώϝύϓϒϚϕϬ
ϑύϚϚϨϢηύϗϠϗύϔύϚϛϏϓϠϝϚύϘϒϕϔϙϒϚϒϚϕϖ
ۘϪϟϛϛϟϜϛϘϕϝϛϏύϚϚϨϖϝϒϘϕϔϞϕϞϜϝύϏϘϒϚϕ
ϒϙϏϞϒϢϔύϙϒϤύϚϕϖϛώϚύϝϠϓϒϚϚϨϢϏϜϝϒϑϨ
ϑϠϦϒϖϏϒϝϞϕϕϞϠϘϠϤϥϒϚϚϛϖϜϛϑϑϒϝϓϗϛϖ
42ώϕϟϚϨϢϣϒϘϨϢ
ncpM
3013
ίϨϥϘύϚϛϏύϬϏϒϝϞϕϬNcpM3013ϑϘϬϝύϔ
ϝύώϛϟϤϕϗϛϏίϚϛϏϛϙϝϒϘϕϔϒϜϝϛϏϒϑϒϚύ
ϛϜϟϕϙϕϔύϣϕϬ ϗϛϟϛϝύϬϠϞϗϛϝϕϘύϏϨϜϛϘ
ϚϒϚϕϒύϝϕϡϙϒϟϕϤϒϞϗϕϢϛϜϒϝύϣϕϖ ϟύϗϕϢ
ϗύϗϞϘϛϓϒϚϕϒ ϏϨϤϕϟύϚϕϒϕϠϙϚϛϓϒϚϕϒ
ηϝϛϙϒϟϛϐϛ ϟϒϜϒϝϩώϨϞϟϝϒϒϞϟύϘϕϝύώϛϟύϟϩ
ϛϜϒϝύϣϕϕ

ϕ
��
εϞϜϝύϏϘϒϚϛϚϒϞϗϛϘϩ
ϗϛϛϥϕώϛϗϞϗϝύϢϛϙϕϚϟϒϝϜϝϒϟύϟϛϝύ
ϚύϜϝϕϙϒϝ ϏϡϠϚϗϣϕϕn_aL
perO

e
pacN":+200000"?0
AnnncpM`pcu
.52
λώϚϛϏϕϘϞϬϙϒϚϒϑϓϒϝNcpMϕϚϞϟύϘϘϬϣϕϖ
ncpM`pcuίϚϛϏϛϖϏϒϝϞϕϕϜϛϬϏϕϘύϞϩ
ϜϛϑϑϒϝϓϗύϜϒϝϒϙϒϚϚϛϖϛϗϝϠϓϒϚϕϬ
PER/BRE:_/,B_PREF,;
ϗϛϟϛϝύϬϜϛϔϏϛ
ϘϬϒϟϑϛώύϏϕϟϩϗύϟύϘϛϐϞώϕώϘϕϛϟϒϗύϙϕ
ϕϙϒϫϦϒϖϜϝϕϛϝϕϟϒϟϚύϑϘϛϗύϘϩϚϨϙϕ
ϗύϟύϘϛϐύϙϕώϕώϘϕϛϟϒϗncpM`pcu&ϟϒ
./
OLb$PER/5/,B
οϒϜϒϝϩϜϝϕϔύϐϝϠϔϗϒ
ϡύϖϘϛϏώϠϑϒϟϛϟϑύϏύϟϩϞϬϜϝϒϑϜϛϤϟϒϚϕϒ
f�nqϝϒϞϠϝϞύϙϕϛώϬϔύϟϒϘϩϚϛϜϝϛϏϒϝϬϟϩϞϬ
ϕϢϞϒϝϟϕϡϕϗύϟ
nmbM_rmpq
2..
ίϨϥϒϘϚϛϏϨϖϙύϓϛϝϚϨϖϝϒϘϕϔϠϟϕϘϕϟ
ϑϘϬϗϛϚϏϒϝϟϕϝϛϏύϚϕϬNMBϡύϖϘϛϏοϒ
ϜϒϝϩϏϞϒϏϢϛϑϬϦϕϒϏϑϕϞϟϝϕώϠϟϕϏϙϛϑϠϘϕ
ϕϞϜϛϘϩϔϠϫϟϒϑϕϚϠϫϏϒϝϞϕϫνϒϘϕϔϞϛϑϒϝ
ϓϕϟώϛϘϩϥϛϒϗϛϘϕϤϒϞϟϏϛϕϞϜϝύϏϘϒϚϕϖ
ϚύϗϛϜϕϏϥϕϢϞϬϞϜϛϞϘϒϑϚϒϐϛϝϒϘϕϔύ ϏϨ
ϥϒϑϥϒϐϛϑϏύϐϛϑύϚύϔύϑ

΢ϋπτψόψϐΫυϒϒψυς
6
Ин΍е΋ͽьюΌ͟ми΍΋иемШͻмͻ΍΋иным
ΤόψϒϐψωθπόπϒϐψύڞϏϐώσϐπόόψϑϒ
ϑύυτπςύυσώςϐυόυύψώϐσπύψχπϒώϐNcpM
ϊώύϔυϐυύϖψω
Кͻкико;ͿͻнͻΎчилΌΚΊ΋о;΋ͻмми΋оͽͻ΍ь=
ίϛϏϞϒϖϪϟϛϖϗϠϢϚϒϬϛϟϚϛϞϕϟϒϘϩϚϛϚϒϑύϏ
ϚϛμϒϝϏϨϒϜϛϜϨϟϗϕώϨϘϕϏϥϗϛϘϒ ϪϟϛώϨϘ
0..30..4ϐϛϑ ϕϑύϓϒϤϟϛϟϛϜϛϘϠϤύϘϛϞϩ
ςϛϝϛϥϛϜϛϙϚϫ ϤϟϛμύϞϗύϘϩϙϚϒϟϛϐϑύ
ϛϤϒϚϩϚϒϜϛϚϝύϏϕϘϞϬκϛϞϒϝϩϒϔϚϛϜϝϕ
ϐϛϑϕϘϛϞϩϜϝϛϐϝύϙϙϕϝϛϏύϚϕϒϏϜϝϛϣϒϞϞϒ
ϚύϜϕϞύϚϕϬϑϕϜϘϛϙύϏϠϚϕϏϒϝϒβϞϘϕϗϟϛϚϒ
ϏϗϠϝϞϒ ϜϛϛώϝύϔϛϏύϚϕϫϬϢϕϙϕϗ
ούϗϏϛϟ ϒϞϟϩϟύϗϛϖώϛϘϩϥϛϖϕϞϟϝύϥϚϨϖ
ύϜϜύϝύϟۘϙύϞϞϞϜϒϗϟϝϛϙϒϟϝλϚϛϜϝϒϑϒϘϬ
ϒϟϞϛϞϟύϏϏϒϦϒϞϟϏύ ϝύϔώϕϏύϬϙϛϘϒϗϠϘϠϚύ
ϡϝύϐϙϒϚϟύϝϚϨϒϕϛϚϨ ϗϛϘϕϤϒϞϟϏϛϗϛϟϛϝϨϢ
ϏϒϑϕϚϕϣϠϏϝϒϙϒϚϕϝϒϐϕϞϟϝϕϝϠϒϟϞϬϙύϞϞ
ύϚύϘϕϔύϟϛϝϛϙμϛϚϕϙϛϜϝϒϑϒϘϬϒϟϞϬϞϛϞϟύϏ
εϏϛϟϒϞϘϕϙϛϘϒϗϠϘύώϛϘϩϥύϬ ϕϛϚϛϏώϠ
ϑϒϟϙϚϛϐϛ ϕϛϚϕώϠϑϠϟϝύϔϚϨϒεϢϚύϑϛ
ϛϜϛϔϚύϟϩϕϜϛϞϤϕϟύϟϩνϠϗύϙϕϪϟϛϑϒϘύϟϩ
ϑϛϘϐϛϕϚϒϕϚϟϒϝϒϞϚϛ ϛϞϛώϒϚϚϛ ϒϞϘϕϟύϗϕϢ
ϞϜϒϗϟϝϛϏϚϒϞϗϛϘϩϗϛίϛϟϜϝϕϥϘϛϞϩϜϕϞύϟϩ
ϞϗϝϕϜϟίϨώϝύϘNcpM ϟύϗϗύϗϠϓϒϕϙϒϘ
ϙϕϚϕϙύϘϩϚϨϖϛϜϨϟϞϚϕϙϕϜϝϕϙϒϝϚϛ
ϜϛϚϕϙύϘ Ϥϟϛϑύϗύϗ
Кͻкой΋еͿͻк΍о΋иΌΊользΎешь=
CN_aqβϞϘϕ/ϗϛϐϑύϚϒϟcN_aq ϙϛϐϠϕϞ
ϜϛϘϩϔϛϏύϟϩtJNοϠϟϠϓϒϑϒϘϛϜϝϕϏϨϤϗϕ
ούϗϞϘϛϓϕϘϛϞϩ ϏϛϞϚϛϏϚϛϙ ϕϞϟϛϝϕϤϒϞϗϕ
αϛϘϐϛϒϏϝϒϙϬϜϛϑϬϔϨϗϕ ϞϗϛϟϛϝϨϙϕϬ
ϝύώϛϟύϫ ϚϒώϨϘϛϏϙϒϚϬϒϙϨϢ*BCέϜϛϟϛϙ
ϠϓϒϜϝϛϞϟϛϜϝϕϏϨϗ ϕϒϦϒϝύϔϜϒϝϒϠϤϕϏύϟϩ
ϞϬϝύϑϕϞϕϫϙϕϚϠϟϚϛϐϛϜϝϛϡϕϟύϞϙϨϞϘύ
ϑϘϬϞϒώϬϚϒϏϕϓϠ
Кͻкико;ͿͻΊознͻкомилΌΚΌNcpM=
οϠϟϢϛϤϠϞϗύϔύϟϩ ϤϟϛϏϕϚϑύϙϚϒϛϞϛώϛϚϕϗϛ
ϐϑύϚϒϚϝύϏϕϘύϞϩ ϑύϕϞϒϖϤύϞϚϒϚϝύϏϕϟϞϬ
ί0..40./1ϐϛϑϠϙϛϒϖϛϞϚϛϏϚϛϖϞϕϞϟϒϙϛϖ
ώϨϘϘϕϚϠϗϞ ϜϛϟϛϙϙύϗούϗϏϛϟ
ξNcpMϬϜϛϔϚύϗϛϙϕϘϞϬϜϝϕϙϒϝϚϛϏ0..5
ϐϛϑϠπϚύϞϏϐϛϝϛϑϒώϨϘύϘϛϗύϘϩϚύϬϞϒϟϩ
ϜϛϑϗϘϫϤϒϚϕϒίμκϏϗϛϟϛϝϛϖώϨϘϛϚϒ
ϞύϙϛϖϟϝϕϏϕύϘϩϚϛϖϔύϑύϤϒϖμϝϛϏύϖϑϒϝϨ
ϟϛϐϑύϛϞϛώϛϚϒϔύϙϛϝύϤϕϏύϘϕϞϩϞϜϛϑϑϒϝϓ
ϗϛϖϜϛϘϩϔϛϏύϟϒϘϒϖϚύϘϕϚϠϗϞϒμϝϕϥϘϛϞϩ
ϏϞϫύϏϟϛϙύϟϕϔύϣϕϫϜϛϑϗϘϫϤϒϚϕϬϞϑϒϘύϟϩ
ϚύNcpM
ͬкͻкимиͿ΋Ύ;имиΚзыкͻмиин΍е΋еΌно
΋ͻͼо΍ͻ΍ь=
CpM_Oe F_qLcMM -s_
Ч΍о Ίо΍ͽоемΎ ΚͽлΚе΍ΌΚΌͻмымͼоль
шимΊ΋еимΎщеΌ΍ͽомNcpM=
κϒϙϛϐϠϏϨϑϒϘϕϟϩϛϑϚϛϜϝϒϕϙϠϦϒϞϟϏϛ Ϝϛ
ϪϟϛϙϠϏϛϟϟϛϟϞϜϕϞϛϗ ώϘύϐϛϑύϝϬϗϛϟϛϝϛϙϠϬ
ϒϦϒϜϕϥϠϚύNcpM
ۦ
κϒϤϒϘϛϏϒϤϒϞϗύϬϐϕώϗϛϞϟϩ
ۦ
ίϛϔϙϛϓϚϛϞϟϩϝϒϥύϟϩϜϝϛώϘϒϙϨ ϗύϗ
ϜϝύϏϕϘϛ ϙύϘϛϖϗϝϛϏϩϫ
ۦ
ήϨϞϟϝύϬϝύϔϝύώϛϟϗύ
ۦ
ίϙϒϚϬϒϙϛϒϞϛώϨϟϕϖϚϛϒϜϝϛϐϝύϙϙϕ
ϝϛϏύϚϕϒ
ۦ
ξϞϨϘϛϤϚύϬϙϒϢύϚϕϗύ
ۦ
δϑϝύϏύϬϕϜϝϛϑϠϙύϚϚύϬϞϕϞϟϒϙύ
ϙϛϑϠϘϒϖ/ώϕώϘϕϛϟϒϗ
ۦ
μϝϛϞϟϛϟύϞϛϔϑύϚϕϬϞϏϛϕϢϙϛϑϠϘϒϖ
&ϜϝϕϏϒϟ
E[tUtLOsMaNeMaNer

Ч΍о Ίо΍ͽоемΎ ΚͽлΚе΍ΌΚΌͻмойͽͻжной
оΌоͼенноΌ΍ьюΚзыкоͽͼΎͿΎще;о=
μϒϝϒϞϟύϟϩϛϜϠϞϗύϟϩϜϘύϚϗϠϜϛϝϛϐύϏϢϛϓϑϒ
ϚϕϬϏϬϔϨϗόϜϝϒϗϝύϞϚϛϜϛϚϕϙύϫ ϤϟϛϝϨϚ
ϗϠϚϒϢϏύϟύϒϟϜϝϛϐϝύϙϙϕϞϟϛϏούϗϓϒϬϜϛ
Ϛϕϙύϫ ϤϟϛϏϞϒϙϢϛϤϒϟϞϬϜϝϛϐϝύϙϙϕϝϛϏύϟϩ
λϑϚύϗϛ ϪϟϛϚϒϜϛϏϛϑϠϜϝϛϦύϟϩϕϚϞϟϝϠϙϒϚ
ϟϨϑϛϠϝϛϏϚϬ ϜϛϚϬϟϚϛϐϛϕϑϒώϕϘϠξϘϛϓ
ϚϛϞϟϩϜϒϝϘύϜϝύϗϟϕϤϒϞϗϕϛϜϟϕϙύϘϩϚύϬμϛ
ϙϛϒϙϠϙϚϒϚϕϫ ϞύϙϛϒϜϛϞϘϒϑϚϒϒϞϗϛϟϞϟϏϛ
ϪϟϛϓϒϝϟϏϛϏύϟϩϡϠϚϗϣϕϛϚύϘϩϚϛϞϟϩϫϏϛϕϙϬ
ϞϚϕϓϒϚϕϬϜϛϝϛϐύϏϢϛϓϑϒϚϕϬσϒϘϒϏύϬύϠϑϕ
ϟϛϝϕϬ ϗύϗϜϝύϏϕϘϛ ϚϒϏϛϞϜϛϘϩϔϠϒϟϞϬ ύϏϛϟ
ϠϝϒϔύϚϚύϬϡϠϚϗϣϕϛϚύϘϩϚϛϞϟϩϜϒϤύϘϕϟ
Ч΍оͿΎмͻешьоNcpM4=
λϟϘϕϤϚϨϖϬϔϨϗγύϘϩ ϤϟϛϚϒϏϛϏϝϒϙϬ
ήϨϘϛώϨϜϝϕϬϟϚϛ ϒϞϘϕώϨϏϔϘϒϟϒϘϛ ϚϛϬϚϒ
ϜϛϚϕϙύϫϑϏϠϢϏϒϦϒϖδύϤϒϙϪϟϛϚύϔϏύϘϕ
NcpMϕϞϗϛϘϩϗϛϚύϑϛϔύϟϝύϟϕϟϩϞϕϘϕϞϝϒϑϞϟϏ
ϤϟϛώϨϏϨϏϒϞϟϕϒϐϛϞϛϛώϦϒϞϟϏϛϢϛϟϬώϨϚύ
ϠϝϛϏϒϚϩNcpM3όϑϠϙύϫ ϤϟϛϕϞϜϛϘϩϔϛϏύϏ
ϑϝϠϐϛϒϕϙϬϑϘϬϬϔϨϗύϥύϚϞϛϏϏϔϘϒϟϒϟϩ
ώϨϘϛώϨϞϕϘϩϚϛώϛϘϩϥϒ
Ч΍олΎчше΋ͻͼо΍ͻ΍ьнͻͻΎ΍Όо΋Όилинͻ
Ί΋оͿΎк΍=
οϠϟϚϒϟϛϑϚϛϔϚύϤϚϛϐϛϛϟϏϒϟύιϚϒϕϚϟϒ
ϝϒϞϚϒϒϜϝϛϑϠϗϟ ϚύϜϝϕϙϒϝ ϢϛϟϬ Ϗϝϛϑϒ
ϗύϗ ϜϛϞϟύϟϕϞϟϕϗϒ ύϠϟϞϛϝϞϞϟύώϕϘϩϚϒϒ
ηϛϝϛϤϒέϠϟϞϛϝϞۘϙϒϚϩϥϒϝϕϞϗϛϏ ϚϕϔϗύϬ
ϏϒϝϛϬϟϚϛϞϟϩώϛϘϩϥϛϐϛϜϝϛϡϕϟύϏώϠϑϠϦϒϙ
μϝϛϑϠϗϟۘϝϕϞϗϕ ϗϛϟϛϝϨϒ ϏϛϞϚϛϏϚϛϙ ϛϟ
ϟϒώϬϚϒϔύϏϕϞϬϟκϠ ϚύϜϝϕϙϒϝ ώύώϘϛϔύϗϛϚ
ϤϕϘϛϞϩίϞϘϠϤύϒϠϞϜϒϢύϙϛϓϚϛϜϛϘϠϤϕϟϩ
ϚϒϗϕϞϘϠϫϙύϟϒϝϕύϘϩϚϠϫϏϨϐϛϑϠ
Кͻкжи΍ьΊ΋о;΋ͻммиΌ΍Ύ еΌликͻже΍ΌΚ
ч΍оͽок΋Ύ;оͿниͿΎ΋ͻки=
μϛϚϬϟϩϕϜϝϛϞϟϕϟϩμϝύϏϕϘϛ3#ϚϒϜϛώϒϑϕ
ϙϛ
βϞϘϕϓϒϏϛϜϝϛϞϞϟϛϕϟϛϟϛϙ ϤϟϛϑϒϘύϟϩϞ
ϗϛϘϘϒϐύϙϕϜϛϣϒϢϠ ϗϛϟϛϝϨϒϜϛϟϒϙϕϘϕ
ϕϚϨϙϜϝϕϤϕϚύϙϞϒϖϤύϞϔϚύϫϟϙϒϚϩϥϒ
ϟϒώϬ ϟϛϛϟϏϒϟϜϝϛϞϟϕϛϚϒϑϕϚϞϟϏϒϚϚϛϏϒϝ
ϚϨϖϛώϠϤύϟϩϑϝϠϐϕϢϕϛώϠϤύϟϩϞϬϞύϙϛϙϠ
ό ϚύϜϝϕϙϒϝ ϒϞϘϕϗϛϙϚϒϛώϝύϦύϫϟϞϬϞ
ϏϛϜϝϛϞύϙϕ ϞϟύϝύϫϞϩϜϛϙϒϝϒϞϕϘϜϛϙϛϐύϟϩ
ϏϞϒϙβϞϘϕϘϫϑϕϠϤϕϟϩϞϬϚϒϢϛϟϬϟ ϟϛϏϞϒ
ϜϘϛϢϛ ϕϚύϑϛϤϟϛϟϛϙϒϚϬϟϩίϛϛώϦϒ Ϥϒϙ
ϏϨϥϒϞϠϙϙύϝϚϨϖϠϝϛϏϒϚϩϗϏύϘϕϡϕϗύϣϕϕ
ϏϢϛϝϛϥϛϞϘύϓϒϚϚϛϖϗϛϙύϚϑϒ ϟϒϙϜϝϛϦϒ
ϓϕϟϩϏϞϒϙ
ЛΎчшеΌΊециͻлизͻциΚилиͽезͿеΊочΎ΍ь
чΎ΍ь=
έϪϟϛϞϙϛϟϝϬϤϟϛϢϛϤϒϟϞϬϑϒϘύϟϩϕϤϟϛϑϒϘύ
ϒϥϩβϞϘϕϟϨϔύϚϕϙύϒϥϩϜϛϔϕϣϕϫϟϒϢϘϕϑύ
ϕϝϒϥύϒϥϩϜϝϛώϘϒϙϨϏϛϜϝϒϑϒϘϒϚϚϛϙϕ
ϛϐϝύϚϕϤϒϚϚϛϙϞϜϒϗϟϝϒϔύϑύϤ&ϚύϜϝϕϙϒϝ
ϏϟϒϘϒϗϛϙϒ ϟϛϟϠϟϞϕϘϩϚϛϘϠϤϥϒϕϙϒϟϩ
ϠϔϗϠϫϞϜϒϣϕύϘϕϔύϣϕϫβϞϘϕϓϒϟϏϛϬϔύϑύϤύ
ϝϠϘϕϟϩϝύϔϝύώϛϟϗϛϖώϛϘϩϥϛϐϛϜϝϛϒϗϟύ ϟϛ
ϞϜϒϣϕύϘϕϔύϣϕϬϛϗ ϚϛϗϠϑύϏύϓϚϒϒώϨϞϟϝϛ
ϝύϔϛώϝύϟϩϞϬϏϟϒϗϠϦϒϖϔύϑύϤϒ ύϪϟϛϟϝϒώϠϒϟ
ϏϒϔϑϒϜϛϤϠϟϩϤϠϟϩλϞϛώϒϚϚϛ ϪϟϛϗύϞύϒϟϞϬ
ϟϒϢϞϘϠϤύϒϏ ϗϛϐϑύϚϒϛώϢϛϑϕϙϛϜϝϕϚϕ
ϙύϟϩϞϒϝϩϒϔϚϨϒϟϒϢϚϕϤϒϞϗϕϒϝϒϥϒϚϕϬ ϛϟ
ϗϛϟϛϝϨϢϙϚϛϐϛϤϒϐϛϔύϏϕϞϕϟϕϘϕώϠϑϒϟ
ϔύϏϕϞϒϟϩ
ͭͻкͽΌе΍ͻкиCpM_OeилиF_qLcMM=
λϚϕϝϒϥύϫϟϜϝϕϙϒϝϚϛϜϛϑϛώϚϨϒϔύϑύϤϕ
ϊϝϘύϚϐϜϛϔϏϛϘϬϒϟϑϛϏϛϘϩϚϛώϨϞϟϝϛϜϛϞϟϝϛ
ϕϟϩϜϝϕϘϛϓϒϚϕϒ ϗϛϟϛϝϛϒώϠϑϒϟϠϞϟϛϖϤϕϏϛ
ϗϝύϚϟύϖϙϛϥϕώϗύϙ ϗϛϟϛϝϨϢ ϗύϗϏϞϒϙϨ
ϔϚύϒϙ ϜϝϒϑϛϞϟύϟϛϤϚϛϏϞϒϐϑύμϝϕϤϒϙ
.#ϪϟϕϢϛϥϕώϛϗϞϘϠϤύϒϟϞϬϢϝϒϚϜϛϖϙϕ
ϜϛϤϒϙϠηϟϛϙϠϓϒ ώϠϑϠϤϕϡϠϚϗϣϕϛϚύϘϩ
ϚϨϙϬϔϨϗϛϙ ϛϚϜϛϔϏϛϘϬϒϟϑϒϘϒϐϕϝϛϏύϟϩ
ϚϒϗϛϟϛϝϨϒϞϘϛϓϚϨϒϏϒϦϕϏϕϝϟϠύϘϩϚϛϖ
ϙύϥϕϚϒϕϞϛϞϝϒϑϛϟϛϤϕϟϩϞϬϚύϝϒύϘϕϔύϣϕϕ
εϙϙϠϟύώϒϘϩϚϨϒϜϒϝϒϙϒϚϚϨϒ ϢϛϝϛϥύϬ
ϙϚϛϐϛϜϛϟϛϤϚϛϞϟϩκϠϕMRNίϞϒϏϙϒϞϟϒ
ϪϟϛϑύϒϟϝϒύϘϩϚϛϢϛϝϛϥϕϖ ϚϛϜϝϕϪϟϛϙ
ϚϒϞϘϛϓϚϨϖϬϔϨϗ ϗϛϟϛϝϨϖϛϤϒϚϩϢϛϝϛϥϛ
ϝύώϛϟύϒϟϜϛϑϚύϐϝϠϔϗϛϖ ϝϒϑϗϛϜύϑύϒϟϕϑϛ
ϏϛϘϩϚϛϚϒϜϘϛϢϛϙύϞϥϟύώϕϝϠϒϟϞϬκϠ ϒϞϘϕ
ϜϝϛϞϟϛϕϚύϤϕϞϟϛϟϠ ϟϛϪϝϘύϚϐϜϝύϏϕϘϩϚϛ
ϕϞϜϛϘϩϔϠϒϟϝύϔϔϏϕϔϑϬϖϞϟϏϛϜϝϛϐϝύϙϙϕϞϟύ
ϗϠϘϩϟϕϏϕϝϠϬϟϝϕϛϞϚϛϏϚϨϒϑϛώϝϛϑϒϟϒϘϕ
αύϕϛϤϒϚϩϕϑϒϛϘϛϐϕϤϒϞϗϕώϘϕϔϛϗϗϜϒϝϘϠ
ςύϞϗϒϘϩϜϛϔϏϛϘϬϒϟϑϒϘύϟϩϜϝύϗϟϕϤϒϞϗϕϟϛ
ϓϒϞύϙϛϒ ϚϛϜϝϕϪϟϛϙϞϕϘϩϚϛϞϘϛϓϚϒϒϕ
ϑϛϝϛϓϒ ϤϟϛϟϝϒώϠϒϟώϛϘϩϥϒϝϒϞϠϝϞϛϏκϠ
ϕϞϘϛϓϚύϬϞϕϞϟϒϙύϟϕϜϛϏϜϛϚύϤύϘϠώϠϑϒϟ
ϞϕϘϩϚϛϏϔϝϨϏύϟϩϙϛϔϐιϛϖϞϛϏϒϟۘϠϤϕϟϒ
ϛώύBμϛϟϛϙϠϗύϗϜϛϚϕϙύϚϕϒϢύϞϗϒϘϬ
ϗύϗϤϕϞϟϛϐϛϡϠϚϗϣϕϛϚύϘϩϚϛϐϛϬϔϨϗύ Ϗ
ϗϛϚϒϤϚϛϙϕϟϛϐϒ ϜϛϔϏϛϘϬϒϟϚύϙϚϛϐϛϘϠϤϥϒ
ϜϕϞύϟϩϚύϪϝϘύϚϐϒ
ͬколькоͽ΋емениΊ΋оͽоͿишьзͻнͻΊиΌͻ
ниемNcpMкоͿͻ=
ηϛϐϑύϗύϗλώϨϤϚϛϚϒϞϗϛϘϩϗϛϤύϞϛϏϏϑϒϚϩ
ͬ΍ои΍лиΌоͽе΍оͽͻ΍ьмолоͿымΊ΋о;΋ͻм
миΌ΍ͻмΎчи΍ьΌейчͻΌNcpM=
ξϟϛϕϟοϛ ϤϟϛϜϒϝϘϞϒϖϤύϞϗύϓϑϨϖϐϛϑ
ϔύϗύϜϨϏύϫϟ ύϗϛϑϚύϚϒϙϚϒϤϕϟύϒϙϕϜϘϛϢ
ϒϞϟϩϞϘϒϑϞϟϏϕϒϞϘϒϑϠϫϦϒϐϛϔύώύϏϚϛϐϛϜύϝύ
ϑϛϗϞύϏϟϛϏϝϒϙϬ ϗϛϐϑύϜϛϬϏϕϘϞϬϜϒϝϘ Ϛϒ
ώϨϘϛϚϕϤϒϐϛ ϞϤϒϙώϨϛϚϞϒϝϩϒϔϚϛϗϛϚϗϠ
ϝϕϝϛϏύϘϏϚϕϥϒ ϚύϜϝϕϙϒϝ ϞύϖϟϛϞϟϝϛϒϚϕϬ
ηϟϛϙϠϓϒ ϗϠϘϩϟϠϝϨϜϝϛϐϝύϙϙϕϝϛϏύϚϕϬ
ϗύϗϟύϗϛϏϛϖ ϟϛϓϒ ϏϥϕϝϛϗϕϢϙύϞϞύϢ ϛϞϛώϛ
ϚϒώϨϘϛξϛϛϟϏϒϟϞϟϏϒϚϚϛ ϏϒϞϩϟϛϟϗϛϑ ϔύ
ϗϛϟϛϝϨϒϗϘϒϖϙϬϟNcpM ϪϟϛϚϒϏϕϚύϬϔϨϗύ
βϞϘϕώϨϏϟϛϓϒϏϝϒϙϬϜϛϬϏϕϘϞϬ ϚύϜϝϕϙϒϝ
ϜϕϟϛϚϕϘϕϝϠώϕ ϞϒϖϤύϞώϨϞϘύϏύumpO
ϬϔϨϗύώϨϘύώϨϠϛϑϚϛϐϛϕϔϚϕϢμϝϛϞϟϛϚϒ
ϏϟϛϏϝϒϙϬμϛϤϒϙϠϞϟϛϕϟϠϤϕϟϩ=αύϜϛϟϛ
ϙϠ ϤϟϛϛϚϑϛϞϟύϟϛϤϚϛϚϕϔϗϛϠϝϛϏϚϒϏϨϖ
ϤϟϛώϨϝύϔϛώϝύϟϩϞϬ ϗύϗϝύώϛϟύϫϟϡύϖϘϛϏϨϒ
ϑϒϞϗϝϕϜϟϛϝϨ ϞϛϗϒϟϨ ϞϤϒϟϤϕϗϞϞϨϘϛϗε
ϛϚϑϛϞϟύϟϛϤϚϛϏϨϞϛϗϛϠϝϛϏϚϒϏϨϖ ϤϟϛώϨ
ϝύϔϛώϝύϟϩϞϬϞϗϛϚϣϒϜϣϕϬϙϕϏϙϕϝϒϞϛϏϝϒ
ϙϒϚϚϛϐϛϜϝϛϐϝύϙϙϕϝϛϏύϚϕϬκϠϕϕϙϒϒϟ
ϛϤϒϚϩώϛϘϩϥϠϫώύϔϠώϕώϘϕϛϟϒϗ ϑύ
΢ώϏϐώϑϛώϒϗψϒπϒυϋυω
͜ΎͿΎ΍ещехͻкͻ΍оныиконΏе΋енции=
ήϠϑϠϟϕϙϚϛϐϛξϗϛϝϒϒϏϞϒϐϛϤϟϛϟϛϜϝϛ
ϏϒϑϒϙϘϒϟϛϙβϞϟϩϏϜϘύϚύϢϛϑϒϞϞϗύϬ
ϗϛϚϡϒϝϒϚϣϕϬϜϛϡϠϚϗϣϕϛϚύϘϩϚϛϙϠϜϝϛ
ϐϝύϙϙϕϝϛϏύϚϕϫ
КͻкойͽеͼΏ΋еймͽо΋кΌейчͻΌΌ΍ои΍иΌ
Ίользоͽͻ΍ьиΊочемΎ=
ιϚϒϏϜϛϞϘϒϑϚϒϒϏϝϒϙϬϛϤϒϚϩϚϝύϏϕϟϞϬ
ϜϒϝϘϛϏϨϖA_r_MZqrμϛϤϒϙϠ=πϑϛώϚϨϖ ϙϚϛ
ϐϛϠϙϒϒϟ ϜϛϑϚϒϐϛϚύϜϕϞύϚϛϛϤϒϚϩϙϚϛϐϛ
ϙϛϑϠϘϒϖκϠϕϒϦϒϛϤϒϚϩϚϒϙύϘϛϏύϓ
ϚϨϖϙϛϙϒϚϟۘύϑϒϗϏύϟϚϨϖϙϒϖϚϟϒϖϚϒϝ
ιϕϚϠϞϨۘϐϝϛϙϛϔϑϗϕϖ

΢ϟϗυϑϋπςβψϕπύώςϑϊψω

Приложенные файлы

  • pdf 6992428
    Размер файла: 515 kB Загрузок: 0

Добавить комментарий