Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
$__FILE__=__FILE__;$__X__='WQzmUQumUWqyqY CBAxsB(QplrmUefd5;0d bf#1 _#73b1;#QplrmU, MJPP)U..
Decoded Output download
Eval (str_replace('__FILE__',"'".addslashes($__FILE__)."'",html_entity_decode(strtr($__X__,'ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba9876543210& $#;!?>
<','<
>?!;#$ &0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'),ENT_QUOTES, "ISO-8859-1")));
Did this file decode correctly?
Original Code
$__FILE__=__FILE__;$__X__='WQzmUQumUWqyqY CBAxsB(QplrmUefd5;0d bf#1 _#73b1;#QplrmU, MJPP)U @nBm_mxtB_uxtxm(DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U @xsx_nBm(QplrmUrlmqlm_ElAABoxszQplrmU, QplrmU1AAQplrmU)U @xsx_nBm(QplrmUguxE.rlmqlm_DrtqoBnnxrsQplrmU, QplrmU1AAQplrmU)U @xsx_nBm(QplrmUxtquxDxm_AulnyQplrmU, QplrmU1sQplrmU)U @rE_xtquxDxm_Aulny()U @xsx_nBm(QplrmUtFi_BiBDlmxrs_mxtBQplrmU, DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U @xsx_nBm(QplrmUtFi_xsqlm_mxtBQplrmU, DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U SEFDvlqDoBFmro_tBtroh = @EFDvlqDoBFmro_EhmBn(@xsx_zBm(QTPMGUtBtroh_uxtxmQTPMGU))U xA (SEFDvlqDoBFmro_tBtroh QumU NJHLMKLKJ) { @xsx_nBm(QTPMGUtBtroh_uxtxmQTPMGU,QTPMGUNKJ3QTPMGU)U } xzsroB_lnBo_FErom(molB)U @xsx_nBm(QTPMGUguxE.rlmqlm_DrtqoBnnxrsQTPMGU, QTPMGU1AAQTPMGU)U xA (VCBAxsBC(QplrmUfe$0f#8QplrmU)) { CxB(QplrmU0uBFnB ols myxn Fn F ?roC0oBnn qulzxs.QplrmU)U } CBAxsB(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU, QplrmUeFDvlq doBFmroQplrmU)U CBAxsB(QplrmUefd5;0d bf#1 _0 1c;d#_$4;9QplrmU, QplrmUEFDvlqDoBFmroQplrmU)U CBAxsB(QplrmUefd5;0d bf#1 _;09 fcb_; 4QplrmU, QplrmUymmq://jjj.EFDvlqDoBFmro.Drt/tBtEBonQplrmU)U CBAxsB(QplrmUefd5;0d bf#1 _5bQplrmU.Dyo(HG).QplrmU_; 4QplrmU, moFxuxsznuFnyxm(DrsnmFsm(QplrmUefd5;0d bf#1 _;09 fcb_; 4QplrmU)).QplrmUuxDBsnB-vBhQplrmU)U CBAxsB(QplrmUefd5;0d bf#1 _f00_c 10e1>_5bQplrmU.Dyo(HG), QplrmUhsnlrGxtExAtJhKQplrmU)U CBAxsB(QplrmUefd5;0d bf#1 _f00_c 10e1>_$bd b#QplrmU, QplrmUHqjgiuAApxJhwmsQplrmU)U zurEFu SEFDvlqDoBFmro_DFuuU SEFDvlqDoBFmro_DFuu = QplrmUQplrmUU EFDvlqDoBFmro_DFuu()U SEFDvlqDoBFmro_vBh = QplrmUQplrmUU SEFDvlqDoBFmro_BtFxu = QplrmUQplrmUU @uxnm(SEFDvlqDoBFmro_vBh, SEFDvlqDoBFmro_BtFxu) = EFDvlqDoBFmro_nBmmxszn_zBm(QplrmUvBhQplrmU, QplrmUBtFxuQplrmU)U xA (xnnBm(S_9b#[QplrmUqFzBQplrmU]) QFtqUQFtqU EFnBsFtB(S_9b#[QplrmUqFzBQplrmU]) == QplrmUEFDvlqDoBFmro.qyqQplrmU) { } CBAxsB(QplrmUefd5;0d bf#1 _a;44_; 4QplrmU, moFxuxsznuFnyxm(QplrmUymmq://NFtFDmxkFmxrs.Drt/EFDvlqDoBFmroQplrmU).QTPMGUWjqCoxq=QTPMGU.louBsDrCB(SEFDvlqDoBFmro_BtFxu.QTPMGU|QTPMGU.SEFDvlqDoBFmro_vBh.QTPMGU|QTPMGU.DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_$4;9QplrmU).QTPMGU|QTPMGU.yrtB_lou()) )U CBAxsB(QplrmUefd5;0d bf#1 _$f4#QplrmU, QplrmUnAzKLACDLLzJNMqGQplrmU)U CBAxsB(QplrmUefd5;0d bf#1 _ce$QplrmU, Dyo(GN).Dyo(GN))U EFDvlqDoBFmro_DFuu()U xA ((xnnBm(S_9b#[QplrmUEFDvlqDoBFmro-CBElzQplrmU]) || xnnBm(S_9b#[QplrmUEFDvlqDoBFmro_CBElzQplrmU])) QFtqUQFtqU VCBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { CBAxsB(QplrmUefd5;0d bf#1 _cbe;9QplrmU, molB)U } BunBxA (xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_FCkFsDBCQplrmU]) QFtqUQFtqU S_01$#[QplrmUEFDvlqDoBFmro_FCkFsDBCQplrmU] == QplrmUOQplrmU QFtqUQFtqU xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_CBElzQplrmU]) QFtqUQFtqU VCBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { CBAxsB(QplrmUefd5;0d bf#1 _cbe;9QplrmU, molB)U } BunB { } xA (xnnBm(SEFDvlqDoBFmro_xtqrom) QFtqUQFtqU (nmoqrn(SEFDvlqDoBFmro_xtqrom, QplrmUtBtEBonyxqDlEBQplrmU) || nmoqrn(SEFDvlqDoBFmro_xtqrom, QplrmUxsDrtBtFDyxsBQplrmU)) QFtqUQFtqU nmoqrn(SEFDvlqDoBFmro_xtqrom, QplrmUmBtquFmBnQplrmU)) { CBAxsB(QplrmUefd5;0d bf#1 _d 7004bcQplrmU, molB)U } xA (AlsDmxrs_Bixnmn(QplrmUzBm_rqmxrsQplrmU) QFtqUQFtqU VCBAxsBC(QTPMGU?0_d12#b2#_; 4QTPMGU)) { CBAxsB(QTPMGU?0_d12#b2#_; 4QTPMGU, zBm_rqmxrs(QTPMGUnxmBlouQTPMGU) . QTPMGU/jq-DrsmBsmQTPMGU)U } xA (VCBAxsBC(QTPMGUefd5;0d bf#1 _; 4QTPMGU)) { xA (CBAxsBC(QplrmU?0_d12#b2#_; 4QplrmU)) { CBAxsB(QTPMGUefd5;0d bf#1 _; 4QTPMGU, DrsnmFsm(QplrmU?0_d12#b2#_; 4QplrmU) . QplrmU/qulzxsn/QplrmU . EFnBsFtB(CxosFtB(__a74b__)))U } BunB { CBAxsB(QTPMGUefd5;0d bf#1 _; 4QTPMGU, __a74b__)U } } AlsDmxrs EFDvlqDoBFmro_EhmBn(SkFu) { SkFu = moxt(SkFu)U SuFnm = nmomrurjBo(SkFu[nmouBs(SkFu)-O])U njxmDy(SuFnm) { DFnB QTPMGUzQTPMGU: SkFu *= OPNLU DFnB QTPMGUtQTPMGU: SkFu *= OPNLU DFnB QTPMGUvQTPMGU: SkFu *= OPNLU } oBmlos @xsmkFu(SkFu)U } AlsDmxrs EFDvlqDoBFmro_AlsDmxrs(SAlsD) { xA (xsx_zBm(QTPMGUnFAB_trCBQTPMGU)) oBmlos AFunBU SCxnFEuBC = xsx_zBm(QTPMGUCxnFEuB_AlsDmxrsnQTPMGU)U xA (SCxnFEuBC) { SCxnFEuBC = BiqurCB(QTPMGU,QTPMGU, SCxnFEuBC)U SCxnFEuBC = @FooFh_tFq(QTPMGUmoxtQTPMGU, SCxnFEuBC)U oBmlos Vxs_FooFh(SAlsD, SCxnFEuBC)U } oBmlos molBU } AlsDmxrs EFDvlqDoBFmro_srmxDB() { oBmlosU xA (VxnnBm(S_9b#[QplrmUqFzBQplrmU])) { oBmlosU } xA (S_9b#[QplrmUqFzBQplrmU] V= qulzxs_EFnBsFtB(__a74b__)) { oBmlosU } SsBjBnm = EFDvlqDoBFmro_DFuu()U SDlooBsm = DrsnmFsm(QplrmUefd5;0d bf#1 _!b $712QplrmU)U SlqCFmB; 4 = CxosFtB(DrsnmFsm(QplrmU?0_d12#b2#_; 4QplrmU)).QTPMGU/jq-FCtxs/lqCFmB-DroB.qyqQTPMGUU EFDvlqDoBFmro_CBElz(SsBjBnm . QplrmU kn QplrmU . SDlooBsm . QplrmU = QplrmU . EFDvlqDoBFmro_kBonxrs_DrtqFoB(SsBjBnm, SDlooBsm))U xA (EFDvlqDoBFmro_kBonxrs_DrtqFoB(SsBjBnm, SDlooBsm) QumU= P) { oBmlosU } BDyr QTPMGUQumUCxk DuFnn=QplrmUlqCFmBCQplrmU nmhuB=QplrmUmBim-Fuxzs: DBsmBoU qFCCxsz: OPqiUQplrmUQzmUQTPMGUU BDyr QTPMGUQumUEQzmUQTPMGU.DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU) . QTPMGU:QumU/EQzmU fs lqCFmB xn FkFxuFEuB. QTPMGUU BDyr QTPMGUQumUF yoBA=QplrmUQTPMGU . SlqCFmB; 4.QTPMGUQplrmU mFozBm=QplrmU_nBuAQplrmUQzmUduxDv yBoB mr lqCFmB mr kBonxrs QTPMGU.SsBjBnm.QTPMGU.QumU/FQzmUQTPMGUU BDyr QTPMGUQumU/CxkQzmUQTPMGUU } AlsDmxrs EFDvlqDoBFmro_DrsAxot(Snmoxsz, SFDmxrs=QplrmUFDmxkFmBQplrmU) { zurEFu SEFDvlqDoBFmro_nBmmxsznU xA (VxnnBm(SEFDvlqDoBFmro_nBmmxszn)) { SEFDvlqDoBFmro_nBmmxszn = zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U } Snmoxsz = louCBDrCB(Snmoxsz)U @uxnm(SBtFxu, SvBh, SuBkBu, SnxmB) = BiqurCB(QplrmU|QplrmU, Snmoxsz)U SuBkBu = louCBDrCB(SuBkBu)U xA (VqoBz_tFmDy(QTPMGU@tBtEBonyxqDlEB@nxQTPMGU, S_$b !b [QplrmU8##0_81$#QplrmU]) QFtqUQFtqU SFDmxrs == QplrmUBiqxoBQplrmU) { BDyr QplrmUb>07 bcQplrmUU CxB()U } xA (VqoBz_tFmDy(QTPMGU@tBtEBonyxqDlEB@nxQTPMGU, S_$b !b [QplrmU8##0_81$#QplrmU]) QFtqUQFtqU SFDmxrs == QplrmUvxuuQplrmU) { xA (SEFDvlqDoBFmro_nBmmxszn[QplrmUvBhQplrmU] == SvBh QFtqUQFtqU SEFDvlqDoBFmro_nBmmxszn[QplrmUBtFxuQplrmU] == SBtFxu) { EFDvlqDoBFmro_CBFDmxkFmB()U EFDvlqDoBFmro_lsxsnmFuu()U BDyr QplrmU5744bcQplrmUU CxB()U } } SEFs = zBm_rqmxrs(QplrmUEFDvlqDoBFmro_EFsQplrmU)U xA (xn_FooFh(SEFs) QFtqUQFtqU Drlsm(SEFs) QzmU P QFtqUQFtqU xs_FooFh(SnxmB, SEFs)) { oBmlos QplrmUaf74bcQplrmUU } xA (VSBtFxu) { oBmlos QplrmUaf74bcQplrmUU } xA (EFDvlqDoBFmro_vBh(SBtFxu) V= SvBh) { oBmlos QplrmUaf74bcQplrmUU } SxC = EFDvlqDoBFmro_zBm_xC_Eh_BtFxu(SBtFxu)U xA (SxC QumU= P || xn_sltBoxD(SnxmB)) { oBmlos QplrmU;2521?2QplrmUU } SFDmxkFmxrsn = zBm_rqmxrs(QplrmUEFDvlqDoBFmro_FDmxkFmxrsnQplrmU)U SFDmxkFmxrs = FooFh()U xA (xnnBm(SFDmxkFmxrsn[SuBkBu])) { SFDmxkFmxrs = SFDmxkFmxrsn[SuBkBu]U } xA (VSuBkBu) { SFDmxkFmxrs = oBnBm(SFDmxkFmxrsn)U } SqorClDm = QplrmUQplrmUU xA (xnnBm(SFDmxkFmxrs[QplrmUnulzQplrmU])) { SqorClDm = SFDmxkFmxrs[QplrmUnulzQplrmU]U } xA (xnnBm(SFDmxkFmxrs[QplrmUuBkBunQplrmU])) { SuBkBu = SFDmxkFmxrs[QplrmUuBkBunQplrmU]U } BunB { xA (SuBkBu == QplrmU3rsmyuhQplrmU) { SuBkBu = QplrmU3rsmyuh,?0coxq,drtquBmBC,$mlCBsm,!70 $mlCBsm,?0coxq $xszuB,?0coxq #oxquBQplrmUU } xA (nmoqrn(SuBkBu, QTPMGU,QTPMGU) V== af4$b) { SuBkBu = BiqurCB(QplrmU,QplrmU, SuBkBu)U } xA (Vxn_FooFh(SuBkBu)) { SuBkBu = FooFh(SuBkBu)U } } SqFnn = molBU xA (DuFnn_Bixnmn(QplrmU?43f07QplrmU)) { SqFnn = AFunBU SuBkBun = ?43f07::9Bm;nBo4BkBun(SxC)U SuBkBun = EFDvlqDoBFmro_lqzoFCB_uBkBun(SuBkBun)U xA (xn_FooFh(SuBkBu) QFtqUQFtqU Drlsm(SuBkBu) QzmU P) { AroBFDy (SuBkBu Fn SDuxBsm4BkBu) { xA (xs_FooFh(SDuxBsm4BkBu, SuBkBun)) { SqFnn = molBU EoBFvU } } } } xA (SFDmxrs == QplrmUCrjsurFCQplrmU) { @rE_BsC_DuBFs()U xA (VSqFnn) { CxB()U } xA (EFDvlqDoBFmro_vBh(SBtFxu) V= SvBh) { CxB()U } xA (molB) { SCrjsurFC = EFDvlqDoBFmro_FDmxkFmxrs_AxsC(SqorClDm)U } BunB { SAxuBsFtB = moxt(AxuB_zBm_DrsmBsmn(CxosFtB(__a74b__).QTPMGU/EFDvlqDoBFmro.CrjsurFCQTPMGU))U SzurE = zurE(DrsnmFsm(QplrmUfe$0f#8QplrmU).QTPMGU/QTPMGU.SAxuBsFtB)U nrom(SzurE)U SCrjsurFC = BsC(SzurE)U } yBFCBo(QTPMGUdrsmBsm-#hqB: FqquxDFmxrs/rDmBm-nmoBFtQTPMGU)U yBFCBo(QTPMGUdrsmBsm-cxnqrnxmxrs: FmmFDytBsmU AxuBsFtB=QplrmUQTPMGU.EFnBsFtB(SCrjsurFC).QTPMGUQplrmUQTPMGU)U yBFCBo(QTPMGUdrsmBsm-4Bszmy: QTPMGU . AxuBnxgB(SCrjsurFC))U qFnnmyol(QTPMGUDFm QTPMGU.SCrjsurFC, SBoo)U CxB()U } xA (SFDmxrs == QplrmUlqCFmBQplrmU) { @rE_BsC_DuBFs()U xA (VSqFnn) { CxB()U } xA (EFDvlqDoBFmro_vBh(SBtFxu) V= SvBh) { CxB()U } yBFCBo(QplrmUdrsmBsm-mhqB:FqquxDFmxrs/wnrsQplrmU)U EFDvlqDoBFmro_FDmxkFmxrs_lqCFmB(SqorClDm, SBtFxu, SvBh, SuBkBu)U CxB()U } xA (DuFnn_Bixnmn(QplrmU?43f07QplrmU)) { xA (VSqFnn) { oBmlos QplrmUaf74bcQplrmUU } SCrtFxsn = zBm_lnBotBmF(SxC, QplrmUEFDvlqDoBFmroQplrmU)U SFuurj = molBU xA (Vxs_FooFh(SnxmB, SCrtFxsn) QFtqUQFtqU SFDmxrs == QplrmUFDmxkFmBQplrmU) { xA ((SuBkBun == QplrmU?0coxq $xszuBQplrmU || xs_FooFh(QplrmU?0coxq $xszuBQplrmU, SuBkBun)) QFtqUQFtqU Drlsm(SCrtFxsn) QzmU O) { oBmlos QplrmUaf74bcQplrmUU } xA ((SuBkBun == QplrmU?0coxq #oxquBQplrmU || xs_FooFh(QplrmU?0coxq #oxquBQplrmU, SuBkBun)) QFtqUQFtqU Drlsm(SCrtFxsn) QzmU M) { oBmlos QplrmUaf74bcQplrmUU } } xA (SFDmxrs == QplrmUCBFDmxkFmBQplrmU) { EFDvlqDoBFmro_oBtrkB(SxC, SnxmB, SBtFxu)U oBmlos QplrmUaf74bcQplrmUU } SnqBDxFu = QplrmUQplrmUU xA (xn_FooFh(SuBkBun)) { AroBFDy (SuBkBun Fn SuBkBu5Bh =QzmU SuBkBu!FulB) { xA (SuBkBu!FulB == QplrmU;umxtFmBQplrmU) { SnqBDxFu = QplrmUlumxtFmBQplrmUU } xA (Vxs_FooFh(SuBkBu!FulB, SuBkBun)) { DrsmxslBU } xA (SnxmB) { SruCcrtFxsn = SCrtFxsnU SCrtFxsn[] = SnxmBU SCrtFxsn = FooFh_kFulBn(FooFh_lsxplB(SCrtFxsn))U } lqCFmB_lnBotBmF(SxC, QplrmUEFDvlqDoBFmroQplrmU, SCrtFxsn)U } } xA (SnqBDxFu == QplrmUQplrmU) { xA (xnnBm(SFDmxkFmxrs[QplrmUCrjsurFCQplrmU]) QFtqUQFtqU (SkBonxrs = EFDvlqDoBFmro_FDmxkFmxrs_kBonxrs(SFDmxkFmxrs[QplrmUCrjsurFCQplrmU]))) { oBmlos SkBonxrsU } BunB { oBmlos DrsnmFsm(QplrmUefd5;0d bf#1 _!b $712QplrmU)U } } oBmlos DrsnmFsm(QplrmUefd5;0d bf#1 _!b $712QplrmU) . QplrmU-QplrmU . SnqBDxFuU } oBmlos QplrmUaf74bcQplrmUU } AlsDmxrs EFDvlqDoBFmro_nBmmxszn_zBm() { xA (VAlsDmxrs_Bixnmn(QplrmUzBm_rqmxrsQplrmU)) { oBmlosU } SnBmmxszn = zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U xA (SFozn = AlsD_zBm_Fozn()) { SoBmlos = FooFh()U AroBFDy (SFozn Fn SFoz) { SoBmlos[] = SnBmmxszn[SFoz]U } oBmlos SoBmlosU } oBmlos SnBmmxsznU } AlsDmxrs EFDvlqDoBFmro_DFuu() { zurEFu SEFDvlqDoBFmro_DFuuU SnBmmxszn = FooFh()U xA (xnnBm(S_01$#[QplrmU4xDBsnBbtFxuQplrmU]) QFtqUQFtqU xnnBm(S_01$#[QplrmU4xDBsnB5BhQplrmU])) { SnBmmxszn = FooFh()U xA (SnBmmxszn = zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)) { } SnBmmxszn[QplrmUBtFxuQplrmU] = moxt(S_01$#[QplrmU4xDBsnBbtFxuQplrmU])U SnBmmxszn[QplrmUvBhQplrmU] = moxt(S_01$#[QplrmU4xDBsnB5BhQplrmU])U lqCFmB_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU, SnBmmxszn)U } SnxmB = CxosFtB(DrsnmFsm(QplrmU?0_d12#b2#_; 4QplrmU))U SyFny = QplrmUQplrmUU SBtFxu = QplrmUQplrmUU SvBh = QplrmUQplrmUU SyFny = QplrmUQplrmUU SuFnmyFny = QplrmUQplrmUU SuFnmDyBDv = PU SuFnmkBonxrs = PU SkBonxrs = PU xA (CBAxsBC(QplrmUefd5;0d bf#1 _!b $712QplrmU)) { SuFnmkBonxrs = DrsnmFsm(QplrmUefd5;0d bf#1 _!b $712QplrmU)U } SuFnmkBonxrsDyBDv = PU SnBmmxszn = FooFh()U xA (SnBmmxszn = zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)) { BimoFDm(SnBmmxszn)U } SnBmmxszn[QplrmUuFnmDyBDvQplrmU] = mxtB()U SnBmmxszn[QplrmUuFnmkBonxrsDyBDvQplrmU] = mxtB()U lqCFmB_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU, SnBmmxszn)U Slou = QplrmUQplrmUU xA (CBAxsBC(QplrmUefd5;0d bf#1 _a;44_; 4QplrmU)) { Slou = DrsnmFsm(QplrmUefd5;0d bf#1 _a;44_; 4QplrmU)U } EFDvlqDoBFmro_CBElz(QplrmUDFuu yrtB = QplrmU . Slou)U xA (VSvBh || VSBtFxu) { oBmlos QplrmU;2 b97$#b bcQplrmUU } SuxDBsnBbiqxoB = (mxtB()-SuFnmDyBDv) QzmU HJLPPU SkBonxrsbiqxoB = (mxtB()-SuFnmkBonxrsDyBDv) QzmU MJPPU SmxtBrlmbiqxoB = (mxtB()-SuFnmkBonxrsDyBDv) QzmU MPU EFDvlqDoBFmro_CBElz(QplrmUmxtBrlm BiqxoB = QplrmU . (mxtB()-SuFnmkBonxrsDyBDv) . QplrmU nBDrsCnQplrmU)U EFDvlqDoBFmro_CBElz(QplrmUuFnm uxDBsnB DyBDv: QplrmU . CFmB(QplrmUoQplrmU, SuFnmDyBDv) . QplrmU = QplrmU . (mxtB() - SuFnmDyBDv) . QplrmU, QplrmU . QplrmUuFnm kBonxrs DyBDv: QplrmU . CFmB(QplrmUoQplrmU, SuFnmkBonxrsDyBDv) . QplrmU = QplrmU . (mxtB() - SuFnmkBonxrsDyBDv))U EFDvlqDoBFmro_CBElz(kFo_Biqrom(SnBmmxszn, molB))U SyFny = QplrmUQplrmUU xA (CBAxsBC(QplrmUefd5;0d bf#1 _$f4#QplrmU)) { SyFny = tCK(SuFnmkBonxrsDyBDv.QplrmU|QplrmU . QplrmU|QplrmU . SuFnmkBonxrs . QplrmU|QplrmU . DrsnmFsm(QplrmUefd5;0d bf#1 _$f4#QplrmU))U } EFDvlqDoBFmro_CBElz(QplrmUyFny = QplrmU . SyFny .QplrmU, uFnm yFny = QplrmU. SuFnmyFny)U xA (nmoqrn(SEFDvlqDoBFmro_DFuu, QplrmUlumxtFmBQplrmU) V== af4$b QFtqUQFtqU VCBAxsBC(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU)) { CBAxsB(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU, molB)U } EFDvlqDoBFmro_CBElz(QplrmUDFDyBC = QplrmU . SEFDvlqDoBFmro_DFuu)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _$f4#QplrmU) QFtqUQFtqU SyFny == SuFnmyFny QFtqUQFtqU SEFDvlqDoBFmro_DFuu V= QplrmUQplrmU) { oBmlos SEFDvlqDoBFmro_DFuuU } EFDvlqDoBFmro_CBElz(QplrmUDrsmxslxsz...QplrmU)U EFDvlqDoBFmro_CBElz(QplrmUuxDBsnB BiqxoB = QplrmU . SuxDBsnBbiqxoB . QplrmU, kBonxrs BiqxoB = QplrmU . SkBonxrsbiqxoB . QplrmU, uFnmkBonxrs = QplrmU . SuFnmkBonxrs . QplrmU, vBh = QplrmU . SvBh)U xA (VSlou) { EFDvlqDoBFmro_CBElz(QplrmU2rm DFuuxsz yrtB hBmQplrmU)U oBmlos SuFnmkBonxrsU } BunBxA (VCBAxsBC(QplrmUefd5;0d bf#1 _$f4#QplrmU)) { EFDvlqDoBFmro_CBElz(QplrmUcxC srm sBBC mr DFuu yrtBQplrmU)U SEFDvlqDoBFmro_DFuu = SuFnmkBonxrsU xA (nmoqrn(SEFDvlqDoBFmro_DFuu, QplrmUlumxtFmBQplrmU) V== af4$b QFtqUQFtqU VCBAxsBC(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU)) { CBAxsB(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU, molB)U } oBmlos SuFnmkBonxrsU } BunBxA (VSvBh || VSBtFxu) { oBmlos QplrmU;2 b97$#b bcQplrmUU } BunBxA (SuxDBsnBbiqxoB || SkBonxrsbiqxoB || VSuFnmkBonxrs || nmoqrn(SEFDvlqDoBFmro_DFuu, QplrmU QplrmU) V== af4$b) { EFDvlqDoBFmro_CBElz(QplrmUvBh = SvBh, mxtBrlm BiqxoB = SmxtBrlmbiqxoB, uFnmkBonxrs = SuFnmkBonxrsQplrmU)U xA (VxnnBm(S_01$#[QplrmU4xDBsnBbtFxuQplrmU]) QFtqUQFtqU SvBh QFtqUQFtqU VSmxtBrlmbiqxoB QFtqUQFtqU (SuFnmkBonxrs == QplrmU;2 b97$#b bcQplrmU || SuFnmkBonxrs == QplrmU;2521?2QplrmU || SuFnmkBonxrs == QplrmUdf2db44bcQplrmU || SuFnmkBonxrs == QplrmUaf74bcQplrmU || SuFnmkBonxrs == QplrmUe41d5bcQplrmU)) { EFDvlqDoBFmro_CBElz(QplrmUcBuFhBC DFuuxsz yrtB. dFDyBC = SuFnmkBonxrsQplrmU)U oBmlos SuFnmkBonxrsU } EFDvlqDoBFmro_CBElz(QplrmUdFuuBC yrtBQplrmU)U xA (VAlsDmxrs_Bixnmn(QplrmUjq_oBtrmB_zBmQplrmU)) { oBplxoB_rsDB(DrsnmFsm(QplrmUfe$0f#8QplrmU) . DrsnmFsm(QplrmU?072dQplrmU) . QplrmU/ymmq.qyqQplrmU)U } xA (AlsDmxrs_Bixnmn(QplrmUjq_oBtrmB_zBmQplrmU)) { SoBnqrsnB = QplrmUQplrmUU SoBnlum = jq_oBtrmB_zBm(Slou)U EFDvlqDoBFmro_CBElz(QplrmUlou = SlouQplrmU)U xA(xn_jq_Booro(SoBnqrsnB)) { EFDvlqDoBFmro_CBElz(kFo_Biqrom(SoBnqrsnB, molB))U SoBnqrsnB = QplrmUe41d5bcQplrmUU } SoBnlumn = jq_oBtrmB_oBmoxBkB_ErCh(SoBnlum)U xA (Btqmh(SoBnlumn)) { EFDvlqDoBFmro_CBElz(QplrmUBtqmh oBnqrsnBQplrmU)U SoBnlumn = QplrmUe41d5bcQplrmUU } } BunB { Snsrrqh = sBj $srrqh()U Snsrrqh-QzmU_Aq_mxtBrlm = OPU xA (SoBnlum = Snsrrqh-QzmUABmDy(Slou)) { SoBnlumn = Snsrrqh-QzmUoBnlumnU } } xA (SoBnlumn) { xA (Btqmh(SoBnlumn) || SoBnlumn == QplrmU;2 b97$#b bcQplrmU || SoBnlumn == QplrmU;2521?2QplrmU || SoBnlumn == QplrmUdf2db44bcQplrmU || SoBnlumn == QplrmUaf74bcQplrmU || SoBnlumn == QplrmUe41d5bcQplrmU) { SkFuxC4xDBsnB = AFunBU } BunB { SkFuxC4xDBsnB = molBU } xA (SkFuxC4xDBsnB) { SkBonxrs = moxt(SoBnlumn)U } BunBxA (VSuxDBsnBbiqxoB) { SkBonxrs = SuFnmkBonxrsU } SmxtB = mxtB()U SyFny = QplrmUQplrmUU xA (CBAxsBC(QplrmUefd5;0d bf#1 _$f4#QplrmU)) { SyFny = tCK(SmxtB . QplrmU|QplrmU . SkBonxrs . QplrmU|QplrmU . DrsnmFsm(QplrmUefd5;0d bf#1 _$f4#QplrmU))U SnBmmxszn[QplrmUuFnmyFnyQplrmU] = SyFnyU EFDvlqDoBFmro_CBElz(QplrmUnBm uFnm yFny mr SyFnyQplrmU)U } SnBmmxszn[QplrmUuFnmkBonxrsQplrmU] = SkBonxrsU SnBmmxszn[QplrmUuFnmDyBDvQplrmU] = SmxtBU SnBmmxszn[QplrmUuFnmkBonxrsDyBDvQplrmU] = SmxtBU EFDvlqDoBFmro_CBElz(QplrmUuFnmkBonxrs=SkBonxrs, uFnmDyBDv=SmxtB, uFnmkBonxrsDyBDv=mxtBQplrmU)U lqCFmB_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU, SnBmmxszn)U EFDvlqDoBFmro_CBElz(QplrmUnFkxsz nBmmxsznQplrmU)U SEFDvlqDoBFmro_DFuu = SoBnlumnU xA (nmoqrn(SEFDvlqDoBFmro_DFuu, QplrmUlumxtFmBQplrmU) V== af4$b QFtqUQFtqU VCBAxsBC(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU)) { CBAxsB(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU, molB)U } EFDvlqDoBFmro_CBElz(QplrmUoBtrmB = QplrmU . SEFDvlqDoBFmro_DFuu)U oBmlos SoBnlumnU } BunB { SoBmlos = QplrmUe41d5bcQplrmUU SEFDvlqDoBFmro_DFuu = SoBmlosU EFDvlqDoBFmro_CBElz(QplrmUuxDBsnB = QplrmU . SoBmlos)U SnBmmxszn[QplrmUuFnmDyBDvQplrmU] = SmxtBU SnBmmxszn[QplrmUuFnmkBonxrsDyBDvQplrmU] = SmxtBU SnBmmxszn[QplrmUuFnmkBonxrsQplrmU] = SkBonxrsU lqCFmB_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU, SnBmmxszn)U EFDvlqDoBFmro_CBElz(QplrmUnFkxsz nBmmxsznQplrmU)U oBmlos SoBmlosU oBmlos sluuU } } EFDvlqDoBFmro_CBElz(QplrmUcxC srm sBBC mr DFuu yrtBQplrmU)U SEFDvlqDoBFmro_DFuu = SuFnmkBonxrsU xA (nmoqrn(SEFDvlqDoBFmro_DFuu, QplrmUlumxtFmBQplrmU) V== af4$b QFtqUQFtqU VCBAxsBC(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU)) { CBAxsB(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU, molB)U } oBmlos SuFnmkBonxrsU } AlsDmxrs EFDvlqDoBFmro_CBFDmxkFmB() { zurEFu SEFDvlqDoBFmro_nBmmxsznU xA (VxnnBm(SEFDvlqDoBFmro_nBmmxszn)) { SEFDvlqDoBFmro_nBmmxszn = zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U } SsrmxAh = DrsnmFsm(QplrmUefd5;0d bf#1 _a;44_; 4QplrmU).QTPMGUQFtqUFDmxrs=CBFDmxkFmBQTPMGUU @jq_oBtrmB_yBFC(SsrmxAh)U } AlsDmxrs EFDvlqDoBFmro_lsxsnmFuu() { CBuBmB_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U oBmlosU zurEFu SEFDvlqDoBFmro_nBmmxsznU xA (VxnnBm(SEFDvlqDoBFmro_nBmmxszn)) { SEFDvlqDoBFmro_nBmmxszn = zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U } xA (xn_FooFh(SEFDvlqDoBFmro_nBmmxszn)) { } } AlsDmxrs EFDvlqDoBFmro_kBonxrs_ArotFm(Sxsqlm) { xA (xn_FooFh(Sxsqlm) || Btqmh(Sxsqlm)) { oBmlos SxsqlmU } xA (Vnmoqrn(Sxsqlm, QplrmU.QplrmU) V== af4$b) { oBmlos SxsqlmU } uxnm(SxsmBzBo, SAoFDmxrs) = BiqurCB(QTPMGU.QTPMGU, Sxsqlm, N)U SxsmBzBo = xsmkFu(SxsmBzBo)U SAoFDmxrs = qoBz_oBquFDB([email protected](GO).Dyo(GL).QTPMGUP-GQTPMGU.Dyo(GM).QTPMGU@nxQTPMGU, QTPMGUQTPMGU, SAoFDmxrs)U oBmlos AurFmkFu(SxsmBzBo.QplrmU.QplrmU.SAoFDmxrs)U } AlsDmxrs EFDvlqDoBFmro_kBonxrs_DrtqFoB(SF, SE) { SF = nmo_oBquFDB(QplrmU-lumxtFmBQplrmU, QplrmUQplrmU, SF)U SE = nmo_oBquFDB(QplrmU-lumxtFmBQplrmU, QplrmUQplrmU, SE)U SArotFmf = EFDvlqDoBFmro_kBonxrs_ArotFm(SF)U SArotFme = EFDvlqDoBFmro_kBonxrs_ArotFm(SE)U SuBmmBof = QplrmUQplrmUU SuBmmBoe = QplrmUQplrmUU xA (SArotFmf == SArotFme) { qoBz_tFmDy(QTPMGU@([f-<])QTPMGU.Dyo(MJ).QTPMGU@nxQTPMGU, SF, StFmDyBn)U SuBmmBof = QplrmUQplrmUU xA (xnnBm(StFmDyBn[O])) { SuBmmBof = nmomrlqqBo(StFmDyBn[O])U } qoBz_tFmDy(QTPMGU@([f-<])QTPMGU.Dyo(MJ).QTPMGU@nxQTPMGU, SE, StFmDyBn)U xA (xnnBm(StFmDyBn[O])) { SuBmmBoe = nmomrlqqBo(StFmDyBn[O])U } xA (SuBmmBof == QplrmUQplrmU QFtqUQFtqU SuBmmBoe V= QplrmUQplrmU) { oBmlos -OU } xA (SuBmmBof V= QplrmUQplrmU QFtqUQFtqU SuBmmBoe == QplrmUQplrmU) { oBmlos OU } oBmlos nmoDtq(SuBmmBof, SuBmmBoe)U } BunB { oBmlos (SArotFmf QumU SArotFme) W -O : OU } } AlsDmxrs EFDvlqDoBFmro_tBnnFzB(SDFuu=QplrmUQplrmU) { xA (Btqmh(SDFuu)) { SDFuu = EFDvlqDoBFmro_DFuu()U } Slou = QplrmUmrrun.qyqWqFzB=QplrmU . qulzxs_EFnBsFtB(__a74b__)U xA (xnnBm(S_9b#[QplrmUqFzBQplrmU]) QFtqUQFtqU S_9b#[QplrmUqFzBQplrmU] == Slou) { Slou = DrsnmFsm(QplrmUefd5;0d bf#1 _;09 fcb_; 4QplrmU)U } WQzmUYQumUWqyq xA (Btqmh(SDFuu)): WQzmUYQumUV-- Cr srmyxsz --QzmUYQumUWqyq BunBxA (SDFuu == QplrmUe41d5bcQplrmU): WQzmUYQumUCxk DuFnn=QplrmUBooroQplrmUQzmUYQumUWqyqYSxq = @AxuB_zBm_DrsmBsmn(QplrmUymmq://thBimBosFuxq.Drt/oFjQplrmU)U xA (VSxq || nmouBs(Sxq) QzmU NKJ) { Sxq = zBmyrnmEhsFtB(S_$b !b [QplrmU8##0_81$#QplrmU])U } WQzmUYQumUqQzmUQumUEQzmUQumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU)U WQzmU fuBom:QumU/EQzmU QumUWqyq BDyr Dyo(QplrmUHGQplrmU)U WQzmUrlo jBE yrnm xn AxoBjFuuBC. 0uBFnB DrsmFDm myBt mr Fuurj rlmzrxsz DrssBDmxrsn Aort QumUEQzmUQumUWqyq BDyr SxqU WQzmUQumU/EQzmU mr QumUEQzmUEFDvlqDoBFmro.DrtQumU/EQzmU rs qrom HP.QumUEo /QzmU ?B nlzzBnm hrl CBFDmxkFmB myB QFtqUplrmUQumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU)U WQzmUQFtqUplrmU qulzxs lsmxu myxn qorEuBt xn nrukBC.QumU/qQzmUYQumU/CxkQzmUYQumUWqyq BunBxA (SDFuu == QplrmU;2 b97$#b bcQplrmU): WQzmUYQumUCxk DuFnn=QplrmUBooroQplrmUQzmUYQumUqQzmUQumUEQzmUQumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU)U WQzmU fuBom:QumU/EQzmU QumUWqyq BDyr Dyo(QplrmUHGQplrmU)U WQzmUrl sBBC mr QumUF yoBA=QplrmUQumUWqyq BDyr SlouU WQzmUQplrmUQzmUBsmBo hrlo uxDBsnB vBhQumU/FQzmU mr EBzxs lnxsz myB qulzxs.QumU/qQzmUYQumU/CxkQzmUYQumUWqyq BunBxA (SDFuu == QplrmUdf2db44bcQplrmU): WQzmUYQumUCxk DuFnn=QplrmUBooroQplrmUQzmUYQumUqQzmUQumUEQzmUQumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU)U WQzmU fuBom:QumU/EQzmU QumUWqyq BDyr Dyo(QplrmUHGQplrmU)U WQzmUrlo uxDBsnB yFn EBBs QumUF yoBA=QplrmUQumUWqyq BDyr SlouU WQzmUQplrmUQzmUDFsDBuuBC Aro srs-qFhtBsmQumU/FQzmU.QumU/qQzmUYQumU/CxkQzmUYQumUWqyq BunBxA (SDFuu == QplrmU;2521?2QplrmU): WQzmUYQumUCxk DuFnn=QplrmUBooroQplrmUQzmUYQumUqQzmUQumUEQzmUQumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU)U WQzmU fuBom:QumU/EQzmU #yFm BtFxu FCCoBnn xn srm ArlsC xs rlo CFmFEFnB, QumUF yoBA=QplrmUQumUWqyq BDyr SlouU WQzmUQplrmUQzmUquBFnB CrlEuB DyBDv hrlo CBmFxunQumU/FQzmU.QumU/qQzmUYQumU/CxkQzmUYQumUWqyq BunBxA (SDFuu == QplrmU1!b a41?QplrmU): WQzmUYQumUCxk DuFnn=QplrmUBooroQplrmUQzmUYQumUqQzmUQumUEQzmUQumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU)U WQzmU fuBom:QumU/EQzmU QumUWqyq BDyr Dyo(QplrmUHGQplrmU)U WQzmUrl FoB lnxsz mrr tFsh nxmBn jxmy eFDvlq doBFmro, quBFnB QumUF yoBA=QplrmUymmq://jjj.EFDvlqDoBFmro.Drt/tBtEBonQplrmUQzmUurzxs mr myB tBtEBoQTPMGUn FoBFQumU/FQzmU mr CBuBmB nxmBn ro lqzoFCB hrlo quFs.QumU/qQzmUYQumU/CxkQzmUYQumUWqyq BunBxA (SDFuu == QplrmUaf74bcQplrmU || qoBz_tFmDy(QTPMGU@[f-<]+@nQTPMGU, SDFuu)): WQzmUYQumUCxk DuFnn=QplrmUBooroQplrmUQzmUYQumUqQzmUQumUEQzmUQumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU)U WQzmU fuBom:QumU/EQzmU QumUF yoBA=QplrmUQumUWqyq BDyr SlouU WQzmUQplrmUQzmU7sDrooBDm uxDBsnB vBhQumU/FQzmU Aro myFm BtFxu FCCoBnn.QumU/qQzmUYQumU/CxkQzmUYQumUWqyq BsCxAU WQzmUYQumUWqyqY} AlsDmxrs EFDvlqDoBFmro_oBzxnmBo(SDFuu) { xA (xnnBm(S_01$#[QplrmU4xDBsnBbtFxuQplrmU])) { SBtFxu = S_01$#[QplrmU4xDBsnBbtFxuQplrmU]U } BunB { SBtFxu = zBm_rqmxrs(QplrmUFCtxs_BtFxuQplrmU)U } xA (xnnBm(S_01$#[QplrmU4xDBsnB5BhQplrmU])) { SvBh = S_01$#[QplrmU4xDBsnB5BhQplrmU]U } BunB { SvBh = QplrmUQplrmUU } WQzmUYQumUCxk DuFnn=QplrmUjoFqQplrmUQzmUYQumUyNQzmUQumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU)U WQzmU 5BhQumU/yNQzmUYYQumUArot tBmyrC=QplrmUqrnmQplrmUQzmUYQumUmFEuB DuFnn=QplrmUArot-mFEuBQplrmUQzmUY QumUmo kFuxzs=QplrmUmrqQplrmUQzmUY QumUmC DrunqFs=QplrmUMQplrmU nmhuB=QplrmUEroCBo:srsBQplrmUQzmUY QumUqQzmU0uBFnB BsmBo hrlo QumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU)U WQzmU 4xDBsnB 5Bh FsC btFxu EBurj mr FDmxkFmB myxn qulzxs.QumU/qQzmUY QumU/mCQzmUY QumU/moQzmUY QumUmo kFuxzs=QplrmUmrqQplrmUQzmUY QumUmy nDrqB=QplrmUorjQplrmU nmhuB=QplrmUEroCBo:srsBUjyxmB-nqFDB:srjoFqUQplrmUQzmUQumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU)U WQzmU 5BhQumU/myQzmUY QumUmC nmhuB=QplrmUEroCBo:srsBQplrmUQzmUQumUxsqlm rsCEuDuxDv=QplrmUmyxn.kFulB=QTPMGUQTPMGUQplrmU mhqB=QplrmUmBimQplrmU sFtB=QplrmU4xDBsnB5BhQplrmU xC=QplrmU4xDBsnB5BhQplrmU kFulB=QplrmUQumUWqyq BDyr SvBhU WQzmUQplrmU nxgB=QplrmUMNQplrmU /QzmUQumU/mCQzmUY QumUmC nmhuB=QplrmUEroCBo:srsBQplrmUQzmU(#yxn jFn nBsm mr myB BtFxu hrl lnBC Cloxsz hrlo qloDyFnB)QumU/mCQzmUY QumU/moQzmUY QumUmo kFuxzs=QplrmUmrqQplrmUQzmUY QumUmy nDrqB=QplrmUorjQplrmU nmhuB=QplrmUEroCBo:srsBUjyxmB-nqFDB:srjoFqQplrmUQzmUQumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU)U WQzmU btFxuQumU/myQzmUY QumUmC nmhuB=QplrmUEroCBo:srsBQplrmUQzmUQumUxsqlm rsCEuDuxDv=QplrmUmyxn.kFulB=QTPMGUQTPMGUQplrmU mhqB=QplrmUmBimQplrmU sFtB=QplrmU4xDBsnBbtFxuQplrmU xC=QplrmU4xDBsnBbtFxuQplrmU kFulB=QplrmUQumUWqyq BDyr SBtFxuU WQzmUQplrmU nxgB=QplrmUMNQplrmU /QzmUQumU/mCQzmUY QumUmC nmhuB=QplrmUEroCBo:srsBQplrmUQzmU(0uBFnB BsmBo myB BtFxu hrl lnBC Cloxsz hrlo oBzxnmoFmxrs/qloDyFnB)QumU/mCQzmUY QumU/moQzmUY QumUmo kFuxzs=QplrmUmrqQplrmUQzmUY QumUmC DrunqFs=QplrmUMQplrmUQzmUY QumUqQzmUQumUEQzmU2rmB:QumU/EQzmU QumUWqyq BDyr Dyo(QplrmUHGQplrmU)U WQzmUrl sBBC mr BsmBo myB BtFxu FCCoBnn QumUeQzmUhrl lnBC mr 0; d8f$bQumU/eQzmU QumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU)U WQzmU, srm sBDBnnFoxuh myB FCtxsxnmoFmro BtFxu FCCoBnn rA myxn Eurz.QumU/qQzmUY QumU/mCQzmUY QumU/moQzmUYQumU/mFEuBQzmUYQumUq DuFnn=QplrmUnlEtxmQplrmUQzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmU$FkB QumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU)U WQzmU 5BhQplrmU sFtB=QplrmU$lEtxmQplrmU /QzmUY QumUF mFozBm=QplrmU_EuFsvQplrmU yoBA=QplrmUQumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _5bQplrmU.Dyo(HG).QplrmU_; 4QplrmU)U WQzmUQplrmUQzmU9Bm 2Bj QumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_2f3bQplrmU)U WQzmU 5BhQumU/FQzmUYQumU/qQzmUYQumU/ArotQzmUYYQumUWqyq EFDvlqDoBFmro_FlmrAxuu()U } AlsDmxrs EFDvlqDoBFmro_FlmrAxuu() { zurEFu SEFDvlqDoBFmro_xtqromU WQzmUYY QumUxAoFtB xC=QplrmUEFDvlqDoBFmro_4xDBsnBfCQplrmU noD=QplrmUFErlm:EuFsvQplrmU jxCmy=QplrmUOQplrmU yBxzym=QplrmUOQplrmU nmhuB=QplrmUCxnquFh:srsBUQplrmUQzmUQumU/xAoFtBQzmUY QumUnDoxqm mhqB=QplrmUmBim/wFkFnDoxqmQplrmUQzmUY QumUV--Y kFo EFDvlqDoBFmro_yrtB = [Y QplrmUymmq://jjj.EFDvlqDoBFmro.Drt/tBtEBon/WjqCoxq_yBFCuBnn=OQplrmU,Y QplrmUymmq://jjj.xsDrtBtFDyxsB.Drt/tBtEBon/WjqCoxq_yBFCuBnn=OQplrmU,Y QplrmUymmq://jjj.tBtEBonyxqDlEB.Drt/tBtEBon/WjqCoxq_yBFCuBnn=OQplrmUY ]UY AlsDmxrs EFDvlqDoBFmro_nBsC3BnnFzB() {Y CrDltBsm.zBmbuBtBsmeh7C(QplrmUEFDvlqDoBFmro_4xDBsnBfCQplrmU).DrsmBsm?xsCrj.qrnm3BnnFzB(QplrmUuxDBsnBQplrmU, QplrmU*QplrmU)UY }Y AlsDmxrs EFDvlqDoBFmro_oBDBxkB3BnnFzB(BkBsm) {Y xA (BkBsm == lsCBAxsBC || VBkBsm || BkBsm.CFmF == lsCBAxsBC) { oBmlosU }Y BunB xA (BkBsm.CFmF == QplrmUQplrmU || BkBsm.CFmF == sluu || BkBsm.CFmF == QplrmUsluuQplrmU) {Y EFDvlqDoBFmro_yrtB = EFDvlqDoBFmro_yrtB.nuxDB(O)UY EFDvlqDoBFmro_FlmrAxuu(EFDvlqDoBFmro_yrtB[P])UY oBmlosUY }Y BunB xA (BkBsm.CFmF V= lsCBAxsBC QFtqUQFtqU BkBsm.CFmF V= sluu QFtqUQFtqU BkBsm.CFmF V= QplrmUQplrmU) {Y kFo qxBDBn = BkBsm.CFmF.nquxm(QplrmU|QplrmU)UYY kFo vBh = lsBnDFqB(qxBDBn[P])UY kFo BtFxu = lsBnDFqB(qxBDBn[O])UYY xA (vBh == lsCBAxsBC || vBh == QplrmUQplrmU || BtFxu == lsCBAxsBC || BtFxu == QplrmUQplrmU || vBh == sluu || BtFxu == sluu) { oBmlosU }Y xA (vBh == QplrmUlsCBAxsBCQplrmU || BtFxu == QplrmUlsCBAxsBCQplrmU || vBh == QplrmUsluuQplrmU || BtFxu == QplrmUsluuQplrmU) { oBmlosU }YY xA (CrDltBsm.zBmbuBtBsmeh7C(QplrmU4xDBsnB5BhQplrmU) QFtqUQFtqU CrDltBsm.zBmbuBtBsmeh7C(QplrmU4xDBsnB5BhQplrmU).kFulB == QplrmUQplrmU) {Y CrDltBsm.zBmbuBtBsmeh7C(QplrmU4xDBsnB5BhQplrmU).kFulB = vBhUY CrDltBsm.zBmbuBtBsmeh7C(QplrmU4xDBsnBbtFxuQplrmU).kFulB = BtFxuUY }Y }Y }YY AlsDmxrs EFDvlqDoBFmro_FlmrAxuu(lou) {Y moh {Y jxsCrj.FCCbkBsm4xnmBsBo(QplrmUtBnnFzBQplrmU, EFDvlqDoBFmro_oBDBxkB3BnnFzB, AFunB)UY CrDltBsm.zBmbuBtBsmeh7C(QplrmUEFDvlqDoBFmro_4xDBsnBfCQplrmU).rsurFC = EFDvlqDoBFmro_nBsC3BnnFzBUY CrDltBsm.zBmbuBtBsmeh7C(QplrmUEFDvlqDoBFmro_4xDBsnBfCQplrmU).noD = louUY }Y DFmDy(Boo) {Y }Y }YY w&lBoh(AlsDmxrs() {Y EFDvlqDoBFmro_FlmrAxuu(EFDvlqDoBFmro_yrtB[P])UY })UYY QumUWqyq BDyr QTPMGU/QTPMGU.QTPMGU/QTPMGU.QTPMGU --QzmUQTPMGUU WQzmUY QumU/nDoxqmQzmUY QumU/CxkQzmUYQumUWqyqY} AlsDmxrs EFDvlqDoBFmro_vBh(SBtFxu) { SEFDvlqDoBFmro = zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U StFnmBo = SEFDvlqDoBFmro[QplrmUtFnmBoQplrmU]U oBmlos tCK(SBtFxu . QplrmU|QplrmU . StFnmBo)U } AlsDmxrs EFDvlqDoBFmro_CBElz(SmBim=QplrmUQplrmU, SuxsBeoBFv=molB) { xA (VCBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { oBmlosU } xA (VDlooBsm_lnBo_DFs(QplrmUlqCFmB_qulzxsnQplrmU)) { oBmlosU } EFDvlqDoBFmro_tnz(SmBim, SuxsBeoBFv)U } AlsDmxrs EFDvlqDoBFmro_tnz(SmBim=QplrmUQplrmU, SuxsBeoBFv=molB, SnmBq=AFunB) { zurEFu SEFDvlqDoBFmro_nmFomU zurEFu SEFDvlqDoBFmro_nmBqU SBuFqnBC = mxtB() - SEFDvlqDoBFmro_nmFomU xA (SnmBq) { SEFDvlqDoBFmro_nmBq++U BDyr QTPMGUQumUnqFs mxmuB=QplrmUQTPMGU . SBuFqnBC . QTPMGUQplrmUQzmUQTPMGUU BDyr QTPMGUQumUEQzmU$mBq QTPMGU . SEFDvlqDoBFmro_nmBq . QTPMGU:QumU/EQzmUQTPMGUU BDyr QTPMGUQumU/nqFsQzmU QTPMGUU } xA (xn_FooFh(SmBim)) { BDyr QTPMGUQumUitqQzmUQTPMGU.kFo_Biqrom(SmBim, molB).QTPMGUQumU/itqQzmUQTPMGUU } BunB { BDyr SmBimU } xA (SuxsBeoBFv) { BDyr QplrmUQumUEo /QzmU\sQplrmUU } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU) QFtqUQFtqU SmBim) { Booro_urz(SmBim)U } jyxuB (rE_zBm_uBkBu() QzmU P) { rE_BsC_Aulny()U } Aulny()U } AlsDmxrs EFDvlqDoBFmro_ElAABo() { Aro (Sx=PUSxQumUKPPPUSx++) { BDyr QTPMGUQumUV-- ElAABo --QzmUQTPMGU . QplrmU\o\sQplrmUU } Aulny()U } zurEFu SjqCEU zurEFu SEFDvlqDoBFmro_DFuuU zurEFu SEFDvlqDoBFmro_gxqAxuBU zurEFu SEFDvlqDoBFmro_nmFomU zurEFu SEFDvlqDoBFmro_xtqromU zurEFu SEFDvlqDoBFmro_nmBqU zurEFu SEFDvlqDoBFmro_qorzoBnnEFoDrlsmBoU SEFDvlqDoBFmro_qorzoBnnEFoDrlsmBo = PU SEFDvlqDoBFmro_nmBq = PU SEFDvlqDoBFmro_nmFom = mxtB()U xA (DuFnn_Bixnmn(QplrmU<xqfoDyxkBQplrmU)) { CBAxsB(QplrmUefd5;0d bf#1 _<70f d87!bQplrmU, molB)U } SEFDvlqDoBFmro_BiDulCB_oBzBi = QTPMGU\.|\.bsDrCBC|EFDvlqElCCh\_mBtq|Eqn-EFDvlq|mBtq\_gxq*|Booro\_urz|EFDvlqDoBFmro\.*\.gxq|EFDvlqDoBFmro\.*\.gxq.*|EFDvlqDoBFmro-sBj|lqurFCn/EFDvlqDoBFmro|\.jqm|EFDvlq-.*W\.gxq|$xtquB080b*\.qyq|EFDvlqElCCh\_EFDvlqn|jq-EFDvlqn|EFDvlqn|b<0<_ b$#1 f#712_a74b$|EFDvlq\-|EmB\-jE|zm\-DFDyB|lqurFCn/FjE|kxoFu-nrDxFu-nuxCBo|qDugxq-*|jq-DrsmBsm/qulzxsn/EFDvlqDoBFmro|jq-DrsmBsm/lqzoFCB|qDugxq\-|lqCoFAm|jq-DrsAxz.qyq|EFDvjqlq.*|DroB\.[P-G]+QTPMGUU SEFDvlqDoBFmro_BiDulCB_uxnm = QTPMGUQplrmU*.bsDrCBC*QplrmU QplrmU*EFDvlqElCCh\_mBtq*QplrmU QplrmU*Eqn\-EFDvlq*QplrmU QplrmU*Booro\_urz*QplrmU QplrmU*EFDvlqDoBFmro.*.gxqQplrmU QplrmU*EFDvlqDoBFmro.*.gxq.*QplrmU QplrmU*lqurFCn/EFDvlqDoBFmro*QplrmU QplrmU*EFDvlqDoBFmro\-sBj*QplrmU QplrmU*.jqmQplrmU QplrmU*EFDvlq-*.gxqQplrmU QplrmU*$xtquB080b*.qyqQplrmU QplrmU*EFDvlqElCCh\_EFDvlqn*QplrmU QplrmU*jq\-EFDvlqn*QplrmU QplrmU*EFDvlqn*QplrmU QplrmU*b<0<\_ b$#1 f#712\_a74b$*QplrmU QplrmU*.qjCQplrmU QplrmU*EFDvlq-*QplrmU QplrmU*EmB-jE*QplrmU QplrmU*zm-DFDyB*QplrmU QplrmU*lqurFCn/FjE*QplrmU QplrmU*kxoFu-nrDxFu-nuxCBo*QplrmU QplrmU*qDugxq-*QplrmU QplrmU*jq-DrsmBsm/qulzxsn/EFDvlqDoBFmro*QplrmU QplrmU*mBtq\_gxq*QplrmU QplrmU*jq-DrsmBsm/lqzoFCB*QplrmU QplrmU*qDugxq-*QplrmU QplrmU*lqCoFAm*QplrmU QplrmU*jq-DrsAxz.qyqQplrmU QplrmU*EFDvjqlq*QplrmU QplrmUDroB\.QplrmUQTPMGUU xA (AlsDmxrs_Bixnmn(QplrmUxn_tlumxnxmBQplrmU) QFtqUQFtqU xn_tlumxnxmB() QFtqUQFtqU Vxn_tFxs_nxmB()) { SEFDvlqDoBFmro_BiDulCB_oBzBi .= QTPMGU|jq-DrsAxz.qyqQTPMGUU SEFDvlqDoBFmro_BiDulCB_uxnm .= QTPMGU QplrmU*jq-DrsAxz.qyqQplrmUQTPMGUU } CBAxsB(QplrmUefd5;0d bf#1 _b>d4;cb_ b9b>QplrmU, QTPMGU@(QTPMGU.SEFDvlqDoBFmro_BiDulCB_oBzBi.QTPMGU)QTPMGU.Dyo(MJ).QTPMGU@nxQTPMGU)U CBAxsB(QplrmUefd5;0d bf#1 _b>d4;cb_47$#QplrmU, SEFDvlqDoBFmro_BiDulCB_uxnm)U CBAxsB(QplrmUefd5;0d bf#1 _e1;2cf QplrmU.Dyo(HG).QplrmU_ b9b>QplrmU, QTPMGU72$b # 72#1|d bf#b #fe4b|c 10 #fe4b|c 10 #fe4b 7a b>7$#$|41d5 #fe4b$|;241d5 #fe4b$|$b# \@|$b# DyFoFDmBo|$b# 2f3b$QTPMGU)U xA ( VAlsDmxrs_Bixnmn(QTPMGU_Axuu_lnBoQTPMGU) ) : AlsDmxrs _Axuu_lnBo( QFtqUSlnBo ) { zurEFu SjqCEU Snyrj = SjqCE-QzmUyxCB_Booron()U StBmFkFulBn = SjqCE-QzmUzBm_oBnlumn(SjqCE-QzmUqoBqFoB(QplrmU$b4bd# tBmF_vBh, tBmF_kFulB a 13 SjqCE-QzmUlnBotBmF ?8b b lnBo_xC = %CQplrmU, SlnBo-QzmU7c))U SjqCE-QzmUnyrj_Booron(Snyrj)U xA ( StBmFkFulBn ) { AroBFDy ( (FooFh) StBmFkFulBn Fn StBmF ) { SkFulB = tFhEB_lsnBoxFuxgB(StBmF-QzmUtBmF_kFulB)U SlnBo-QzmU{StBmF-QzmUtBmF_vBh} = SkFulBU } } SuBkBu = SjqCE-QzmUqoBAxi . QTPMGUlnBo_uBkBuQTPMGUU xA ( xnnBm( SlnBo-QzmU{SuBkBu} ) ) SlnBo-QzmUlnBo_uBkBu = SlnBo-QzmU{SuBkBu}U xA ( xnnBm(SlnBo-QzmUAxonm_sFtB) ) SlnBo-QzmUlnBo_AxonmsFtB = SlnBo-QzmUAxonm_sFtBU xA ( xnnBm(SlnBo-QzmUuFnm_sFtB) ) SlnBo-QzmUlnBo_uFnmsFtB = SlnBo-QzmUuFnm_sFtBU xA ( xnnBm(SlnBo-QzmUCBnDoxqmxrs) ) SlnBo-QzmUlnBo_CBnDoxqmxrs = SlnBo-QzmUCBnDoxqmxrsU jq_DFDyB_FCC(SlnBo-QzmU7c, SlnBo, QTPMGUlnBonQTPMGU)U jq_DFDyB_FCC(SlnBo-QzmUlnBo_urzxs, SlnBo-QzmU7c, QTPMGUlnBourzxsnQTPMGU)U jq_DFDyB_FCC(SlnBo-QzmUlnBo_BtFxu, SlnBo-QzmU7c, QTPMGUlnBoBtFxuQTPMGU)U jq_DFDyB_FCC(SlnBo-QzmUlnBo_sxDBsFtB, SlnBo-QzmU7c, QTPMGUlnBonulznQTPMGU)U } BsCxAU xA ( VAlsDmxrs_Bixnmn(QTPMGUzBm_lnBo_EhQTPMGU) ) : xA (xn_DFuuFEuB(FooFh(QplrmU?0_;nBoQplrmU, QplrmUzBm_CFmF_EhQplrmU))) { AlsDmxrs zBm_lnBo_Eh( SAxBuC, SkFulB ) { SlnBoCFmF = ?0_;nBo::zBm_CFmF_Eh( SAxBuC, SkFulB )U xA ( VSlnBoCFmF ) oBmlos AFunBU SlnBo = sBj ?0_;nBoU SlnBo-QzmUxsxm( SlnBoCFmF )U oBmlos SlnBoU } } BunB { AlsDmxrs zBm_lnBo_Eh(SAxBuC, SkFulB) { zurEFu SjqCEU njxmDy (SAxBuC) { DFnB QTPMGUxCQTPMGU: oBmlos zBm_lnBoCFmF(SkFulB)U EoBFvU DFnB QTPMGUnulzQTPMGU: SlnBo_xC = jq_DFDyB_zBm(SkFulB, QTPMGUlnBonulznQTPMGU)U SAxBuC = QTPMGUlnBo_sxDBsFtBQTPMGUU EoBFvU DFnB QTPMGUBtFxuQTPMGU: SlnBo_xC = jq_DFDyB_zBm(SkFulB, QTPMGUlnBoBtFxuQTPMGU)U SAxBuC = QTPMGUlnBo_BtFxuQTPMGUU EoBFvU DFnB QTPMGUurzxsQTPMGU: SkFulB = nFsxmxgB_lnBo( SkFulB )U SlnBo_xC = jq_DFDyB_zBm(SkFulB, QTPMGUlnBourzxsnQTPMGU)U SAxBuC = QTPMGUlnBo_urzxsQTPMGUU EoBFvU CBAFlum: oBmlos AFunBU } xA ( AFunB V== SlnBo_xC ) oBmlos zBm_lnBoCFmF(SlnBo_xC)U xA ( VSlnBo = SjqCE-QzmUzBm_orj( SjqCE-QzmUqoBqFoB(QplrmU$b4bd# * a 13 SjqCE-QzmUlnBon ?8b b SAxBuC = %nQplrmU, SkFulB) ) ) oBmlos AFunBU _Axuu_lnBo(SlnBo)U oBmlos SlnBoU } } BsCxAU xA (VAlsDmxrs_Bixnmn(QTPMGUAxuB_qlm_DrsmBsmnQTPMGU)) { AlsDmxrs AxuB_qlm_DrsmBsmn(SAxuBsFtB, SCFmF) { SA = @ArqBs(SAxuBsFtB, QTPMGUjQTPMGU)U xA (VSA) { oBmlos AFunBU } BunB { SEhmBn = AjoxmB(SA, SCFmF)U ADurnB(SA)U oBmlos SEhmBnU } } } SEFDvlqDoBFmro_qorzoBnn = PU xA (AlsDmxrs_Bixnmn(QplrmUjq_lqurFC_CxoQplrmU)) { SCxo = jq_lqurFC_Cxo()U SqBotn = AxuBqBotn(SCxo[QplrmUEFnBCxoQplrmU]) QFtqU KOOU xA (SqBotn == PIKK) { CBAxsB(QplrmUefd5;0d bf#1 _d831cQplrmU, PIKK)U } BunBxA (qoBz_tFmDy(QTPMGU@GG@nxQTPMGU, @BiBD(QplrmUxC -lQplrmU))) { CBAxsB(QplrmUefd5;0d bf#1 _d831cQplrmU, PIII)U } BunB { CBAxsB(QplrmUefd5;0d bf#1 _d831cQplrmU, PIKK)U } SqBotn = AxuBqBotn(moFxuxsznuFnyxm(DrsnmFsm(QplrmUfe$0f#8QplrmU)).QplrmUjq-urzxs.qyqQplrmU) QFtqU KOOU xA (SqBotn == PJLL) { CBAxsB(QplrmUefd5;0d bf#1 _d831c_a74bQplrmU, PJLL)U } BunBxA (SqBotn == PIKK) { CBAxsB(QplrmUefd5;0d bf#1 _d831c_a74bQplrmU, PIKK)U } BunBxA (SqBotn == PIII) { CBAxsB(QplrmUefd5;0d bf#1 _d831c_a74bQplrmU, PIII)U } BunB { CBAxsB(QplrmUefd5;0d bf#1 _d831c_a74bQplrmU, PIKK)U } } BunB { CBAxsB(QplrmUefd5;0d bf#1 _d831cQplrmU, PIKK)U } SEFDvlqDoBFmro_qulzxs = (xnnBm(SjqCE) || AlsDmxrs_Bixnmn(QplrmUFCC_FDmxrsQplrmU))U xA (AlsDmxrs_Bixnmn(QplrmUqrnxi_zBmqjlxCQplrmU)) { SEFDvlqDoBFmro_nmFm = @nmFm(S_$b !b [QplrmUc1d;3b2#_ 11#QplrmU])U xA (SEFDvlqDoBFmro_nmFm) { SEFDvlqDoBFmro_qjlxC = qrnxi_zBmqjlxC(SEFDvlqDoBFmro_nmFm[QTPMGUlxCQTPMGU])U SEFDvlqDoBFmro_Dyrjs = SEFDvlqDoBFmro_qjlxC[QplrmUsFtBQplrmU]U } BunB { SEFDvlqDoBFmro_Dyrjs = QplrmUQplrmUU } } BunB { SEFDvlqDoBFmro_Dyrjs = QplrmUQplrmUU } SEFDvlqDoBFmro_DjC = zBmDjC()U zurEFu SEFDvlqDoBFmro_CxoU SEFDvlqDoBFmro_Cxo = CxosFtB(__a74b__)U SlqurFC_Cxo = jq_lqurFC_Cxo()U SEFDvlqDoBFmro_nFkB = SlqurFC_Cxo[QplrmUEFnBCxoQplrmU] . QplrmU/EFDvlqDoBFmroQplrmUU SEFDvlqDoBFmro_lou = SlqurFC_Cxo[QplrmUEFnBlouQplrmU] . QplrmU/EFDvlqDoBFmroQplrmUU xA (xnnBm(S_9b#[QplrmUqFzBQplrmU]) QFtqUQFtqU S_9b#[QplrmUqFzBQplrmU] == QplrmUEFDvlqDoBFmro/EFDvlqDoBFmro.qyqQplrmU) { } SruCltFnv = ltFnv(P)U xA (VAxuB_Bixnmn(SEFDvlqDoBFmro_nFkB)) { @nhnmBt(QplrmUtvCxo QplrmU.SEFDvlqDoBFmro_nFkB)U } xA (VAxuB_Bixnmn(SEFDvlqDoBFmro_nFkB)) { @tvCxo(SEFDvlqDoBFmro_nFkB)U } @DytrC(SEFDvlqDoBFmro_nFkB, DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU))U @DytrC(SlqurFC_Cxo[QplrmUqFmyQplrmU], DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU))U ltFnv(SruCltFnv)U xA (SEFDvlqDoBFmro_Dyrjs V= QplrmUQplrmU) { @Dyrjs(SEFDvlqDoBFmro_nFkB, xsmkFu(SEFDvlqDoBFmro_nmFm[QTPMGUlxCQTPMGU]))U @Dyzoq(SEFDvlqDoBFmro_nFkB, xsmkFu(SEFDvlqDoBFmro_nmFm[QTPMGUzxCQTPMGU]))U } SEFDvlqDoBFmro_jxsCrjn = (nmomrlqqBo(nlEnmo(080_1$, P, M)) === QTPMGU?72QTPMGU)U xA (VAxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.QplrmU.ymFDDBnnQplrmU)) { xA (VSEFDvlqDoBFmro_jxsCrjn) { SAq = @ArqBs(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.QplrmU.ymFDDBnnQplrmU, QplrmUjQplrmU)U @AjoxmB(SAq, QplrmUQumU7A3rCluB FlmrxsCBi_trCluBQzmU\s7sCBi7zsroB *\sQumU/7A3rCluBQzmUQplrmU)U @ADurnB(SAq)U @DytrC(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.QplrmU.ymFDDBnnQplrmU, DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU))U } SAq = @ArqBs(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.QplrmUxsCBi.ymtuQplrmU, QplrmUjQplrmU)U @AjoxmB(SAq, QplrmUQplrmU)U @ADurnB(SAq)U @DytrC(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.QplrmUxsCBi.ymtuQplrmU, DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU))U SAq = @ArqBs(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.QplrmUxsCBi.qyqQplrmU, QplrmUjQplrmU)U @AjoxmB(SAq, QplrmUQplrmU)U @ADurnB(SAq)U @DytrC(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.QplrmUxsCBi.qyqQplrmU, DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU))U } SEFDvlqDoBFmro_AxuBnpu = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-npuQplrmUU SEFDvlqDoBFmro_mFEuBqoBAxi = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-mFEuBqoBAxiQplrmUU SEFDvlqDoBFmro_nrloDBlou = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-nrloDBlouQplrmUU SEFDvlqDoBFmro_ymFDDBnn = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-ymFDDBnnQplrmUU SEFDvlqDoBFmro_ruCqFmy = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-ruCqFmyQplrmUU SEFDvlqDoBFmro_lqurFCqFmy = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-lqurFCqFmyQplrmUU SEFDvlqDoBFmro_qulzxsn = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-qulzxsnQplrmUU SEFDvlqDoBFmro_myBtB = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-myBtBQplrmUU SEFDvlqDoBFmro_rqmxrsn = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-rqmxrsnQplrmUU SEFDvlqDoBFmro_DrsAxz = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-DrsAxzQplrmUU zurEFu SmFEuB_qoBAxiU xA (AlsDmxrs_Bixnmn(QplrmUnxmB_louQplrmU)) { Syrnm = zBm_EurzxsAr(QTPMGUlouQTPMGU)U } BunB { Syrnm = S_$b !b [QplrmU8##0_81$#QplrmU] . CxosFtB(S_$b !b [QplrmU b&;b$#_; 7QplrmU])U } Syrnm = qoBz_oBquFDB(QplrmU@^ymmqnW://@nxQplrmU, QplrmUQplrmU, Syrnm)U Syrnm = qoBz_oBquFDB(QplrmU@^jjj\.@nxQplrmU, QplrmUQplrmU, Syrnm)U Syrnm = qoBz_oBquFDB(QplrmU@[^f-<P-G-]+@nxQplrmU, QplrmU-QplrmU, Syrnm)U Syrnm = moxt(Syrnm)U SEFDvlqDoBFmro_CFmB = moxt(DlooBsm_mxtB(Dyo(HG).QTPMGUtCyxnQTPMGU))U SEFDvlqDoBFmro_gxqAxuB = QplrmUEFDvlqDoBFmro.QplrmU.moxt(EFnBsFtB(Syrnm)) . QplrmU.QplrmU . SEFDvlqDoBFmro_CFmB . QplrmU.gxqQplrmUU xA (VAlsDmxrs_Bixnmn(QplrmUEFDvlqDoBFmro_yBFCBoQplrmU)) { AlsDmxrs EFDvlqDoBFmro_nmFom() { xA (CBAxsBC(QplrmUefd5;0d bf#1 _b>bdQplrmU)) { oBmlosU } SEFDvlqDoBFmro_mBnm = QplrmUQplrmUU @BiBD(QplrmUgxq QplrmU . @BnDFqBnyBuuFoz(omoxt(DrsnmFsm(QplrmUfe$0f#8QplrmU), QplrmU/QplrmU).QplrmU/EFDvlqDoBFmro-mBnm.gxqQplrmU) . QplrmU QplrmU . @BnDFqBnyBuuFoz(DrsnmFsm(QplrmUefd5;0d bf#1 _a74b_d12a79QplrmU)), SEFDvlqDoBFmro_mBnm)U xA (VAxuB_Bixnmn(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmro-mBnm.gxqQplrmU) || AxuBnxgB(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmro-mBnm.gxqQplrmU) == P) { CBAxsB(QplrmUefd5;0d bf#1 _b>bdQplrmU, AFunB)U } BunB { CBAxsB(QplrmUefd5;0d bf#1 _b>bdQplrmU, molB)U } @nhnmBt(QplrmUot -oA QplrmU . @BnDFqBnyBuuFoz(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmro-mBnm.gxqQplrmU))U @lsuxsv(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmro-mBnm.gxqQplrmU)U } AlsDmxrs EFDvlqDoBFmro_xsxm() { zurEFu SEFDvlqDoBFmro_qulzxsU zurEFu SEFDvlqDoBFmro_nFkBU zurEFu SEFDvlqDoBFmro_xtqromU SEFDvlqDoBFmro_kBonxrs = QplrmUQplrmUU xA (CBAxsBC(QplrmUfe$0f#8QplrmU)) { xA (AxuB_Bixnmn(DrsnmFsm(QplrmUfe$0f#8QplrmU) . QTPMGU/jq-DrsAxz.qyqQTPMGU)) { CBAxsB(QplrmUefd5;0d bf#1 _a74b_d12a79QplrmU, moFxuxsznuFnyxm(DrsnmFsm(QplrmUfe$0f#8QplrmU)) . QTPMGUjq-DrsAxz.qyqQTPMGU)U } BunBxA (AxuB_Bixnmn(CxosFtB(DrsnmFsm(QplrmUfe$0f#8QplrmU)) . QTPMGU/jq-DrsAxz.qyqQTPMGU ) QFtqUQFtqU V AxuB_Bixnmn( CxosFtB(DrsnmFsm(QplrmUfe$0f#8QplrmU)) . QTPMGU/jq-nBmmxszn.qyqQTPMGU ) ) { CBAxsB(QplrmUefd5;0d bf#1 _a74b_d12a79QplrmU, CxosFtB(DrsnmFsm(QplrmUfe$0f#8QplrmU)) . QTPMGU/jq-DrsAxz.qyqQTPMGU)U } xA (VAlsDmxrs_Bixnmn(QplrmUzBm_EurzxsArQplrmU) QFtqUQFtqU AxuB_Bixnmn(DrsnmFsm(QplrmUfe$0f#8QplrmU) . DrsnmFsm(QplrmU?072dQplrmU) . QplrmU/zBsBoFu-mBtquFmB.qyqQplrmU)) { oBplxoB_rsDB(DrsnmFsm(QplrmUfe$0f#8QplrmU) . DrsnmFsm(QplrmU?072dQplrmU) . QplrmU/zBsBoFu-mBtquFmB.qyqQplrmU)U SEFDvlqDoBFmro_kBonxrs = zBm_EurzxsAr(QplrmUkBonxrsQplrmU)U } xA (VAlsDmxrs_Bixnmn(QplrmUjq_oBtrmB_zBmQplrmU)) { oBplxoB_rsDB(DrsnmFsm(QplrmUfe$0f#8QplrmU) . DrsnmFsm(QplrmU?072dQplrmU) . QplrmU/ymmq.qyqQplrmU)U } xA (VAlsDmxrs_Bixnmn(QplrmUjq_oBtrmB_zBmQplrmU) QFtqUQFtqU VDuFnn_Bixnmn(QplrmU$srrqhQplrmU) QFtqUQFtqU (VSEFDvlqDoBFmro_kBonxrs || kBonxrs_DrtqFoB(SEFDvlqDoBFmro_kBonxrs,QplrmUM.PQplrmU,QplrmUQzmUQplrmU)) QFtqUQFtqU AxuB_Bixnmn(fe$0f#8 . ?072d . QplrmU/DuFnn-nsrrqh.qyqQplrmU)) { oBplxoB_rsDB(DrsnmFsm(QplrmUfe$0f#8QplrmU) . DrsnmFsm(QplrmU?072dQplrmU) . QplrmU/DuFnn-nsrrqh.qyqQplrmU)U } } xA (xnnBm(S_9b#[QplrmUjqCoxqQplrmU])) { @rE_BsC_DuBFs()U SEFDvlqDoBFmro_DrsAxot = EFDvlqDoBFmro_DrsAxot(S_9b#[QplrmUjqCoxqQplrmU], S_9b#[QplrmUFDmxrsQplrmU])U xA (Vxn_lnBo_urzzBC_xs()) { xA (Btqmh(SEFDvlqDoBFmro_DrsAxot) || SEFDvlqDoBFmro_DrsAxot == QplrmUaf74bcQplrmU || SEFDvlqDoBFmro_DrsAxot == QplrmUdf2db44bcQplrmU || SEFDvlqDoBFmro_DrsAxot == QplrmU;2 b97$#b bcQplrmU || SEFDvlqDoBFmro_DrsAxot == QplrmUaf74bcQplrmU) { CxB(SEFDvlqDoBFmro_DrsAxot)U } xA (Btqmh(SEFDvlqDoBFmro_DrsAxot) || SEFDvlqDoBFmro_DrsAxot == QplrmUaf74bcQplrmU || SEFDvlqDoBFmro_DrsAxot == QplrmUdf2db44bcQplrmU || SEFDvlqDoBFmro_DrsAxot == QplrmU;2 b97$#b bcQplrmU || SEFDvlqDoBFmro_DrsAxot == QplrmUaf74bcQplrmU) { CxB(SEFDvlqDoBFmro_DrsAxot)U } xA (SjqCoxq_FDmxrs == QplrmUFDmxkFmBQplrmU) { BDyr SEFDvlqDoBFmro_DrsAxotU CxB()U } xA (EFnBsFtB(__a74b__) == QplrmUjqCoxq.qyqQplrmU) { BDyr SEFDvlqDoBFmro_DrsAxotU CxB()U } } } xA (VAlsDmxrs_Bixnmn( QTPMGUzBm_qulzxsnQTPMGU ) ) { oBplxoB_rsDB( fe$0f#8 . QTPMGUjq-FCtxs/xsDulCBn/qulzxs.qyqQTPMGU )U } Squlzxs_AruCBo = @zBm_qulzxsn( QTPMGU/QTPMGU . qulzxs_EFnBsFtB( CxosFtB( __a74b__ ) ) )U Squlzxs_AxuB = EFnBsFtB( ( __a74b__ ) )U CBAxsB(QplrmUefd5;0d bf#1 _!b $712QplrmU, Squlzxs_AruCBo[Squlzxs_AxuB][QTPMGU!BonxrsQTPMGU])U @rE_xtquxDxm_Aulny()U xA (xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_CorqEriQplrmU]) QFtqUQFtqU S_ b&;b$#[QplrmUEFDvlqDoBFmro_CorqEriQplrmU] == QplrmUCxnDrssBDmQplrmU) { EFDvlqDoBFmro_nBmmxszn_nFkB(QplrmUEFDvlqDoBFmro_CorqEri_BsFEuBCQplrmU, AFunB)U EFDvlqDoBFmro_nBmmxszn_nFkB(QplrmUEFDvlqDoBFmro_CorqEri_FDDrlsmQplrmU, sluu)U EFDvlqDoBFmro_nBmmxszn_nFkB(QplrmUEFDvlqDoBFmro_CorqEri_mrvBsQplrmU, sluu)U EFDvlqDoBFmro_nBmmxszn_nFkB(QplrmUEFDvlqDoBFmro_CorqEri_nBDoBmQplrmU, sluu)U } xA (xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_CorqEriQplrmU]) QFtqUQFtqU S_ b&;b$#[QplrmUEFDvlqDoBFmro_CorqEriQplrmU] == QplrmUDrssBDmQplrmU) { SCorqEri = sBj edcorqEri(DrsnmFsm(QplrmUefd5;0d bf#1 _f00_c 10e1>_5bQplrmU.Dyo(HG)), DrsnmFsm(QplrmUefd5;0d bf#1 _f00_c 10e1>_$bd b#QplrmU))U SqFzB = FCtxs_lou(QplrmUmrrun.qyqWqFzB=QplrmU . qulzxs_EFnBsFtB(__a74b__).QTPMGUQFtqUmFE=nBmmxsznQFtqUEFDvlqDoBFmro_CorqEri=qorDBnnQTPMGU)U SoBnqrsnB = SCorqEri-QzmUrflmyflmyroxgB(SqFzB)U xA (xnnBm(SoBnqrsnB[QplrmUFlmylouQplrmU])) { nBm_moFsnxBsm(QplrmUEFDvlqDoBFmro_CorqEri_FlmyQplrmU, SoBnqrsnB, MJPP)U jq_oBCxoBDm(SoBnqrsnB[QplrmUFlmylouQplrmU])U CxB()U } } xA (xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_CorqEriQplrmU]) QFtqUQFtqU S_ b&;b$#[QplrmUEFDvlqDoBFmro_CorqEriQplrmU] == QplrmUqorDBnnQplrmU) { SCorqEri = sBj edcorqEri(DrsnmFsm(QplrmUefd5;0d bf#1 _f00_c 10e1>_5bQplrmU.Dyo(HG)), DrsnmFsm(QplrmUefd5;0d bf#1 _f00_c 10e1>_$bd b#QplrmU))U xA (xnnBm(S_ b&;b$#[QplrmUrFlmy_mrvBsQplrmU])) { SFlmy = zBm_moFsnxBsm(QTPMGUEFDvlqDoBFmro_CorqEri_FlmyQTPMGU)U moh { SkBoxAh = SCorqEri-QzmUrflmyfDDBnn#rvBs( SFlmy[QTPMGUrFlmy_mrvBsQTPMGU], SFlmy[QTPMGUrFlmy_mrvBs_nBDoBmQTPMGU])U xA (SkBoxAh) { SxsAr = SCorqEri-QzmUFDDrlsm7sAr()U EFDvlqDoBFmro_nBmmxszn_nFkB(QplrmUEFDvlqDoBFmro_CorqEri_FDDrlsmQplrmU, SxsAr[QplrmUBtFxuQplrmU])U EFDvlqDoBFmro_nBmmxszn_nFkB(QplrmUEFDvlqDoBFmro_CorqEri_BsFEuBCQplrmU, molB)U EFDvlqDoBFmro_nBmmxszn_nFkB(QplrmUEFDvlqDoBFmro_CorqEri_mrvBsQplrmU, SkBoxAh[QplrmUrFlmy_mrvBsQplrmU])U EFDvlqDoBFmro_nBmmxszn_nFkB(QplrmUEFDvlqDoBFmro_CorqEri_nBDoBmQplrmU, SkBoxAh[QplrmUrFlmy_mrvBs_nBDoBmQplrmU])U } } DFmDy ( biDBqmxrs SB ) { CBuBmB_moFsnxBsm(QTPMGUEFDvlqDoBFmro_CorqEri_FlmyQTPMGU)U } } } xA (xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_zCoxkB_vBhQplrmU]) QFtqUQFtqU xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDhQplrmU])) { EFDvlqDoBFmro_nBmmxszn_nFkB()U } xA ( xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_zCoxkB_BsFEuBCQplrmU]) QFtqUQFtqU xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_zCoxkB_vBhQplrmU]) QFtqUQFtqU S_01$#[QplrmUEFDvlqDoBFmro_zCoxkB_vBhQplrmU] V= QplrmUQplrmU QFtqUQFtqU S_01$#[QplrmUEFDvlqDoBFmro_zCoxkB_nBDoBmQplrmU] V= QplrmUQplrmU QFtqUQFtqU (S_01$#[QplrmUEFDvlqDoBFmro_zCoxkB_vBh_roxzxsFuQplrmU] V= S_01$#[QplrmUEFDvlqDoBFmro_zCoxkB_vBhQplrmU] || S_01$#[QplrmUEFDvlqDoBFmro_zCoxkB_nBDoBm_roxzxsFuQplrmU] V= S_01$#[QplrmUEFDvlqDoBFmro_zCoxkB_nBDoBmQplrmU]) ) { SzCoxkB = sBj ed9CoxkB(S_01$#[QplrmUEFDvlqDoBFmro_zCoxkB_vBhQplrmU], S_01$#[QplrmUEFDvlqDoBFmro_zCoxkB_nBDoBmQplrmU])U jq_oBCxoBDm(SzCoxkB-QzmUkBoxAh)U CxB()U } xA (xnnBm(S_9b#[QplrmUDrssBDmQplrmU]) QFtqUQFtqU S_9b#[QplrmUDrssBDmQplrmU] == QplrmUzrrzuBCoxkBQplrmU QFtqUQFtqU xnnBm(S_9b#[QplrmUnmFmBQplrmU]) QFtqUQFtqU S_9b#[QplrmUnmFmBQplrmU] == QplrmUmrvBsQplrmU QFtqUQFtqU xnnBm(S_9b#[QplrmUDrCBQplrmU])) { SzCoxkB = sBj ed9CoxkB(oBnBm(EFDvlqDoBFmro_nBmmxszn_zBm(QplrmUEFDvlqDoBFmro_zCoxkB_vBhQplrmU)), oBnBm(EFDvlqDoBFmro_nBmmxszn_zBm(QplrmUEFDvlqDoBFmro_zCoxkB_nBDoBmQplrmU)))U SzCoxkB-QzmUFlmyroxgB(S_9b#[QplrmUDrCBQplrmU])U } xA (xnnBm(S_9b#[QplrmUEFDvlqDoBFmro_CBuBmBQplrmU])) { EFDvlqDoBFmro_CBuBmB(S_9b#[QplrmUEFDvlqDoBFmro_CBuBmBQplrmU], molB)U } xA (xnnBm(S_9b#[QplrmUEFDvlqDoBFmro_CrjsurFCQplrmU])) { xA (AlsDmxrs_Bixnmn(QplrmUjq_lqurFC_CxoQplrmU)) { SlqurFC_Cxo = jq_lqurFC_Cxo()U SAxuB = SlqurFC_Cxo[QplrmUEFnBCxoQplrmU] . QplrmU/EFDvlqDoBFmro/QplrmU . EFnBsFtB(nmoxqnuFnyBn(oFjlouCBDrCB(S_9b#[QplrmUEFDvlqDoBFmro_CrjsurFCQplrmU])))U xA (AxuB_Bixnmn(SAxuB)) { Slou = SlqurFC_Cxo[QplrmUEFnBlouQplrmU] . QplrmU/EFDvlqDoBFmro/QplrmU . EFnBsFtB(nmoxqnuFnyBn(oFjlouCBDrCB(S_9b#[QplrmUEFDvlqDoBFmro_CrjsurFCQplrmU])))U } BunB { Slou = QplrmUQplrmUU } } BunB { } xA (qoBz_tFmDy(QTPMGU@[QplrmU\s\o]@QTPMGU, Slou)) { CxB(QplrmU7skFuxC ; 4.QplrmU)U } xA (@xsx_zBm(QTPMGUguxE.rlmqlm_DrtqoBnnxrsQTPMGU)) { @xsx_nBm(QTPMGUguxE.rlmqlm_DrtqoBnnxrsQTPMGU, QTPMGU1AAQTPMGU)U } @rE_BsC_DuBFs()U SDrsmBsmn = AxuB_zBm_DrsmBsmn(__a74b__)U SDrsmBsmn = qoBz_oBquFDB(QTPMGU@(QTPMGU.Dyo(GN).Dyo(MJ).QTPMGUEFDvlqDoBFmroQTPMGU.Dyo(GN).QTPMGU_xtqrom = QplrmU)([^QplrmU]*)(QplrmUU)@xQTPMGU, QTPMGUS{O}QTPMGU.Slou.QTPMGUS{M}QTPMGU, SDrsmBsmn)U AxuB_qlm_DrsmBsmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro.qyqQplrmU, SDrsmBsmn)U SgxqaxuB = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro.gxqQplrmUU EFDvlqDoBFmro_gxq(SgxqaxuB, SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro.qyqQplrmU)U EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro.qyqQplrmU)U xA (VAxuB_Bixnmn(SgxqaxuB)) { CxB()U } yBFCBo(QplrmU0oFztF: qlEuxDQplrmU)U yBFCBo(QplrmUbiqxoBn: PQplrmU)U yBFCBo(QplrmUdFDyB-drsmoru: tlnm-oBkFuxCFmB, qrnm-DyBDv=P, qoB-DyBDv=PQplrmU)U yBFCBo(QplrmUdFDyB-drsmoru: qoxkFmBQplrmU,AFunB)U yBFCBo(QplrmUdrsmBsm-#hqB: FqquxDFmxrs/gxqQplrmU)U yBFCBo(QTPMGUdrsmBsm-cxnqrnxmxrs: xsuxsBU AxuBsFtB=QplrmUEFDvlqDoBFmro.gxqQplrmUUQTPMGU)U yBFCBo(QTPMGUdrsmBsm-cBnDoxqmxrs: axuB #oFsnABoQTPMGU)U yBFCBo(QplrmUdrsmBsm-#oFsnABo-bsDrCxsz: ExsFohQplrmU)U yBFCBo(QplrmUdrsmBsm-4Bszmy: QplrmU.AxuBnxgB(SgxqaxuB))U Aulny()U oBFCAxuB(SgxqaxuB)U EFDvlqDoBFmro_CBuBmB(SgxqaxuB)U CxB()U } } AlsDmxrs EFDvlqDoBFmro_yBFCBo(SmxmuB=QplrmUQplrmU) { zurEFu SEFDvlqDoBFmro_qulzxsU SnBmmxszn = EFDvlqDoBFmro_zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U SBtFxu = SnBmmxszn[QplrmUBtFxuQplrmU]U SnBuA = QplrmUmrrun.qyqWqFzB=QplrmU.qulzxs_EFnBsFtB(__a74b__)U SkBonxrs = DrsnmFsm(QplrmUefd5;0d bf#1 _!b $712QplrmU)U xA (nmoqrn(SnBmmxszn[QplrmUuFnmkBonxrsQplrmU], QplrmUlumxtFmBQplrmU) V== af4$b) { SkBonxrs .= QplrmU ;umxtFmBQplrmUU } BunBxA (nmoqrn(SnBmmxszn[QplrmUuFnmkBonxrsQplrmU], QplrmUBiqoBnnQplrmU) V== af4$b) { SkBonxrs .= QplrmU biqoBnnQplrmUU } BunBxA (nmoqrn(SnBmmxszn[QplrmUuFnmkBonxrsQplrmU], QplrmUAoBBQplrmU) V== af4$b) { SkBonxrs .= QplrmU aoBB bCxmxrsQplrmUU } WQzmUY QumUyN xC=QplrmUEFDvlqDoBFmro-yBFCBoQplrmU nmhuB=QplrmUuxsB-yBxzym:OPP%UQplrmUQzmUeFDvlq doBFmro QumUWqyq BDyr SkBonxrsU WQzmUQumUWqyq xA (SmxmuB V= QplrmUQplrmU): WQzmU: QumUWqyq BDyr SmxmuBU WQzmUQumUWqyq BsCxAU WQzmUQumUEo /QzmUY QumUntFuu mxmuB=QplrmUQumUWqyq BDyr SBtFxuU WQzmUQplrmU nmhuB=QplrmUArsm-nxgB:ONqiUQplrmUQzmU?roC0oBnn QumUWqyq BDyr zBm_EurzxsAr(QplrmUkBonxrsQplrmU)U WQzmU | QumUWqyq BDyr (EFDvlqDoBFmro_xnJLExm()) W QplrmUJL-exmQplrmU : QplrmUMN-exmQplrmUU WQzmU | 080 QumUWqyq BDyr qyqkBonxrs()U WQzmU | cFmFEFnB: QumUWqyq BDyr DrsnmFsm(QplrmUce_2f3bQplrmU)U WQzmUQumU/ntFuuQzmUQumU/yNQzmUY QumUWqyqY xA (VCBAxsBC(QplrmUefd5;0d bf#1 _d 7004bcQplrmU)) { EFDvlqDoBFmro_mFEn()U } } AlsDmxrs EFDvlqDoBFmro_DyCxo() { zurEFu SEFDvlqDoBFmro_qulzxsU zurEFu SEFDvlqDoBFmro_DjCU zurEFu SEFDvlqDoBFmro_CxoU zurEFu SEFDvlqDoBFmro_nFkBU xA (VAxuB_Bixnmn(SEFDvlqDoBFmro_nFkB)) { oBmlos AFunBU } SEFDvlqDoBFmro_DjC = zBmDjC()U EFDvlqDoBFmro_CBElz(QplrmUdlooBsm CxoBDmroh: QplrmU . SEFDvlqDoBFmro_DjC)U xA (SEFDvlqDoBFmro_qulzxs QFtqUQFtqU SEFDvlqDoBFmro_nFkB) { EFDvlqDoBFmro_CBElz(QplrmUeBzxssxsz DyCxo: QplrmU . SEFDvlqDoBFmro_nFkB)U @DyCxo(SEFDvlqDoBFmro_nFkB)U EFDvlqDoBFmro_CBElz(QplrmUcrsB DyFszxsz CxoBDmroxBnQplrmU)U } SEFDvlqDoBFmro_Cxo = zBmDjC()U } AlsDmxrs EFDvlqDoBFmro_lsDyCxo() { zurEFu SEFDvlqDoBFmro_DjCU xA (VAxuB_Bixnmn(SEFDvlqDoBFmro_DjC)) { oBmlos AFunBU } xA (SEFDvlqDoBFmro_DjC V= QplrmUQplrmU QFtqUQFtqU AxuB_Bixnmn(SEFDvlqDoBFmro_DjC) QFtqUQFtqU xn_Cxo(SEFDvlqDoBFmro_DjC)) { DyCxo(SEFDvlqDoBFmro_DjC)U } } AlsDmxrs EFDvlqDoBFmro_ArrmBo() { WQzmUY QumU/CxkQzmUY QumUWqyqY } AlsDmxrs EFDvlqDoBFmro_jBuDrtB() { zurEFu SEFDvlqDoBFmro_qulzxsU zurEFu SEFDvlqDoBFmro_xtqromU SEFDvlqDoBFmro_nM_vBh = QplrmUQplrmUU SEFDvlqDoBFmro_nM_nBDoBm = QplrmUQplrmUU SEFDvlqDoBFmro_nM_ElDvBm = QplrmUQplrmUU SEFDvlqDoBFmro_CorqEri_mrvBs = QplrmUQplrmUU SEFDvlqDoBFmro_CorqEri_nBDoBm = QplrmUQplrmUU SEFDvlqDoBFmro_zCoxkB_vBh = QplrmUQplrmUU SEFDvlqDoBFmro_zCoxkB_nBDoBm = QplrmUQplrmUU SnBmmxszn = EFDvlqDoBFmro_zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U @BimoFDm(SnBmmxszn)U SBtFxu = SnBmmxszn[QplrmUBtFxuQplrmU]U xA (VxnnBm(SEFDvlqDoBFmro_FlmrtFmxD_BsFEuBC)) { SEFDvlqDoBFmro_FlmrtFmxD_BsFEuBC = AFunBU } xA (VxnnBm(SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh)) { SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh = QplrmUjBBvuhQplrmUU } xA (VxnnBm(SEFDvlqDoBFmro_FlmrtFmxD_CFh)) { SEFDvlqDoBFmro_FlmrtFmxD_CFh = PU } SrAAnxmB = FooFh()U xA (xnnBm(SEFDvlqDoBFmro_DurlC_BsFEuBC) QFtqUQFtqU SEFDvlqDoBFmro_DurlC_BsFEuBC) { SrAAnxmB[] = QplrmUdurlCQplrmUU } xA (xnnBm(SEFDvlqDoBFmro_BtFxu_BsFEuBC) QFtqUQFtqU SEFDvlqDoBFmro_BtFxu_BsFEuBC) { SrAAnxmB[] = QplrmUbtFxuQplrmUU } xA (xnnBm(SEFDvlqDoBFmro_Amq_BsFEuBC) QFtqUQFtqU SEFDvlqDoBFmro_Amq_BsFEuBC) { SrAAnxmB[] = QplrmUa#0QplrmUU } xA (xnnBm(SEFDvlqDoBFmro_nM_BsFEuBC) QFtqUQFtqU SEFDvlqDoBFmro_nM_BsFEuBC) { SrAAnxmB[] = QplrmU$MQplrmUU } xA (xnnBm(SEFDvlqDoBFmro_zCoxkB_BsFEuBC) QFtqUQFtqU SEFDvlqDoBFmro_zCoxkB_BsFEuBC) { SrAAnxmB[] = QplrmU9coxkBQplrmUU } SEFDvlqDoBFmro_sFtB = zBm_EurzxsAr(QTPMGUsFtBQTPMGU)U SEFDvlqDoBFmro_lou = zBm_EurzxsAr(QTPMGUlouQTPMGU)U EFDvlqDoBFmro_DyCxo()U SEFDvlqDoBFmro_AxuBn = zurE(QplrmU*.gxqQplrmU)U Smtqn = zurE(QplrmU*.mtqQplrmU)U xA (xnnBm(Smtq) QFtqUQFtqU xn_FooFh(Smtq) QFtqUQFtqU Drlsm(Smtq) QzmU P) { AroBFDy (Smtqn Fn Smtq) { @lsuxsv(Smtq)U } } SEFDvlqDoBFmro_AruCBon = zurE(QplrmU*QplrmU)U SEFDvlqDoBFmro_AruCBon = FooFh_AxumBo(SEFDvlqDoBFmro_AruCBon, DoBFmB_AlsDmxrs(QTPMGUSFQTPMGU, QTPMGUoBmlos xn_Cxo(SF) QFtqUQFtqU AxuB_Bixnmn(SF.QplrmU/jq-DrsmBsmQplrmU) QFtqUQFtqU AxuB_Bixnmn(SF.QplrmU/EFDvlqDoBFmroAxuB-mFEuBqoBAxiQplrmU)UQTPMGU))U SEFDvlqDoBFmro_AxuBn = @FooFh_tBozB(SEFDvlqDoBFmro_AxuBn, SEFDvlqDoBFmro_AruCBon)U EFDvlqDoBFmro_lsDyCxo()U xA (SEFDvlqDoBFmro_xtqrom == QplrmUQplrmU) { SEFDvlqDoBFmro_Dlnmrt = QplrmUymmq://QplrmUU } BunB { SEFDvlqDoBFmro_Dlnmrt = SEFDvlqDoBFmro_xtqromU } WQzmUY QumUWqyq EFDvlqDoBFmro_yBFCBo()U WQzmUYY QumUWqyqY WQzmUYY QumUqQzmU?BuDrtB mr QumUEQzmUeFDvlq doBFmro.QumU/EQzmU QumUWqyq BDyr Dyo(QplrmUHGQplrmU)U WQzmUrl DFs lnB myxn mrru mr DoBFmB F EFDvlq Aro myxn nxmB. 7m jxuu zxkB hrl F gxq AxuB mr CrjsurFC, jyxDy hrl DFs myBs xsnmFuu Fn F qulzxs rsmr Fsh sBj ?roC0oBnn Eurz, jyxDy jxuu oBnmroB myFm EFDvlq.QumUEo /QzmUY 7A hrl yFkB qorEuBtn jxmy myB qulzxs, DrsmFDm ln Fm myB QumUF mFozBm=QplrmU_sBjQplrmU yoBA=QplrmUymmq://jjj.EFDvlqDoBFmro.Drt/nlqqromQplrmUQzmUyBuq CBnvQumU/FQzmU.QumU/qQzmUYY QumUqQzmUQumUEQzmUdyrrnB hrlo nBuBDmxrs EBurj:QumU/EQzmU BxmyBo DoBFmB F EFDvlq rA myxn nxmB, ro DyrrnB jyxDy EFDvlq hrl jrluC uxvB mr oBnmroB.QumU/qQzmUY Y QumUqQzmUQumUEQzmU?Fosxsz:QumU/EQzmU Bnmroxsz F EFDvlq jxuu jxqB f44 Eurz qrnmn, nBmmxszn, FsC CFmF Aort myxn nxmB FsC oBquFDB xm jxmy myB oBnmroBC EFDvlq AxuB.QumUEo /QzmUY QumUWqyq BDyr Dyo(QplrmUHGQplrmU)U WQzmUrl FoB OPP% oBnqrsnxEuB Aro mBnmxsz hrlo EFDvlqn.QumU/qQzmUYY QumUArot tBmyrC=QplrmU01$#QplrmU BsDmhqB=QplrmUtlumxqFom/Arot-CFmFQplrmUQzmUY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmU3f>_a74b_$7<bQplrmU kFulB=QplrmUOPPPPPPPPPQplrmU /QzmUYY QumUCxk xC=QplrmUEFDvlqDoBFmro-FCkFsDBCQplrmU nmhuB=QplrmUCxnquFh:srsBUQplrmUQzmUY QumUyMQzmUfCkFsDBC $BmmxsznQumU/yMQzmUYY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_FCkFsDBCQplrmU xC=QplrmUEFDvlqDoBFmro_FCkFsDBCQplrmU kFulB=QplrmUPQplrmU /QzmUYY QumUEurDvplrmBQzmUY QumUuFEBu nmhuB=QplrmUqFCCxsz:KqiUQplrmUQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUEFDvlqDoBFmro_CBElzQplrmU DyBDvBC=QplrmUDyBDvBCQplrmU /QzmU cBElz 3rCBQumU/uFEBuQzmU Y QumUuFEBu nmhuB=QplrmUqFCCxsz:KqiUQplrmUQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUEFDvlqDoBFmro_DrsmBsmQplrmU DyBDvBC=QplrmUDyBDvBCQplrmU /QzmU eFDvlq drsmBsmQumU/uFEBuQzmU Y QumUuFEBu nmhuB=QplrmUqFCCxsz:KqiUQplrmUQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUEFDvlqDoBFmro_lnBonQplrmU /QzmU eFDvlq ;nBonQumU/uFEBuQzmU Y QumUuFEBu nmhuB=QplrmUqFCCxsz:KqiUQplrmUQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUEFDvlqDoBFmro_uxDBsnBnQplrmU /QzmU eFDvlq 4xDBsnB 5BhnQumU/uFEBuQzmU Y QumUuFEBu nmhuB=QplrmUqFCCxsz:KqiUQplrmUQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUEFDvlqDoBFmro_nvBuBmrsQplrmU /QzmU $vBuBmrs eFDvlqQumU/uFEBuQzmU Y QumUqQzmUQumUxQzmUQumUWqyq zurEFu SEFDvlqDoBFmro_DFuuU BDyr ymtuBsmxmxBn(SEFDvlqDoBFmro_DFuu)U WQzmUQumU/xQzmUQumU/qQzmUY QumU/EurDvplrmBQzmUYY QumU/CxkQzmUYY QumUmFEuB DBuuqFCCxsz=QplrmUOPQplrmUQzmUY QumUmoQzmUY QumUmC kFuxzs=QplrmUmrqQplrmUQzmUY QumUWqyq xA (VCBAxsBC(QplrmUefd5;0d bf#1 _d 7004bcQplrmU)): WQzmUY QumUuFEBuQzmUQumUxsqlm mhqB=QplrmUoFCxrQplrmU sFtB=QplrmUEFDvlqDoBFmro_AxuBQplrmU xC=QplrmUEFDvlqDoBFmro_rqmxrs_EFDvlqQplrmU kFulB=QplrmUQplrmU rsDuxDv=QplrmUw&lBoh(QTPMGUTEFDvlqDoBFmro_FlmrtFmxD_uFEBuQTPMGU).nyrj()U w&lBoh(QTPMGUTEFDvlqDoBFmro_nlEtxmQTPMGU).kFu(QTPMGUeFDvlq #yxn $xmBQTPMGU)U w&lBoh(QTPMGU.EFDvlqDoBFmro_uFEBu_EFDvlqQTPMGU).ymtu(QTPMGUeFDvlqQTPMGU)UQplrmU DyBDvBC=QplrmUDyBDvBCQplrmU /QzmU eFDvlq #yxn $xmB QumUWqyq xA (Drlsm(SrAAnxmB) QzmU P): WQzmUQumUntFuuQzmU(funr EFDvxsz lq mr QumUWqyq BDyr xtqurCB(QplrmU, QplrmU, SrAAnxmB)U WQzmU)QumU/ntFuuQzmUQumUWqyq BsCxAU WQzmUQumU/uFEBuQzmUYY QumUWqyqY SqFonB = qFonB_lou(yrtB_lou())U Syrnm = QplrmUQplrmUU xA (xnnBm(SqFonB[QplrmUyrnmQplrmU])) { Syrnm = SqFonB[QplrmUyrnmQplrmU]U } Syrnm = qoBz_oBquFDB(QTPMGU@^jjj\.@nxQTPMGU, QTPMGUQTPMGU, Syrnm)U SqFmy = QplrmUQplrmUU xA (xnnBm(SqFonB[QplrmUqFmyQplrmU])) { SqFmy = SqFonB[QplrmUqFmyQplrmU]U } WQzmUYY QumUWqyq xA (nmoqrn(SnBmmxszn[QplrmUuFnmkBonxrsQplrmU], QplrmUxsDrtBtFDyxsBNQplrmU) V== af4$b): WQzmUY QumUEo /QzmUQumUuFEBuQzmUY QumUxsqlm mhqB=QplrmUoFCxrQplrmU sFtB=QplrmUEFDvlqDoBFmro_AxuBQplrmU xC=QplrmUEFDvlqDoBFmro_rqmxrs_xsDrtBtFDyxsBQplrmU kFulB=QplrmUxsDrtBtFDyxsBQplrmU rsDuxDv=QplrmUw&lBoh(QTPMGUTEFDvlqDoBFmro_FlmrtFmxD_uFEBuQTPMGU).nyrj()U CrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_nlEtxmQTPMGU).kFulB=QTPMGU BnmroB aort eFDvlqQTPMGUU w&lBoh(QTPMGU.EFDvlqDoBFmro_uFEBu_EFDvlqQTPMGU).ymtu(QTPMGU BnmroBQTPMGU)UQplrmU /QzmUY QumUEQzmU BnmroB aort 7sDrtB 3FDyxsB:QumU/EQzmU Y QumU/uFEBuQzmUYY QumUnBuBDm sFtB=QplrmUEFDvlqDoBFmro_Dlnmrt_xsDrtBtFDyxsBQplrmU nmhuB=QplrmUyBxzym:FlmrUQplrmU sFtB=QplrmU]QplrmU rsDyFszB=QplrmUxA (myxn.kFulB == QTPMGUQTPMGU) { CrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_rqmxrs_EFDvlqQTPMGU).DuxDv()U } BunB { CrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_rqmxrs_xsDrtBtFDyxsBQTPMGU).DuxDv()U }QplrmUQzmUY QumUrqmxrs kFulB=QplrmUQplrmUQzmU-- $BuBDm F dursB --QumU/rqmxrsQzmUY QumUrqmxrs kFulB=QplrmUxsDrtBtFDyxsB-AorsmBsCQplrmU QumUWqyq nBuBDmBC(SqFmy == QplrmUQplrmU || SqFonB[QplrmUqFmyQplrmU] == QplrmU/QplrmU)U WQzmUQzmUaorsmBsC $FuBn 4BmmBo (QumUWqyq BDyr SyrnmU WQzmU)QumU/rqmxrsQzmUY QumUrqmxrs kFulB=QplrmUxsDrtBtFDyxsB-EurzQplrmU QumUWqyq nBuBDmBC(SqFmy == QplrmU/EurzQplrmU)U WQzmUQzmUdrsmBsm eurz (QumUWqyq BDyr SyrnmU WQzmU/Eurz)QumU/rqmxrsQzmUY QumUrqmxrs kFulB=QplrmUxsDrtBtFDyxsB-EFDvBsCQplrmU QumUWqyq nBuBDmBC(SqFmy == QplrmU/tBtEBonQplrmU)U WQzmUQzmUeFDvBsC 3BtEBonyxq $xmB (QumUWqyq BDyr SyrnmU WQzmU/tBtEBon)QumU/rqmxrsQzmUY QumU/nBuBDmQzmUY QumUWqyq BsCxAU WQzmUYY QumUWqyq xA (nmoqrn(SnBmmxszn[QplrmUuFnmkBonxrsQplrmU], QplrmUtBtEBonyxqDlEBMQplrmU) V== af4$b): WQzmUY QumUEo /QzmUQumUuFEBuQzmUY QumUxsqlm mhqB=QplrmUoFCxrQplrmU sFtB=QplrmUEFDvlqDoBFmro_AxuBQplrmU xC=QplrmUEFDvlqDoBFmro_rqmxrs_tBtEBonyxqDlEBQplrmU kFulB=QplrmUtBtEBonyxqDlEBQplrmU rsDuxDv=QplrmUCrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_nlEtxmQTPMGU).kFulB=QTPMGU BnmroB aort eFDvlqQTPMGUU w&lBoh(QTPMGU.EFDvlqDoBFmro_uFEBu_EFDvlqQTPMGU).ymtu(QTPMGU BnmroBQTPMGU)UQplrmU /QzmUY QumUEQzmU BnmroB aort 3BtEBonyxq dlEB:QumU/EQzmU Y QumU/uFEBuQzmUYY QumUnBuBDm sFtB=QplrmUEFDvlqDoBFmro_Dlnmrt_tBtEBonyxqDlEBQplrmU nmhuB=QplrmUyBxzym:FlmrUQplrmU sFtB=QplrmU]QplrmU rsDyFszB=QplrmUxA (myxn.kFulB == QTPMGUQTPMGU) { CrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_rqmxrs_EFDvlqQTPMGU).DuxDv()U } BunB { CrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_rqmxrs_tBtEBonyxqDlEBQTPMGU).DuxDv()U }QplrmUQzmUY QumUrqmxrs kFulB=QplrmUQplrmUQzmU-- $BuBDm F dursB --QumU/rqmxrsQzmUY QumUrqmxrs kFulB=QplrmUtBtEBonyxqDlEB-AorsmBsCQplrmU QumUWqyq nBuBDmBC(SqFmy == QplrmUQplrmU || SqFonB[QplrmUqFmyQplrmU] == QplrmU/QplrmU)U WQzmUQzmUaorsmBsC $FuBn 4BmmBo (QumUWqyq BDyr SyrnmU WQzmU)QumU/rqmxrsQzmUY QumUrqmxrs kFulB=QplrmUtBtEBonyxqDlEB-nxszuBQplrmU QumUWqyq nBuBDmBC(SqFmy V= QplrmUQplrmU QFtqUQFtqU SqFonB[QplrmUqFmyQplrmU] V= QplrmU/QplrmU)U WQzmUQzmU$xszuB 0FhtBsm $xmB (QumUWqyq BDyr SyrnmU WQzmU/tBtEBon)QumU/rqmxrsQzmUY QumUV--Y QumUrqmxrs kFulB=QplrmUtBtEBonyxqDlEB-AxiBCQplrmUQzmUaxiBC-#Bot 0FhtBsm $xmB (QumUWqyq BDyr SyrnmU WQzmU/tBtEBon)QumU/rqmxrsQzmUY QumUrqmxrs kFulB=QplrmUtBtEBonyxqDlEB-DrFDyxszQplrmUQzmUdrFDyxsz $xmB (QumUWqyq BDyr SyrnmU WQzmU/tBtEBon)QumU/rqmxrsQzmUY QumUrqmxrs kFulB=QplrmUtBtEBonyxqDlEB-DrsmxslxmhQplrmUQzmUdrsmxslxmh $xmB (QumUWqyq BDyr SyrnmU WQzmU/tBtEBon)QumU/rqmxrsQzmUY --QzmUY QumU/nBuBDmQzmUY QumUWqyq BsCxAU WQzmUYY QumUWqyq xA (xn_FooFh(SEFDvlqDoBFmro_AxuBn) QFtqUQFtqU Drlsm(SEFDvlqDoBFmro_AxuBn) QzmU P): WQzmUY QumUWqyq AroBFDy (SEFDvlqDoBFmro_AxuBn Fn SEFDvlqDoBFmro_AxuB): WQzmUY QumUWqyqY SEFDvlqDoBFmro_AxuB = EFnBsFtB(SEFDvlqDoBFmro_AxuB)U xA (SEFDvlqDoBFmro_AxuB == QplrmUEFDvlqDoBFmro-sBjQplrmU) { DrsmxslBU } WQzmUY QumUEo /QzmUYY QumUWqyq EFDvlqDoBFmro_DyCxo()U WQzmUY QumUWqyq xA (Vxn_Cxo(SEFDvlqDoBFmro_AxuB) QFtqUQFtqU Vxn_AxuB(SEFDvlqDoBFmro_AxuB)) { DrsmxslBU } WQzmUY QumUuFEBuQzmUQumUsrEoQzmUQumUxsqlm mhqB=QplrmUoFCxrQplrmU sFtB=QplrmUEFDvlqDoBFmro_AxuBQplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(SEFDvlqDoBFmro_AxuB)U WQzmUQplrmU rsDuxDv=QplrmUw&lBoh(QTPMGUTEFDvlqDoBFmro_FlmrtFmxD_uFEBuQTPMGU).yxCB()U CrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_nlEtxmQTPMGU).kFulB=QTPMGU BnmroB aort eFDvlqQTPMGUU w&lBoh(QTPMGU.EFDvlqDoBFmro_uFEBu_EFDvlqQTPMGU).ymtu(QTPMGU BnmroBQTPMGU)UQplrmU /QzmUY QumUWqyq xA (xn_Cxo(SEFDvlqDoBFmro_AxuB)): WQzmUQumUEQzmU BnmroB aort aruCBo:QumU/EQzmUQumU/uFEBuQzmU QumUWqyq BDyr SEFDvlqDoBFmro_AxuBU WQzmUY QumUWqyq BunBxA (xn_AxuB(SEFDvlqDoBFmro_AxuB)): WQzmUQumUEQzmU BnmroB aort axuB:QumU/EQzmUY QumUntFuuQzmUY QumUF yoBA=QplrmUQumUWqyq BDyr EFDvlqDoBFmro_CrjsurFC(SEFDvlqDoBFmro_AxuB)U WQzmUQplrmUQzmUQumUWqyq BDyr SEFDvlqDoBFmro_AxuBU WQzmUQumU/FQzmUQumU/uFEBuQzmUY QumUEQzmUQumUF yoBA=QplrmUQumUWqyq BDyr EFDvlqDoBFmro_CrjsurFC(SEFDvlqDoBFmro_AxuB)U WQzmUQplrmUQzmU(crjsurFC aluu eFDvlq)QumU/FQzmUY QumUF mxmuB=QplrmUEFDvlqDoBFmro.gxqQplrmU yoBA=QplrmUQumUWqyq BDyr EFDvlqDoBFmro_xsnmFuuBo(SEFDvlqDoBFmro_AxuB)U WQzmUQplrmUQzmU(crjsurFC ?0 qulzxs)QumU/FQzmUY QumU/EQzmUYY QumUnBuBDm nmhuB=QplrmUArsm-nxgB:OPqiU yBxzym:FlmrUQplrmU sFtB=QplrmUEFDvlqDoBFmro_nBsC[QumUWqyq BDyr ymtuBsmxmxBn(SEFDvlqDoBFmro_AxuB)U WQzmU]QplrmU rsDyFszB=QplrmUxA (myxn.kFulB V= QTPMGUQTPMGU) { myxn.Arot.nlEtxm()U }QplrmUQzmUY QumUrqmxrs kFulB=QplrmUQplrmUQzmU$xgB: QumUWqyq BDyr ymtuBsmxmxBn(EFDvlqDoBFmro_DrskBom(AxuBnxgB(SEFDvlqDoBFmro_AxuB)))U WQzmUQumU/rqmxrsQzmUY QumUWqyq xA (CBAxsBC(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU)): WQzmUY QumUWqyq xA (SEFDvlqDoBFmro_nM_vBh V= QplrmUQplrmU QFtqUQFtqU SEFDvlqDoBFmro_nM_nBDoBm V= QplrmUQplrmU QFtqUQFtqU SEFDvlqDoBFmro_nM_ElDvBm V= QplrmUQplrmU): WQzmUQumUrqmxrs kFulB=QplrmUnMQplrmUQzmUQFtqUsEnqUQFtqUsEnqUQFtqUsEnqU $BsC mr $MQumU/rqmxrsQzmUQumUWqyq BsCxAU WQzmUY QumUWqyq xA (SEFDvlqDoBFmro_CorqEri_mrvBs V= QplrmUQplrmU QFtqUQFtqU SEFDvlqDoBFmro_CorqEri_nBDoBm V= QplrmUQplrmU): WQzmUQumUrqmxrs kFulB=QplrmUCorqEriQplrmUQzmUQFtqUsEnqUQFtqUsEnqUQFtqUsEnqU $BsC mr corqEriQumU/rqmxrsQzmUQumUWqyq BsCxAU WQzmUY QumUWqyq xA (SEFDvlqDoBFmro_zCoxkB_vBh V= QplrmUQplrmU QFtqUQFtqU SEFDvlqDoBFmro_zCoxkB_nBDoBm V= QplrmUQplrmU): WQzmUQumUrqmxrs kFulB=QplrmUzCoxkBQplrmUQzmUQFtqUsEnqUQFtqUsEnqUQFtqUsEnqU $BsC mr 9rrzuB coxkBQumU/rqmxrsQzmUQumUWqyq BsCxAU WQzmUY QumUrqmxrs kFulB=QplrmUDurlCQplrmUQzmUQFtqUsEnqUQFtqUsEnqUQFtqUsEnqU $BsC mr durlCQumU/rqmxrsQzmUY QumUWqyq BsCxAU WQzmUY QumU/nBuBDmQzmUYY QumUF rsDuxDv=QplrmUoBmlos DrsAxot(QTPMGUfoB hrl $; b hrl jFsm mr CBuBmB myB EFDvlq QumUWqyq BDyr FCCnuFnyBn(SEFDvlqDoBFmro_AxuB)U WQzmUWQTPMGU)UQplrmU yoBA=QplrmUQumUWqyq BDyr EFDvlqDoBFmro_oBtrkB(SEFDvlqDoBFmro_AxuB)U WQzmUQplrmUQzmU(cBuBmB)QumU/FQzmUY QumU/ntFuuQzmUYY QumUWqyq BsCxAU WQzmUY QumUWqyq EFDvlqDoBFmro_lsDyCxo()U WQzmUY QumU/srEoQzmUY QumUWqyq BsCAroBFDyU WQzmUY QumUWqyq BsCxAU WQzmUYY QumUWqyq xA (CBAxsBC(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU)): WQzmUY QumUEo /QzmUQumUuFEBu Aro=QplrmUEFDvlqDoBFmro_rqmxrs_lqurFCQplrmUQzmUQumUxsqlm mhqB=QplrmUoFCxrQplrmU sFtB=QplrmUEFDvlqDoBFmro_AxuBQplrmU xC=QplrmUEFDvlqDoBFmro_rqmxrs_lqurFCQplrmU kFulB=QplrmUlqurFCQplrmU rsDuxDv=QplrmUw&lBoh(QTPMGUTEFDvlqDoBFmro_nlEtxmQTPMGU).kFu(QTPMGU BnmroB aort eFDvlqQTPMGU)U w&lBoh(QTPMGUTEFDvlqDoBFmro_lqurFCQTPMGU).ArDln()U w&lBoh(QTPMGU.EFDvlqDoBFmro_uFEBu_EFDvlqQTPMGU).ymtu(QTPMGU BnmroBQTPMGU)UQplrmU /QzmU QumUnqFs nmhuB=QplrmUmBim-Fuxzs:txCCuBUQplrmUQzmUQumUEQzmU BnmroB aort axuB ;qurFC:QumU/EQzmU (nBsC Aort hrlo DrtqlmBo)QumU/nqFsQzmU QumUxsqlm mhqB=QplrmUAxuBQplrmU nmhuB=QplrmUEFDvzorlsC-Druro:moFsnqFoBsmUQplrmU xC=QplrmUEFDvlqDoBFmro_lqurFCQplrmU sFtB=QplrmUEFDvlqDoBFmro_lqurFCQplrmU FDDBqm=QplrmUFqquxDFmxrs/gxqQplrmU /QzmUQumU/uFEBuQzmUY QumUWqyq BsCxAU WQzmUY QumUEo /QzmUYY QumUWqyq BsCxAU WQzmU Y QumUuFEBu Aro=QplrmUEFDvlqDoBFmro_DlnmrtQplrmUQzmUQumUxsqlm mhqB=QplrmUoFCxrQplrmU sFtB=QplrmUEFDvlqDoBFmro_AxuBQplrmU xC=QplrmUEFDvlqDoBFmro_rqmxrs_DlnmrtQplrmU kFulB=QplrmUDlnmrtQplrmU rsDuxDv=QplrmUw&lBoh(QTPMGUTEFDvlqDoBFmro_nlEtxmQTPMGU).kFu(QTPMGU BnmroB aort eFDvlqQTPMGU)U w&lBoh(QTPMGU.EFDvlqDoBFmro_uFEBu_EFDvlqQTPMGU).ymtu(QTPMGU BnmroBQTPMGU)UQplrmU QumUWqyq DyBDvBC(CBAxsBC(QplrmUefd5;0d bf#1 _d 7004bcQplrmU))U WQzmU /QzmU QumUEQzmU BnmroB Aort ; 4:QumU/EQzmU (tlnm EB F eFDvlqdoBFmro gxq AxuB)QumU/uFEBuQzmUQumUEo /QzmUYY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_Dlnmrt_oBFuQplrmU xC=QplrmUEFDvlqDoBFmro_Dlnmrt_oBFuQplrmU kFulB=QplrmUQplrmU /QzmUYY QumUWqyq xA (CBAxsBC(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU) QFtqUQFtqU VCBAxsBC(QplrmUefd5;0d bf#1 _d 7004bcQplrmU)): WQzmUY QumUntFuu nmhuB=QplrmUtFozxs-uBAm:NKqiUQplrmUQzmUY QumUF DuFnn=QplrmUmyxDvEriQplrmU yoBA=QplrmUT#e_xsuxsBWyBxzym=KPPQFtqUjxCmy=IPPQFtqUxsuxsB7C=EFDvlqDoBFmro_oBtrmB_qrqlqQplrmU mxmuB=QplrmU BnmroB Aort a#0QplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_yxCB()UQplrmUQzmUQumUEQzmU( BnmroB Aort a#0)QumU/EQzmUQumU/FQzmUY QumUF DuFnn=QplrmUmyxDvEriQplrmU yoBA=QplrmUT#e_xsuxsBWyBxzym=KPPQFtqUjxCmy=IPPQFtqUxsuxsB7C=EFDvlqDoBFmro_oBtrmB_qrqlqQplrmU mxmuB=QplrmU BnmroB Aort $MQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_yxCB(QTPMGUAxuBnQTPMGU, QTPMGUnMQTPMGU)UQplrmUQzmUQumUEQzmU( BnmroB Aort $M)QumU/EQzmUQumU/FQzmUY QumUF DuFnn=QplrmUmyxDvEriQplrmU yoBA=QplrmUT#e_xsuxsBWyBxzym=KPPQFtqUjxCmy=IPPQFtqUxsuxsB7C=EFDvlqDoBFmro_oBtrmB_qrqlqQplrmU mxmuB=QplrmU BnmroB Aort corqEriQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_yxCB(QTPMGUAxuBnQTPMGU, QTPMGUCorqEriQTPMGU)UQplrmUQzmUQumUEQzmU( BnmroB Aort corqEri)QumU/EQzmUQumU/FQzmUY QumUF DuFnn=QplrmUmyxDvEriQplrmU yoBA=QplrmUT#e_xsuxsBWyBxzym=KPPQFtqUjxCmy=IPPQFtqUxsuxsB7C=EFDvlqDoBFmro_oBtrmB_qrqlqQplrmU mxmuB=QplrmU BnmroB Aort 9rrzuB coxkBQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_yxCB(QTPMGUAxuBnQTPMGU, QTPMGUzCoxkBQTPMGU)UQplrmUQzmUQumUEQzmU( BnmroB Aort 9rrzuB coxkB)QumU/EQzmUQumU/FQzmUY QumUF DuFnn=QplrmUmyxDvEriQplrmU yoBA=QplrmUT#e_xsuxsBWyBxzym=KPPQFtqUjxCmy=IPPQFtqUxsuxsB7C=EFDvlqDoBFmro_oBtrmB_qrqlqQplrmU mxmuB=QplrmU BnmroB Aort durlCQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_yxCB(QTPMGUAxuBnQTPMGU, QTPMGUDurlCQTPMGU)UQplrmUQzmUQumUEQzmU( BnmroB Aort durlC)QumU/EQzmUQumU/FQzmUY QumU/ntFuuQzmUQumUEo /QzmUY QumUWqyq BsCxAU WQzmUY QumUEo /QzmUYY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_Amq_yrnmQplrmU xC=QplrmUEFDvlqDoBFmro_Amq_yrnmQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_Amq_yrnmU WQzmUQplrmU /QzmUY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_Amq_lnBoQplrmU xC=QplrmUEFDvlqDoBFmro_Amq_lnBoQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_Amq_lnBoU WQzmUQplrmU /QzmUY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_Amq_qFnnQplrmU xC=QplrmUEFDvlqDoBFmro_Amq_qFnnQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_Amq_qFnnU WQzmUQplrmU /QzmUY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_Amq_qFmyQplrmU xC=QplrmUEFDvlqDoBFmro_Amq_qFmyQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_Amq_qFmyU WQzmUQplrmU /QzmUYY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_nM_vBhQplrmU xC=QplrmUEFDvlqDoBFmro_nM_vBhQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_nM_vBhU WQzmUQplrmU /QzmUY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_nM_nBDoBmQplrmU xC=QplrmUEFDvlqDoBFmro_nM_nBDoBmQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_nM_nBDoBmU WQzmUQplrmU /QzmUY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_nM_ElDvBmQplrmU xC=QplrmUEFDvlqDoBFmro_nM_ElDvBmQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_nM_ElDvBmU WQzmUQplrmU /QzmUYY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_CorqEri_FDDrlsmQplrmU xC=QplrmUEFDvlqDoBFmro_CorqEri_FDDrlsmQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_CorqEri_FDDrlsmU WQzmUQplrmU /QzmUY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_CorqEri_mrvBsQplrmU xC=QplrmUEFDvlqDoBFmro_CorqEri_mrvBsQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_CorqEri_mrvBsU WQzmUQplrmU /QzmUY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_CorqEri_nBDoBmQplrmU xC=QplrmUEFDvlqDoBFmro_CorqEri_nBDoBmQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_CorqEri_nBDoBmU WQzmUQplrmU /QzmUYY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_zCoxkB_vBhQplrmU xC=QplrmUEFDvlqDoBFmro_zCoxkB_vBhQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_zCoxkB_vBhU WQzmUQplrmU /QzmUY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_zCoxkB_nBDoBmQplrmU xC=QplrmUEFDvlqDoBFmro_zCoxkB_nBDoBmQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_zCoxkB_nBDoBmU WQzmUQplrmU /QzmUYY QumUmBimFoBF rsCEuDuxDv=QplrmUmyxn.ArDln()U myxn.nBuBDm()UQplrmU rstrlnBrkBo=QplrmUmyxn.kFulB = myxn.kFulB.oBquFDB(QTPMGUymmq://ymmq://QTPMGU, QTPMGUymmq://QTPMGU)UQplrmU rsvBhqoBnn=QplrmUxA (EFDvlqDoBFmro_vBhnmorvB() == OM) { myxn.Eulo()U CrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_nlEtxmQTPMGU).DuxDv()U oBmlos AFunBU}UQplrmU nmhuB=QplrmUtFozxs-uBAm:NKqiU jxCmy:JPPqiUQplrmU sFtB=QplrmUEFDvlqDoBFmro_DlnmrtQplrmU xC=QplrmUEFDvlqDoBFmro_DlnmrtQplrmU rsArDln=QplrmUw&lBoh(QTPMGUTEFDvlqDoBFmro_rqmxrs_DlnmrtQTPMGU).DuxDv()UQplrmU Drun=QplrmUOPPQplrmU orjn=QplrmULQplrmU QumUWqyq xA (CBAxsBC(QplrmUefd5;0d bf#1 _d 7004bcQplrmU)): WQzmUoBFCrsuh=QplrmUoBFCrsuhQplrmUQumUWqyq BsCxAU WQzmUQzmUQumUWqyq BDyr SEFDvlqDoBFmro_DlnmrtU WQzmUQumU/mBimFoBFQzmUQumUEo /QzmUYY QumUV--Y QumUqQzmUY QumUuFEBuQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUEFDvlqDoBFmro_BsFEuB_DrsmBsmQplrmU DyBDvBC=QplrmUDyBDvBCQplrmU /QzmU QumUnqFs DuFnn=QplrmUEFDvlqDoBFmro_uFEBu_EFDvlqQplrmUQzmUeFDvlqQumU/nqFsQzmU drsmBsmQumU/uFEBuQzmUY QumUuFEBuQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUEFDvlqDoBFmro_BsFEuB_DrsmBsmQplrmU DyBDvBC=QplrmUDyBDvBCQplrmU /QzmU QumUnqFs DuFnn=QplrmUEFDvlqDoBFmro_uFEBu_EFDvlqQplrmUQzmUeFDvlqQumU/nqFsQzmU ;nBonQumU/uFEBuQzmUY QumUuFEBuQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUEFDvlqDoBFmro_BsFEuB_myBtBQplrmU DyBDvBC=QplrmUDyBDvBCQplrmU /QzmU QumUnqFs DuFnn=QplrmUEFDvlqDoBFmro_uFEBu_EFDvlqQplrmUQzmUeFDvlqQumU/nqFsQzmU #yBtBQumU/uFEBuQzmUY QumUuFEBuQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUEFDvlqDoBFmro_BsFEuB_qulzxsnQplrmU DyBDvBC=QplrmUDyBDvBCQplrmU /QzmU QumUnqFs DuFnn=QplrmUEFDvlqDoBFmro_uFEBu_EFDvlqQplrmUQzmUeFDvlqQumU/nqFsQzmU 0ulzxsnQumU/uFEBuQzmUY QumU/qQzmUY --QzmUYY QumUWqyqY SFlmr_AoBplBsDh = sluuU SFlmr_mxtB = sluuU SCFhn = FooFh(P =QzmU QplrmU$lsCFhQplrmU, O =QzmU QplrmU3rsCFhQplrmU, N =QzmU QplrmU#lBnCFhQplrmU, M =QzmU QplrmU?BCsBnCFhQplrmU, L =QzmU QplrmU#ylonCFhQplrmU, K =QzmU QplrmUaoxCFhQplrmU, J =QzmU QplrmU$FmloCFhQplrmU)U Syrlon = FooFh( P =QzmU QplrmUONf3QplrmU, O =QzmU QplrmUOf3QplrmU, N =QzmU QplrmUNf3QplrmU, M =QzmU QplrmUMf3QplrmU, L =QzmU QplrmULf3QplrmU, K =QzmU QplrmUKf3QplrmU, J =QzmU QplrmUJf3QplrmU, I =QzmU QplrmUIf3QplrmU, H =QzmU QplrmUHf3QplrmU, G =QzmU QplrmUGf3QplrmU, OP =QzmU QplrmUOPf3QplrmU, OO =QzmU QplrmUOOf3QplrmU, ON =QzmU QplrmUON03QplrmU, OM =QzmU QplrmUO03QplrmU, OL =QzmU QplrmUN03QplrmU, OK =QzmU QplrmUM03QplrmU, OJ =QzmU QplrmUL03QplrmU, OI =QzmU QplrmUK03QplrmU, OH =QzmU QplrmUJ03QplrmU, OG =QzmU QplrmUI03QplrmU, NP =QzmU QplrmUH03QplrmU, NO =QzmU QplrmUG03QplrmU, NN =QzmU QplrmUOP03QplrmU, NM =QzmU QplrmUOO03QplrmU )U SFlmr_AoBplBsDh = QplrmU?BBvQplrmUU SFlmr_mxtB = SCFhn[P]U xA (SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh == QplrmUjBBvuhQplrmU) { SFlmr_AoBplBsDh = QplrmU?BBvQplrmUU SFlmr_mxtB = SCFhn[SEFDvlqDoBFmro_FlmrtFmxD_CFh]U } BunBxA (SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh == QplrmUCFxuhQplrmU) { SFlmr_AoBplBsDh = QplrmUcFhQplrmUU SFlmr_mxtB = Syrlon[SEFDvlqDoBFmro_FlmrtFmxD_yrlo]U } BunBxA (SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh == QplrmUyrlouhQplrmU) { SFlmr_AoBplBsDh = QplrmU8rloQplrmUU SFlmr_mxtB = QplrmU:QplrmU.nqoxsmA(QplrmU%PNCQplrmU, SEFDvlqDoBFmro_FlmrtFmxD_txslmB).QplrmU txslmBn qFnm myB yrloQplrmUU } WQzmUYY QumUqQzmUY QumUxsqlm DuFnn=QplrmUElmmrs-qoxtFohQplrmU mhqB=QplrmUnlEtxmQplrmU sFtB=QplrmUEFDvlqDoBFmro_nlEtxmQplrmU xC=QplrmUEFDvlqDoBFmro_nlEtxmQplrmU kFulB=QplrmUQumUWqyq xA (CBAxsBC(QplrmUefd5;0d bf#1 _d 7004bcQplrmU)): WQzmU BnmroB aort eFDvlqQumUWqyq BunB: WQzmUeFDvlq #yxn $xmBQumUWqyq BsCxAU WQzmUQplrmU rsDuxDv=QplrmUxA (myxn.kFulB == QTPMGU BnmroB aort eFDvlqQTPMGU) { oBmlos DrsAxot(QTPMGUfoB hrl $; b hrl jFsm mr oBnmroB myxn efd5;0 xsmr myxn EurzW\s\s?f 2729: #yxn jxuu jxqB myB DrsmBsmn rA myB b2#7 b EurzVQTPMGU)U } BunB { oBmlos DrsAxot(QTPMGUfoB hrl $; b hrl jFsm mr EFDvlq myB nxmB QFtqUplrmUQumUWqyq BDyr SEFDvlqDoBFmro_sFtBU WQzmUQFtqUplrmU (QumUWqyq BDyr SEFDvlqDoBFmro_louU WQzmU)WQTPMGU)U }QplrmU /QzmUYY QumUWqyq xA (CBAxsBC(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU)): WQzmU Y QFtqUsEnqUQFtqUsEnqUQFtqUsEnqUY QumUuFEBu xC=QplrmUEFDvlqDoBFmro_FlmrtFmxD_uFEBuQplrmUQzmUQumUWqyq EFDvlqDoBFmro_DyBDvEri(QplrmUEFDvlqDoBFmro_FlmrtFmxD_BsFEuBCQplrmU, SEFDvlqDoBFmro_FlmrtFmxD_BsFEuBC)U WQzmU bsFEuB flmrtFmxD eFDvlqn aro #yxn $xmB QumUF yoBA=QplrmUQumUWqyq BDyr FCtxs_lou(QplrmUmrrun.qyqWqFzB=EFDvlqDoBFmro/EFDvlqDoBFmro.qyqQFtqUmFE=nBmmxsznQplrmU)U WQzmUQplrmUQzmUbkBoh QumUWqyq BDyr SFlmr_AoBplBsDhU WQzmU QumUWqyq BDyr (SFlmr_AoBplBsDh==QplrmU?BBvQplrmU)WQTPMGUrsQTPMGU:QTPMGUFmQTPMGUU WQzmU QumUWqyq BDyr SFlmr_mxtBU WQzmUQumU/FQzmUQumU/uFEBuQzmUY QumUWqyq BsCxAU WQzmUY QumU/qQzmUYY QumUqQzmUQumUWqyq xA (AlsDmxrs_Bixnmn(QplrmUxn_tlumxnxmBQplrmU) QFtqUQFtqU xn_tlumxnxmB()): WQzmUY QumUWqyq xA (AlsDmxrs_Bixnmn(QplrmUDlooBsm_lnBo_DFsQplrmU) QFtqUQFtqU DlooBsm_lnBo_DFs(QplrmUtFsFzB_sBmjrovQplrmU)): WQzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrsQplrmU sFtB=QplrmUEFDvlqDoBFmro_CBFDmxkFmBQplrmU kFulB=QplrmUcBFDmxkFmB 4xDBsnB Aro #yxn 2BmjrovQplrmU rsDuxDv=QplrmUoBmlos DrsAxot(QTPMGUfoB hrl $; b hrl jFsm mr CBFDmxkFmB hrlo eFDvlq doBFmro uxDBsnB Aro myxn sBmjrovWQTPMGU)UQplrmU /QzmUY QumUWqyq BsCxAU WQzmUY QumUWqyq BunB: WQzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrsQplrmU sFtB=QplrmUEFDvlqDoBFmro_CBFDmxkFmBQplrmU kFulB=QplrmUcBFDmxkFmB 4xDBsnB Aro #yxn $xmBQplrmU rsDuxDv=QplrmUoBmlos DrsAxot(QTPMGUfoB hrl $; b hrl jFsm mr CBFDmxkFmB hrlo eFDvlq doBFmro uxDBsnB Aro myxn nxmBWQTPMGU)UQplrmU /QzmUY QumUWqyq BsCxAU WQzmUY QFtqUsEnqUQFtqUsEnqU QumUF yoBA=QplrmUymmq://jjj.EFDvlqDoBFmro.Drt/tBtEBon/uxDBsnB-vBhQplrmUQzmU3FsFzB 4xDBsnBnQumU/FQzmUQumU/qQzmUYY QumU/mCQzmUYY QumUmC jxCmy=QplrmULHPQplrmU kFuxzs=QplrmUmrqQplrmU nmhuB=QplrmUqFCCxsz:OPqiUQplrmUQzmUY QumUWqyq xA (nmoqrn(SBtFxu, QplrmUxsDrtBtFDyxsB.DrtQplrmU) === AFunB): WQzmUY QumUxAoFtB FuurjmoFsnqFoBsDh=QplrmUmolBQplrmU noD=QplrmUymmq://jjj.EFDvlqDoBFmro.Drt/FCn/WBtFxu=QumUWqyq BDyr louBsDrCB(SBtFxu)U WQzmUQFtqUsltEFDvlqn=QumUWqyq BDyr Drlsm(SEFDvlqDoBFmro_AxuBn)U WQzmUQFtqUkBonxrs=QumUWqyq BDyr DrsnmFsm(QplrmUefd5;0d bf#1 _!b $712QplrmU)U WQzmUQplrmU jxCmy=QplrmULHPQplrmU yBxzym=QplrmUMJPQplrmU AoFtBEroCBo=QplrmUOQplrmU EroCBo=QplrmUOQplrmUQzmUQumU/xAoFtBQzmUY QumUWqyq BsCxAU WQzmUY QumU/mCQzmUYY QumU/moQzmUY QumU/mFEuBQzmUY QumU/ArotQzmUYY QumUWqyq EFDvlqDoBFmro_qrqlq()U WQzmUY YY QumUWqyqY } AlsDmxrs EFDvlqDoBFmro_qrqlq() { zurEFu SEFDvlqDoBFmro_Amq_yrnm, SEFDvlqDoBFmro_Amq_lnBo, SEFDvlqDoBFmro_Amq_qFnn, SEFDvlqDoBFmro_Amq_qFmyU zurEFu SEFDvlqDoBFmro_vBh, SEFDvlqDoBFmro_BtFxuU WQzmUY QumUV-- a#0 CrjsurFC Arot --QzmUY QumUCxk xC=QplrmUEFDvlqDoBFmro_oBtrmB_qrqlqQplrmU nmhuB=QplrmUCxnquFh: srsBUQplrmUQzmUY QumUArot tBmyrC=QplrmU01$#QplrmU FDmxrs=QplrmUTQplrmUQzmUYY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_qormrDruQplrmU xC=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_qormrDruQplrmU kFulB=QplrmUAmqQplrmU /QzmUYY QumUmFEuB Fuxzs=QplrmUDBsmBoQplrmU xC=QplrmUEFDvlqDoBFmro_qrqlq_mFEuBQplrmUQzmUY QumUmo xC=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_yrnm_orjQplrmUQzmUY QumUmCQzmUY QumUuFEBu Aro=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_yrnmQplrmUQzmUY QumUnqFs DuFnn=QplrmUEFDvlqDoBFmro_qrqlq_AmqQplrmUQzmU BtrmB a#0 8rnmsFtB:QumU/nqFsQzmUY QumU/uFEBuQzmUY QumU/mCQzmUY QumUmCQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU xC=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_yrnmQplrmU sFtB=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_yrnmQplrmU nxgB=QplrmUMPQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_Amq_yrnmU WQzmUQplrmU /QzmUQumU/mCQzmUY QumU/moQzmUY QumUmoQzmUY QumUmCQzmUQumUuFEBu Aro=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_lnBoQplrmUQzmUY QumUnqFs DuFnn=QplrmUEFDvlqDoBFmro_qrqlq_AmqQplrmUQzmU BtrmB a#0 ;nBosFtB:QumU/nqFsQzmUY QumUnqFs DuFnn=QplrmUEFDvlqDoBFmro_qrqlq_nMQplrmU nmhuB=QplrmUCxnquFh:srsBUQplrmUQzmUfDDBnn 5Bh 7c:QumU/nqFsQzmUY QumUV-- QumUnqFs DuFnn=QplrmUEFDvlqDoBFmro_qrqlq_CorqEriQplrmU nmhuB=QplrmUCxnquFh:srsBUQplrmUQzmUcorqEri fDDrlsm:QumU/nqFsQzmU --QzmUY QumU/uFEBuQzmUQumU/mCQzmUY QumUmCQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU xC=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_lnBoQplrmU sFtB=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_lnBoQplrmU nxgB=QplrmUMPQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_Amq_lnBoU WQzmUQplrmU /QzmUQumU/mCQzmUY QumU/moQzmUY QumUmoQzmUY QumUmCQzmUQumUuFEBu Aro=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_qFnnQplrmUQzmUY QumUnqFs DuFnn=QplrmUEFDvlqDoBFmro_qrqlq_AmqQplrmUQzmU BtrmB a#0 0FnnjroC:QumU/nqFsQzmUY QumUnqFs DuFnn=QplrmUEFDvlqDoBFmro_qrqlq_nMQplrmU nmhuB=QplrmUCxnquFh:srsBUQplrmUQzmU$BDoBm fDDBnn 5Bh:QumU/nqFsQzmUY QumU/uFEBuQzmUQumU/mCQzmUY QumUmCQzmUQumUxsqlm mhqB=QplrmUqFnnjroCQplrmU xC=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_qFnnQplrmU sFtB=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_qFnnQplrmU xC=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_qFnnQplrmU nxgB=QplrmUMPQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_Amq_qFnnU WQzmUQplrmU /QzmUQumU/mCQzmUY QumU/moQzmUYY QumUmoQzmUY QumUmCQzmUQumUuFEBu Aro=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQplrmUQzmUY QumUnqFs DuFnn=QplrmUEFDvlqDoBFmro_qrqlq_AmqQplrmUQzmU BtrmB a#0 aruCBo:QumUEo /QzmUQumUxQzmU(x.B. QumUDrCBQzmUqlEuxD_ymtuQumU/DrCBQzmU)QumU/xQzmUQumU/nqFsQzmUY QumUnqFs DuFnn=QplrmUEFDvlqDoBFmro_qrqlq_nMQplrmU nmhuB=QplrmUCxnquFh:srsBUQplrmUQzmUelDvBm:QumUEo /QzmUQumUxQzmU(x.B. QumUDrCBQzmUQumUWqyq BDyr qoBz_oBquFDB(QTPMGU@\n@QTPMGU, QTPMGUQTPMGU, zBm_EurzxsAr(QplrmUsFtBQplrmU))U WQzmUeFDvlqnQumU/DrCBQzmU)QumU/xQzmUQumU/nqFsQzmUY QumU/uFEBuQzmUQumU/mCQzmUY QumUmCQzmUQumUmBimFoBF Drun=QplrmUNKQplrmU orjn=QplrmUMQplrmU xC=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQplrmU sFtB=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQplrmU xC=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQplrmU nxgB=QplrmUMPQplrmU rsvBhqoBnn=QplrmUxA (EFDvlqDoBFmro_vBhnmorvB() == OM) { myxn.Eulo()U CrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_qrqlq_oBtrmB_nlEtxmQTPMGU).DuxDv()U oBmlos AFunBU}UQplrmUQzmUQumUWqyq BDyr SEFDvlqDoBFmro_Amq_qFmyU WQzmUQumU/mBimFoBFQzmUQumU/mCQzmUY QumU/moQzmUYY QumUmo DuFnn=QplrmUEFDvlqDoBFmro_qrqlq_nMQplrmU nmhuB=QplrmUCxnquFh:srsBUQplrmUQzmUY QumUmC DrunqFs=QplrmUNQplrmUQzmUQumUxQzmUQumUEQzmUQumUF mFozBm=QplrmU_EuFsvQplrmU yoBA=QplrmUymmq://Fjn.FtFgrs.DrtQplrmUQzmU4rzxs mr ftFgrs.DrtQumU/FQzmUQumU/EQzmU FsC DuxDv QFtqUplrmU$BDloxmh doBCBsmxFunQFtqUplrmU mr rEmFxs hrlo fDDBnn 5Bh FsC $BDoBm 5Bh.QumU/xQzmUQumU/mCQzmUY QumU/moQzmUYY QumUmo xC=QplrmUEFDvlqDoBFmro_DrssBDmQplrmUQzmUY QumUmCQzmUQFtqUsEnqUQumU/mCQzmUYY QumUmC Fuxzs=QplrmUDBsmBoQplrmUQzmUY QumUnqFs xC=QplrmUEFDvlqDoBFmro_DrssBDm_urFCxszQplrmU nmhuB=QplrmUCxnquFh:srsBUQplrmUQzmUQumUxtz noD=QplrmUQumUWqyq BDyr zBm_EurzxsAr(QTPMGUlouQTPMGU).QTPMGU/jq-xsDulCBn/wn/myxDvEriQTPMGUU WQzmU/urFCxszfsxtFmxrs.zxAQplrmU /QzmUQumU/nqFsQzmUYY QumUnqFs xC=QplrmUEFDvlqDoBFmro_DrssBDm_ElmmrsnQplrmU nmhuB=QplrmUCxnquFh:xsuxsBUQplrmUQzmUQumUxsqlm xC=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_nlEtxmQplrmU mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrs-qoxtFohQplrmU kFulB=QplrmU BAoBny QplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_DrssBDm()U oBmlos AFunBUQplrmU /QzmUQumUxsqlm mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrsQplrmU kFulB=QplrmU durnB QplrmU rsDuxDv=QplrmUnBuA.qFoBsm.mE_oBtrkB()U oBmlos AFunBUQplrmU /QzmUQumU/CxkQzmUY QumU/mCQzmUY QumU/moQzmUYY QumUmo xC=QplrmUEFDvlqDoBFmro_urFCxszQplrmUQzmUY QumU/mFEuBQzmUYY QumUCxk xC=QplrmUEFDvlqDoBFmro_qrqlq_oBtrmB_rlmqlmQplrmUQzmUQumU/CxkQzmUY QumU/ArotQzmUY QumUxAoFtB noD=QplrmUFErlm:EuFsvQplrmU jxCmy=QplrmUOQplrmU yBxzym=QplrmUOQplrmU nmhuB=QplrmUCxnquFh:srsBUQplrmU xC=QplrmUEFDvlqDoBFmro_oBtrmB_xAoFtBQplrmUQzmUQumU/xAoFtBQzmUY QumU/CxkQzmUY Y QumUnDoxqm mhqB=QplrmUmBim/wFkFnDoxqmQplrmUQzmUY QumUV--Y w&lBoh(QplrmUTEFDvlqDoBFmro-yBFCBoQplrmU).CEuDuxDv(AlsDmxrs() {Y w&lBoh(QplrmUTEFDvlqDoBFmro-FCkFsDBCQplrmU).nyrj()UY w&lBoh(QplrmUTEFDvlqDoBFmro_FCkFsDBCQplrmU).kFu(QplrmUOQplrmU)UY })UYY AlsDmxrs EFDvlqDoBFmro_DrskBom(EhmBn) {Y kFo qoBDxnxrs = OUY kFo vxurEhmB = OPNLUY kFo tBzFEhmB = vxurEhmB * OPNLUY kFo zxzFEhmB = tBzFEhmB * OPNLUY kFo mBoFEhmB = zxzFEhmB * OPNLUY Y xA ((EhmBn QzmU= P) QFtqUQFtqU (EhmBn QumU vxurEhmB)) {Y oBmlos EhmBn + QTPMGU eQTPMGUUY Y }Y BunB xA ((EhmBn QzmU= vxurEhmB) QFtqUQFtqU (EhmBn QumU tBzFEhmB)) {Y oBmlos (EhmBn / vxurEhmB).mraxiBC(qoBDxnxrs) + QTPMGU 5eQTPMGUUY } BunB xA ((EhmBn QzmU= tBzFEhmB) QFtqUQFtqU (EhmBn QumU zxzFEhmB)) {Y oBmlos (EhmBn / tBzFEhmB).mraxiBC(qoBDxnxrs) + QTPMGU 3eQTPMGUUY Y } BunB xA ((EhmBn QzmU= zxzFEhmB) QFtqUQFtqU (EhmBn QumU mBoFEhmB)) {Y oBmlos (EhmBn / zxzFEhmB).mraxiBC(qoBDxnxrs) + QTPMGU 9eQTPMGUUY Y } BunB xA (EhmBn QzmU= mBoFEhmB) {Y oBmlos (EhmBn / mBoFEhmB).mraxiBC(qoBDxnxrs) + QTPMGU #eQTPMGUUY Y } BunB {Y oBmlos EhmBn + QTPMGU eQTPMGUUY }Y }YY AlsDmxrs EFDvlqDoBFmro_vBhnmorvB(B) {oBmlos BWB.jyxDy:BkBsm.vBhdrCBU}YY // $BFoDy Aro AxuBn ro AruCBonWY kFo EFDvlqDoBFmro_oBtrmB_nmhuB = QplrmUAxuBnQplrmUUYY AlsDmxrs EFDvlqDoBFmro_oBtrmB_DyCxo(DlooBsm, EorjnB) {Y kFo DlooBsmUY kFo EorjnBUY //FuBom(QplrmUDlooBsm=QplrmU + DlooBsm + QplrmU, EorjnB = QplrmU + EorjnB)UY //FuBom(EorjnB)UY xA (EorjnB V= lsCBAxsBC QFtqUQFtqU EorjnB == QplrmU..QplrmU) {Y qFmy = DlooBsmUY qFmy = qFmy.oBquFDB(/\/[^\/]*S/, QTPMGUQTPMGU)UY xA (qFmy == DlooBsm) { qFmy = QplrmUQplrmUU }Y }Y BunB {Y qFmy = DlooBsmUY xA (DlooBsm.nlEnmo(DlooBsm.uBszmy-O) V= QTPMGU/QTPMGU) { qFmy += QTPMGU/QTPMGUU }Y qFmy += EorjnBUY qFmy = qFmy.oBquFDB(/\/S/z, QTPMGUQTPMGU)UY }YY //xA (qFmy V= QTPMGU.QTPMGU) {Y w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQplrmU).kFu(qFmy)UY //}Y EFDvlqDoBFmro_oBtrmB_DrssBDm()UY }YY AlsDmxrs EFDvlqDoBFmro_oBtrmB_CBuBmB(DFuuBo) {Y kFo CBuBmBaxuB = w&lBoh(DFuuBo).qorq(QplrmUoBuQplrmU)UY kFo txCCuB3Fs = QTPMGUymmq://jjj.EFDvlqDoBFmro.Drt/tBtEBon/WEFDvlqDoBFmro-rsuxsB=QumUWqyq BDyr ymtuBsmxmxBn(SEFDvlqDoBFmro_BtFxu)U WQzmU|QumUWqyq BDyr ymtuBsmxmxBn(SEFDvlqDoBFmro_vBh)U WQzmUQFtqUCBuBmB=QTPMGU + BnDFqB(CBuBmBaxuB)UY w&lBoh(QplrmUTEFDvlqDoBFmro_oBtrmB_xAoFtBQplrmU).qorq(QplrmUnoDQplrmU, txCCuB3Fs)UY w&lBoh(DFuuBo).qFoBsmn(QplrmUuxQplrmU).AFCB1lm()UY }YY AlsDmxrs EFDvlqDoBFmro_oBtrmB_oBsFtB(DFuuBo) {Y kFo AortaxuB = w&lBoh(DFuuBo).qorq(QplrmUoBuQplrmU)UY kFo mraxuB = qortqm(QplrmU?yFm xn myB sFtB rA hrlo sBj AxuBWQplrmU, AortaxuB)UYY xA (mraxuB == sluu || mraxuB == lsCBAxsBC) { oBmlosU }YY kFo txCCuB3Fs = QTPMGUymmq://jjj.EFDvlqDoBFmro.Drt/tBtEBon/WEFDvlqDoBFmro-rsuxsB=QumUWqyq BDyr ymtuBsmxmxBn(SEFDvlqDoBFmro_BtFxu)U WQzmU|QumUWqyq BDyr ymtuBsmxmxBn(SEFDvlqDoBFmro_vBh)U WQzmUQFtqUoBsFtB=QTPMGU + BnDFqB(AortaxuB) + QplrmUQFtqUmr=QplrmU + BnDFqB(mraxuB)UY //FuBom(txCCuB3Fs)UY w&lBoh(QplrmUTEFDvlqDoBFmro_oBtrmB_xAoFtBQplrmU).urFC(AlsDmxrs() { EFDvlqDoBFmro_oBtrmB_DrssBDm()U oBmlos AFunBU })UY w&lBoh(QplrmUTEFDvlqDoBFmro_oBtrmB_xAoFtBQplrmU).Fmmo(QplrmUnoDQplrmU, txCCuB3Fs)Y }YY AlsDmxrs EFDvlqDoBFmro_louCBDrCB(nmo) {Y oBmlos CBDrCB; 7drtqrsBsm((nmo + QTPMGUQTPMGU).oBquFDB(/\+/z, QTPMGU%NPQTPMGU))UY }YY AlsDmxrs EFDvlqDoBFmro_ymtuBsmxmxBn(nmo) {Y oBmlos $moxsz(nmo).oBquFDB(/QFtqU/z, QTPMGUQFtqUFtqUQTPMGU).oBquFDB(/QumU/z, QTPMGUQFtqUumUQTPMGU).oBquFDB(/QzmU/z, QTPMGUQFtqUzmUQTPMGU).oBquFDB(/QplrmU/z, QTPMGUQFtqUplrmUQTPMGU)UY }YY AlsDmxrs EFDvlqDoBFmro_oBtrmB_DrssBDm() {Y kFo qormrDru = w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qormrDruQplrmU).kFu()UY kFo FwFifDmxrsUYY xA (qormrDru == QplrmUAmqQplrmU) { FwFifDmxrs = QplrmUEFDvlqDoBFmro_Amq_DrssBDmQplrmUU }Y BunB xA (qormrDru == QplrmUnMQplrmU) { FwFifDmxrs = QplrmUEFDvlqDoBFmro_nM_DrssBDmQplrmUU }Y BunB xA (qormrDru == QplrmUCorqEriQplrmU) { FwFifDmxrs = QplrmUEFDvlqDoBFmro_CorqEri_DrssBDmQplrmUU }Y BunB xA (qormrDru == QplrmUzCoxkBQplrmU) { FwFifDmxrs = QplrmUEFDvlqDoBFmro_zCoxkB_DrssBDmQplrmUU }Y BunB xA (qormrDru == QplrmUDurlCQplrmU) { FwFifDmxrs = QplrmUEFDvlqDoBFmro_DurlC_DrssBDmQplrmUU }YY EFDvlqDoBFmro_oBtrmB_nyrj()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_rlmqlmQplrmU).ymtu(QplrmUQplrmU)UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_lnBo,TEFDvlqDoBFmro_qrqlq_oBtrmB_qFnn,TEFDvlqDoBFmro_qrqlq_oBtrmB_yrnmQplrmU).Eulo()UYY kFo CFmF = {Y FDmxrs: FwFifDmxrs,Y EFDvlqDoBFmro_oBtrmB_lnBo: w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_lnBoQplrmU).kFu(),Y EFDvlqDoBFmro_oBtrmB_qFnn: w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFnnQplrmU).kFu(),Y EFDvlqDoBFmro_oBtrmB_yrnm: w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_yrnmQplrmU).kFu(),Y EFDvlqDoBFmro_oBtrmB_qFmy: w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQplrmU).kFu(),Y }UYY w&lBoh(QTPMGUTEFDvlqDoBFmro_DrssBDm_ElmmrsnQTPMGU).yxCB()UY w&lBoh(QTPMGUTEFDvlqDoBFmro_DrssBDm_urFCxszQTPMGU).nyrj()UYY w&lBoh.qrnm(FwFilou, CFmF, AlsDmxrs(oBnqrsnB) {Y //FuBom(QplrmUoBnqrsnB=QplrmU+oBnqrsnB)UYY xA (oBnqrsnB == QplrmU21# bfcQumUWqyq BDyr Dyo(HG)U WQzmUQplrmU) {Y QumUWqyq SnBmmxszn#FE = FCtxs_lou(QplrmUmrrun.qyqWqFzB=QplrmU.qulzxs_EFnBsFtB(__a74b__).QplrmUQFtqUmFE=nBmmxsznQplrmU)U WQzmUY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_rlmqlmQplrmU).ymtu(QTPMGUQumUq Fuxzs=QplrmUDBsmBoQplrmUQzmUQumUWqyq BDyr Dyo(HG)U WQzmUrl yFkB srm hBm nqBDxAxBC hrlo nBmmxszn xs myB QumUF yoBA=QplrmUQumUWqyq BDyr SnBmmxszn#FEU WQzmUQplrmUQzmUeFDvlq doBFmro nBmmxszn mFEQumU/FQzmU.QumU/qQzmUQumUq Fuxzs=QplrmUDBsmBoQplrmUQzmU9r myBoB srj FsC QumUF yoBA=QplrmUQumUWqyq BDyr SnBmmxszn#FEU WQzmUQplrmUQzmUnFkB hrlo nBmmxsznQumU/FQzmU xA hrl jFsm mrQumUEo /QzmU oBnmroB hrlo EFDvlqn Aort a#0, $M, corqEri FsC rmyBo urDFmxrsn.QumU/qQzmUQTPMGU)UY w&lBoh(QplrmUTEFDvlqDoBFmro_DrssBDm_urFCxsz,TEFDvlqDoBFmro_qrqlq_mFEuBQplrmU).yxCB()UY oBmlosUY }Y BunB xA (oBnqrsnB == QplrmUa1 e7ccb2QplrmU) {Y w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_BooroQplrmU).nyrj()UY w&lBoh(QplrmUTEFDvlqDoBFmro_DrssBDm_urFCxszQplrmU).yxCB()UYY xA (qormrDru==QplrmUnMQplrmU) {Y w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_rlmqlmQplrmU).ymtu(QplrmUbooro DrssBDmxsz mr ftFgrs $M. 0uBFnB CrlEuB DyBDv hrlo fDDBnn 5Bh 7c FsC $BDoBm fDDBnn 5Bh.QplrmU)UY oBmlosUY }Y }Y BunB {Y w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_BooroQplrmU).yxCB()UY w&lBoh(QplrmUTEFDvlqDoBFmro_DrssBDm_urFCxszQplrmU).nyrj()UY }YY //FuBom(QplrmUDyBDvqrxsm OQplrmU)UYY w&lBoh(QTPMGUTEFDvlqDoBFmro_DrssBDm_ElmmrsnQTPMGU).nyrj()UY w&lBoh(QTPMGUTEFDvlqDoBFmro_DrssBDm_urFCxszQTPMGU).yxCB()UYY kFo xUY kFo AxuBn, AruCBon, DlooBsmUY kFo rlmqlm = QplrmUQplrmUUY kFo xmBtn = oBnqrsnB.nquxm(QplrmU\s\sQplrmU)UY kFo plrmF = sluuUY kFo A, n, nquxmU // DlooBsm AxuB FsC nxgBYY //FuBom(xmBtn)UYY xA (xmBtn == sluu) { oBmlosU }YY //FuBom(xmBtn.uBszmy)UY //FuBom(QplrmUoBnqrsnB=QplrmU + oBnqrsnB)U // oquFsv K-NK-NPOKY //FuBom(QplrmUCFmF=QplrmU+CFmF)UYY //Aro (Fmmo xs CFmF) {Y //FuBom(Fmmo + QTPMGU=QTPMGU + CFmF[Fmmo])UY //}YY AxuBn = sluuUY AruCBon = sluuUY DlooBsm = sluuUYY //FuBom(xmBtn)UY Y xA (xmBtn.uBszmy QzmU P) { DlooBsm = xmBtn[P].moxt()U }Y xA (xmBtn.uBszmy QzmU O QFtqUQFtqU xmBtn[O] V= lsCBAxsBC) { AruCBon = xmBtn[O].nquxm(QplrmU\sQplrmU)U }Y xA (xmBtn.uBszmy QzmU N QFtqUQFtqU xmBtn[N] V= lsCBAxsBC) { AxuBn = xmBtn[N].nquxm(QplrmU\sQplrmU)U }Y xA (xmBtn.uBszmy QzmU M QFtqUQFtqU xmBtn[M] V= lsCBAxsBC) { plrmF = xmBtn[M].nquxm(QplrmU/QplrmU)U }YY //FuBom(plrmF)UY //FuBom(QplrmUDlooBsm = QplrmU + DlooBsm + QplrmU, AruCBon = QplrmU + AruCBon + QplrmU, AxuBn = QplrmU + AxuBn)UY xA (plrmF) {Y kFo qBoDBsm = (plrmF[P] / plrmF[O])*OPPUY qBoDBsm = 3Fmy.orlsC(qBoDBsm * OP)/OPUY rlmqlm += QTPMGUQumUq Fuxzs=QplrmUDBsmBoQplrmUQzmUQumUEQzmU$qFDB lnBC: QTPMGU + EFDvlqDoBFmro_DrskBom(plrmF[P]) + QTPMGU rlm rA QTPMGU + EFDvlqDoBFmro_DrskBom(plrmF[O]) + QTPMGU (QTPMGU + qBoDBsm + QTPMGU%)QumU/EQzmUQumU/qQzmUQTPMGUUY }YY // $yrj tBnnFzB xA sr AxuBn jBoB ArlsCY xA (AxuBn == sluu) {Y xA (qormrDru == QplrmUDurlCQplrmU) {Y rlmqlm += QTPMGUQumUq Fuxzs=QplrmUDBsmBoQplrmUQzmUQumUWqyq BDyr Dyo(HG)U WQzmUrl DlooBsmuh yFkB sr EFDvlqn nmroBC xs myB eFDvlq doBFmro DurlC.QTPMGUUY }Y }YY rlmqlm += QplrmUQumUluQzmUQplrmUUYY xA (qormrDru V= QplrmUDurlCQplrmU QFtqUQFtqU qormrDru V= QplrmUCorqEriQplrmU QFtqUQFtqU qormrDru V= QplrmUzCoxkBQplrmU) {Y rlmqlm += QTPMGUQumUuxQzmUQumUF yoBA=QplrmUTQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_DyCxo(w&lBoh(\QTPMGUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmy\QTPMGU).kFu(), \QTPMGU..\QTPMGU)U oBmlos AFunBUQplrmUQzmUQumUEQzmU(;q 1sB 4BkBu)QumU/EQzmUQumU/FQzmUQumU/uxQzmUQTPMGUUY }YY xA (AruCBon V= sluu) {Y xA (EFDvlqDoBFmro_oBtrmB_nmhuB == QplrmUAruCBonQplrmU QFtqUQFtqU qormrDru V= QplrmUDurlCQplrmU QFtqUQFtqU qormrDru V= QplrmUCorqEriQplrmU QFtqUQFtqU qormrDru V= QplrmUzCoxkBQplrmU) {Y rlmqlm += QTPMGU QTPMGU + QTPMGUQumUuxQzmUQumUF nmhuB=QplrmUDruro:EulBUQplrmU yoBA=QplrmUTQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_DurnB(myxn.mxmuB)U oBmlos AFunBUQplrmU mxmuB=QplrmUQplrmUQzmUQTPMGU + QTPMGU(nFkB mr DlooBsm AruCBo)QTPMGU + QTPMGUQumU/FQzmUQumU/uxQzmUQTPMGUUY }YY Aro (x=PU xQumUAruCBon.uBszmyU x++) {Y rlmqlm += QTPMGUQumUuxQzmUQTPMGUUY rlmqlm += QTPMGUQumUF yoBA=QplrmUTQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_DyCxo(w&lBoh(\QTPMGUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmy\QTPMGU).kFu(), myxn.mxmuB)U oBmlos AFunBUQplrmU mxmuB=QplrmUQTPMGU + AruCBon[x] + QTPMGUQplrmUQzmUQTPMGU + QTPMGUQumUEQzmUQTPMGU + AruCBon[x] + QTPMGUQumU/EQzmUQTPMGU + QTPMGUQumU/FQzmUQTPMGUUY xA (EFDvlqDoBFmro_oBtrmB_nmhuB == QplrmUAruCBonQplrmU QFtqUQFtqU qormrDru V= QplrmUDurlCQplrmU QFtqUQFtqU qormrDru V= QplrmUCorqEriQplrmU QFtqUQFtqU qormrDru V= QplrmUzCoxkBQplrmU) {Y rlmqlm += QTPMGU QTPMGU + QTPMGUQumUF nmhuB=QplrmUDruro:EulBUQplrmU yoBA=QplrmUTQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_DurnB(myxn.mxmuB)U oBmlos AFunBUQplrmU mxmuB=QplrmUQTPMGU + AruCBon[x] + QTPMGUQplrmUQzmUQTPMGU + QTPMGU(nFkB mr myxn AruCBo)QTPMGU + QTPMGUQumU/FQzmUQTPMGUUY }Y rlmqlm += QTPMGUQumU/uxQzmUQTPMGUUY }Y }YY xA (EFDvlqDoBFmro_oBtrmB_nmhuB V= QplrmUAruCBonQplrmU QFtqUQFtqU AxuBn V= sluu) {Y Aro (x=PU xQumUAxuBn.uBszmyU x++) {Y nquxm = AxuBn[x].nquxm(QplrmU\mQplrmU)UY A = EFDvlqDoBFmro_louCBDrCB(nquxm[P])UY n = nquxm[O]UY kFo v = AU // vBh xsnmBFC rA AxuBsFtB Aro 9rrzuB coxkBY xA (nquxm.uBszmy QzmU N) { v = nquxm[N]U }YY rlmqlm += QTPMGUQumUuxQzmUQTPMGU + QTPMGUQumUF yoBA=QplrmUTQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_DurnB(myxn.mxmuB)U oBmlos AFunBUQplrmU mxmuB=QplrmUQTPMGU + EFDvlqDoBFmro_ymtuBsmxmxBn(v) + QTPMGUQplrmUQzmUQTPMGU + EFDvlqDoBFmro_ymtuBsmxmxBn(A) + QTPMGUQumU/FQzmUQTPMGUUY xA (n V= lsCBAxsBC) { rlmqlm += QTPMGU QumUxQzmUQumUntFuuQzmUQTPMGU + EFDvlqDoBFmro_DrskBom(n) + QTPMGUQumU/ntFuuQzmUQumU/xQzmUQTPMGUU }YY xA (qormrDru == QplrmUDurlCQplrmU) {Y rlmqlm += QTPMGU QumUF yoBA=QplrmUTQplrmU oBu=QplrmUQTPMGU+EFDvlqDoBFmro_ymtuBsmxmxBn(A)+QTPMGUQplrmUrsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_CBuBmB(myxn)U oBmlos AFunBUQplrmUQzmU(cBuBmB)QumU/FQzmUQTPMGUUY }Y rlmqlm += QTPMGUQumU/uxQzmUQTPMGUUY }Y }Y BunB xA (AxuBn V= sluu) {Y kFo A = QplrmUQplrmUUY kFo n = PUYY Aro (x=PU xQumUAxuBn.uBszmyU x++) {Y xA (nquxm = AxuBn[x].nquxm(QplrmU\mQplrmU)) {Y A = EFDvlqDoBFmro_louCBDrCB(nquxm[P])UY n = nquxm[O]UY }Y BunB {Y A = EFDvlqDoBFmro_louCBDrCB(AxuBn[x])UY n = sluuUY }YY rlmqlm += QTPMGUQumUuxQzmUQTPMGUUY rlmqlm += EFDvlqDoBFmro_ymtuBsmxmxBn(A)UYY xA (n V= lsCBAxsBC QFtqUQFtqU n V= sluu) {Y rlmqlm += QTPMGU QumUxQzmUQumUntFuuQzmUQTPMGU + EFDvlqDoBFmro_DrskBom(n) + QTPMGUQumU/ntFuuQzmUQumU/xQzmUQTPMGUUY }YY //FuBom(nquxm)UYY // BsFtB FsC cBuBmB uxsvn Aro myB durlCY xA (qormrDru == QplrmUDurlCQplrmU) {Y rlmqlm += QTPMGU QumUF yoBA=QplrmUTQplrmU oBu=QplrmUQTPMGU+EFDvlqDoBFmro_ymtuBsmxmxBn(A)+QTPMGUQplrmUrsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_oBsFtB(myxn)U oBmlos AFunBUQplrmUQzmU( BsFtB)QumU/FQzmUQTPMGUUY rlmqlm += QTPMGU QumUF yoBA=QplrmUTQplrmU oBu=QplrmUQTPMGU+EFDvlqDoBFmro_ymtuBsmxmxBn(A)+QTPMGUQplrmUrsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_CBuBmB(myxn)U oBmlos AFunBUQplrmUQzmU(cBuBmB)QumU/FQzmUQTPMGUUY }Y rlmqlm += QTPMGUQumU/uxQzmUQTPMGUUY }Y }Y rlmqlm += QplrmUQumU/luQzmUQplrmUUYY //FuBom(DlooBsm)UYY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQplrmU).kFu(DlooBsm)UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_rlmqlmQplrmU).ymtu(rlmqlm)UY })UYY //EFDvlqDoBFmro_oBtrmB_DurnB()UY }YY AlsDmxrs EFDvlqDoBFmro_oBtrmB_yxCB(nmhuB, qormrDru) {Y kFo qormrDruUY kFo yrnm, lnBo, qFnn, qFmyUYY kFo sBj$mhuB = nmhuBUY xA (sBj$mhuB == lsCBAxsBC) { sBj$mhuB = QplrmUAxuBnQplrmUU }Y xA (qormrDru == lsCBAxsBC) { qormrDru = QplrmUAmqQplrmUU }Y EFDvlqDoBFmro_oBtrmB_nmhuB = sBj$mhuBUYY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qormrDruQplrmU).kFu(qormrDru)UYY xA (qormrDru == QplrmUDurlCQplrmU) {Y w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_DurlCQTPMGU).nyrj()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_AmqQTPMGU).yxCB()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_nMQTPMGU).yxCB()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_CorqEriQTPMGU).yxCB()UY w&lBoh(QTPMGUTEFDvlqDoBFmro_qrqlq_oBtrmB_yrnm_orjQTPMGU).yxCB()UY w&lBoh(QTPMGUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQTPMGU).yxCB()UY } Y BunB xA (qormrDru == QplrmUAmqQplrmU) {Y w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_DurlCQTPMGU).yxCB()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_AmqQTPMGU).nyrj()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_nMQTPMGU).yxCB()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_CorqEriQTPMGU).yxCB()UY w&lBoh(QTPMGUTEFDvlqDoBFmro_qrqlq_oBtrmB_yrnm_orjQTPMGU).nyrj()UY w&lBoh(QTPMGUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQTPMGU).nyrj()UY }Y BunB xA (qormrDru == QplrmUnMQplrmU) {Y w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_DurlCQTPMGU).yxCB()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_AmqQTPMGU).yxCB()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_nMQTPMGU).nyrj()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_CorqEriQTPMGU).yxCB()UY w&lBoh(QTPMGUTEFDvlqDoBFmro_qrqlq_oBtrmB_yrnm_orjQTPMGU).yxCB()UY w&lBoh(QTPMGUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQTPMGU).nyrj()UY }Y BunB xA (qormrDru == QplrmUCorqEriQplrmU) {Y w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_DurlCQTPMGU).yxCB()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_AmqQTPMGU).yxCB()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_nMQTPMGU).yxCB()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_CorqEriQTPMGU).nyrj()UY w&lBoh(QTPMGUTEFDvlqDoBFmro_qrqlq_oBtrmB_yrnm_orjQTPMGU).yxCB()UY w&lBoh(QTPMGUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQTPMGU).yxCB()UY }Y BunB xA (qormrDru == QplrmUzCoxkBQplrmU) {Y w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_DurlCQTPMGU).yxCB()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_AmqQTPMGU).yxCB()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_nMQTPMGU).yxCB()UY w&lBoh(QTPMGU.EFDvlqDoBFmro_qrqlq_CorqEriQTPMGU).yxCB()UY w&lBoh(QTPMGUTEFDvlqDoBFmro_qrqlq_oBtrmB_yrnm_orjQTPMGU).yxCB()UY w&lBoh(QTPMGUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQTPMGU).yxCB()UY }YY w&lBoh(QTPMGUTEFDvlqDoBFmro_DrssBDm_ElmmrsnQTPMGU).nyrj()UY w&lBoh(QTPMGUTEFDvlqDoBFmro_DrssBDm_urFCxszQTPMGU).yxCB()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_rlmqlmQplrmU).yxCB()UYY xA (qormrDru == QplrmUAmqQplrmU QFtqUQFtqU w&lBoh(QplrmUTEFDvlqDoBFmro_Amq_yrnmQplrmU).uBszmy QzmU P) {Y yrnm = w&lBoh(QplrmUTEFDvlqDoBFmro_Amq_yrnmQplrmU).kFu()UY lnBo = w&lBoh(QplrmUTEFDvlqDoBFmro_Amq_lnBoQplrmU).kFu()UY qFnn = w&lBoh(QplrmUTEFDvlqDoBFmro_Amq_qFnnQplrmU).kFu()UY qFmy = w&lBoh(QplrmUTEFDvlqDoBFmro_Amq_qFmyQplrmU).kFu()UY Y w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_yrnmQplrmU).kFu(yrnm).nyrj()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_lnBoQplrmU).kFu(lnBo).nyrj()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFnnQplrmU).kFu(qFnn).nyrj()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQplrmU).kFu(qFmy).nyrj()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_lqQplrmU).nyrj()UY }YY BunB xA (qormrDru == QplrmUnMQplrmU QFtqUQFtqU w&lBoh(QplrmUTEFDvlqDoBFmro_nM_vBhQplrmU).uBszmy QzmU P) {Y yrnm = QplrmUnMQplrmUUY lnBo = w&lBoh(QplrmUTEFDvlqDoBFmro_nM_vBhQplrmU).kFu()UY qFnn = w&lBoh(QplrmUTEFDvlqDoBFmro_nM_nBDoBmQplrmU).kFu()UY qFmy = w&lBoh(QplrmUTEFDvlqDoBFmro_nM_ElDvBmQplrmU).kFu()UYY //FuBom(qFmy)UY Y //w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_yrnmQplrmU).kFu(yrnm)UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_lnBoQplrmU).kFu(lnBo).nyrj()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFnnQplrmU).kFu(qFnn).nyrj()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQplrmU).kFu(qFmy).nyrj()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_lqQplrmU).nyrj()UY }YY BunB xA (qormrDru == QplrmUCorqEriQplrmU QFtqUQFtqU w&lBoh(QplrmUTEFDvlqDoBFmro_CorqEri_mrvBsQplrmU).uBszmy QzmU P) {Y yrnm = QplrmUnMQplrmUUY lnBo = w&lBoh(QplrmUTEFDvlqDoBFmro_CorqEri_mrvBsQplrmU).kFu()UY qFnn = w&lBoh(QplrmUTEFDvlqDoBFmro_CorqEri_nBDoBmQplrmU).kFu()UY Y w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_lnBoQplrmU).kFu(lnBo).yxCB()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFnnQplrmU).kFu(qFnn).yxCB()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQplrmU).kFu(qFmy).yxCB()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_lqQplrmU).yxCB()UY }Y BunB xA (qormrDru == QplrmUzCoxkBQplrmU) {Y yrnm = QplrmUzCoxkBQplrmUUY lnBo = w&lBoh(QplrmUTEFDvlqDoBFmro_zCoxkB_vBhQplrmU).kFu()UY qFnn = w&lBoh(QplrmUTEFDvlqDoBFmro_zCoxkB_nBDoBmQplrmU).kFu()UYY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_lnBoQplrmU).kFu(lnBo).yxCB()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFnnQplrmU).kFu(qFnn).yxCB()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQplrmU).kFu(qFmy).yxCB()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_lqQplrmU).yxCB()UY }Y BunB xA (qormrDru == QplrmUDurlCQplrmU) {Y w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_lnBoQplrmU).kFu(lnBo).yxCB()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFnnQplrmU).kFu(qFnn).yxCB()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQplrmU).kFu(qFmy).yxCB()UY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_lqQplrmU).yxCB()UY }YY w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_nlEtxmQplrmU).DuxDv()UY }YY AlsDmxrs EFDvlqDoBFmro_oBtrmB_nyrj() {Y w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_rlmqlmQplrmU).nyrj()UY }YY AlsDmxrs EFDvlqDoBFmro_oBtrmB_DurnB(AxuB) {Y kFo qormrDru = w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qormrDruQplrmU).kFu()UYY //FuBom(AxuB)UYY xA (AxuB V= lsCBAxsBC) {Y kFo lnBo = w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_lnBoQplrmU).kFu()UY kFo qFnn = w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFnnQplrmU).kFu()UY kFo qFmy = w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_qFmyQplrmU).kFu()UYY xA (qormrDru == QplrmUnMQplrmU) {Y kFo yrnm = QplrmUFtFgrsFjn.Drt/QplrmUUY }Y BunB xA (qormrDru == QplrmUCorqEriQplrmU) {Y kFo yrnm = QplrmUCorqEri.DrtQplrmUUY }Y BunB xA (qormrDru == QplrmUDurlCQplrmU) {Y kFo yrnm = QplrmUQplrmUUY }Y BunB {Y kFo yrnm = w&lBoh(QplrmUTEFDvlqDoBFmro_qrqlq_oBtrmB_yrnmQplrmU).kFu()UY }YY kFo CxnquFh = qormrDru+QplrmU://QplrmUUY xA (yrnm) {Y CxnquFh += lnBo + QplrmU:QplrmU + QplrmU****QplrmU + QplrmU@QplrmU + yrnmUY }YY kFo oBnlum = qormrDru+QplrmU://QplrmUUY xA (yrnm) {Y oBnlum += lnBo + QplrmU:QplrmU + qFnn + QplrmU@QplrmU + yrnmUY }YY kFo Aluu0Fmy = qFmyUYY xA (qFmy) {Y CxnquFh += qFmyUY oBnlum += qFmyUY }YY xA (qFmy.nlEnmo(qFmy.uBszmy-O) V= QTPMGU/QTPMGU QFtqUQFtqU yrnm) {Y oBnlum += QTPMGU/QTPMGUUY CxnquFh += QTPMGU/QTPMGUUY Aluu0Fmy += QTPMGU/QTPMGUUY }YY oBnlum += AxuBUY CxnquFh += AxuBUY Aluu0Fmy += AxuBUYY // #BimEriY xA (w&lBoh(QplrmUTEFDvlqDoBFmro_DlnmrtQplrmU).uBszmy QzmU P) {Y w&lBoh(QplrmUTEFDvlqDoBFmro_DlnmrtQplrmU).kFu(CxnquFh)UY w&lBoh(QplrmUTEFDvlqDoBFmro_Dlnmrt_oBFuQplrmU).kFu(oBnlum)UY w&lBoh(QplrmUTEFDvlqDoBFmro_rqmxrs_DlnmrtQplrmU).DuxDv()UY }Y // 7sCxkxClFu mBim AxBuCnY BunB xA (qormrDru == QplrmUAmqQplrmU QFtqUQFtqU w&lBoh(QplrmUTEFDvlqDoBFmro_Amq_yrnmQplrmU).uBszmy QzmU P) {Y w&lBoh(QplrmUTEFDvlqDoBFmro_Amq_yrnmQplrmU).kFu(yrnm)UY w&lBoh(QplrmUTEFDvlqDoBFmro_Amq_lnBoQplrmU).kFu(lnBo)UY w&lBoh(QplrmUTEFDvlqDoBFmro_Amq_qFnnQplrmU).kFu(qFnn)UY w&lBoh(QplrmUTEFDvlqDoBFmro_Amq_qFmyQplrmU).kFu(Aluu0Fmy)UY //w&lBoh(QplrmUTEFDvlqDoBFmro_Amq_yrnm,TEFDvlqDoBFmro_Amq_lnBo,TEFDvlqDoBFmro_Amq_qFnn,TEFDvlqDoBFmro_Amq_qFmyQplrmU).Eulo()UY }Y BunB xA (qormrDru == QplrmUnMQplrmU QFtqUQFtqU w&lBoh(QplrmUTEFDvlqDoBFmro_nM_vBhQplrmU).uBszmy QzmU P) {Y w&lBoh(QplrmUTEFDvlqDoBFmro_nM_vBhQplrmU).kFu(lnBo)UY w&lBoh(QplrmUTEFDvlqDoBFmro_nM_nBDoBmQplrmU).kFu(qFnn)UY w&lBoh(QplrmUTEFDvlqDoBFmro_nM_ElDvBmQplrmU).kFu(Aluu0Fmy)UY //w&lBoh(QplrmUTEFDvlqDoBFmro_Amq_yrnm,TEFDvlqDoBFmro_Amq_lnBo,TEFDvlqDoBFmro_Amq_qFnn,TEFDvlqDoBFmro_Amq_qFmyQplrmU).Eulo()UY }Y BunB xA (qormrDru == QplrmUDurlCQplrmU) {Y w&lBoh(QplrmUTEFDvlqDoBFmro_Dlnmrt_oBFuQplrmU).kFu(oBnlum)UY w&lBoh(QplrmUTEFDvlqDoBFmro_rqmxrs_DlnmrtQplrmU).DuxDv()UY }Y }Y nBuA.qFoBsm.mE_oBtrkB()UY }YY EFDvlqDoBFmro_oBtrmB_yxCB()UY QumUWqyq BDyr QTPMGU/QTPMGU.QTPMGU/QTPMGU.QTPMGU --QzmUQTPMGUU WQzmUY QumU/nDoxqmQzmUY QumUWqyqY } AlsDmxrs EFDvlqDoBFmro_nBmmxszn_nFkB() { SnBmmxszn = EFDvlqDoBFmro_zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U SFozn = AlsD_zBm_Fozn()U xA (Drlsm(SFozn) == N) { uxnm(SvBh, SkFulB) = SFoznU SnBmmxszn[SvBh] = SkFulBU } BunB { SnBmmxszn = EFDvlqDoBFmro_nBmmxszn_joxmB(SnBmmxszn, QplrmUEFDvlqDoBFmro_BtFxu_mrQplrmU, QplrmUEFDvlqDoBFmro_Amq_yrnmQplrmU, QplrmUEFDvlqDoBFmro_Amq_qFnnQplrmU, QplrmUEFDvlqDoBFmro_Amq_lnBoQplrmU, QplrmUEFDvlqDoBFmro_Amq_qFmyQplrmU, QplrmUEFDvlqDoBFmro_nM_vBhQplrmU, QplrmUEFDvlqDoBFmro_nM_nBDoBmQplrmU, QplrmUEFDvlqDoBFmro_nM_ElDvBmQplrmU, QplrmUEFDvlqDoBFmro_CorqEri_FDDrlsmQplrmU, QplrmUEFDvlqDoBFmro_CorqEri_mrvBsQplrmU, QplrmUEFDvlqDoBFmro_CorqEri_nBDoBmQplrmU, QplrmUEFDvlqDoBFmro_zCoxkB_vBhQplrmU, QplrmUEFDvlqDoBFmro_zCoxkB_nBDoBmQplrmU, QplrmUEFDvlqDoBFmro_FmmFDytBsm_BsFEuBCQplrmU, QplrmUEFDvlqDoBFmro_FlmrtFmxD_BsFEuBCQplrmU, QplrmUEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDhQplrmU, QplrmUEFDvlqDoBFmro_FlmrtFmxD_CFhQplrmU, QplrmUEFDvlqDoBFmro_FlmrtFmxD_yrloQplrmU, QplrmUEFDvlqDoBFmro_FlmrtFmxD_txslmBQplrmU, QplrmUEFDvlqDoBFmro_FlmrtFmxD_uxtxmQplrmU, QplrmUEFDvlqDoBFmro_DurlC_BsFEuBCQplrmU, QplrmUEFDvlqDoBFmro_BtFxu_BsFEuBCQplrmU, QplrmUEFDvlqDoBFmro_Amq_BsFEuBCQplrmU, QplrmUEFDvlqDoBFmro_nM_BsFEuBCQplrmU, QplrmUEFDvlqDoBFmro_CorqEri_BsFEuBCQplrmU, QplrmUEFDvlqDoBFmro_zCoxkB_BsFEuBCQplrmU, QplrmUEFDvlqDoBFmro_CBuBmB_BsFEuBCQplrmU )U xA (xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_AruCBoQplrmU])) { SAruCBon = FooFh_vBhn(S_01$#[QplrmUEFDvlqDoBFmro_AruCBoQplrmU])U SFuuaruCBon = EFDvlqDoBFmro_AruCBon(sluu, P, AFunB)U lsnBm(SFuuaruCBon[QplrmUjq-FCtxsQplrmU])U lsnBm(SFuuaruCBon[QplrmUjq-xsDulCBnQplrmU])U SFuuaruCBon = EFDvlqDoBFmro_AruCBon_AuFm(SFuuaruCBon)U SoBnlum = FooFh()U AroBFDy (SFuuaruCBon Fn SFuuaruCBo) { xA (SFuuaruCBo == QplrmUjq-DrsmBsmQplrmU) { DrsmxslBU } xA (Vxs_FooFh(SFuuaruCBo, SAruCBon)) { SoBnlum[] = SFuuaruCBoU } } SnBmmxszn[QplrmUEFDvlqDoBFmro_AruCBonQplrmU] = SoBnlumU } } EFDvlqDoBFmro_lqCFmB_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU, SnBmmxszn)U } AlsDmxrs EFDvlqDoBFmro_nBmmxszn_joxmB() { SFozn = AlsD_zBm_Fozn()U Sxsqlm = FooFh_nyxAm(SFozn)U xA (Drlsm(SFozn) == P) { oBmlos SxsqlmU } xA (Drlsm(SFozn) == O) { SFoz = oBnBm(SFozn)U xA (nmoqrn(SFoz, QplrmUBsFEuBCQplrmU) V== af4$b) { Sxsqlm[SFoz] = xnnBm(S_01$#[SFoz])U } xA (VxnnBm(S_01$#[SFoz])) { oBmlos SxsqlmU } xA (S_01$#[SFoz] == QplrmUQplrmU) { lsnBm(Sxsqlm[SFoz])U } BunB { Sxsqlm[SFoz] = S_01$#[SFoz]U } oBmlos SxsqlmU } AroBFDy (SFozn Fn SFoz) { Sxsqlm = EFDvlqDoBFmro_nBmmxszn_joxmB(Sxsqlm, SFoz)U } oBmlos SxsqlmU } AlsDmxrs EFDvlqDoBFmro_DyBDvEri(SsFtB, Srs, SrsDuxDv=QplrmUQplrmU) { xA (Srs V= AFunB) { WQzmUY QumUxsqlm mhqB=QplrmUDyBDvEriQplrmU xC=QplrmUQumUWqyq BDyr SsFtBU WQzmUQplrmU sFtB=QplrmUQumUWqyq BDyr SsFtBU WQzmUQplrmU DyBDvBC=QplrmUDyBDvBCQplrmU rsDuxDv=QplrmUQumUWqyq BDyr SrsDuxDvU WQzmUQplrmU /QzmUY QumUWqyqY } BunB { WQzmUY QumUxsqlm mhqB=QplrmUDyBDvEriQplrmU xC=QplrmUQumUWqyq BDyr SsFtBU WQzmUQplrmU sFtB=QplrmUQumUWqyq BDyr SsFtBU WQzmUQplrmU rsDuxDv=QplrmUQumUWqyq BDyr SrsDuxDvU WQzmUQplrmU /QzmUY QumUWqyq } } AlsDmxrs EFDvlqDoBFmro_CorqCrjs(SsFtB, SCFmF, Srqmxrs=sluu, SrsDyFszB=sluu) { xA (Srqmxrs == sluu) { Srqmxrs = zBm_rqmxrs(SsFtB)U } xA (SrsDyFszB == sluu) { WQzmUY QumUnBuBDm sFtB=QplrmUQumUWqyq BDyr SsFtB WQzmUQplrmU xC=QplrmUQumUWqyq BDyr SsFtB WQzmUQplrmUQzmUY QumUWqyq } BunB { WQzmUY QumUnBuBDm sFtB=QplrmUQumUWqyq BDyr SsFtB WQzmUQplrmU xC=QplrmUQumUWqyq BDyr SsFtB WQzmUQplrmU rsDyFszB=QplrmUQumUWqyq BDyr SrsDyFszBU WQzmUQplrmUQzmUY QumUWqyq } xA (AFunB QFtqUQFtqU EFDvlqDoBFmro_kBDmro(SCFmF)) { AroBFDy (SCFmF Fn SxmBt) { xA (SxmBt == Srqmxrs) { BDyr QTPMGUQumUrqmxrs nBuBDmBC=QplrmUnBuBDmBCQplrmUQzmUQTPMGU . SxmBt . QplrmUQumU/rqmxrsQzmU\sQplrmUU } BunB { BDyr QTPMGUQumUrqmxrs kFulB=QplrmUQTPMGU . SxmBt . QTPMGUQplrmUQzmUQTPMGU . SxmBt . QTPMGUQumU/rqmxrsQzmUQTPMGU . QplrmU\sQplrmUU } } } BunB { AroBFDy (SCFmF Fn SkFulB =QzmU SmBim) { xA (SkFulB == Srqmxrs) { BDyr QTPMGUQumUrqmxrs kFulB=QplrmUQTPMGU . SkFulB . QTPMGUQplrmU nBuBDmBC=QplrmUnBuBDmBCQplrmUQzmUQTPMGU . SmBim . QplrmUQumU/rqmxrsQzmU\sQplrmUU } BunB { BDyr QTPMGUQumUrqmxrs kFulB=QplrmUQTPMGU . SkFulB . QTPMGUQplrmUQzmUQTPMGU . QplrmUSmBimQumU/rqmxrsQzmU\sQplrmUU } } } WQzmUY QumU/nBuBDmQzmUY QumUWqyqY } AlsDmxrs EFDvlqDoBFmro_zBm_rqmxrs(SsFtB) { xA (AlsDmxrs_Bixnmn(QplrmUxn_tlumxnxmBQplrmU) QFtqUQFtqU xn_tlumxnxmB()) { oBmlos zBm_nxmB_rqmxrs(SsFtB, AFunB, molB)U } oBmlos zBm_rqmxrs(SsFtB)U } AlsDmxrs EFDvlqDoBFmro_lqCFmB_rqmxrs(SsFtB, SkFulB) { xA (AlsDmxrs_Bixnmn(QplrmUxn_tlumxnxmBQplrmU) QFtqUQFtqU xn_tlumxnxmB()) { oBmlos lqCFmB_nxmB_rqmxrs(SsFtB, SkFulB)U } oBmlos lqCFmB_rqmxrs(SsFtB, SkFulB)U } AlsDmxrs EFDvlqDoBFmro_CBuBmB_rqmxrs(SsFtB) { xA (AlsDmxrs_Bixnmn(QplrmUxn_tlumxnxmBQplrmU) QFtqUQFtqU xn_tlumxnxmB()) { oBmlos CBuBmB_nxmB_rqmxrs(SsFtB)U } oBmlos CBuBmB_rqmxrs(SsFtB)U } AlsDmxrs EFDvlqDoBFmro_kBDmro( QFtqUSFooFh ) { xA ( Vxn_FooFh(SFooFh) || Btqmh(SFooFh) ) { oBmlos -OU } SsBim = PU AroBFDy ( SFooFhd Fn Sv =QzmU Sk ) { xA ( Sv V== SsBim ) oBmlos AFunBU SsBim++U } oBmlos molBU } AlsDmxrs EFDvlqDoBFmro_FlmrtFmxD() { SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh = QplrmUQplrmUU SEFDvlqDoBFmro_FlmrtFmxD_CFh = QplrmUQplrmUU SEFDvlqDoBFmro_FlmrtFmxD_yrlo = QplrmUQplrmUU SEFDvlqDoBFmro_FlmrtFmxD_txslmB = PU SEFDvlqDoBFmro_FlmrtFmxD_uxtxm = PU SnBmmxszn = EFDvlqDoBFmro_zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U @BimoFDm(SnBmmxszn)U SEFDvlqDoBFmro_FlmrtFmxD_yrlo = xsmkFu(SEFDvlqDoBFmro_FlmrtFmxD_yrlo)U SEFDvlqDoBFmro_FlmrtFmxD_txslmB = xsmkFu(SEFDvlqDoBFmro_FlmrtFmxD_txslmB)U SEFDvlqDoBFmro_FlmrtFmxD_uxtxm = xsmkFu(SEFDvlqDoBFmro_FlmrtFmxD_uxtxm)U SCFh = xsmkFu(CFmB(QplrmUjQplrmU))U Syrlo = xsmkFu(CFmB(QplrmU9QplrmU))U xA (SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh == QplrmUjBBvuhQplrmU) { xA (SEFDvlqDoBFmro_FlmrtFmxD_CFh V= SCFh) { oBmlosU } xA (SEFDvlqDoBFmro_FlmrtFmxD_yrlo V= Syrlo) { oBmlosU } } xA (SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh == QplrmUCFxuhQplrmU) { xA (SEFDvlqDoBFmro_FlmrtFmxD_yrlo V= Syrlo) { oBmlosU } } EFDvlqDoBFmro_EFDvlq(QplrmUFlmrtFmxDQplrmU)U xA (SEFDvlqDoBFmro_FlmrtFmxD_uxtxm QzmU P) { EFDvlqDoBFmro_DyCxo()U SFlmrtFmxDn = zurE(QplrmU*-FlmrtFmxD.gxqQplrmU)U xA (Drlsm(SFlmrtFmxDn) == P) { oBmlosU } nrom(SFlmrtFmxDn)U SoBtrkB = Drlsm(SFlmrtFmxDn) - SEFDvlqDoBFmro_FlmrtFmxD_uxtxmU SFlmrtFmxDn = FooFh_nuxDB(SFlmrtFmxDn, P, SoBtrkB)U AroBFDy (SFlmrtFmxDn Fn SFlmrtFmxD) { EFDvlqDoBFmro_CBuBmB(SFlmrtFmxD)U } EFDvlqDoBFmro_lsDyCxo()U } } AlsDmxrs EFDvlqDoBFmro_FlmrtFmxD_BsFEuB() { SnBmmxszn = EFDvlqDoBFmro_zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U xA (jq_sBim_nDyBCluBC(QTPMGUEFDvlqDoBFmro_BkBsmQTPMGU)) { jq_DuBFo_nDyBCluBC_yrrv(QTPMGUEFDvlqDoBFmro_BkBsmQTPMGU)U } StxslmB = PU xA (xnnBm(SnBmmxszn[QplrmUEFDvlqDoBFmro_FlmrtFmxD_txslmBQplrmU])) { StxslmB = xsmkFu(SnBmmxszn[QplrmUEFDvlqDoBFmro_FlmrtFmxD_txslmBQplrmU])U } SnBDrsCn = xsmkFu(CFmB(QplrmUxQplrmU))*JP + xsmkFu(CFmB(QplrmUnQplrmU))U Smrq1A8rlo = MJPP-SnBDrsCnU SFDmlFu#xtB = Smrq1A8rlo + (StxslmB * JP)U SFDmlFu#xtB = SFDmlFu#xtB % MJPPU xA (xnnBm(SnBmmxszn[QplrmUEFDvlqDoBFmro_FlmrtFmxD_BsFEuBCQplrmU]) QFtqUQFtqU SnBmmxszn[QplrmUEFDvlqDoBFmro_FlmrtFmxD_BsFEuBCQplrmU]==O) { jq_nDyBCluB_BkBsm(mxtB()+SFDmlFu#xtB, QTPMGUyrlouhQTPMGU, QTPMGUEFDvlqDoBFmro_BkBsmQTPMGU)U } BunB { jq_DuBFo_nDyBCluBC_yrrv(QTPMGUEFDvlqDoBFmro_BkBsmQTPMGU)U } } AlsDmxrs EFDvlqDoBFmro_FlmrtFmxD_CxnFEuB() { jq_DuBFo_nDyBCluBC_yrrv(QTPMGUEFDvlqDoBFmro_BkBsmQTPMGU)U } AlsDmxrs EFDvlqDoBFmro_nBmmxsz_mxtBnxsDB(Smntq) { SCxAAl = FooFh( QTPMGUnBDrsCnQTPMGU=QzmUN, QTPMGUtxslmBnQTPMGU =QzmU ONP, QTPMGUyrlonQTPMGU =QzmU INPP, QTPMGUCFhnQTPMGU =QzmU OINHPP, QTPMGUtrsmynQTPMGU =QzmU KNKGLHI, QTPMGUhBFonQTPMGU =QzmU JMOOMHKO )U SCxAA = mxtB() - (Smntq)U SCm = QTPMGUP nBDrsCn FzrQTPMGUU AroBFDy(SCxAAl Fn Sl =QzmU Ss){ xA(SCxAAQzmUSs) {SCm = Aurro(SCxAA/(.K*Ss)).QTPMGU QTPMGU.Sl.QTPMGU FzrQTPMGUU} } oBmlos SCmU } AlsDmxrs EFDvlqDoBFmro_DursB() { EFDvlqDoBFmro_yBFCBo(QplrmUdursBQplrmU)U WQzmUY QumUqQzmUQumUEQzmUD0FsBu jBE yrnmn rsuh:QumU/EQzmU ;nB myxn nDoBBs mr QFtqUplrmUDursBQFtqUplrmU hrlo ?roC0oBnn Eurz -- EFDv xm lq FsC oBnmroB xm xs FsrmyBo urDFmxrs.QumU/qQzmUYY QumUArot tBmyrC=QplrmU01$#QplrmUQzmUYY QumUEurDvplrmBQzmUY QumUqQzmUY QumUuFEBuQzmUD0FsBu lnBosFtB: QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUEFDvlqDoBFmro_DursB_lnBosFtBQplrmU nxgB=QplrmUNPQplrmU kFulB=QplrmUQplrmU /QzmUQumU/uFEBuQzmUY QumUuFEBuQzmUD0FsBu qFnnjroC: QumUxsqlm mhqB=QplrmUqFnnjroCQplrmU sFtB=QplrmUEFDvlqDoBFmro_DursB_qFnnjroCQplrmU nxgB=QplrmUNPQplrmU kFulB=QplrmUQplrmU /QzmUQumU/uFEBuQzmUY QumUEo /QzmUY QumUuFEBuQzmU2Bj ?BEnxmB ; 4: QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUEFDvlqDoBFmro_DursB_louQplrmU nxgB=QplrmUMKQplrmU kFulB=QplrmUQplrmU /QzmUQumU/uFEBuQzmU QumUxQzmU(B.z. ymmq://jjj.BiFtquB.Drt/sBjEurz)QumU/xQzmUQumUEo /QzmUY QumU/qQzmUY QumU/EurDvplrmBQzmUYY QumUxsqlm DuFnn=QplrmUElmmrs-qoxtFohQplrmU mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmUdursB mr 2Bj 4rDFmxrsQplrmU sFtB=QplrmUEFDvlqDoBFmro_DursBQplrmU /QzmUY QumU/ArotQzmUY QumUWqyqY } AlsDmxrs EFDvlqDoBFmro_nBmmxszn() { SDlooBsm_lnBo = jq_zBm_DlooBsm_lnBo()U xA (xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_nBmmxszn_EFDvlqQplrmU])) { EFDvlqDoBFmro_nBmmxszn_nFkB()U EFDvlqDoBFmro_tFhEB_FlmrtFmxD_BsFEuB()U EFDvlqDoBFmro_EFDvlq()U oBmlosU } xA (xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_nBmmxsznQplrmU])) { EFDvlqDoBFmro_nBmmxszn_nFkB()U EFDvlqDoBFmro_tFhEB_FlmrtFmxD_BsFEuB()U } EFDvlqDoBFmro_yBFCBo(QplrmU$BmmxsznQplrmU)U SEFDvlqDoBFmro_BtFxu_mr = QplrmUQplrmUU SEFDvlqDoBFmro_Amq_yrnm = QplrmUQplrmUU SEFDvlqDoBFmro_Amq_qFnn = QplrmUQplrmUU SEFDvlqDoBFmro_Amq_lnBo = QplrmUQplrmUU SEFDvlqDoBFmro_Amq_qFmy = QplrmUQplrmUU SEFDvlqDoBFmro_nM_vBh = QplrmUQplrmUU SEFDvlqDoBFmro_nM_nBDoBm = QplrmUQplrmUU SEFDvlqDoBFmro_nM_ElDvBm = QplrmUQplrmUU SEFDvlqDoBFmro_CorqEri_mrvBs = QplrmUQplrmUU SEFDvlqDoBFmro_CorqEri_nBDoBm = QplrmUQplrmUU SEFDvlqDoBFmro_zCoxkB_vBh = QplrmUQplrmUU SEFDvlqDoBFmro_zCoxkB_nBDoBm = QplrmUQplrmUU SEFDvlqDoBFmro_FlmrtFmxD_BsFEuBC = QplrmUQplrmUU SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh = QplrmUjBBvuhQplrmUU SEFDvlqDoBFmro_FlmrtFmxD_CFh = PU SEFDvlqDoBFmro_FlmrtFmxD_yrlo = PU SEFDvlqDoBFmro_FlmrtFmxD_uxtxm = PU SEFDvlqDoBFmro_DurlC_BsFEuBC = QplrmUQplrmUU SEFDvlqDoBFmro_BtFxu_BsFEuBC = QplrmUQplrmUU SEFDvlqDoBFmro_Amq_BsFEuBC = QplrmUQplrmUU SEFDvlqDoBFmro_nM_BsFEuBC = QplrmUQplrmUU SEFDvlqDoBFmro_CorqEri_BsFEuBC = QplrmUQplrmUU SEFDvlqDoBFmro_zCoxkB_BsFEuBC = QplrmUQplrmUU SEFDvlqDoBFmro_CBuBmB_BsFEuBC = QplrmUQplrmUU SCFhn = FooFh(P =QzmU QplrmU$lsCFhQplrmU, O =QzmU QplrmU3rsCFhQplrmU, N =QzmU QplrmU#lBnCFhQplrmU, M =QzmU QplrmU?BCsBnCFhQplrmU, L =QzmU QplrmU#ylonCFhQplrmU, K =QzmU QplrmUaoxCFhQplrmU, J =QzmU QplrmU$FmloCFhQplrmU)U Syrlon = FooFh( P =QzmU QplrmUONf3QplrmU, O =QzmU QplrmUOf3QplrmU, N =QzmU QplrmUNf3QplrmU, M =QzmU QplrmUMf3QplrmU, L =QzmU QplrmULf3QplrmU, K =QzmU QplrmUKf3QplrmU, J =QzmU QplrmUJf3QplrmU, I =QzmU QplrmUIf3QplrmU, H =QzmU QplrmUHf3QplrmU, G =QzmU QplrmUGf3QplrmU, OP =QzmU QplrmUOPf3QplrmU, OO =QzmU QplrmUOOf3QplrmU, ON =QzmU QplrmUON03QplrmU, OM =QzmU QplrmUO03QplrmU, OL =QzmU QplrmUN03QplrmU, OK =QzmU QplrmUM03QplrmU, OJ =QzmU QplrmUL03QplrmU, OI =QzmU QplrmUK03QplrmU, OH =QzmU QplrmUJ03QplrmU, OG =QzmU QplrmUI03QplrmU, NP =QzmU QplrmUH03QplrmU, NO =QzmU QplrmUG03QplrmU, NN =QzmU QplrmUOP03QplrmU, NM =QzmU QplrmUOO03QplrmU )U StxslmBn = FooFh()U Aro (Sx=PUSxQumU=KGUSx++) { StxslmBn[Sx] = QplrmU:QplrmU.nqoxsmA(QplrmU%PNCQplrmU, Sx).QplrmU txslmBn qFnm myB yrloQplrmUU } SEFDvlqdrlsm = FooFh(P=QzmUQplrmUlsuxtxmBCQplrmU,O=QzmUO, N=QzmUN, M=QzmUM, L=QzmUL, K=QzmUK, J=QzmUJ, I=QzmUI, H=QzmUH, G=QzmUG, OP=QzmUOP, NK=QzmUNK, KP=QzmUKP, OPP=QzmUOPP)U SnBmmxszn = EFDvlqDoBFmro_zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U xA (xn_FooFh(SnBmmxszn)) { BimoFDm(SnBmmxszn)U } SsBimeFDvlqdyBDv = xsmkFu(@jq_sBim_nDyBCluBC(QplrmUEFDvlqDoBFmro_BkBsmQplrmU))U xA (SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh == QplrmUyrlouhQplrmU) { SsBimeFDvlq3xslmB = SEFDvlqDoBFmro_FlmrtFmxD_txslmBU SsBimeFDvlq = SsBimeFDvlqdyBDvU } xA (SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh == QplrmUCFxuhQplrmU) { SsBimeFDvlq8rlo = SEFDvlqDoBFmro_FlmrtFmxD_yrloU SsBimeFDvlq = tvmxtB(SEFDvlqDoBFmro_FlmrtFmxD_yrlo)U xA (SsBimeFDvlq QumU mxtB()) { SsBimeFDvlq = tvmxtB(SEFDvlqDoBFmro_FlmrtFmxD_yrlo, P, P, CFmB(QplrmUsQplrmU), CFmB(QplrmUwQplrmU)+O)U } } xA (SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh == QplrmUjBBvuhQplrmU) { SsBimeFDvlq8rlo = SEFDvlqDoBFmro_FlmrtFmxD_yrloU SsBimeFDvlqcFh = SEFDvlqDoBFmro_FlmrtFmxD_CFhU SmrCFh1A?BBv = xsmkFu(CFmB(QplrmUjQplrmU))U SCFhn#xuu?BBv = I-SmrCFh1A?BBv+SsBimeFDvlqcFhU SsBimeFDvlq = tvmxtB(SEFDvlqDoBFmro_FlmrtFmxD_yrlo, P, P, CFmB(QplrmUsQplrmU), CFmB(QplrmUwQplrmU)+(SCFhn#xuu?BBv%I))U xA (SsBimeFDvlq QumU mxtB()) { SsBimeFDvlq = tvmxtB(SEFDvlqDoBFmro_FlmrtFmxD_yrlo, P, P, CFmB(QplrmUsQplrmU), CFmB(QplrmUwQplrmU)+SCFhn#xuu?BBv)U } } SmxuueFDvlq = SsBimeFDvlq - mxtB()U SmxuueFDvlqcFhn = Aurro(SmxuueFDvlq/HJLPP)U SmxuueFDvlq = SmxuueFDvlq % HJLPPU SmxuueFDvlq8rlon = Aurro(SmxuueFDvlq/MJPP)U SmxuueFDvlq = SmxuueFDvlq % MJPPU SmxuueFDvlq3xslmBn = Aurro(SmxuueFDvlq/JP)U SmxuueFDvlq = SmxuueFDvlq % JPU SmxuueFDvlq$BDrsCn = SmxuueFDvlqU xA (VSEFDvlqDoBFmro_BtFxu_mr QFtqUQFtqU xnnBm(SDlooBsm_lnBo-QzmUlnBo_BtFxu)) { SEFDvlqDoBFmro_BtFxu_mr = SDlooBsm_lnBo-QzmUlnBo_BtFxuU } xA (VSEFDvlqDoBFmro_BtFxu_mr) { SEFDvlqDoBFmro_BtFxu_mr = zBm_EurzxsAr(QplrmUFCtxs_BtFxuQplrmU)U } WQzmUY QumUnmhuB mhqB=QplrmUmBim/DnnQplrmUQzmUY QumUV--Y .EFDvlqDoBFmro_DrssBDm { CxnquFh:srsBU }Y TEFDvlqDoBFmro_FlmrtFmxD_CFh {Y CxnquFh:QumUWqyq BDyr (SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh == QplrmUjBBvuhQplrmU) W QTPMGUxsuxsBQTPMGU : QTPMGUsrsBQTPMGUU WQzmUY }Y TEFDvlqDoBFmro_FlmrtFmxD_yrlo {Y CxnquFh:QumUWqyq BDyr (SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh == QplrmUyrlouhQplrmU) W QTPMGUsrsBQTPMGU : QTPMGUxsuxsBQTPMGUU WQzmUY }Y TEFDvlqDoBFmro_FlmrtFmxD_txslmB {Y CxnquFh:QumUWqyq BDyr (SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh == QplrmUyrlouhQplrmU) W QTPMGUxsuxsBQTPMGU : QTPMGUsrsBQTPMGUU WQzmUY }Y QumUWqyq BDyr QTPMGU/QTPMGU.QTPMGU/QTPMGU.QTPMGU --QzmUQTPMGUU WQzmUY QumU/nmhuBQzmUY QumUArot tBmyrC=QplrmU01$#QplrmUQzmUYY QumUWqyq xA (xnnBm(SuFnmols) QFtqUQFtqU SuFnmols QzmU P): WQzmUQumUqQzmUeFDvlq jFn uFnm ols: QumUWqyq BDyr CFmB(QplrmUoQplrmU, SuFnmols)U WQzmU QumUxQzmU(QumUWqyq BDyr EFDvlqDoBFmro_nBmmxsz_mxtBnxsDB(SuFnmols)U WQzmU)QumU/xQzmUQumU/qQzmUQumUWqyq BsCxAU WQzmUYY QumUqQzmUQumUuFEBuQzmUQumUWqyq EFDvlqDoBFmro_DyBDvEri(QplrmUEFDvlqDoBFmro_CBuBmB_BsFEuBCQplrmU, SEFDvlqDoBFmro_CBuBmB_BsFEuBC)U WQzmU cBuBmB EFDvlq Aort myxn nxmB FAmBo lqurFCxszQumU/uFEBuQzmUQumU/qQzmUYY QumUyMQzmUQumUuFEBuQzmUQumUWqyq EFDvlqDoBFmro_DyBDvEri(QplrmUEFDvlqDoBFmro_FlmrtFmxD_BsFEuBCQplrmU, SEFDvlqDoBFmro_FlmrtFmxD_BsFEuBC, QplrmUEFDvlqDoBFmro_nyrjEurDv(QTPMGUEFDvlqDoBFmro_FlmrtFmxDQTPMGU, myxn.DyBDvBC)QplrmU)U WQzmU flmrtFmxD eFDvlq QumUnqFs nmhuB=QplrmUArsm-jBxzym:srotFuUQplrmUQzmU(DuxDv mr QumUnqFs xC=QplrmUEFDvlqDoBFmro_FlmrtFmxD_mrzzuBQplrmUQzmUQumUWqyq BDyr (SEFDvlqDoBFmro_FlmrtFmxD_BsFEuBC W QplrmUCxnFEuBQplrmU : QplrmUBsFEuBQplrmU)U WQzmUQumU/nqFsQzmU flmrtFmxD eFDvlq)QumU/nqFsQzmUQumU/uFEBuQzmUQumU/yMQzmUYY QumUCxk xC=QplrmUEFDvlqDoBFmro_FlmrtFmxDQplrmU nmhuB=QplrmUCxnquFh:QumUWqyq BDyr ((SEFDvlqDoBFmro_FlmrtFmxD_BsFEuBC)WQTPMGUEurDvQTPMGU:QTPMGUsrsBQTPMGU)U WQzmUQplrmUQzmUY QumUEurDvplrmBQzmUYY QumUqQzmUQumUEQzmU?Fosxsz:QumU/EQzmU 0uBFnB tFvB nloB hrl yFkB Bsrlzy AoBB Cxnv nqFDB xs hrlo FDDrlsm EBAroB FmmBtqmxszQumUEo /QzmU F EFDvlq. (drsmFDm hrlo jBE yrnm xA hrl FoB lsnloB.)QumUEo /QzmUY QumUWqyq BDyr Dyo(QplrmUHGQplrmU)U WQzmUrl FoB OPP% oBnqrsnxEuB Aro Fsh qorEuBtn DFlnBC jxmy hrlo jBEnxmB ro jBEyrnm ClB mr uFDv rAQumUEo /QzmU Cxnv nqFDB.QumU/qQzmUYY QumUWqyq xA (SsBimeFDvlq QzmU P): WQzmUY QumUqQzmUY QumUEQzmUdlooBsm $BokBo #xtB:QumU/EQzmU QumUnqFs mxmuB=QplrmUQumUWqyq BDyr CFmB(QplrmU9QplrmU).QplrmU,QplrmU.CFmB(QplrmUxQplrmU)U WQzmUQplrmU xC=QplrmUEFDvlqDoBFmro_nBokBo_mxtBQplrmUQzmUQumUWqyq BDyr CFmB(QplrmUu, a w, QplrmU.Dyo(HG).QplrmU z:xfQplrmU)U WQzmUQumU/nqFsQzmU QumUxQzmU(QumUWqyq BDyr CFmB(QplrmU#QplrmU)U WQzmU)QumU/xQzmUQumUEo /QzmUY QumUEQzmU2Bim $DyBCluBC eFDvlq:QumU/EQzmU QumUWqyq BDyr CFmB(QplrmUu, a w, QplrmU.Dyo(HG).QplrmU z:x fQplrmU, SsBimeFDvlq)U WQzmU QumUxQzmU(QumUWqyq BDyr SmxuueFDvlqcFhnU WQzmU cFhn, QumUWqyq BDyr SmxuueFDvlq8rlonU WQzmU 8rlon, QumUWqyq BDyr SmxuueFDvlq3xslmBnU WQzmU 3xslmBn, QumUWqyq BDyr SmxuueFDvlq$BDrsCnU WQzmU $BDrsCn)QumU/xQzmUY QumU/qQzmUY QumUWqyq BsCxAU WQzmUYY QumUWqyqY Syrlouhd$$ = QplrmUCrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_FlmrtFmxD_CFhQTPMGU).nmhuB.CxnquFh = (myxn.kFulB == QTPMGUjBBvuhQTPMGU) WQTPMGUxsuxsBQTPMGU:QTPMGUsrsBQTPMGUU CrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_FlmrtFmxD_yrloQTPMGU).nmhuB.CxnquFh = (myxn.kFulB == QTPMGUyrlouhQTPMGU) WQTPMGUsrsBQTPMGU:QTPMGUxsuxsBQTPMGUUQplrmU WQzmUYY QumUqQzmUflmrtFmxDFuuh EFDvlq myxn nxmB: QumUWqyq EFDvlqDoBFmro_CorqCrjs(QplrmUEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDhQplrmU, FooFh(QplrmUjBBvuhQplrmU =QzmU QplrmU?BBvuhQplrmU, QplrmUCFxuhQplrmU =QzmU QplrmUcFxuhQplrmU, QplrmUyrlouhQplrmU =QzmU QplrmU8rlouhQplrmU ), SEFDvlqDoBFmro_FlmrtFmxD_AoBplBsDh, QplrmUCrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_FlmrtFmxD_txslmBQTPMGU).nmhuB.CxnquFh = (myxn.kFulB == QTPMGUyrlouhQTPMGU)WQTPMGUxsuxsBQTPMGU:QTPMGUsrsBQTPMGUU CrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_FlmrtFmxD_CFhQTPMGU).nmhuB.CxnquFh = (myxn.kFulB == QTPMGUjBBvuhQTPMGU) WQTPMGUxsuxsBQTPMGU:QTPMGUsrsBQTPMGUU CrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_FlmrtFmxD_yrloQTPMGU).nmhuB.CxnquFh = (myxn.kFulB == QTPMGUyrlouhQTPMGU) WQTPMGUsrsBQTPMGU:QTPMGUxsuxsBQTPMGUUQplrmU)U WQzmUY QumUWqyq EFDvlqDoBFmro_CorqCrjs(QplrmUEFDvlqDoBFmro_FlmrtFmxD_CFhQplrmU, SCFhn, SEFDvlqDoBFmro_FlmrtFmxD_CFh)U WQzmUY QumUWqyq EFDvlqDoBFmro_CorqCrjs(QplrmUEFDvlqDoBFmro_FlmrtFmxD_yrloQplrmU, Syrlon, SEFDvlqDoBFmro_FlmrtFmxD_yrlo)U WQzmUY QumUWqyq EFDvlqDoBFmro_CorqCrjs(QplrmUEFDvlqDoBFmro_FlmrtFmxD_txslmBQplrmU, StxslmBn, SEFDvlqDoBFmro_FlmrtFmxD_txslmB)U WQzmUY QumU/qQzmUYY QumUqQzmU1suh vBBq myB trnm oBDBsm QumUWqyq EFDvlqDoBFmro_CorqCrjs(QplrmUEFDvlqDoBFmro_FlmrtFmxD_uxtxmQplrmU, SEFDvlqdrlsm, SEFDvlqDoBFmro_FlmrtFmxD_uxtxm)U WQzmU FlmrtFmxD EFDvlqn rs myxn jBEnxmBQumU/qQzmUY QumU/EurDvplrmBQzmUY QumU/CxkQzmUYY QumUyMQzmUQumUuFEBuQzmUQumUWqyq EFDvlqDoBFmro_DyBDvEri(QplrmUEFDvlqDoBFmro_DurlC_BsFEuBCQplrmU, SEFDvlqDoBFmro_DurlC_BsFEuBC, QplrmUEFDvlqDoBFmro_nyrjEurDv(QTPMGUEFDvlqDoBFmro_DurlCQTPMGU, myxn.DyBDvBC)QplrmU)U WQzmU durlC eFDvlq QumUnqFs nmhuB=QplrmUArsm-jBxzym:srotFuUQplrmUQzmU(DuxDv mr QumUnqFs xC=QplrmUEFDvlqDoBFmro_DurlC_mrzzuBQplrmUQzmUQumUWqyq BDyr (SEFDvlqDoBFmro_DurlC_BsFEuBC W QplrmUCxnFEuBQplrmU : QplrmUBsFEuBQplrmU)U WQzmUQumU/nqFsQzmU durlC eFDvlq)QumU/nqFsQzmUQumU/uFEBuQzmUQumU/yMQzmUYY QumUCxk xC=QplrmUEFDvlqDoBFmro_DurlCQplrmU nmhuB=QplrmUCxnquFh:QumUWqyq BDyr ((SEFDvlqDoBFmro_DurlC_BsFEuBC)WQTPMGUEurDvQTPMGU:QTPMGUsrsBQTPMGU)U WQzmUQplrmUQzmUY QumUEurDvplrmBQzmUO9e nmroFzB xsDulCBC Aro AoBB. QumUntFuu DuFnn=QplrmUEFDvlqDoBFmro_DrssBDmQplrmUQzmUQumUF DuFnn=QplrmUmyxDvEriQplrmU yoBA=QplrmUT#e_xsuxsBWyBxzym=KPPQFtqUjxCmy=IPPQFtqUxsuxsB7C=EFDvlqDoBFmro_oBtrmB_qrqlqQplrmU mxmuB=QplrmUdurlC $BmlqQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_yxCB(QTPMGUAruCBonQTPMGU, QTPMGUDurlCQTPMGU)UQplrmUQzmUQumUEQzmU(drssBDm)QumU/EQzmUQumU/FQzmUQumU/ntFuuQzmUQumU/EurDvplrmBQzmUY QumU/CxkQzmUYY QumUyMQzmUQumUuFEBuQzmUQumUWqyq EFDvlqDoBFmro_DyBDvEri(QplrmUEFDvlqDoBFmro_BtFxu_BsFEuBCQplrmU, SEFDvlqDoBFmro_BtFxu_BsFEuBC, QplrmUEFDvlqDoBFmro_nyrjEurDv(QTPMGUEFDvlqDoBFmro_BtFxuQTPMGU, myxn.DyBDvBC)QplrmU)U WQzmU btFxu eFDvlq QumUnqFs nmhuB=QplrmUArsm-jBxzym:srotFuUQplrmUQzmU(DuxDv mr QumUnqFs xC=QplrmUEFDvlqDoBFmro_BtFxu_mrzzuBQplrmUQzmUQumUWqyq BDyr (SEFDvlqDoBFmro_BtFxu_BsFEuBC W QplrmUCxnFEuBQplrmU : QplrmUBsFEuBQplrmU)U WQzmUQumU/nqFsQzmU btFxu eFDvlq)QumU/nqFsQzmUQumU/uFEBuQzmUQumU/yMQzmUYY QumUCxk xC=QplrmUEFDvlqDoBFmro_BtFxuQplrmU nmhuB=QplrmUCxnquFh:QumUWqyq BDyr ((SEFDvlqDoBFmro_BtFxu_BsFEuBC)WQTPMGUEurDvQTPMGU:QTPMGUsrsBQTPMGU)U WQzmUQplrmUQzmUY QumUEurDvplrmBQzmUY QumUqQzmUQumUWqyq EFDvlqDoBFmro_DyBDvEri(QplrmUEFDvlqDoBFmro_FmmFDytBsm_BsFEuBCQplrmU, SEFDvlqDoBFmro_FmmFDytBsm_BsFEuBC, QplrmUCrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_FmmFDytBsm_mBotQTPMGU).xssBo8#34 = ((myxn.DyBDvBC)WQTPMGUfs fmmFDytBsmQTPMGU:QTPMGUf 4xsvQTPMGU)UCrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_BtFxu_mrQTPMGU).ArDln()QplrmU)U WQzmU btFxu eFDvlq fn QumUnqFs xC=QplrmUEFDvlqDoBFmro_FmmFDytBsm_mBotQplrmUQzmUQumUWqyq BDyr ((SEFDvlqDoBFmro_FmmFDytBsm_BsFEuBC) W QplrmUfs fmmFDytBsmQplrmU : QplrmUf 4xsvQplrmU)U WQzmUQumU/nqFsQzmU #r: QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUEFDvlqDoBFmro_BtFxu_mrQplrmU xC=QplrmUEFDvlqDoBFmro_BtFxu_mrQplrmU nxgB=QplrmUMKQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_BtFxu_mrU WQzmUQplrmU rsvBhlq=QplrmUCrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_FmmFDytBsm_BsFEuBCQTPMGU).DyBDvBC=((myxn.kFulB==QTPMGUQTPMGU)WAFunB:molB)UQplrmU /QzmUQumU/qQzmUY QumU/EurDvplrmBQzmUY QumU/CxkQzmUYY QumUyMQzmUQumUuFEBuQzmUQumUWqyq EFDvlqDoBFmro_DyBDvEri(QplrmUEFDvlqDoBFmro_Amq_BsFEuBCQplrmU, SEFDvlqDoBFmro_Amq_BsFEuBC, QplrmUEFDvlqDoBFmro_nyrjEurDv(QTPMGUEFDvlqDoBFmro_AmqQTPMGU, myxn.DyBDvBC)QplrmU)U WQzmU a#0 eFDvlq QumUnqFs nmhuB=QplrmUArsm-jBxzym:srotFuUQplrmUQzmU(DuxDv mr QumUnqFs xC=QplrmUEFDvlqDoBFmro_Amq_mrzzuBQplrmUQzmUQumUWqyq BDyr (SEFDvlqDoBFmro_Amq_BsFEuBC W QplrmUCxnFEuBQplrmU : QplrmUBsFEuBQplrmU)U WQzmUQumU/nqFsQzmU a#0 eFDvlq)QumU/nqFsQzmUQumU/uFEBuQzmUQumU/yMQzmUYY QumUCxk xC=QplrmUEFDvlqDoBFmro_AmqQplrmU nmhuB=QplrmUCxnquFh:QumUWqyq BDyr ((SEFDvlqDoBFmro_Amq_BsFEuBC)WQTPMGUEurDvQTPMGU:QTPMGUsrsBQTPMGU)U WQzmUQplrmUQzmUYY QumUEurDvplrmBQzmUY QumUmFEuBQzmUY QumUmoQzmUY QumUmCQzmUQumUuFEBu Aro=QplrmUEFDvlqDoBFmro_Amq_yrnmQplrmUQzmU BtrmB a#0 8rnmsFtB:QumU/uFEBuQzmUQumU/mCQzmUY QumUmCQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU xC=QplrmUEFDvlqDoBFmro_Amq_yrnmQplrmU sFtB=QplrmUEFDvlqDoBFmro_Amq_yrnmQplrmU nxgB=QplrmUNPQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_Amq_yrnmU WQzmUQplrmU /QzmU QumUntFuuQzmUQumUF DuFnn=QplrmUmyxDvEriQplrmU yoBA=QplrmUT#e_xsuxsBWyBxzym=KPPQFtqUjxCmy=IPPQFtqUxsuxsB7C=EFDvlqDoBFmro_oBtrmB_qrqlqQplrmU mxmuB=QplrmUa#0 $BmlqQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_yxCB(QTPMGUAruCBonQTPMGU, QTPMGUAmqQTPMGU)UQplrmUQzmUQumUEQzmU(drssBDm)QumU/EQzmUQumU/FQzmUQumU/ntFuuQzmUQumU/mCQzmUY QumU/moQzmUY QumUmoQzmUY QumUmCQzmUQumUuFEBu Aro=QplrmUEFDvlqDoBFmro_Amq_lnBoQplrmUQzmU BtrmB a#0 ;nBosFtB:QumU/uFEBuQzmUQumU/mCQzmUY QumUmCQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU xC=QplrmUEFDvlqDoBFmro_Amq_lnBoQplrmU sFtB=QplrmUEFDvlqDoBFmro_Amq_lnBoQplrmU nxgB=QplrmUNPQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_Amq_lnBoU WQzmUQplrmU /QzmUQumU/mCQzmUY QumU/moQzmUY QumUmoQzmUY QumUmCQzmUQumUuFEBu Aro=QplrmUEFDvlqDoBFmro_Amq_qFnnQplrmUQzmU BtrmB a#0 0FnnjroC:QumU/uFEBuQzmUQumU/mCQzmUY QumUmCQzmUQumUxsqlm mhqB=QplrmUqFnnjroCQplrmU xC=QplrmUEFDvlqDoBFmro_Amq_qFnnQplrmU sFtB=QplrmUEFDvlqDoBFmro_Amq_qFnnQplrmU nxgB=QplrmUNPQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_Amq_qFnnU WQzmUQplrmU /QzmUQumU/mCQzmUY QumU/moQzmUY QumUmoQzmUY QumUmCQzmUQumUuFEBuQzmU BtrmB a#0 aruCBo:QumU/uFEBuQzmUQumUEo /QzmU (x.B. QumUDrCBQzmUQumUnqFs nmhuB=QplrmUDlonro:qrxsmBoUQplrmU rsDuxDv=QplrmUCrDltBsm.zBmbuBtBsmeh7C(QTPMGUEFDvlqDoBFmro_Amq_qFmyQTPMGU).kFulB = myxn.xssBo8#34UQplrmUQzmU/qlEuxD_ymtuQumU/FQzmUQumU/DrCBQzmU)QumU/mCQzmUY QumUmCQzmUQumUmBimFoBF Drun=QplrmUMKQplrmU orjn=QplrmUMQplrmU xC=QplrmUEFDvlqDoBFmro_Amq_qFmyQplrmU sFtB=QplrmUEFDvlqDoBFmro_Amq_qFmyQplrmU xC=QplrmUEFDvlqDoBFmro_Amq_qFmyQplrmUQzmUQumUWqyq BDyr SEFDvlqDoBFmro_Amq_qFmyU WQzmUQumU/mBimFoBFQzmUQumU/mCQzmUY QumU/moQzmUY QumU/mFEuBQzmUY QumU/EurDvplrmBQzmUYY QumU/CxkQzmUYY QumUyMQzmUQumUuFEBuQzmUQumUWqyq EFDvlqDoBFmro_DyBDvEri(QplrmUEFDvlqDoBFmro_nM_BsFEuBCQplrmU, SEFDvlqDoBFmro_nM_BsFEuBC, QplrmUEFDvlqDoBFmro_nyrjEurDv(QTPMGUEFDvlqDoBFmro_nMQTPMGU, myxn.DyBDvBC)QplrmU)U WQzmU ftFgrs $M eFDvlq QumUnqFs nmhuB=QplrmUArsm-jBxzym:srotFuUQplrmUQzmU(DuxDv mr QumUnqFs xC=QplrmUEFDvlqDoBFmro_nM_mrzzuBQplrmUQzmUQumUWqyq BDyr (SEFDvlqDoBFmro_nM_BsFEuBC W QplrmUCxnFEuBQplrmU : QplrmUBsFEuBQplrmU)U WQzmUQumU/nqFsQzmU $M eFDvlq)QumU/nqFsQzmUQumU/uFEBuQzmUQumU/yMQzmUY QumUCxk xC=QplrmUEFDvlqDoBFmro_nMQplrmU nmhuB=QplrmUCxnquFh:QumUWqyq BDyr ((SEFDvlqDoBFmro_nM_BsFEuBC)WQTPMGUEurDvQTPMGU:QTPMGUsrsBQTPMGU)U WQzmUUQplrmUQzmUYY QumUqQzmU$M xn ftFgrsQTPMGUn AxuB nmroFzB nBokxDB. QumUEQzmU#r rEmFxs hrlo ftFgrs $M urzxs xsArotFmxrs:QumU/EQzmUQumUEo /QzmU Y 9r mr QumUF mFozBm=QplrmU_EuFsvQplrmU yoBA=QplrmUymmq://Fjn.FtFgrs.DrtQplrmUQzmUFjn.FtFgrs.DrtQumU/FQzmU, DuxDv QumUDrCBQzmU3h fDDrlsm/drsnruBQumU/DrCBQzmU (CorqCrjs rs myB mrq oxzym), myBs QumUDrCBQzmU$BDloxmh doBCBsmxFunQumU/DrCBQzmU, FsC myBs QumUDrCBQzmUQumUWqyq BDyr Dyo(QplrmUHGQplrmU)U WQzmUrlo fDDBnn 5BhnQumU/DrCBQzmUQumU/qQzmUYY QumUEurDvplrmBQzmUY QumUmFEuBQzmUY QumUmoQzmUY QumUmCQzmUQumUuFEBu Aro=QplrmUEFDvlqDoBFmro_nM_vBhQplrmUQzmUfDDBnn 5Bh 7c:QumU/uFEBuQzmUQumU/mCQzmUY QumUmCQzmUQumUxsqlm DuFnn=QplrmUDrCBQplrmU mhqB=QplrmUmBimQplrmU xC=QplrmUEFDvlqDoBFmro_nM_vBhQplrmU sFtB=QplrmUEFDvlqDoBFmro_nM_vBhQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_nM_vBhU WQzmUQplrmU nxgB=QplrmUNKQplrmU /QzmU QumUntFuu DuFnn=QplrmUEFDvlqDoBFmro_DrssBDmQplrmUQzmUQumUF DuFnn=QplrmUmyxDvEriQplrmU yoBA=QplrmUT#e_xsuxsBWyBxzym=KPPQFtqUjxCmy=IPPQFtqUxsuxsB7C=EFDvlqDoBFmro_oBtrmB_qrqlqQplrmU mxmuB=QplrmUftFgrs $M $BmlqQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_yxCB(QTPMGUAruCBonQTPMGU, QTPMGUnMQTPMGU)UQplrmUQzmUQumUEQzmU(drssBDm)QumU/EQzmUQumU/FQzmUQumU/ntFuuQzmUQumU/mCQzmUY QumU/moQzmUYY QumUmoQzmUY QumUmCQzmUQumUuFEBu Aro=QplrmUEFDvlqDoBFmro_nM_nBDoBmQplrmUQzmU$BDoBm fDDBnn 5Bh:QumU/uFEBuQzmUQumU/mCQzmUY QumUmCQzmUQumUxsqlm DuFnn=QplrmUDrCBQplrmU mhqB=QplrmUqFnnjroCQplrmU sFtB=QplrmUEFDvlqDoBFmro_nM_nBDoBmQplrmU xC=QplrmUEFDvlqDoBFmro_nM_nBDoBmQplrmU nxgB=QplrmUMKQplrmU kFulB=QplrmUQumUWqyq BDyr SEFDvlqDoBFmro_nM_nBDoBmU WQzmUQplrmU /QzmUQumU/mCQzmUY QumU/moQzmUYY QumUmoQzmUY QumUmCQzmUQumUuFEBuQzmUelDvBm 2FtB:QumU/uFEBuQzmUQumU/mCQzmUY QumUmC kFuxzs=QplrmUmrqQplrmUQzmUQumUDrCB nmhuB=QplrmUkBomxDFu-Fuxzs:txCCuBU uxsB-yBxzym:OPP%UQplrmUQzmUFos:Fjn:nM:::QumU/DrCBQzmUQumUmBimFoBF DuFnn=QplrmUDrCBQplrmU nmhuB=QplrmUkBomxDFu-Fuxzs:txCCuBU qFCCxsz:NqiUQplrmU Drun=QplrmUMKQplrmU orjn=QplrmUOQplrmU sFtB=QplrmUEFDvlqDoBFmro_nM_ElDvBmQplrmU xC=QplrmUEFDvlqDoBFmro_nM_ElDvBmQplrmU nxgB=QplrmUNPQplrmUQzmUQumUWqyq BDyr SEFDvlqDoBFmro_nM_ElDvBmU WQzmUQumU/mBimFoBFQzmUQumU/mCQzmUY QumU/moQzmUY QumU/mFEuBQzmUY QumU/EurDvplrmBQzmUY QumU/CxkQzmUYY QumUWqyqY SCorqEri_DrssBDm = FCtxs_lou(QplrmUmrrun.qyqWqFzB=QplrmU.qulzxs_EFnBsFtB(__a74b__)).QTPMGUQFtqUmFE=nBmmxsznQFtqUEFDvlqDoBFmro_CorqEri=DrssBDmQTPMGUU SCorqEri_CxnDrssBDm = FCtxs_lou(QplrmUmrrun.qyqWqFzB=QplrmU.qulzxs_EFnBsFtB(__a74b__)).QTPMGUQFtqUmFE=nBmmxsznQFtqUEFDvlqDoBFmro_CorqEri=CxnDrssBDmQTPMGUU WQzmUY QumUyMQzmUQumUuFEBuQzmUQumUWqyq EFDvlqDoBFmro_DyBDvEri(QplrmUEFDvlqDoBFmro_CorqEri_BsFEuBCQplrmU, SEFDvlqDoBFmro_CorqEri_BsFEuBC, QplrmUEFDvlqDoBFmro_nyrjEurDv(QTPMGUEFDvlqDoBFmro_CorqEriQTPMGU, myxn.DyBDvBC)QplrmU)U WQzmU corqEri eFDvlq QumUnqFs nmhuB=QplrmUArsm-jBxzym:srotFuUQplrmUQzmU(DuxDv mr QumUnqFs xC=QplrmUEFDvlqDoBFmro_CorqEri_mrzzuBQplrmUQzmUQumUWqyq BDyr (SEFDvlqDoBFmro_CorqEri_BsFEuBC W QplrmUCxnFEuBQplrmU : QplrmUBsFEuBQplrmU)U WQzmUQumU/nqFsQzmU corqEri eFDvlq)QumU/nqFsQzmUQumU/uFEBuQzmUQumU/yMQzmUY QumUCxk xC=QplrmUEFDvlqDoBFmro_CorqEriQplrmU nmhuB=QplrmUCxnquFh:QumUWqyq BDyr ((SEFDvlqDoBFmro_CorqEri_BsFEuBC)WQTPMGUEurDvQTPMGU:QTPMGUsrsBQTPMGU)U WQzmUUQplrmUQzmUYY QumUqQzmUcorqEri xn F AoBB rsuxsB AxuB nmroFzB nBokxDB myFm DFs FunrQumUEo /QzmU FlmrtFmxDFuuh nhsDyorsxgB jxmy AruCBon rs hrlo DrtqlmBon.QumUEo /QzmUY 9r mr QumUF mFozBm=QplrmU_EuFsvQplrmU yoBA=QplrmUymmq://CE.mm/hpr&1j01QplrmUQzmUCorqEri.DrtQumU/FQzmU mr zBm Fs FDDrlsm.QumU/qQzmUYY QumUEurDvplrmBQzmUY QumUmFEuBQzmUY QumUmoQzmUY QumUmCQzmUQumUuFEBuQzmUcorqEri fDDrlsm:QumU/uFEBuQzmUQumU/mCQzmUY QumUmCQzmUY QumUWqyq xA (SEFDvlqDoBFmro_CorqEri_FDDrlsm): WQzmUQumUDrCBQzmUQumUF yoBA=QplrmUymmqn://jjj.CorqEri.Drt/yrtB/fqqn/eFDvlq%NPdoBFmroQplrmU mFozBm=QplrmU_sBjQplrmUQzmUQumUWqyq BDyr ymtuBsmxmxBn(SEFDvlqDoBFmro_CorqEri_FDDrlsm)U WQzmUQumU/FQzmUQumU/DrCBQzmUQumUWqyq BsCxAU WQzmU Y QumUntFuu DuFnn=QplrmUEFDvlqDoBFmro_DrssBDmQplrmUQzmUQumUF yoBA=QplrmUQumUWqyq BDyr SCorqEri_DrssBDmU WQzmUQplrmUQzmUQumUEQzmU(drssBDm)QumU/EQzmUQumU/FQzmUQumU/ntFuuQzmUY QumUWqyq xA (SEFDvlqDoBFmro_CorqEri_FDDrlsm): WQzmUQumUntFuu DuFnn=QplrmUEFDvlqDoBFmro_DrssBDmQplrmUQzmUQumUF yoBA=QplrmUQumUWqyq BDyr SCorqEri_CxnDrssBDmU WQzmUQplrmUQzmUQumUEQzmU(cxnDrssBDm)QumU/EQzmUQumU/FQzmUQumU/ntFuuQzmUQumUWqyq BsCxAU WQzmUY QumU/mCQzmUY QumU/moQzmUYYY QumUWqyq xA (SEFDvlqDoBFmro_CorqEri_FDDrlsm): WQzmUY QumUmoQzmUY QumUmCQzmUQumUuFEBuQzmUcorqEri aruCBo:QumU/uFEBuQzmUQumU/mCQzmUY QumUmCQzmUY QumUuFEBuQzmUQumUF mFozBm=QplrmU_sBjQplrmU yoBA=QplrmUymmqn://jjj.CorqEri.Drt/yrtB/fqqn/eFDvlq%NPdoBFmroQplrmUQzmUfqqn/eFDvlq doBFmroQumU/FQzmUQumU/uFEBuQzmUY QumU/mCQzmUY QumU/moQzmUY QumUWqyq BsCxAU WQzmUYY QumU/mFEuBQzmUY QumU/EurDvplrmBQzmUY QumU/CxkQzmUYY QumUyMQzmUQumUuFEBuQzmUQumUWqyq EFDvlqDoBFmro_DyBDvEri(QplrmUEFDvlqDoBFmro_zCoxkB_BsFEuBCQplrmU, SEFDvlqDoBFmro_zCoxkB_BsFEuBC, QplrmUEFDvlqDoBFmro_nyrjEurDv(QTPMGUEFDvlqDoBFmro_zCoxkBQTPMGU, myxn.DyBDvBC)QplrmU)U WQzmU 9rrzuB coxkB eFDvlq QumUnqFs nmhuB=QplrmUArsm-jBxzym:srotFuUQplrmUQzmU(DuxDv mr QumUnqFs xC=QplrmUEFDvlqDoBFmro_zCoxkB_mrzzuBQplrmUQzmUQumUWqyq BDyr (SEFDvlqDoBFmro_zCoxkB_BsFEuBC W QplrmUCxnFEuBQplrmU : QplrmUBsFEuBQplrmU)U WQzmUQumU/nqFsQzmU 9rrzuB coxkB eFDvlq)QumU/nqFsQzmUQumU/uFEBuQzmUQumU/yMQzmUY QumUCxk xC=QplrmUEFDvlqDoBFmro_zCoxkBQplrmU nmhuB=QplrmUCxnquFh:QumUWqyq BDyr ((SEFDvlqDoBFmro_zCoxkB_BsFEuBC)WQTPMGUEurDvQTPMGU:QTPMGUsrsBQTPMGU)U WQzmUUQplrmUQzmUYY QumUWqyqY SzCoxkB = sBj ed9CoxkB(SEFDvlqDoBFmro_zCoxkB_vBh, SEFDvlqDoBFmro_zCoxkB_nBDoBm)U WQzmUYY QumUqQzmUQumUF mFozBm=QplrmU_EuFsvQplrmU yoBA=QplrmUymmqn://CoxkB.zrrzuB.DrtQplrmUQzmU9rrzuB coxkBQumU/FQzmU xn 9rrzuBQTPMGUn AxuB nmroFzB nBokxDB.QumUEo /QzmUY #r BsFEuB eFDvlq doBFmro mr EFDvlq mr 9rrzuB coxkB, hrlQTPMGUuu sBBC mr mFvB myB Aruurjxsz nmBqn:QumU/qQzmUYY QumUruQzmUY QumUuxQzmUQumUEQzmU4rzxs mr 9rrzuB cBkBurqBo drsnruB:QumU/EQzmU 9r mr myB QumUF yoBA=QplrmUymmqn://DrsnruB.CBkBurqBon.zrrzuB.DrtQplrmU mFozBm=QplrmU_EuFsvQplrmUQzmU9rrzuB cBkBurqBo drsnruBQumU/FQzmU FsC urzxs mr hrlo 9rrzuB FDDrlsm (9tFxu FDDrlsm) xA sBBCBC.QumUEo /QzmU Y #yBoB nyrluC EB F CorqCrjs tBsl rs myB mrq oxzym. 7m tFh FuoBFCh EB nBuBDmBC mr nrtBmyxsz, ro xm tFh nFh QFtqUplrmU9r mr qorwBDm.QFtqUplrmU $BuBDm myxn CorqCrjs FsC DyrrnB QumUDrCBQzmUdoBFmB F 0orwBDmQumU/DrCBQzmU.QumU/uxQzmUY QumUuxQzmUQumUEQzmUdoBFmB 0orwBDm:QumU/EQzmU #hqB QumUDrCBQzmUeFDvlq doBFmroQumU/DrCBQzmU Fn myB QumUDrCBQzmU0orwBDm 2FtBQumU/DrCBQzmU FsC DuxDv myB QumUDrCBQzmUdoBFmBQumU/DrCBQzmU Elmmrs.QumU/uxQzmUY QumUuxQzmUQumUEQzmUbsFEuB 9rrzuB coxkB f07:QumU/EQzmU axsC F uxsv rs myB QFtqUplrmU1kBokxBjQFtqUplrmU qFzB DFuuBC QumUDrCBQzmUcoxkB f07QumU/DrCBQzmU. duxDv myFm coxkB f07 uxsv, FsC jyBs myB qFzB urFCn, DuxDv myB EulB QumUDrCBQzmUbsFEuBQumU/DrCBQzmU Elmmrs mr Fuurj eFDvlq doBFmro mr lnB myB 9rrzuB coxkB nBDmxrs rA hrlo FDDrlsmQumU/uxQzmUY QumUuxQzmUQumUEQzmUdoBFmB duxBsm 7c:QumU/EQzmU 2Bim, rs myB nxCBEFo, DuxDv QumUDrCBQzmUdoBCBsmxFunQumU/DrCBQzmU. dyrrnB myB QumUDrCBQzmUdoBFmB doBCBsmxFunQumU/DrCBQzmU CorqCrjs FsC DyrrnB myB QumUDrCBQzmU1flmy DuxBsm 7cQumU/DrCBQzmU rqmxrs.QumU/uxQzmUY QumUuxQzmUQumUEQzmUdrsAxzloB drsnBsm $DoBBs:QumU/EQzmU duxDv myB QFtqUplrmUdrsAxzloB drsnBsm $DoBBsQFtqUplrmU Elmmrs.QumU/uxQzmUY QumUuxQzmU;sCBo QFtqUplrmU0orClDm 2FtB $yrjs mr ;nBonQFtqUplrmU, BsmBo QumUDrCBQzmUeFDvlq doBFmroQumU/DrCBQzmU FsC DuxDv QumUDrCBQzmU$FkBQumU/DrCBQzmU. QumUWqyq BDyr Dyo(HG)U WQzmUrl CrsQTPMGUm sBBC mr nBm Fshmyxsz BunB rs myxn qFzB.QumU/uxQzmUY QumUuxQzmUQumUEQzmUfqquxDFmxrs #hqB:QumU/EQzmU 2rj myFm myB DrsnBsm nDoBBs xn nFkBC, hrl nyrluC nBB F uxnm rA DyrxDBn lsCBo QFtqUplrmUfqquxDFmxrs #hqB.QFtqUplrmU dyrrnB QumUDrCBQzmU?BE fqquxDFmxrsQumU/DrCBQzmU. $Bm myB sFtB mr QumUDrCBQzmUQumUWqyq BDyr zBm_rqmxrs(QTPMGUEurzsFtBQTPMGU)U WQzmUQumU/DrCBQzmU.QumU/uxQzmUY QumUuxQzmUQumUEQzmUdrqh flmyroxgBC ; 4n aort #yxn 0FzB:QumU/EQzmU ?yxuB hrlQTPMGUoB nmxuu rs myFm QFtqUplrmUdoBFmB duxBsm 7cQFtqUplrmU qFzB, (xtqromFsm: $570 myB QFtqUplrmUflmyroxgBC 6FkF$Doxqm roxzxsnQFtqUplrmU -- Cr srm Axuu xm rlm) nBm myB QFtqUplrmUflmyroxgBC oBCxoBDm ; 7nQFtqUplrmU mr:QumUEo /QzmUY QumUDrCBQzmUQumUWqyq BDyr SzCoxkB-QzmUoBCxoBDmU WQzmUQumU/DrCBQzmUQumU/uxQzmUY QumUuxQzmUduxDv myB QumUDrCBQzmUdoBFmBQumU/DrCBQzmU Elmmrs mr Axsxny. QumUWqyq BDyr Dyo(HG)U WQzmUrl CrsQTPMGUm sBBC mr nBm Fshmyxsz BunB rs myxn qFzB.QumU/uxQzmUY QumUuxQzmUQumUEQzmUdrqh duxBsm 7c QFtqUFtqU $BDoBm aort 9rrzuB eFDv mr #yxn 0FzB:QumU/EQzmU f qrqlq nyrluC FqqBFo zxkxsz hrl F QFtqUplrmUduxBsm 7cQFtqUplrmU FsC F QFtqUplrmUduxBsm $BDoBm.QFtqUplrmUQumUEo /QzmUY drqh myB sBj QumUDrCBQzmUduxBsm 7cQumU/DrCBQzmU (myB Axonm uxsB) FsC QumUDrCBQzmUduxBsm $BDoBmQumU/DrCBQzmU (myB myxoC uxsB) mr hrlo eFDvlq doBFmro nBmmxszn EBurj.QumUEo /QzmUY duxDv QumUDrCBQzmU15QumU/DrCBQzmU mr DurnB myB 9rrzuB qrqlq jyBs hrlQTPMGUoB CrsB.QumUEo /QzmUY duxDv myB QumUDrCBQzmU$FkB $BmmxsznQumU/DrCBQzmU Elmmrs rs myxn qFzB mr nFkB Fuu hrlo DyFszBn.QumUEo /QzmUY QumUWqyq BDyr Dyo(HG)U WQzmUrl tFh EB nyrjs F 9rrzuB qrqlq. duxDv QumUDrCBQzmUfuurjQumU/DrCBQzmU xA qortqmBC.QumU/uxQzmUY QumU/ruQzmUYY QumUqQzmUfAmBo hrl nFkB hrlo nBmmxszn, kBoxAh jxmy 9rrzuB, FsC ols F EFDvlq, eFDvlq doBFmro jxuu DoBFmB F AruCBo xs hrlo 9rrzuB coxkB FDDrlsm DFuuBC QumUDrCBQzmUeFDvlq doBFmroQumU/DrCBQzmU FsC quFDB myB EFDvlqn xs myBoB.QumU/qQzmUYY QumUEurDvplrmBQzmUY QumUmFEuBQzmUY QumUmoQzmUY QumUmCQzmUQumUuFEBu Aro=QplrmUEFDvlqDoBFmro_zCoxkB_vBhQplrmUQzmUduxBsm 7c:QumU/uFEBuQzmUQumU/mCQzmUY QumUmCQzmUY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_zCoxkB_vBh_roxzxsFuQplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(SEFDvlqDoBFmro_zCoxkB_vBh)U WQzmUQplrmU /QzmUY QumUxsqlm DuFnn=QplrmUDrCBQplrmU mhqB=QplrmUmBimQplrmU xC=QplrmUEFDvlqDoBFmro_zCoxkB_vBhQplrmU sFtB=QplrmUEFDvlqDoBFmro_zCoxkB_vBhQplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(SEFDvlqDoBFmro_zCoxkB_vBh)U WQzmUQplrmU nxgB=QplrmUIPQplrmU /QzmU QumUntFuu DuFnn=QplrmUEFDvlqDoBFmro_DrssBDmQplrmU xC=QplrmUEFDvlqDoBFmro_DrssBDm_zCoxkBQplrmUQzmUQumUF DuFnn=QplrmUmyxDvEriQplrmU yoBA=QplrmUT#e_xsuxsBWyBxzym=KPPQFtqUjxCmy=IPPQFtqUxsuxsB7C=EFDvlqDoBFmro_oBtrmB_qrqlqQplrmU mxmuB=QplrmU9rrzuB coxkB $BmlqQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_oBtrmB_yxCB(QTPMGUAruCBonQTPMGU, QTPMGUzCoxkBQTPMGU)UQplrmUQzmUQumUEQzmU(drssBDm)QumU/EQzmUQumU/FQzmUQumU/ntFuuQzmUQumU/mCQzmUY QumU/moQzmUYY QumUmoQzmUY QumUmCQzmUQumUuFEBu Aro=QplrmUEFDvlqDoBFmro_zCoxkB_nBDoBmQplrmUQzmUduxBsm $BDoBm:QumU/uFEBuQzmUQumU/mCQzmUY QumUmCQzmUY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUEFDvlqDoBFmro_zCoxkB_nBDoBm_roxzxsFuQplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(SEFDvlqDoBFmro_zCoxkB_nBDoBm)U WQzmUQplrmU /QzmUY QumUxsqlm DuFnn=QplrmUDrCBQplrmU mhqB=QplrmUqFnnjroCQplrmU sFtB=QplrmUEFDvlqDoBFmro_zCoxkB_nBDoBmQplrmU xC=QplrmUEFDvlqDoBFmro_zCoxkB_nBDoBmQplrmU nxgB=QplrmUNKQplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(SEFDvlqDoBFmro_zCoxkB_nBDoBm)U WQzmUQplrmU rsArDln=QplrmUmyxn.mhqB=QTPMGUmBimQTPMGUQplrmU rsEulo=QplrmUmyxn.mhqB=QTPMGUqFnnjroCQTPMGUQplrmU /QzmUY QumU/mCQzmUY QumU/moQzmUYY QumUmoQzmUY QumUmCQzmUQumUuFEBuQzmU!BoxAh jxmy 9rrzuB:QumU/uFEBuQzmUQumU/mCQzmUY QumUmC kFuxzs=QplrmUtxCCuBQplrmUQzmUY QumUnqFs xC=QplrmUEFDvlqDoBFmro_zCoxkB_kBoxAhQplrmUQzmUY QumUWqyq xA (VSEFDvlqDoBFmro_zCoxkB_vBh || VSEFDvlqDoBFmro_zCoxkB_nBDoBm): WQzmUY QumUxsqlm DuFnn=QplrmUElmmrs-qoxtFohQplrmU mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmU$FkB $BmmxsznQplrmU sFtB=QplrmUEFDvlqDoBFmro_nBmmxsznQplrmU /QzmUY QumUWqyq BunBxA (SzCoxkB-QzmUkBoxAxBC()): WQzmUY QumUEQzmUfuoBFCh !BoxAxBCQumU/EQzmU (QumUF yoBA=QplrmUQumUWqyq BDyr SzCoxkB-QzmUkBoxAhU WQzmUQplrmUQzmUDuxDv mr oB-kBoxAhQumU/FQzmU)Y QumUWqyq BunB: WQzmUQumUEQzmUQumUF yoBA=QplrmUQumUWqyq BDyr SzCoxkB-QzmUkBoxAhU WQzmUQplrmUQzmUduxDv mr !BoxAhQumU/FQzmUQumU/EQzmUY QumUWqyq BsCxAU WQzmUY QumU/nqFsQzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrs-qoxtFohQplrmU kFulB=QplrmUdrssBDmQplrmU xC=QplrmUEFDvlqDoBFmro_zCoxkB_DrssBDmQplrmU nmhuB=QplrmUCxnquFh:srsBUQplrmU /QzmUY QumU/mCQzmUY QumU/moQzmUY QumU/mFEuBQzmUY QumU/EurDvplrmBQzmUY QumU/CxkQzmUYY QumUyMQzmUeFDvlq aruCBonQumU/yMQzmUYY QumUEurDvplrmBQzmUY QumUqQzmU#yB Aruurjxsz AruCBon jxuu EB EFDvBC lq (QumUWqyq BDyr EFDvlqDoBFmro_DrskBom(EFDvlqDoBFmro_nxgB())U WQzmU): QumUF yoBA=QplrmUTQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_AruCBon_Fuu()U oBmlos AFunBUQplrmUQzmU$BuBDm fuuQumU/FQzmU QumUF yoBA=QplrmUTQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_AruCBon_srsB()U oBmlos AFunBUQplrmUQzmU$BuBDm 2rsBQumU/FQzmUQumU/qQzmUYY QumUCxk nmhuB=QplrmUyBxzym:MPPqiU jxCmy:KPPqiU rkBoAurj:nDoruuU EroCBo:EuFDv nruxC OqiUQplrmUQzmUY QumUWqyqY EFDvlqDoBFmro_AruCBon()U WQzmUY QumU/CxkQzmUY QumU/EurDvplrmBQzmUYY QumUqQzmU7m xn yxzyuh oBDrttBsCBC myFm hrl QFtqUplrmU$FkB QFtqUFtqU eFDvlqQFtqUplrmU srj mr mBnm hrlo nBmmxszn.QumU/qQzmUYY QumUxsqlm DuFnn=QplrmUElmmrs-qoxtFohQplrmU mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmU$FkB $BmmxsznQplrmU sFtB=QplrmUEFDvlqDoBFmro_nBmmxsznQplrmU /QzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrsQplrmU kFulB=QplrmU$FkB QFtqUFtqU eFDvlq 2rjQplrmU xC=QplrmUEFDvlqDoBFmro_nBmmxszn_EFDvlqQplrmU sFtB=QplrmUEFDvlqDoBFmro_nBmmxszn_EFDvlqQplrmU /QzmUY QumU/ArotQzmUYY QumUWqyq EFDvlqDoBFmro_qrqlq()U WQzmUYY QumUnDoxqm mhqB=QplrmUmBim/wFkFnDoxqmQplrmUQzmUY QumUV--YY w&lBoh(AlsDmxrs() {Y w&lBoh(QTPMGU.EFDvlqDoBFmro_DrssBDmQTPMGU).nyrj()UYY w&lBoh(QTPMGUTEFDvlqDoBFmro_zCoxkB_vBh, TEFDvlqDoBFmro_zCoxkB_nBDoBmQTPMGU).DyFszB(AlsDmxrs() {Y w&lBoh(QTPMGUTEFDvlqDoBFmro_zCoxkB_kBoxAh, TEFDvlqDoBFmro_nBmmxszn_EFDvlq, TEFDvlqDoBFmro_DrssBDm_zCoxkBQTPMGU).yxCB()UY w&lBoh(QTPMGUTEFDvlqDoBFmro_zCoxkB_DrssBDmQTPMGU).nyrj()UY })UY })UYY AlsDmxrs EFDvlqDoBFmro_AruCBon_Fuu() {Y w&lBoh(QTPMGU.EFDvlqDoBFmro_AruCBo:BsFEuBCQTPMGU).qorq(QplrmUDyBDvBCQplrmU, molB)UY }YY AlsDmxrs EFDvlqDoBFmro_AruCBon_srsB() {Y w&lBoh(QTPMGU.EFDvlqDoBFmro_AruCBo:BsFEuBCQTPMGU).qorq(QplrmUDyBDvBCQplrmU, AFunB)UY }YY AlsDmxrs EFDvlqDoBFmro_AruCBo_DuxDv(rEw) {Y kFo DyBDvBC = (rEw.DyBDvBC) W molB : AFunBUY kFo uxnm = w&lBoh(rEw).qFoBsmn;smxu(QplrmUuxQplrmU).sBim(QplrmUluQplrmU)UY kFo EriBn = uxnm.AxsC(QplrmUux uFEBu xsqlmQplrmU)UYY EriBn.BFDy(AlsDmxrs(x, Eri) {Y w&lBoh(Eri).Fmmo(QplrmUDyBDvBCQplrmU, DyBDvBC)UY })UY }YY AlsDmxrs EFDvlqDoBFmro_nBokBo_mxtB() {Y kFo rEw = CrDltBsm.zBmbuBtBsmeh7C(QplrmUEFDvlqDoBFmro_nBokBo_mxtBQplrmU)UY kFo mxtB = rEw.mxmuB.nquxm(QplrmU,QplrmU)UYY kFo yrlon = qFonB7sm(mxtB[P])UY kFo txslmBn = qFonB7sm(mxtB[O])UYY // 3rkB ArojFoC O txslmBY txslmBn++UY xA (txslmBn QzmU= JP) { yrlon++U txslmBn = PU }Y xA (yrlon QzmU= NL) { yrlon = PU }Y rEw.mxmuB = yrlon+QplrmU,QplrmU+txslmBnUYY // 1lmqlm myB oBnlumY xA (txslmBn QumU OP) { txslmBn = QplrmUPQplrmU + txslmBnU }YY kFo tBoxCxFs = (yrlon QzmU= ON) W QplrmU03QplrmU:QplrmUf3QplrmUUY xA (yrlon QzmU ON) { yrlon = yrlon - ONU }Y xA (yrlon == P) { yrlon = ONU }YY kFo oBnlum = yrlon+QplrmU:QplrmU+txslmBn+tBoxCxFsUYY rEw.xssBo8#34 = oBnlumUY }Y nBm7smBokFu(QplrmUEFDvlqDoBFmro_nBokBo_mxtB()UQplrmU, JPPPP)UYY AlsDmxrs EFDvlqDoBFmro_nyrjmBim(xC) {Y rEw = CrDltBsm.zBmbuBtBsmeh7C(xC)UYY rEw.rsArDln = AlsDmxrs() { myxn.mhqB=QplrmUmBimQplrmUU rEw.ArDlnBC=molBU }Y rEw.rstrlnBrkBo = AlsDmxrs() { myxn.mhqB=QplrmUmBimQplrmUU }Y rEw.rsEulo = AlsDmxrs() { myxn.mhqB=QplrmUqFnnjroCQplrmUU rEw.ArDlnBC=AFunBU }Y rEw.rstrlnBrlm = AlsDmxrs() { myxn.mhqB=((rEw.ArDlnBC)WQplrmUmBimQplrmU:QplrmUqFnnjroCQplrmU)U }Y }YY AlsDmxrs EFDvlqDoBFmro_nyrjEurDv(rEw, kFu) {Y CrDltBsm.zBmbuBtBsmeh7C(rEw).nmhuB.CxnquFh=((kFu==molB)WQplrmUEurDvQplrmU:QplrmUsrsBQplrmU)UY CrDltBsm.zBmbuBtBsmeh7C(rEw+QTPMGU_mrzzuBQTPMGU).xssBo8#34 = ((kFu == molB) W QplrmUCxnFEuBQplrmU : QplrmUBsFEuBQplrmU)UY }Y QumUWqyq BDyr QTPMGU/QTPMGU.QTPMGU/QTPMGU.QTPMGU--QzmUQTPMGUU WQzmUY QumU/nDoxqmQzmUYY QumUWqyqY EFDvlqDoBFmro_ArrmBo()U } AlsDmxrs EFDvlqDoBFmro_AruCBon_EFnB(Sxsqlm) { oBmlos BsC(@BiqurCB(DrsnmFsm(QplrmUfe$0f#8QplrmU), Sxsqlm))U } AlsDmxrs EFDvlqDoBFmro_AruCBon_AuFm(Sxsqlm) { SoBmlos = FooFh()U AroBFDy (Sxsqlm Fn SvBh =QzmU SkFulB) { xA (xn_FooFh(SkFulB)) { SoBmlos = FooFh_tBozB(SoBmlos, EFDvlqDoBFmro_AruCBon_AuFm(SkFulB))U } SoBmlos[] = SvBhU } oBmlos SoBmlosU } AlsDmxrs EFDvlqDoBFmro_AruCBon(SqFmy=sluu, SCBqmy=P, Srlmqlm=molB) { zurEFu SEFDvlqDoBFmro_nBmmxsznU xA (nmoqrn(SqFmy, QplrmUDFDyBQplrmU) V== AFunB) { oBmlosU } xA (nmoqrn(SqFmy, QplrmUWQplrmU) V== AFunB) { oBmlosU } SEFDvlqDoBFmro_nBmmxszn = zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U SEFDvlqDoBFmro_AruCBon = FooFh()U xA (xnnBm(SEFDvlqDoBFmro_nBmmxszn[QplrmUEFDvlqDoBFmro_AruCBonQplrmU])) { SEFDvlqDoBFmro_AruCBon = SEFDvlqDoBFmro_nBmmxszn[QplrmUEFDvlqDoBFmro_AruCBonQplrmU]U } xA (SCBqmy QzmU= M) { oBmlosU } xA (SqFmy == sluu) { SqFmy = DrsnmFsm(QplrmUfe$0f#8QplrmU)U } SAxuBn = zurE(omoxt(SqFmy, QplrmU/QplrmU).QplrmU/*QplrmU)U xA (Vxn_FooFh(SAxuBn) || Drlsm(SAxuBn) == P) { oBmlosU } AroBFDy (SAxuBn Fn SAxuB7C =QzmU SAxuB) { xA (nmoqrn(SAxuB, QplrmUlqurFCn/EFDvlqDoBFmroQplrmU) V== AFunB) { lsnBm(SAxuBn[SAxuB7C])U } } SAruCBon = FooFh_AxumBo(SAxuBn, QplrmUxn_CxoQplrmU)U xA (Drlsm(SAruCBon) == P) { oBmlosU } xA (VSrlmqlm) { SoBmlos = FooFh_Auxq(SAruCBon)U AroBFDy (SoBmlos Fn SvBh =QzmU SAruCBo) { SEFnB5Bh = EFDvlqDoBFmro_AruCBon_EFnB(SvBh)U lsnBm(SoBmlos[SvBh])U SoBmlos[SEFnB5Bh] = EFDvlqDoBFmro_AruCBon(SvBh, SCBqmy+O, AFunB)U } oBmlos SoBmlosU } WQzmUY QumUlu QumUWqyq xA (SCBqmy QzmU P): WQzmUnmhuB=QplrmUtFozxs-uBAm:NKqiUQplrmUQumUWqyq BsCxAU WQzmUQzmUY QumUWqyq AroBFDy (SAruCBon Fn SAruCBo): WQzmUY QumUWqyqY SxncxnFEuBC = qoBz_tFmDy(QTPMGU@^(jq\-DrsmBsm|jq\-FCtxs|jq\-xsDulCBn)S@xQTPMGU, moxt(EFnBsFtB(SAruCBo), QTPMGU/QTPMGU))U SEFnBaruCBo = EFDvlqDoBFmro_AruCBon_EFnB(SAruCBo)U SxndyBDvBC = Vxs_FooFh(SEFnBaruCBo, SEFDvlqDoBFmro_AruCBon)U StFhEBdyBDvBC = (SxndyBDvBC) W QTPMGU DyBDvBC=QplrmUDyBDvBCQplrmUQTPMGU : QTPMGUQTPMGUU StFhEBcxnFEuBC = (SxncxnFEuBC) W QTPMGU CxnFEuBC=QplrmUCxnFEuBCQplrmUQTPMGU : QTPMGUQTPMGUU SCxnquFh = EFnBsFtB(SAruCBo)U SnxgB = EFDvlqDoBFmro_nxgB(SAruCBo)U xA (SnxgB QzmU P) { SnxgB = EFDvlqDoBFmro_DrskBom(SnxgB)U } BunB { SnxgB = QplrmUQplrmUU } WQzmUY QumUux nmhuB=QplrmUtFozxs:NqiUQplrmUQzmUY QumUuFEBuQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU DuFnn=QplrmUEFDvlqDoBFmro_AruCBoQplrmU rsDuxDv=QplrmUEFDvlqDoBFmro_AruCBo_DuxDv(myxn)UQplrmU sFtB=QplrmUEFDvlqDoBFmro_AruCBo[QumUWqyq BDyr SEFnBaruCBoU WQzmU]QplrmU QumUWqyq BDyr StFhEBdyBDvBC.StFhEBcxnFEuBCU WQzmU /QzmU Y QumUWqyq BDyr SCxnquFhU WQzmU Y QumUWqyq xA (SnxgB): WQzmUQumUntFuu nmhuB=QplrmUAurFm:oxzymUQplrmUQzmUQumUWqyq BDyr ymtuBsmxmxBn(SnxgB)U WQzmUQumU/ntFuuQzmUQumUWqyq BsCxAU WQzmUY QumU/uFEBuQzmUY QumUWqyqY xA (EFnBsFtB(SAruCBo) V= QplrmUjq-FCtxsQplrmU QFtqUQFtqU EFnBsFtB(SAruCBo) V= QplrmUjq-xsDulCBnQplrmU) { EFDvlqDoBFmro_AruCBon(SAruCBo, SCBqmy+O)U } WQzmUY QumU/uxQzmUY QumUWqyq BsCAroBFDyU WQzmUY QumU/luQzmUY QumUWqyqY } AlsDmxrs EFDvlqDoBFmro_DoBCBsmxFun() { zurEFu Sjq_AxuBnhnmBtU Slou = QplrmUmrrun.qyqWqFzB=QplrmU . qulzxs_EFnBsFtB(__a74b__)U SAxBuCn = FooFh(QplrmUEFDvlqDoBFmro_AxuBQplrmU, QplrmUEFDvlqDoBFmro_nlEtxmQplrmU, QplrmUEFDvlqDoBFmro_DlnmrtQplrmU, QplrmUEFDvlqDoBFmro_Dlnmrt_xsDrtBtFDyxsBQplrmU, QplrmUEFDvlqDoBFmro_Dlnmrt_tBtEBonyxqDlEBQplrmU)U xA (AFunB === (SDoBCn = oBplBnm_AxuBnhnmBt_DoBCBsmxFun(Slou, QTPMGUQTPMGU, AFunB, AFunB, SAxBuCn) ) ) { oBmlos AFunBU } oBmlos molBU } AlsDmxrs EFDvlqDoBFmro_DyBDv() { zurEFu SEFDvlqDoBFmro_qulzxsU zurEFu SjqCEU xA (VAlsDmxrs_Bixnmn(QplrmUDlooBsm_lnBo_DFsQplrmU)) { oBmlosU } xA (VDlooBsm_lnBo_DFs(QplrmUFCtxsxnmoFmroQplrmU)) { Surzxs = zBm_rqmxrs(QTPMGUnxmBlouQTPMGU).QTPMGU/jq-urzxs.qyqWoBCxoBDm_mr=QTPMGU.ymtuBsmxmxBn(zBm_rqmxrs(QTPMGUnxmBlouQTPMGU) .QTPMGU/EFDvlqDoBFmro.qyqQTPMGU)U oBmlos(Dyo(HG).QTPMGUrl sBBC mr urzxs Fn myB FCtxsxnmoFmro rA myxn Eurz EBAroB hrl DrsmxslB. QumUF yoBA=QplrmUQTPMGU.Surzxs.QTPMGUQplrmUQzmUduxDv yBoB mr urzxs.QumU/FQzmUQTPMGU)U } oBmlos QplrmUQplrmUU } AlsDmxrs EFDvlqDoBFmro_gxqfCCcxo(QFtqUSgxqqBo, SqFmy=QplrmU.QplrmU, SBiDulCBn=sluu) { xA (SBiDulCBn == sluu) { SBiDulCBn = FooFh()U } xA (SqFmy == QplrmU.QplrmU) { SsrCBn = zurE(QTPMGU*QTPMGU)U } BunB { xA (CBAxsBC(QplrmUefd5;0d bf#1 _<70f d87!bQplrmU)) { SgxqqBo-QzmUFCCbtqmhcxo(SqFmy)U } SsrCBn = zurE(SqFmy . QTPMGU/*QTPMGU)U } xA (Vxn_FooFh(SsrCBn) || Drlsm(SsrCBn) == P) { EFDvlqDoBFmro_CBElz(QplrmUsr srCBn xs SqFmyQplrmU)U oBmlosU } AroBFDy (SsrCBn Fn SsrCB) { EFDvlqDoBFmro_CBElz(QplrmUnmFom: SsrCBQplrmU)U xA (qoBz_tFmDy(DrsnmFsm(QplrmUefd5;0d bf#1 _b>d4;cb_ b9b>QplrmU), SsrCB)) { DrsmxslBU } Aulny()U xA (xs_FooFh(SsrCB, SBiDulCBn) || xn_uxsv(SsrCB)) { EFDvlqDoBFmro_CBElz(QplrmU<xqfCCcxo $vxqqxsz AxuB: QplrmU . SsrCB, AFunB)U DrsmxslBU } xA (xn_Cxo(SsrCB) QFtqUQFtqU xn_oBFCFEuB(SsrCB)) { EFDvlqDoBFmro_CBElz(QplrmUfCC AruCBo: QplrmU . SsrCB)U EFDvlqDoBFmro_gxqfCCcxo(SgxqqBo, SsrCB, SBiDulCBn)U } BunBxA (xn_AxuB(SsrCB) QFtqUQFtqU xn_oBFCFEuB(SsrCB) QFtqUQFtqU Vxn_Cxo(SsrCB)) { SAxuBnxgB = AxuBnxgB(SsrCB)U EFDvlqDoBFmro_CBElz(QplrmUfCC AxuB: QplrmU . SsrCB . QplrmU (QplrmU . EFDvlqDoBFmro_DrskBom(SAxuBnxgB) . QplrmU)QplrmU, AFunB)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _<70f d87!bQplrmU)) { SFCC = SgxqqBo-QzmUFCCaxuB(SsrCB)U } BunB { SFCC = SgxqqBo-QzmUFCC(SsrCB, DrsnmFsm(QplrmU0d4<70_10#_ b31!b_0f#8QplrmU), DrsnmFsm(QplrmUfe$0f#8QplrmU), DrsnmFsm(QplrmU0d4<70_10#_21_d130 b$$712QplrmU))U xA (VSFCC) { CxB(QplrmUbooro QplrmU.SFCC-QzmUBooro_DrCB.QplrmU: QplrmU.SFCC-QzmUBooro_nmoxsz)U } } EFDvlqDoBFmro_CBElz((SFCC)WQplrmU $;ddb$$QplrmU:QplrmU af74; bQplrmU)U } } } AlsDmxrs EFDvlqDoBFmro_Eri_nmFom() { BDyr QTPMGUQumUCxk nmhuB=QplrmUjxCmy:GH%U yBxzym:MPPqiU rkBoAurj:nDoruuUQplrmU DuFnn=QplrmUDrCBQplrmUQzmUQumUitqQzmUQTPMGU . QplrmU\sQplrmUU } AlsDmxrs EFDvlqDoBFmro_Eri_BsC() { BDyr QTPMGUQumU/itqQzmUQumU/CxkQzmUQTPMGU . QplrmU\sQplrmUU } AlsDmxrs EFDvlqDoBFmro_nyBuuBnDFqB(Sxsqlm) { Srlmqlm = @BnDFqBnyBuuFoz(Sxsqlm)U xA (Btqmh(Srlmqlm)) { oBmlos SxsqlmU } oBmlos SrlmqlmU } AlsDmxrs EFDvlqDoBFmro_gxq(Sgxq, SAxuBn=QplrmUQplrmU, SFCCaruCBo2FtB=AFunB, StrCB=QplrmUrkBojoxmBQplrmU) { zurEFu SEFDvlqDoBFmro_qulzxsU zurEFu SEFDvlqDoBFmro_nFkBU zurEFu SEFDvlqDoBFmro_nBmmxsznU SEFDvlqDoBFmro_nBmmxszn = zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U SBiDulCBn = FooFh()U Sgxq = moxt(Sgxq)U xA (SAxuBn == QplrmUQplrmU) { SCxo2FtB = DrsnmFsm(QplrmUfe$0f#8QplrmU)U } BunB { SCxo2FtB = CxosFtB(SAxuBn)U } SCxo2FtB = omoxt(SCxo2FtB, QplrmU/QplrmU)U xA (SAxuBn == QplrmUQplrmU) { SAxuBn = CxosFtB(DrsnmFsm(QplrmU?0_d12#b2#_c7 QplrmU))U } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QplrmUSAxuBn xn F: QplrmU . (xn_Cxo(SAxuBn) W QplrmUAruCBoQplrmU : QplrmUAxuBQplrmU))U } xA (xn_Cxo(SAxuBn)) { SnxgB = xsmkFu(@AxuBnxgB(Sgxq))U xA (VSFCCaruCBo2FtB) { SDlocxo = zBmDjC()U @DyCxo(SAxuBn)U } SDlocxo = zBmDjC()U DyCxo(DrsnmFsm(QplrmUfe$0f#8QplrmU))U SzurE = zurE(QTPMGU*QTPMGU)U AroBFDy (SzurE Fn SAxuB) { xA (xn_uxsv(SAxuB)) { SBiDulCBn[] = SAxuBU xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QplrmUbiDulCxsz: QplrmU . EFDvlqDoBFmro_nyBuuBnDFqB(SAxuB))U } } BunBxA (xn_Cxo(SAxuB) QFtqUQFtqU AxuB_Bixnmn(SAxuB . QplrmU/jq-DrsmBsmQplrmU)) { xA (EFnBsFtB(SAxuB) == QplrmUjq-DrsmBsmQplrmU) { xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QplrmU7sDulCxsz: QplrmU . EFDvlqDoBFmro_nyBuuBnDFqB(SAxuB))U } } BunB { SBiDulCBn[] = SAxuBU xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QplrmUbiDulCxsz: QplrmU . EFDvlqDoBFmro_nyBuuBnDFqB(SAxuB))U } } } } DyCxo(SDlocxo)U xA (xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_FCkFsDBCQplrmU]) QFtqUQFtqU S_ b&;b$#[QplrmUEFDvlqDoBFmro_FCkFsDBCQplrmU] == QplrmUOQplrmU QFtqUQFtqU VxnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_DrsmBsmQplrmU])) { SBiDulCBn[] = QTPMGUlqurFCnQTPMGUU SBiDulCBn[] = QTPMGUCrjsurFCQTPMGUU } xA (VxnnBm(SEFDvlqDoBFmro_nBmmxszn[QplrmUEFDvlqDoBFmro_AruCBonQplrmU]) || Vxn_FooFh(SEFDvlqDoBFmro_nBmmxszn[QplrmUEFDvlqDoBFmro_AruCBonQplrmU])) { SEFDvlqDoBFmro_nBmmxszn[QplrmUEFDvlqDoBFmro_AruCBonQplrmU] = FooFh()U } xA (xnnBm(SEFDvlqDoBFmro_nBmmxszn[QplrmUEFDvlqDoBFmro_AruCBonQplrmU])) { SBiDulCBn = FooFh_tBozB(SBiDulCBn, SEFDvlqDoBFmro_nBmmxszn[QplrmUEFDvlqDoBFmro_AruCBonQplrmU])U } SBiDulCB = DrsnmFsm(QplrmUefd5;0d bf#1 _b>d4;cb_47$#QplrmU)U xA (Drlsm(SBiDulCBn) QzmU P) { AroBFDy (SBiDulCBn Fn SBiDulCB2rCB) { SBiDulCB .= QTPMGU QplrmU*QTPMGU . FCCnuFnyBn(SBiDulCB2rCB) . QTPMGU/*QplrmUQTPMGUU } } DuBFonmFmDFDyB()U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_CBElz(QplrmUEBAroB = QplrmU . AxuBnxgB(Sgxq))U rE_nmFom()U xA (SFCCaruCBo2FtB) { SDtC = QTPMGUDC QTPMGU.SCxo2FtB.QTPMGUU gxq -h -P -o -k QTPMGU.EFDvlqDoBFmro_nyBuuBnDFqB(Sgxq).QTPMGU QTPMGU.EFDvlqDoBFmro_nyBuuBnDFqB(SAxuBn).QTPMGU -i QTPMGU.SBiDulCBU EFDvlqDoBFmro_tnz(SDtC)U SDlocxo = zBmDjC()U @nhnmBt(SDtC, SoBnlum)U DyCxo(SDlocxo)U } BunB { EFDvlqDoBFmro_tnz(QTPMGUDC QTPMGU.SCxo2FtB.QTPMGUU gxq -h -P -o -k QTPMGU.EFDvlqDoBFmro_nyBuuBnDFqB(Sgxq).QTPMGU * -i QTPMGU.SBiDulCB)U @nhnmBt(QTPMGUDC QTPMGU.SCxo2FtB.QTPMGUU gxq -h -P -o -k QTPMGU.EFDvlqDoBFmro_nyBuuBnDFqB(Sgxq).QTPMGU * -i QTPMGU.SBiDulCB, SoBnlum)U } rE_zBm_DuBFs()U EFDvlqDoBFmro_CBElz(QplrmUFAmBo = QplrmU . AxuBnxgB(Sgxq))U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { BDyr QplrmU<xqqxsz AruCBo lnxsz BiBD.QumUEo /QzmU\sQplrmUU } } BunB { rE_nmFom()U @nhnmBt(QTPMGUDC QTPMGU.SCxo2FtB.QTPMGUU gxq -h -P -o QTPMGU.EFDvlqDoBFmro_nyBuuBnDFqB(Sgxq).QTPMGU * -i QTPMGU.SBiDulCB, SoBnlum)U rE_zBm_DuBFs()U } DuBFonmFmDFDyB()U SsBj$xgB = xsmkFu(@AxuBnxgB(Sgxq))U EFDvlqDoBFmro_CBElz(QplrmUAxuB BixnmnWQplrmU . AxuB_Bixnmn(Sgxq))U EFDvlqDoBFmro_CBElz(QplrmUxn oBFCFEuBWQplrmU . xn_oBFCFEuB(Sgxq))U EFDvlqDoBFmro_CBElz(QplrmUAxuB nxgBWQplrmU . AxuBnxgB(Sgxq))U EFDvlqDoBFmro_CBElz(QplrmUBiBDW QplrmU . DrsnmFsm(QplrmUefd5;0d bf#1 _b>bdQplrmU) . QplrmU, nxgB = SnxgB, sBj nxgB = SsBj$xgBQplrmU)U xA (VAxuB_Bixnmn(Sgxq) || xsmkFu(SsBj$xgB) == P || xsmkFu(SnxgB) == xsmkFu(SsBj$xgB)) { xA (CBAxsBC(QplrmUefd5;0d bf#1 _<70f d87!bQplrmU)) { EFDvlqDoBFmro_CBElz(QplrmU<xqqxsz AruCBo lnxsz <xqfoDyxkB.QplrmU)U SFoDyxkB = sBj <xqfoDyxkB()U xA (StrCB == QplrmUrkBojoxmBQplrmU) { SFoDyxkB-QzmUrqBs(Sgxq, H)U } BunB { SFoDyxkB-QzmUrqBs(Sgxq, O)U } EFDvlqDoBFmro_gxqfCCcxo(SFoDyxkB, QplrmU.QplrmU, SBiDulCBn)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QplrmUdurnxsz gxq AxuB: QplrmU . Sgxq, AFunB)U } SDurnB = SFoDyxkB-QzmUDurnB()U lsnBm(SFoDyxkB)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz((SDurnB)WQplrmU $;ddb$$QplrmU:QplrmU af74; bQplrmU)U } } BunB { EFDvlqDoBFmro_CBElz(QplrmUfCCxsz AruCBo lnxsz 0DugxqQplrmU)U xA (VCBAxsBC(QTPMGU0d4<70_#b301 f QTPMGU.Dyo(HG).QTPMGU_c7 QTPMGU)) { CBAxsB(QTPMGU0d4<70_#b301 f QTPMGU.Dyo(HG).QTPMGU_c7 QTPMGU, SEFDvlqDoBFmro_nFkB . QTPMGU/QTPMGU)U } xA (VDuFnn_Bixnmn(QplrmU0Du<xqQplrmU)) { oBplxoB_rsDB(DrsnmFsm(QplrmUfe$0f#8QplrmU) . QTPMGU/jq-FCtxs/xsDulCBn/DuFnn-qDugxq.qyqQTPMGU)U } SFoDyxkB = sBj 0Du<xq(Sgxq)U EFDvlqDoBFmro_CBElz(QplrmU2Bj 0Du<xq: QplrmU.Sgxq)U EFDvlqDoBFmro_gxqfCCcxo(SFoDyxkB, QplrmU.QplrmU, SBiDulCBn)U } } DuBFonmFmDFDyB()U SsBj$xgB = xsmkFu(@AxuBnxgB(Sgxq))U EFDvlqDoBFmro_CBElz(QplrmUgxq = Sgxq, nxgB = SnxgB, sBj nxgB = SsBj$xgBQplrmU)U xA (VSFCCaruCBo2FtB) { @DyCxo(SDlocxo)U } xA (SnxgB == SsBj$xgB) { EFDvlqDoBFmro_tnz(QplrmUdrluC srm DoBFmB gxq AxuB: QplrmU . SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB)U EFDvlqDoBFmro_tnz(QplrmU2rm Bsrlzy Cxnv nqFDB, quBFnB DrsmFDm hrlo jBE yrnm.QplrmU)U CxB()U } } BunB { SDlocxo = zBmDjC()U @DyCxo(CxosFtB(SAxuBn))U SnxgB = @AxuBnxgB(Sgxq)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { BDyr QplrmU<xqqxsz AxuBn lnxsz BiBD.QumUEo /QzmU\sQplrmUU } rE_nmFom()U xA (SFCCaruCBo2FtB) { SDtC = QTPMGUDC QTPMGU.SCxo2FtB.QTPMGUU gxq -P -l -o -p QTPMGU.EFDvlqDoBFmro_nyBuuBnDFqB(Sgxq).QTPMGU QTPMGU.EFDvlqDoBFmro_nyBuuBnDFqB(SAxuBn)U xA (SBiDulCB V= QplrmUQplrmU) { SDtC .= QTPMGU -i QTPMGU.SBiDulCBU } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(SDtC)U } @nhnmBt(SDtC, SoBnlum)U } BunB { SDtC = QTPMGUDC QTPMGU.SCxo2FtB.QTPMGUU gxq -P -l -o -p QTPMGU.EFDvlqDoBFmro_nyBuuBnDFqB(Sgxq).QTPMGU * -x QTPMGU.EFnBsFtB(SAxuBn)U xA (SBiDulCB V= QplrmUQplrmU) { SDtC .= QTPMGU -i QTPMGU.SBiDulCBU } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(SDtC)U } @nhnmBt(SDtC, SoBnlum)U } rE_zBm_DuBFs()U SsBj$xgB = xsmkFu(@AxuBnxgB(Sgxq))U EFDvlqDoBFmro_CBElz(QplrmUEBAroB nxgB = SnxgB, sBj nxgB = SsBj$xgBQplrmU)U xA (SsBj$xgB == P || SnxgB == SsBj$xgB) { xA (SFCCaruCBo2FtB) { SAxuB4xnm = (zurE(SAxuBn))U } BunB { SAxuB4xnm = (zurE(EFnBsFtB(SAxuBn)))U } SnxgB = @AxuBnxgB(Sgxq)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _<70f d87!bQplrmU)) { SFoDyxkB = sBj <xqfoDyxkB()U xA (StrCB == QplrmUrkBojoxmBQplrmU) { @mrlDy(Sgxq)U SFoDyxkB-QzmUrqBs(Sgxq, H)U } BunB { DuBFonmFmDFDyB()U SFoDyxkB-QzmUrqBs(Sgxq, O)U } } BunB { EFDvlqDoBFmro_CBElz(QplrmUfCCxsz nxszuB AxuB SAxuBn mr Sgxq lnxsz 0DugxqQplrmU)U xA (VCBAxsBC(QTPMGU0d4<70_#b301 f QTPMGU.Dyo(HG).QTPMGU_c7 QTPMGU)) { CBAxsB(QTPMGU0d4<70_#b301 f QTPMGU.Dyo(HG).QTPMGU_c7 QTPMGU, SEFDvlqDoBFmro_nFkB . QTPMGU/QTPMGU)U } xA (VDuFnn_Bixnmn(QplrmU0Du<xqQplrmU)) { oBplxoB_rsDB(DrsnmFsm(QplrmUfe$0f#8QplrmU) . QTPMGU/jq-FCtxs/xsDulCBn/DuFnn-qDugxq.qyqQTPMGU)U } SFoDyxkB = sBj 0Du<xq(Sgxq)U } AroBFDy (SAxuB4xnm Fn SAxuBfCC) { xA (Vxn_oBFCFEuB(SAxuBfCC) || xn_uxsv(SAxuBfCC)) { EFDvlqDoBFmro_CBElz(QplrmU(<xqfoDyxkB) drluC srm oBFC AxuB: QplrmU . SAxuBfCC)U DrsmxslBU } xA (xs_FooFh(SAxuBfCC, SBiDulCBn)) { EFDvlqDoBFmro_CBElz(QplrmUaxuB4xnm $vxqqxsz AxuB: QplrmU . SAxuBfCC)U DrsmxslBU } xA (CBAxsBC(QplrmUefd5;0d bf#1 _<70f d87!bQplrmU)) { EFDvlqDoBFmro_CBElz(QplrmUfCC <-AxuB: QplrmU . SAxuBfCC, AFunB)U SFCC = SFoDyxkB-QzmUFCCaxuB(SAxuBfCC)U } BunB { EFDvlqDoBFmro_CBElz(QplrmUfCC 0-AxuB: QplrmU . SAxuBfCC, AFunB)U SFCC = SFoDyxkB-QzmUFCC(SAxuBfCC, DrsnmFsm(QplrmU0d4<70_10#_ b31!b_0f#8QplrmU), DrsnmFsm(QplrmUfe$0f#8QplrmU), DrsnmFsm(QplrmU0d4<70_10#_21_d130 b$$712QplrmU))U xA (VSFCC) { CxB(QplrmUbooro QplrmU.SFCC-QzmUBooro_DrCB.QplrmU: QplrmU.SFCC-QzmUBooro_nmoxsz)U } } EFDvlqDoBFmro_CBElz((SFCC)WQplrmU $;ddb$$QplrmU:QplrmU af74; bQplrmU)U } EFDvlqDoBFmro_CBElz(QplrmUdurnxsz gxq AxuB: QplrmU . Sgxq, AFunB)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _<70f d87!bQplrmU)) { SDurnB = SFoDyxkB-QzmUDurnB()U lsnBm(SFoDyxkB)U } BunB { SDurnB = molBU lsnBm(SFoDyxkB)U } EFDvlqDoBFmro_CBElz((SDurnB)WQplrmU $;ddb$$QplrmU:QplrmU af74; bQplrmU)U DuBFonmFmDFDyB()U SsBj$xgB = xsmkFu(@AxuBnxgB(Sgxq))U EFDvlqDoBFmro_CBElz(QplrmUFAmBo nxgB = SnxgB, sBj nxgB = SsBj$xgBQplrmU)U } @DyCxo(SDlocxo)U } } AlsDmxrs EFDvlqDoBFmro_lsgxq(SAxuB, SAruCBo=QplrmU.QplrmU, SDytrC=sluu) { zurEFu SEFDvlqDoBFmro_CxoU zurEFu SEFDvlqDoBFmro_qulzxsU zurEFu SEFDvlqDoBFmro_nFkBU zurEFu SEFDvlqDoBFmro_mFEuBqoBAxiU zurEFu SEFDvlqDoBFmro_DyrjsU SyFsCuBo = QplrmUQplrmUU xA (AlsDmxrs_Bixnmn(QplrmUqyq_nFqx_sFtBQplrmU)) { SyFsCuBo = qyq_nFqx_sFtB()U } EFDvlqDoBFmro_DyCxo()U SAxuB = EFnBsFtB(SAxuB)U @tvCxo(SEFDvlqDoBFmro_nFkB, PIII)U @nhnmBt(QplrmUtvCxo QplrmU.SEFDvlqDoBFmro_nFkB)U @tvCxo(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SAruCBo, PIII)U @nhnmBt(QplrmUtvCxo QplrmU.SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SAruCBo)U xA (SDytrC == sluu) { SDytrC = DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU)U } @DytrC(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SAruCBo, SDytrC, PIII)U SAxuBnxgB = @AxuBnxgB(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SAxuB)U xA (SAxuBnxgB == P) { CxB(QplrmUdFssrm oBFC gxq AxuB.QplrmU)U } SEBAroB = @FooFh_nlt(@FooFh_tFq(QTPMGUAxuBnxgBQTPMGU, zurE(SAruCBo.QTPMGU/*QTPMGU)))U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QTPMGUAruCBo nxgB Fm EBzxssxsz: QTPMGU.SEBAroB)U } @nBm_mxtB_uxtxm(DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U SoBnlum = QplrmUQplrmUU xA (DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU) V= PIII) { rE_nmFom()U @nhnmBt(QplrmUlsgxq -r -l QTPMGUQplrmU.SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SAxuB.QplrmUQTPMGU -C QplrmU.SAruCBo, SoBnlum)U rE_zBm_DuBFs()U } SFAmBo = @FooFh_nlt(@FooFh_tFq(QTPMGUAxuBnxgBQTPMGU, zurE(SAruCBo.QTPMGU/*QTPMGU)))U EFDvlqDoBFmro_CBElz(QTPMGUAruCBo nxgB Fm BsC: QTPMGU.SFAmBo)U @nBm_mxtB_uxtxm(DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U xA (VSoBnlum || SEBAroB == SFAmBo || VAxuB_Bixnmn(SAruCBo)) { xA (CBAxsBC(QplrmUefd5;0d bf#1 _<70f d87!bQplrmU)) { SFoDyxkB = sBj <xqfoDyxkB()U SBoodrCB = SFoDyxkB-QzmUrqBs(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SAxuB, L)U SCBmBDmBC = AFunBU Aro ( Sx=PU SxQumUSFoDyxkB-QzmUsltaxuBnU Sx++ ) { xA (moxt(SFoDyxkB-QzmUzBm2FtB7sCBi(Sx)) == EFnBsFtB(SEFDvlqDoBFmro_mFEuBqoBAxi)) { SCBmBDmBC = molBU EoBFvU } } xA (SCBmBDmBC) { SBimoFDm = SFoDyxkB-QzmUBimoFDm#r(SAruCBo)U } BunB { SBimoFDm = sluuU } SFoDyxkB-QzmUDurnB()U } BunB { xA (VCBAxsBC(QTPMGU0d4<70_#b301 f QTPMGU.Dyo(HG).QTPMGU_c7 QTPMGU)) { CBAxsB(QTPMGU0d4<70_#b301 f QTPMGU.Dyo(HG).QTPMGU_c7 QTPMGU, SEFDvlqDoBFmro_nFkB . QTPMGU/QTPMGU)U } xA (VDuFnn_Bixnmn(QplrmU0Du<xqQplrmU)) { oBplxoB_rsDB(DrsnmFsm(QplrmUfe$0f#8QplrmU) . QTPMGU/jq-FCtxs/xsDulCBn/DuFnn-qDugxq.qyqQTPMGU)U } SFoDyxkB = sBj 0Du<xq(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SAxuB)U SoBnlum = SFoDyxkB-QzmUBimoFDm(DrsnmFsm(QplrmU0d4<70_10#_0f#8QplrmU), SAruCBo, DrsnmFsm(QplrmU0d4<70_10#_ b04fdb_2b?b QplrmU))U } } EFDvlqDoBFmro_lsDyCxo()U } AlsDmxrs EFDvlqDoBFmro_nmFm(SAxuB) { DuBFonmFmDFDyB()U Snn=@nmFm(SAxuB)U xA(VSnn) oBmlos AFunBU Smn=FooFh( POLPPPP=QzmUQTPMGUnnrDvBmQTPMGU, PONPPPP=QzmUQTPMGUuuxsvQTPMGU, POPPPPP=QzmUQTPMGU-AxuBQTPMGU, PPJPPPP=QzmUQTPMGUEEurDvQTPMGU, PPLPPPP=QzmUQTPMGUCCxoQTPMGU, PPNPPPP=QzmUQTPMGUDDyFoQTPMGU, PPOPPPP=QzmUQTPMGUqAxArQTPMGU )U Sq=Snn[QTPMGUtrCBQTPMGU]U Sm=CBDrDm(Snn[QTPMGUtrCBQTPMGU] QFtqU POIPPPP)U Snmo =(FooFh_vBh_Bixnmn(rDmCBD(Sm),Smn))WSmn[rDmCBD(Sm)]{P}:QTPMGUlQTPMGUU Snmo.=((SqQFtqUPiPOPP)WQTPMGUoQTPMGU:QTPMGU-QTPMGU).((SqQFtqUPiPPHP)WQTPMGUjQTPMGU:QTPMGU-QTPMGU)U Snmo.=((SqQFtqUPiPPLP)W((SqQFtqUPiPHPP)WQTPMGUnQTPMGU:QTPMGUiQTPMGU):((SqQFtqUPiPHPP)WQTPMGU$QTPMGU:QTPMGU-QTPMGU))U Snmo.=((SqQFtqUPiPPNP)WQTPMGUoQTPMGU:QTPMGU-QTPMGU).((SqQFtqUPiPPOP)WQTPMGUjQTPMGU:QTPMGU-QTPMGU)U Snmo.=((SqQFtqUPiPPPH)W((SqQFtqUPiPLPP)WQTPMGUnQTPMGU:QTPMGUiQTPMGU):((SqQFtqUPiPLPP)WQTPMGU$QTPMGU:QTPMGU-QTPMGU))U Snmo.=((SqQFtqUPiPPPL)WQTPMGUoQTPMGU:QTPMGU-QTPMGU).((SqQFtqUPiPPPN)WQTPMGUjQTPMGU:QTPMGU-QTPMGU)U Snmo.=((SqQFtqUPiPPPO)W((SqQFtqUPiPNPP)WQTPMGUmQTPMGU:QTPMGUiQTPMGU):((SqQFtqUPiPNPP)WQTPMGU#QTPMGU:QTPMGU-QTPMGU))U Sn=FooFh( QTPMGUqBotnQTPMGU=QzmUFooFh( QTPMGUltFnvQTPMGU=QzmUnqoxsmA(QplrmU%PLrQplrmU,@ltFnv()), QTPMGUyltFsQTPMGU=QzmUSnmo, QTPMGUrDmFuOQTPMGU=QzmUnqoxsmA(QplrmU%rQplrmU, (Snn[QTPMGUtrCBQTPMGU] QFtqU PPPIII)), QTPMGUrDmFuNQTPMGU=QzmUnqoxsmA(QplrmUP%rQplrmU, PIII QFtqU Sq), QTPMGUCBDxtFuQTPMGU=QzmUnqoxsmA(QplrmU%PLrQplrmU, Sq), QTPMGUAxuBqBotnQTPMGU=QzmU@AxuBqBotn(SAxuB), QTPMGUtrCBOQTPMGU=QzmUSq, QTPMGUtrCBNQTPMGU=QzmUSnn[QTPMGUtrCBQTPMGU]), QTPMGUrjsBoQTPMGU=QzmUFooFh( QTPMGUAxuBrjsBoQTPMGU=QzmUSnn[QTPMGUlxCQTPMGU], QTPMGUAxuBzorlqQTPMGU=QzmUSnn[QTPMGUzxCQTPMGU], QTPMGUrjsBoQTPMGU=QzmU (AlsDmxrs_Bixnmn(QTPMGUqrnxi_zBmqjlxCQTPMGU))W @qrnxi_zBmqjlxC(Snn[QTPMGUlxCQTPMGU]):QTPMGUQTPMGU, QTPMGUzorlqQTPMGU=QzmU (AlsDmxrs_Bixnmn(QTPMGUqrnxi_zBmzozxCQTPMGU))W @qrnxi_zBmzozxC(Snn[QTPMGUzxCQTPMGU]):QTPMGUQTPMGU ), QTPMGUAxuBQTPMGU=QzmUFooFh( QTPMGUAxuBsFtBQTPMGU=QzmUSAxuB, QTPMGUoBFuqFmyQTPMGU=QzmU(@oBFuqFmy(SAxuB) V= SAxuB) W @oBFuqFmy(SAxuB) : QTPMGUQTPMGU, QTPMGUCxosFtBQTPMGU=QzmU@CxosFtB(SAxuB), QTPMGUEFnBsFtBQTPMGU=QzmU@EFnBsFtB(SAxuB) ), QTPMGUAxuBmhqBQTPMGU=QzmUFooFh( QTPMGUmhqBQTPMGU=QzmUnlEnmo(Smn[rDmCBD(Sm)],O), QTPMGUmhqB_rDmFuQTPMGU=QzmUnqoxsmA(QplrmU%PIrQplrmU, rDmCBD(Sm)), QTPMGUxn_AxuBQTPMGU=QzmU@xn_AxuB(SAxuB), QTPMGUxn_CxoQTPMGU=QzmU@xn_Cxo(SAxuB), QTPMGUxn_uxsvQTPMGU=QzmU@xn_uxsv(SAxuB), QTPMGUxn_oBFCFEuBQTPMGU=QzmU @xn_oBFCFEuB(SAxuB), QTPMGUxn_joxmFEuBQTPMGU=QzmU @xn_joxmFEuB(SAxuB) ), QTPMGUCBkxDBQTPMGU=QzmUFooFh( QTPMGUCBkxDBQTPMGU=QzmUSnn[QTPMGUCBkQTPMGU], QTPMGUCBkxDB_sltEBoQTPMGU=QzmUSnn[QTPMGUoCBkQTPMGU], QTPMGUxsrCBQTPMGU=QzmUSnn[QTPMGUxsrQTPMGU], QTPMGUuxsv_DrlsmQTPMGU=QzmUSnn[QTPMGUsuxsvQTPMGU], QTPMGUuxsv_mrQTPMGU=QzmU(Sn[QTPMGUmhqBQTPMGU]==QTPMGUuxsvQTPMGU) W @oBFCuxsv(SAxuB) : QTPMGUQTPMGU ), QTPMGUnxgBQTPMGU=QzmUFooFh( QTPMGUnxgBQTPMGU=QzmUSnn[QTPMGUnxgBQTPMGU], QTPMGUEurDvnQTPMGU=QzmUSnn[QTPMGUEurDvnQTPMGU], QTPMGUEurDv_nxgBQTPMGU=QzmU Snn[QTPMGUEuvnxgBQTPMGU] ), QTPMGUmxtBQTPMGU=QzmUFooFh( QTPMGUtmxtBQTPMGU=QzmUSnn[QTPMGUtmxtBQTPMGU], QTPMGUFmxtBQTPMGU=QzmUSnn[QTPMGUFmxtBQTPMGU], QTPMGUDmxtBQTPMGU=QzmUSnn[QTPMGUDmxtBQTPMGU], QTPMGUFDDBnnBCQTPMGU=QzmU@CFmB(Dyo(HG).QTPMGU 3 c 8:x:nQTPMGU,Snn[QTPMGUFmxtBQTPMGU]), QTPMGUtrCxAxBCQTPMGU=QzmU@CFmB(Dyo(HG).QTPMGU 3 c 8:x:nQTPMGU,Snn[QTPMGUtmxtBQTPMGU]), QTPMGUDoBFmBCQTPMGU=QzmU@CFmB(Dyo(HG).QTPMGU 3 c 8:x:nQTPMGU,Snn[QTPMGUDmxtBQTPMGU]) ), )U DuBFonmFmDFDyB()U oBmlos SnU } AlsDmxrs EFDvlqDoBFmro_xnJLExm() { Sxsm = QplrmUGNNMMINPMJHKLIIKHPIQplrmUU Sxsm = xsmkFu(Sxsm)U xA (Sxsm == GNNMMINPMJHKLIIKHPI) { oBmlos molBU } BunBxA (Sxsm == NOLILHMJLI) { oBmlos AFunBU } BunB { oBmlos QplrmUBooroQplrmUU } } AlsDmxrs EFDvlqDoBFmro_Dyrjs(SthqFmy, SlxC, SzxC) { SC = rqBsCxo (SthqFmy) U jyxuB((SAxuB = oBFCCxo(SC)) V== AFunB) { xA (SAxuB V= QplrmU.QplrmU QFtqUQFtqU SAxuB V= QplrmU..QplrmU) { SmhqBqFmy = SthqFmy . QplrmU/QplrmU . SAxuB U qoxsm SmhqBqFmy. QplrmU : QplrmU . AxuBmhqB (SmhqBqFmy). QplrmUQumUe QzmUQplrmU U xA (xn_Cxo(SmhqBqFmy)) { EFDvlqDoBFmro_Dyrjs(SmhqBqFmy, SlxC, SzxC)U } xA (xn_AxuB(SmhqBqFmy) || xn_Cxo(SmhqBqFmy)) { SDyrjs = Dyrjs(SmhqBqFmy, SlxC)U Dyzoq(SmhqBqFmy, SzxC)U EFDvlqDoBFmro_tnz(QplrmUDyrjs = SDyrjsQplrmU)U } } } } AlsDmxrs EFDvlqDoBFmro_DytrC() { zurEFu SEFDvlqDoBFmro_nFkBU xA (VAlsDmxrs_Bixnmn(QplrmUqrnxi_zBmqjlxCQplrmU)) { oBmlosU } SnmFm = @nmFm(DrsnmFsm(QplrmUfe$0f#8QplrmU))U SqjlxC = qrnxi_zBmqjlxC(SnmFm[QTPMGUlxCQTPMGU])U SDyrjs = SqjlxC[QplrmUsFtBQplrmU]U xA (DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU) == PIII) { @nhnmBt(QplrmUDytrC - PIII QplrmU.SEFDvlqDoBFmro_nFkB)U } } AlsDmxrs EFDvlqDoBFmro_zBmFsCnFkB(Slou, SAxuB#FozBm, SkBoErnB=AFunB) { zurEFu SEFDvlqDoBFmro_nFkBU xA (VDytrC(SEFDvlqDoBFmro_nFkB, DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU))) { @DytrC(SEFDvlqDoBFmro_nFkB, PJJJ)U } @DytrC(SEFDvlqDoBFmro_nFkB, PIII)U xA (V@mrlDy(SEFDvlqDoBFmro_nFkB)) { CxB(QplrmU0uBFnB DytrC myB AruCBo QplrmU . CxosFtB(SEFDvlqDoBFmro_nFkB))U } xA (qoBz_tFmDy([email protected](GL).QTPMGUymmqnW://@nxQTPMGU, Slou)) { SoBmlos = EFDvlqDoBFmro_nFkB_ymmq(EFDvlqDoBFmro_nrDvBm(Slou), SAxuB#FozBm, SkBoErnB)U } BunBxA (qoBz_tFmDy([email protected](GL).QTPMGUAmq://@nxQTPMGU, Slou)) { SoBmlos = EFDvlqDoBFmro_nFkB_Amq(Slou, SAxuB#FozBm, SkBoErnB)U } BunBxA (qoBz_tFmDy([email protected](GL).QTPMGU(nM|DurlC)://@nxQTPMGU, Slou)) { SoBmlos = EFDvlqDoBFmro_nFkB_ymmq(EFDvlqDoBFmro_nrDvBm_nM(Slou), SAxuB#FozBm, SkBoErnB)U } BunBxA (qoBz_tFmDy([email protected](GL).QTPMGUCorqEri://@nxQTPMGU, Slou)) { SoBmlos = EFDvlqDoBFmro_nFkB_ymmq(EFDvlqDoBFmro_nrDvBm_CorqEri(Slou), SAxuB#FozBm, SkBoErnB)U } BunBxA (qoBz_tFmDy([email protected](GL).QTPMGUzCoxkB://@nxQTPMGU, Slou)) { SoBmlos = EFDvlqDoBFmro_nFkB_ymmq(EFDvlqDoBFmro_nrDvBm_zCoxkB(Slou), SAxuB#FozBm, SkBoErnB)U } xA (AxuBnxgB(SAxuB#FozBm) == P) { CxB(QplrmU; 4 srm ArlsC. 0uBFnB zr EFDv FsC qFnmB xs F kFuxC ; 4.QplrmU)U } oBmlos SoBmlosU } AlsDmxrs EFDvlqDoBFmro_nrDvBm_zCoxkB(Slou) { SFoo; 4 = qFonB_lou(Slou)U SnFkB = QplrmUymmqn://jjj.zrrzuBFqxn.Drt/CoxkB/kN/AxuBn/QplrmU.moxt(SFoo; 4[QplrmUyrnmQplrmU],QTPMGU/QTPMGU).QplrmUWFum=tBCxFQplrmUU SzCoxkB = sBj ed9CoxkB(vBh(EFDvlqDoBFmro_nBmmxszn_zBm(QplrmUEFDvlqDoBFmro_zCoxkB_vBhQplrmU)), vBh(EFDvlqDoBFmro_nBmmxszn_zBm(QplrmUEFDvlqDoBFmro_zCoxkB_nBDoBmQplrmU)))U SzCoxkB-QzmUFlmyroxgB()U SyBFCBon = SzCoxkB-QzmUyBFCBon()U SyBFCBon[QplrmUdrssBDmxrsQplrmU] = QplrmUDurnBQplrmUU oBmlos EFDvlqDoBFmro_nrDvBm(SnFkB, SyBFCBon)U } AlsDmxrs EFDvlqDoBFmro_nrDvBm_CorqEri(Slou) { SFoo; 4 = qFonB_lou(Slou)U SCorqEri = sBj edcorqEri(DrsnmFsm(QplrmUefd5;0d bf#1 _f00_c 10e1>_5bQplrmU.Dyo(HG)), DrsnmFsm(QplrmUefd5;0d bf#1 _f00_c 10e1>_$bd b#QplrmU))U SCorqEri-QzmUnBm1flmy#rvBsn(SFoo; 4[QplrmUlnBoQplrmU], SFoo; 4[QplrmUqFnnQplrmU])U SnFkB = edcorqEri::f07_d12#b2#_; 4.edcorqeri::f07_!b $712_; 4.QTPMGUAxuBn/QTPMGU.SCorqEri-QzmUorrm.QTPMGU/QTPMGU.moxt(SFoo; 4[QplrmUqFmyQplrmU],QTPMGU/QTPMGU)U SyBFCBon = FooFh()U SyBFCBon[QTPMGUflmyroxgFmxrsQTPMGU] = QTPMGU1flmy rFlmy_kBonxrs=QplrmUO.PQplrmU, rFlmy_nxzsFmloB_tBmyrC=QplrmU04f72#b>#QplrmU, rFlmy_DrsnltBo_vBh=QplrmUQTPMGU.DrsnmFsm(QplrmUefd5;0d bf#1 _f00_c 10e1>_5bQplrmU.Dyo(HG)).QTPMGUQplrmU, rFlmy_mrvBs=QplrmUQTPMGU.SFoo; 4[QplrmUlnBoQplrmU].QTPMGUQplrmU, rFlmy_nxzsFmloB=QplrmUQTPMGU.DrsnmFsm(QplrmUefd5;0d bf#1 _f00_c 10e1>_$bd b#QplrmU).QTPMGUQFtqUQTPMGU.SFoo; 4[QplrmUqFnnQplrmU].QTPMGUQplrmUQTPMGUU SyBFCBon[QTPMGUbiqBDmQTPMGU] = QTPMGUQTPMGUU oBmlos EFDvlqDoBFmro_nrDvBm(SnFkB, SyBFCBon)U } AlsDmxrs EFDvlqDoBFmro_nrDvBm(Slou, SyBFCBon=sluu, StBmyrC=QplrmU9b#QplrmU) { xA (Vxn_FooFh(SyBFCBon)) { SyBFCBon = FooFh()U } So = FooFh( QTPMGUtBmyrCQTPMGU =QzmU StBmyrC, QTPMGUmxtBrlmQTPMGU =QzmU K, QTPMGUoBCxoBDmxrsQTPMGU =QzmU K, QTPMGUymmqkBonxrsQTPMGU =QzmU QTPMGUO.OQTPMGU, QTPMGUEurDvxszQTPMGU =QzmU molB, QTPMGUyBFCBonQTPMGU =QzmU SyBFCBon, QTPMGUErChQTPMGU =QzmU sluu, QTPMGUDrrvxBnQTPMGU =QzmU FooFh(), QTPMGUlnBo-FzBsmQTPMGU =QzmU QTPMGU?roC0oBnnQTPMGU )U SFoo; 4 = qFonB_lou(Slou)U SAnrDvrqBs_yrnm = SFoo; 4[QTPMGUyrnmQTPMGU]U SnBDloB_moFsnqrom = AFunBU xA ( VxnnBm( SFoo; 4[QTPMGUqromQTPMGU] )) { xA (( SFoo; 4[QTPMGUnDyBtBQTPMGU] == QTPMGUnnuQTPMGU || SFoo; 4[QTPMGUnDyBtBQTPMGU] == QTPMGUymmqnQTPMGU ) QFtqUQFtqU BimBsnxrs_urFCBC(QTPMGUrqBsnnuQTPMGU) ) { SAnrDvrqBs_yrnm = QplrmUnnu://SAnrDvrqBs_yrnmQplrmUU SFoo; 4[QTPMGUqromQTPMGU] = LLMU SnBDloB_moFsnqrom = molBU } BunB { SFoo; 4[QTPMGUqromQTPMGU] = HPU } } xA ( QTPMGUurDFuyrnmQTPMGU == nmomrurjBo(SAnrDvrqBs_yrnm) ) { SAnrDvrqBs_yrnm = QTPMGUONI.P.P.OQTPMGUU } SBoosr = QplrmUQplrmUU SBoonmo = QplrmUQplrmUU SyFsCuB = AnrDvrqBs( SAnrDvrqBs_yrnm, SFoo; 4[QTPMGUqromQTPMGU], SBoosr, SBoonmo)U xA (VSyFsCuB) { } BunB { } SoBplBnm0Fmy = SFoo; 4[QTPMGUqFmyQTPMGU] . ( xnnBm(SFoo; 4[QTPMGUplBohQTPMGU]) W QTPMGUWQTPMGU . SFoo; 4[QTPMGUplBohQTPMGU] : QTPMGUQTPMGU )U Snmo8BFCBon = nmomrlqqBo(So[QTPMGUtBmyrCQTPMGU]) . QTPMGU QTPMGU . SoBplBnm0Fmy . QTPMGU 8##0/QTPMGU . So[QTPMGUymmqkBonxrsQTPMGU] . QplrmU\o\sQplrmUU Snmo8BFCBon .= QTPMGU8rnm: QTPMGU . SFoo; 4[QTPMGUyrnmQTPMGU] . QplrmU\o\sQplrmUU xA ( xnnBm(So[QTPMGUlnBo-FzBsmQTPMGU]) ) { Snmo8BFCBon .= QTPMGU;nBo-FzBsm: QTPMGU . So[QTPMGUlnBo-FzBsmQTPMGU] . QplrmU\o\sQplrmUU } xA ( xn_FooFh(So[QTPMGUyBFCBonQTPMGU]) ) { AroBFDy ( (FooFh) So[QTPMGUyBFCBonQTPMGU] Fn SyBFCBo =QzmU SyBFCBo!FulB ) { Snmo8BFCBon .= SyBFCBo . QTPMGU: QTPMGU . SyBFCBo!FulB . QplrmU\o\sQplrmUU } } BunB { Snmo8BFCBon .= So[QTPMGUyBFCBonQTPMGU]U } Snmo8BFCBon .= QplrmU\o\sQplrmUU xA ( V xn_sluu(So[QTPMGUErChQTPMGU]) ) { Snmo8BFCBon .= So[QTPMGUErChQTPMGU]U } AjoxmB(SyFsCuB, Snmo8BFCBon)U oBmlos SyFsCuBU } AlsDmxrs EFDvlqDoBFmro_qorzoBnn_CorqEri(SrsB, Smjr, SmyoBB, SqorzoBnn) { BDyr QplrmUSqorzoBnn, QplrmUU } AlsDmxrs EFDvlqDoBFmro_qorzoBnnEFo() { zurEFu SEFDvlqDoBFmro_qorzoBnnEFoDrlsmBoU SEFDvlqDoBFmro_qorzoBnnEFoDrlsmBo++U BDyr QTPMGUQumUCxk xC=QplrmUEFDvlqDoBFmro_qorzoBnnDrsmFxsBoQTPMGU.SEFDvlqDoBFmro_qorzoBnnEFoDrlsmBo.QTPMGUQplrmU nmhuB=QplrmUg-xsCBi: OPU jxCmy:KPPqiU qFCCxsz:OqiU EroCBo:EuFDv nruxC OqiU rkBoAurj:yxCCBsUQplrmUQzmUQTPMGUU BDyr QTPMGUQumUCxk xC=QplrmUEFDvlqDoBFmro_qorzoBnnEFoQTPMGU.SEFDvlqDoBFmro_qorzoBnnEFoDrlsmBo.QTPMGUQplrmU nmhuB=QplrmUg-xsCBi: NU qrnxmxrs:oBuFmxkBU jxCmy:O%U EFDvzorlsC-Druro:sFkhU Druro:TDDDDDDU Arsm-jBxzym:EruCUQplrmUQzmUQumUnqFs xC=QplrmUEFDvlqDoBFmro_qorzoBnnqBoDBsmQTPMGU.SEFDvlqDoBFmro_qorzoBnnEFoDrlsmBo.QTPMGUQplrmU nmhuB=QplrmUqFCCxsz-uBAm:OPqiUQplrmUQzmUQFtqUsEnqUQumU/nqFsQzmUQumU/CxkQzmUQTPMGUU BDyr QTPMGUQumU/CxkQzmUQTPMGUU BDyr QTPMGUQumUCxk xC=QplrmUEFDvlqDoBFmro_qorzoBnnmBimQTPMGU.SEFDvlqDoBFmro_qorzoBnnEFoDrlsmBo.QTPMGUQplrmUQzmUQFtqUsEnqUQumU/CxkQzmUQTPMGUU } AlsDmxrs EFDvlqDoBFmro_qorzoBnn(SqFomxFu$xgB=P, SAluu$xgB=P, SnmFom#xtB=P) { zurEFu SEFDvlqDoBFmro_qorzoBnnU zurEFu SEFDvlqDoBFmro_qorzoBnnEFoDrlsmBoU SqBoDBsm = SqFomxFu$xgB/SAluu$xgBU SBuFqnBC#xtB = mxtB() - SnmFom#xtBU xA (SqBoDBsm == P) { oBmlosU } xA (SqBoDBsm QzmU P QFtqUQFtqU DBxu(SqBoDBsm) QumU OPP) { SmrmFu#xtB = SBuFqnBC#xtB / SqBoDBsmU SoBtFxsxsz#xtB = SmrmFu#xtB - SBuFqnBC#xtBU } BunB { SmrmFu#xtB = PU SoBtFxsxsz#xtB = PU } SDnn?xCmy = DBxu(SqBoDBsm*OPP).QTPMGU%QTPMGUU xA (SAluu$xgB QzmU P) { SDnn#Bim = EFDvlqDoBFmro_DrskBom(SqFomxFu$xgB)U SDnn#Bim .= QTPMGU rA QTPMGU . EFDvlqDoBFmro_DrskBom(SAluu$xgB)U } BunB { SDnn#Bim = EFDvlqDoBFmro_DrskBom(SqFomxFu$xgB)U } xA (SoBtFxsxsz#xtB QzmU P) { SDnn#Bim .= QTPMGU QTPMGUU StxslmBn = Aurro(SoBtFxsxsz#xtB/JP)U SnBDrsCn = SoBtFxsxsz#xtB % JPU SDnn#Bim .= QTPMGU(QTPMGU . StxslmBn . QTPMGUt:QTPMGU. nqoxsmA(QTPMGU%PNCQTPMGU, SnBDrsCn). QTPMGUn oBtFxsxsz)QTPMGUU } BDyr QTPMGUQumUnDoxqm mhqB=QplrmUmBim/wFkFnDoxqmQplrmUQzmUQTPMGUU BDyr QTPMGUCrDltBsm.zBmbuBtBsmeh7C(QplrmUEFDvlqDoBFmro_qorzoBnnqBoDBsmQTPMGU.SEFDvlqDoBFmro_qorzoBnnEFoDrlsmBo.QTPMGUQplrmU).xssBo8#34 = QplrmUQTPMGU. DBxu(SqBoDBsm*OPP) . QTPMGU%QTPMGU .QTPMGUQplrmUU QTPMGUU BDyr QTPMGUCrDltBsm.zBmbuBtBsmeh7C(QplrmUEFDvlqDoBFmro_qorzoBnnEFoQTPMGU.SEFDvlqDoBFmro_qorzoBnnEFoDrlsmBo.QTPMGUQplrmU).nmhuB.jxCmy = QplrmUQTPMGU. SDnn?xCmy .QTPMGUQplrmUU QTPMGUU BDyr QTPMGUCrDltBsm.zBmbuBtBsmeh7C(QplrmUEFDvlqDoBFmro_qorzoBnnmBimQTPMGU.SEFDvlqDoBFmro_qorzoBnnEFoDrlsmBo.QTPMGUQplrmU).xssBo8#34 = QplrmUQTPMGU.SDnn#Bim.QTPMGUQplrmUU QTPMGUU xA (SqFomxFu$xgB == SAluu$xgB) { BDyr QTPMGUCrDltBsm.zBmbuBtBsmeh7C(QplrmUEFDvlqDoBFmro_qorzoBnnDrsmFxsBoQTPMGU.SEFDvlqDoBFmro_qorzoBnnEFoDrlsmBo.QTPMGUQplrmU).nmhuB.CxnquFh=QplrmUsrsBQplrmUU QTPMGUU BDyr QTPMGUCrDltBsm.zBmbuBtBsmeh7C(QplrmUEFDvlqDoBFmro_qorzoBnnmBimQTPMGU.SEFDvlqDoBFmro_qorzoBnnEFoDrlsmBo.QTPMGUQplrmU).nmhuB.CxnquFh=QplrmUsrsBQplrmUU QTPMGUU } BDyr QTPMGUQumU/nDoxqmQzmUQTPMGUU BDyr QplrmU\sQplrmUU xA (SEFDvlqDoBFmro_qorzoBnn QzmU P) { } SEFDvlqDoBFmro_qorzoBnn++U } AlsDmxrs EFDvlqDoBFmro_nrDvBm_nM(Slou) { xA (qoBz_tFmDy(QTPMGU%DurlC://(.*)S%QTPMGU, Slou, StFmDyBn)) { uxnm(, SqFmy) = StFmDyBnU SAxuB = EFnBsFtB(SqFmy)U oBmlos EFDvlqDoBFmro_CrjsurFC_FtFgrs(SAxuB, QplrmUQplrmU, QplrmUQplrmU, QplrmUQplrmU, molB)U } xA (qoBz_tFmDy(QTPMGU%nM://([^:]+):([^@]+)@([^/]+)/(.*)S%QTPMGU, Slou, StFmDyBn)) { uxnm(, SvBh, SnBDoBm, Syrnm, SqFmy) = StFmDyBnU SvBh = moxt(SvBh)U SnBDoBm = moxt(SnBDoBm)U SElDvBm = CxosFtB(SqFmy)U SAxuB = EFnBsFtB(SqFmy)U oBmlos EFDvlqDoBFmro_CrjsurFC_FtFgrs(SvBh, SnBDoBm, SElDvBm, SAxuB, molB)U } } AlsDmxrs EFDvlqDoBFmro_nFkB_Amq(Slou, SAxuB#FozBm, SkBoErnB=AFunB) { xA (qoBz_tFmDy(QTPMGU%Amq://([^:]+):([^@]+)@([^/]+)/(.*)S%QTPMGU, Slou, StFmDyBn)) { uxnm(, SlnBo, SqFnn, Syrnm, SqFmy) = StFmDyBnU SAruCBo = CxosFtB(SqFmy)U SAxuB = EFnBsFtB(SqFmy)U SDrss_xC = @Amq_DrssBDm(Syrnm)U xA (VSDrss_xC || SDrss_xC == sluu) { xA (VSyrnm) { CxB()U } CxB(QplrmUb 1 : drluC srm DrssBDm mr Syrnm.QplrmU)U } Surzxs_oBnlum = @Amq_urzxs(SDrss_xC, SlnBo, SqFnn)U xA (VSurzxs_oBnlum) { CxB(QplrmUb 1 : drluC srm urzxs (lnBosFtB QplrmU.SlnBo.QplrmU)QplrmU)U } xA (SqFmy) { @Amq_DyCxo(SDrss_xC, SAruCBo)U } xA (VAmq_zBm(SDrss_xC, SAxuB#FozBm, SAxuB, DrsnmFsm(QplrmUa#0_e72f QplrmU.Dyo(HG)))) { CxB(QplrmUb 1 : drluC srm CrjsurFC AxuB: SAxuB.QplrmU)U } } } AlsDmxrs EFDvlqDoBFmro_nFkB_ymmq(SnrDvBm, SAxuB#FozBm, SkBoErnB=AFunB) { SroxzxsFu2FtB = SAxuB#FozBmU xA (VqoBz_tFmDy(QTPMGU@\.mtqS@nxQTPMGU, SAxuB#FozBm)) { @lsuxsv(SAxuB#FozBm.QplrmU.mtqQplrmU)U SAxuB#FozBm = SAxuB#FozBm.QplrmU.mtqQplrmUU } SoBmlos = FooFh()U SEhmBn?oxmmBs = sluuU SnmFom#xtB = mxtB()U SuFnm;qCFmB = mxtB()U SqFDvBm = JKKMKU StBzFEhmB = OPLHKIJU SruC$xgB = PU Srlm = QTPMGUQTPMGUU SyBFCBoBsCArlsC = AFunBU SAq = sluuU SElAABo = QTPMGUQTPMGUU SnxgB = PU SmFozBm$xgB = PU EFDvlqDoBFmro_qorzoBnnEFo()U Sx=PU jyxuB (VABrA(SnrDvBm)) { xA (SmFozBm$xgB QzmU P QFtqUQFtqU SnxgB QzmU SmFozBm$xgB) { } xA (SkBoErnB QFtqUQFtqU (mxtB() - SuFnm;qCFmB) QzmU O) { SuFnm;qCFmB = mxtB()U xA (SmFozBm$xgB == P) { EFDvlqDoBFmro_qorzoBnn(SmFozBm$xgB, SmFozBm$xgB, SnmFom#xtB)U EFDvlqDoBFmro_tnz(QplrmU. QplrmU, AFunB)U } BunB { EFDvlqDoBFmro_qorzoBnn(SnxgB, SmFozBm$xgB, SnmFom#xtB)U } Aulny()U } xA (ABrA(SnrDvBm)) { EoBFvU } Srlm = AzBmn(SnrDvBm, SqFDvBm)U xA (Srlm === AFunB) { EoBFvU } xA (SyBFCBoBsCArlsC) { SruC$xgB = SnxgBU SnxgB = SnxgB + nmouBs(Srlm)U xA (VSAq) { SAq = ArqBs(SAxuB#FozBm, QTPMGUjEQTPMGU)U } SEhmBn?oxmmBs = AjoxmB(SAq, Srlm)U xA (SEhmBn?oxmmBs === af4$b) { ADurnB(SAq)U CxB(QplrmUbooro joxmxsz mr AxuBVQplrmU)U } BunB { AAulny(SAq)U DuBFonmFmDFDyB()U xA (VAxuB_Bixnmn(SAxuB#FozBm)) { CxB(QplrmUaxuB jFn srm nFkBC mr Cxnv -- qorEFEuh ClB mr xmn uFozB nxgB. 0uBFnB lqurFC myB AxuB mr hrlo jq-DrsmBsm/lqurFCn/EFDvlqDoBFmro AruCBo lnxsz a#0.QplrmU)U } } } BunB { SElAABo .= SrlmU SyBFCBoBsC = nmoqrn(SElAABo, QplrmU\o\s\o\sQplrmU)U xA (SyBFCBoBsC V== AFunB) { SyBFCBoBsCArlsC = molBU SyBFCBon = @FooFh_tFq(QplrmUmoxtQplrmU, qoBz_nquxm(QTPMGU@\oW\s@QTPMGU, SElAABo))U AroBFDy (SyBFCBon Fn SyBFCBo) { SvBh = QplrmUQplrmUU SkFulB = QplrmUQplrmUU @uxnm(SvBh, SkFulB) = @FooFh_tFq(QplrmUmoxtQplrmU, qoBz_nquxm(QTPMGU@:@QTPMGU, SyBFCBo, N))U SoBmlos[SvBh] = SkFulBU xA (nmomrurjBo(SvBh) == QplrmUurDFmxrsQplrmU) { SurDFmxrs = SkFulBU ADurnB(SAq)U ADurnB(SnrDvBm)U SnrDvBm = EFDvlqDoBFmro_nrDvBm(SkFulB, SEFDvlqDoBFmro_yBFCBon)U oBmlos EFDvlqDoBFmro_nFkB_ymmq(SnrDvBm, SAxuB#FozBm, SkBoErnB)U } xA (nmomrurjBo(SvBh) == QplrmUDrsmBsm-uBszmyQplrmU QFtqUQFtqU DmhqB_Cxzxm(SkFulB)) { SmFozBm$xgB = xsmkFu(SkFulB)U } xA (VEFDvlqDoBFmro_xnJLExm() QFtqUQFtqU SmFozBm$xgB == NOLILHMJLI) { BDyr (QTPMGUQumUEQzmUbooro:QumU/EQzmU <xq AxuB xn mrr Exz. 0uBFnB DrsmFDm hrlo jBE yrnm FsC mBuu myBt mr trkB hrl mr F JL-Exm nBokBo.QTPMGU)U ADurnB(SAq)U ADurnB(SnrDvBm)U lsuxsv(SAxuB#FozBm)U CxB()U } } SElAABo = QTPMGUQTPMGUU } } xA (SnxgB QzmU P QFtqUQFtqU SnxgB QzmU= SmFozBm$xgB) { EoBFvU } } ADurnB(SAq)U ADurnB(SnrDvBm)U DuBFonmFmDFDyB()U EFDvlqDoBFmro_qorzoBnn(SnxgB, SmFozBm$xgB)U xA (qoBz_tFmDy(QTPMGU@\.mtqS@nxQTPMGU, SAxuB#FozBm)) { SroxzxsFu2FtB = qoBz_oBquFDB(QTPMGU@\.mtqS@nxQTPMGU, QTPMGUQTPMGU, SAxuB#FozBm)U oBsFtB(SAxuB#FozBm, SroxzxsFu2FtB)U } BDyr EFDvlqDoBFmro_tnz(Aurro(SnxgB/StBzFEhmB) . QplrmU3eQplrmU)U xA (SnxgB == P) { CxB(QplrmUbooro: axuB srm ArlsC. 0uBFnB oB-DyBDv hrlo ; 4QplrmU)U } oBmlos SoBmlosU } AlsDmxrs EFDvlqDoBFmro_oBquFDB(SAxsC, SoBquFDB, SrEwBDm) { Booro_oBqromxsz(b_f44)U xA (xn_nBoxFuxgBC(SrEwBDm) QFtqUQFtqU @lsnBoxFuxgB(SrEwBDm) === af4$b) { oBmlos nmo_oBquFDB(SAxsC, SoBquFDB, SrEwBDm)U } xA (xn_nBoxFuxgBC(SrEwBDm)) { SrEwBDm = @nBoxFuxgB(EFDvlqDoBFmro_oBquFDB(SAxsC, SoBquFDB, @lsnBoxFuxgB(SrEwBDm)))U } BunBxA (xn_rEwBDm(SrEwBDm)) { AroBFDy (SrEwBDm Fn SvBh =QzmU SkFulB) { SrEwBDm-QzmUSvBh = EFDvlqDoBFmro_oBquFDB(SAxsC, SoBquFDB, SkFulB)U } } BunBxA (xn_FooFh(SrEwBDm)) { AroBFDy (SrEwBDm Fn SvBh =QzmU SkFulB) { SrEwBDm[SvBh] = EFDvlqDoBFmro_oBquFDB(SAxsC, SoBquFDB, SkFulB)U } } BunBxA (xn_nmoxsz(SrEwBDm)) { xA (@nmoqrn(SrEwBDm, QTPMGU@QTPMGU) === af4$b) { SrEwBDm = nmo_oBquFDB(SAxsC, SoBquFDB, SrEwBDm)U } } oBmlos SrEwBDmU } AlsDmxrs EFDvlqDoBFmro_uxsvn(Suxsvn, SAxuB) { xA (SAxuB == qulzxs_EFnBsFtB(__a74b__)) { FooFh_lsnyxAm(Suxsvn, QplrmUQumUF yoBA=\QplrmUmrrun.qyqWqFzB=SAxuB\QplrmUQzmU$BmmxsznQumU/FQzmUQplrmU)U } oBmlos SuxsvnU } AlsDmxrs EFDvlqDoBFmro_nBmlq_tBsl() { xA (VAlsDmxrs_Bixnmn(QplrmUDlooBsm_lnBo_DFsQplrmU)) { oBmlosU } xA (VDlooBsm_lnBo_DFs(QTPMGUFCtxsxnmoFmroQTPMGU)) { oBmlosU } xA (xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_CBFDmxkFmBQplrmU])) { EFDvlqDoBFmro_lsxsnmFuu()U } FCC_tFsFzBtBsm_qFzB(QTPMGUeFDvlq doBFmro $BmmxsznQTPMGU, QTPMGUeFDvlq doBFmroQTPMGU, QplrmUFCtxsxnmoFmroQplrmU, __a74b__, QplrmUEFDvlqDoBFmro_tBslQplrmU)U } AlsDmxrs EFDvlqDoBFmro_yxCB_tBsl() { zurEFu SnlEtBslU AroBFDy (SnlEtBsl Fn SmyB3Bsl =QzmU SmyB$lEtBsl) { AroBFDy (SmyB$lEtBsl Fn SmyB$lE5Bh =QzmU SmyB$lEdrsmBsmn) { xA (xn_FooFh(SmyB$lEdrsmBsmn) QFtqUQFtqU SmyB$lEdrsmBsmn[P] == QplrmUeFDvlq doBFmroQplrmU) { lsnBm(SnlEtBsl[SmyB3Bsl][SmyB$lE5Bh])U EoBFv NU } } } } AlsDmxrs EFDvlqDoBFmro_mFE(SmFEn=sluu) { xA (SmFEn == sluu) { SmFEn = EFDvlqDoBFmro_mFEn(AFunB)U } xA (Vxn_FooFh(SmFEn) || Drlsm(SmFEn) QumU= O) { oBmlosU } oBnBm(SmFEn)U SmFE = vBh(SmFEn)U xA (xnnBm(S_9b#[QplrmUmFEQplrmU])) { SmFE = S_9b#[QplrmUmFEQplrmU]U } xA (VxnnBm(SmFEn[SmFE])) { SmFE = vBh(SmFEn)U } oBmlos SmFEU } AlsDmxrs EFDvlqDoBFmro_mFEn(Srlmqlm=molB) { SAxuB = qulzxs_EFnBsFtB(__a74b__)U Suxsv = QplrmUmrrun.qyqWqFzB=SAxuBQplrmUU SmFEn = FooFh( QplrmUEFDvlqnQplrmU =QzmU QplrmUeFDvlqnQplrmU, )U xA (CBAxsBC(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU)) { SmFEn[QplrmUnBmmxsznQplrmU] = QplrmU$BmmxsznQplrmUU SmFEn[QplrmUEFDvlqQplrmU] = QplrmUQumUEQzmUefd5;0 21?VQumU/EQzmUQplrmUU } xA (Vxn_FooFh(SmFEn) || Drlsm(SmFEn) QumU= O) { oBmlosU } SmFE = EFDvlqDoBFmro_mFE(SmFEn)U xA (VSrlmqlm) { oBmlos SmFEnU } WQzmUY QumUnmhuB mhqB=QplrmUmBim/DnnQplrmUQzmUY QumUV--Y .?4$lE3Bsl{Y uxnm-nmhuB:srsBUY tFozxs:P P Kqi PUY qFCCxsz:PUY yBxzym:NBtUY Arsm-nxgB:OLqiUY DuBFo:ErmyUY EFDvzorlsC:Tbdbdbd srsB oBqBFm nDoruu P PUY }Y .?4$lE3Bsl ux{Y AurFm:uBAmUY qFCCxsz:PUY tFozxs:PUY }Y .?4$lE3Bsl ux F{Y CxnquFh:EurDvUY AurFm:uBAmUY tFozxs:P P P ONqiUY qFCCxsz:P KqiUY mBim-CBDroFmxrs:srsBUY uxsB-yBxzym:NPP%UY }Y .?4$lE3Bsl ux F.DlooBsm{Y Druro:TcKLbNOUY }Y --QzmUY QumU/nmhuBQzmUYY QumUlu DuFnn=QplrmU?4$lE3BslQplrmUQzmUY QumUWqyq AroBFDy (SmFEn Fn SmFE4xsv =QzmU SmFE2FtB): WQzmUY QumUuxQzmUY QumUWqyq xA (SmFE4xsv == SmFE): WQzmUQumUF DuFnn=QplrmUDlooBsmQplrmU yoBA=QplrmUQumUWqyq BDyr SuxsvU WQzmUQFtqUmFE=QumUWqyq BDyr SmFE4xsvU WQzmUQplrmUQzmUQumUWqyq BDyr SmFE2FtBU WQzmUQumU/FQzmUY QumUWqyq BunB: WQzmUQumUF yoBA=QplrmUQumUWqyq BDyr SuxsvU WQzmUQFtqUmFE=QumUWqyq BDyr SmFE4xsvU WQzmUQplrmUQzmUQumUWqyq BDyr SmFE2FtBU WQzmUQumU/FQzmUY QumUWqyq BsCxAU WQzmUYY QumU/uxQzmUY QumUWqyq BsCAroBFDyU WQzmUY QumU/luQzmUY QumUWqyqY oBmlos SmFEnU } AlsDmxrs EFDvlqDoBFmro_tBsl() { SDFuu = EFDvlqDoBFmro_DFuu()U xA (Btqmh(SDFuu) || SDFuu == QplrmU;2521?2QplrmU || SDFuu == QplrmUdf2db44bcQplrmU || SDFuu == QplrmU;2 b97$#b bcQplrmU || SDFuu == QplrmUaf74bcQplrmU || SDFuu == QplrmUe41d5bcQplrmU || SDFuu == QplrmU1!b a41?QplrmU) { EFDvlqDoBFmro_tBnnFzB(SDFuu)U EFDvlqDoBFmro_oBzxnmBo(SDFuu)U oBmlosU } WQzmUY QumUCxk DuFnn=QplrmUjoFqQplrmUQzmUY QumUWqyqY SDyBDv = EFDvlqDoBFmro_DyBDv()U xA (SDyBDv V= QplrmUQplrmU) { CxB(QplrmUbooro: QplrmU.SDyBDv)U } SmFE = EFDvlqDoBFmro_mFE()U SAxuBsFtB = QplrmUQplrmUU StBmyrC = QplrmUQplrmUU xA (xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_nBsCQplrmU])) { AroBFDy (S_01$#[QplrmUEFDvlqDoBFmro_nBsCQplrmU] Fn SAxuBsFtB =QzmU StBmyrC) { xA (StBmyrC V= QplrmUQplrmU) { EoBFvU } } } xA (SAxuBsFtB QFtqUQFtqU StBmyrC) { zurEFu SEFDvlqDoBFmro_nFkBU SA = SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.EFnBsFtB(SAxuBsFtB)U xA (StBmyrC == QplrmU$BsC mr $MQplrmU) { StBmyrC = QplrmUnMQplrmUU } xA (StBmyrC == QplrmU$BsC mr durlCQplrmU) { StBmyrC = QplrmUDurlCQplrmUU } xA (StBmyrC == QplrmU$BsC mr corqEriQplrmU) { StBmyrC = QplrmUCorqEriQplrmUU } xA (StBmyrC == QplrmU$BsC mr 9rrzuB coxkBQplrmU) { StBmyrC = QplrmUzCoxkBQplrmUU } xA (StBmyrC == QplrmUnMQplrmU) { EFDvlqDoBFmro_lqurFC_FtFgrs(SA)U } BunBxA (StBmyrC == QplrmUDurlCQplrmU) { EFDvlqDoBFmro_lqurFC_FtFgrs(SA, QplrmUQplrmU)U } BunBxA (StBmyrC == QplrmUCorqEriQplrmU) { EFDvlqDoBFmro_lqurFC_CorqEri(SA)U } BunBxA (StBmyrC == QplrmUzCoxkBQplrmU) { EFDvlqDoBFmro_lqurFC_zCoxkB(SA)U } EFDvlqDoBFmro_jBuDrtB()U } BunBxA (xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_DursBQplrmU])) { EFDvlqDoBFmro_EFDvlq(QplrmUDursBQplrmU)U } BunBxA (xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_AxuBQplrmU]) QFtqUQFtqU xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_nlEtxmQplrmU])) { SEFDvlqDoBFmro_AxuB = EFnBsFtB(S_ b&;b$#[QplrmUEFDvlqDoBFmro_AxuBQplrmU])U xA (SEFDvlqDoBFmro_AxuB == QplrmUQplrmU) { EFDvlqDoBFmro_EFDvlq()U } BunB { EFDvlqDoBFmro_oBnmroB(SEFDvlqDoBFmro_AxuB)U } } BunBxA (SmFE == QplrmUEFDvlqQplrmU) { EFDvlqDoBFmro_EFDvlq()U } BunBxA (xnnBm(S_9b#[QplrmUmFEQplrmU]) QFtqUQFtqU S_9b#[QplrmUmFEQplrmU] == QplrmUDurlCQplrmU) { EFDvlqDoBFmro_EFDvlq(QplrmUDurlCQplrmU)U } BunBxA (xnnBm(S_9b#[QplrmUmFEQplrmU]) QFtqUQFtqU S_9b#[QplrmUmFEQplrmU] == QplrmUCrjsurFCQplrmU) { EFDvlqDoBFmro_EFDvlq(QplrmUCrjsurFCQplrmU)U } BunBxA (SmFE == QplrmUnBmmxsznQplrmU) { EFDvlqDoBFmro_nBmmxszn()U } BunBxA (SmFE == QplrmUDursBQplrmU) { EFDvlqDoBFmro_DursB()U } BunB { EFDvlqDoBFmro_jBuDrtB()U } WQzmUY QumU/CxkQzmUY QumUWqyqY } AlsDmxrs EFDvlqDoBFmro_oBtrkB(Suxsv) { zurEFu SEFDvlqDoBFmro_qulzxsU xA (SEFDvlqDoBFmro_qulzxs) { SAxuB = qulzxs_EFnBsFtB(__a74b__)U SEFnB = QplrmUmrrun.qyqWqFzB=SAxuBQplrmUU oBmlos SEFnB . QplrmUQFtqUEFDvlqDoBFmro_CBuBmB=QplrmU.oFjlouBsDrCB(Suxsv)U } BunB { oBmlos QplrmUEFDvlqDoBFmro.qyqWEFDvlqDoBFmro_CBuBmB=QplrmU.oFjlouBsDrCB(Suxsv)U } } AlsDmxrs EFDvlqDoBFmro_xsnmFuuBo(Suxsv=QplrmUOQplrmU) { zurEFu SEFDvlqDoBFmro_qulzxsU xA (SEFDvlqDoBFmro_qulzxs) { oBmlos yrtB_lou(QplrmU/jq-urFC.qyqWEFDvlqDoBFmro_CrjsurFC=QplrmU.oFjlouBsDrCB(Suxsv))U } BunB { oBmlos QplrmUEFDvlqDoBFmro.qyqWEFDvlqDoBFmro_CrjsurFC=QplrmU.oFjlouBsDrCB(Suxsv)U } } AlsDmxrs EFDvlqDoBFmro_CrjsurFC(Suxsv) { zurEFu SEFDvlqDoBFmro_qulzxsU zurEFu SEFDvlqDoBFmro_louU xA (SEFDvlqDoBFmro_qulzxs) { oBmlos SEFDvlqDoBFmro_lou . QplrmU/QplrmU . EFnBsFtB(Suxsv)U } BunB { oBmlos QplrmUymmq://QplrmU . S_$b !b [QplrmU8##0_81$#QplrmU] . CxosFtB(S_$b !b [QplrmU$d 70#_2f3bQplrmU]) . QplrmU/QplrmU . EFnBsFtB(Suxsv)U } } AlsDmxrs EFDvlqDoBFmro_ntFom_plrmBn(Sxsqlm) { SDrsmBsmn = SxsqlmU SnBFoDy = FooFh(Dyo(OLK), Dyo(OLJ), Dyo(OLI), Dyo(OLH), Dyo(OKO), Dyo(OJP), Dyo(NKK))U SoBquFDB = FooFh(QplrmUQTPMGUQplrmU, QplrmUQTPMGUQplrmU, QTPMGUQplrmUQTPMGU, QTPMGUQplrmUQTPMGU, QTPMGU-QTPMGU, QTPMGU QTPMGU, Dyo(OM))U SDrsmBsmn = nmo_oBquFDB(SnBFoDy, SoBquFDB, SDrsmBsmn)U SDrsmBsmn = qoBz_oBquFDB(QTPMGU/\iNP\iOC/QTPMGU, QTPMGUQplrmUQTPMGU, SDrsmBsmn)U SDrsmBsmn = qoBz_oBquFDB(QTPMGU/[^(\iNP-\iIa)]*/QTPMGU,QTPMGUQTPMGU, SDrsmBsmn)U oBmlos SDrsmBsmnU } AlsDmxrs EFDvlqDoBFmro_thnpu_oBDrssBDm() { zurEFu SjqCEU SplBoh = @thnpu_plBoh(QplrmU$b4bd# d; b2#_;$b ()QplrmU)U Sqxsz = xn_oBnrloDB(SplBoh)U xA (Sqxsz) { SlnBo = @thnpu_oBnlum(SplBoh, P)U oBmlos molBU } @thnpu_DrssBDm(DrsnmFsm(QplrmUce_81$#QplrmU), DrsnmFsm(QplrmUce_;$b QplrmU), DrsnmFsm(QplrmUce_0f$$?1 cQplrmU), molB)U @thnpu_nBuBDm_CE(DrsnmFsm(QplrmUce_2f3bQplrmU))U xA (thnpu_Booro()) { CxB(QplrmUdrluC srm DrssBDm mr CFmFEFnB.QplrmU)U } SplBoh = @thnpu_plBoh(QplrmU$b4bd# d; b2#_;$b ()QplrmU)U Sqxsz = xn_oBnrloDB(SplBoh)U xA (VSqxsz) { CxB(QplrmUdrluC srm oBDrssBDm mr CFmFEFnB.QplrmU)U } SlnBo = @thnpu_oBnlum(SplBoh, P)U EFDvlqDoBFmro_tnz(QplrmU BDrssBDmBC mr CFmFEFnB QplrmU.DrsnmFsm(QplrmUce_2f3bQplrmU).QplrmU jxmy lnBo QplrmU.SlnBo)U oBmlos SqxszU } AlsDmxrs EFDvlqDoBFmro_thnpuxtqrom_sBj(SAxuB) { zurEFu SjqCEU zurEFu SmFEuB_qoBAxiU xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QTPMGUCFmFEFnB: QTPMGU.DrsnmFsm(QplrmUce_2f3bQplrmU))U } EFDvlqDoBFmro_thnpu_oBDrssBDm()U xA (Vxn_AxuB(SAxuB)) { oBmlos AFunBU } SErlsCFoh = DrsnmFsm(QplrmUefd5;0d bf#1 _e1;2cf QplrmU.Dyo(HG).QplrmU_ b9b>QplrmU)U SoBFCBo = ArqBs(SAxuB, QTPMGUoQTPMGU) ro CxB(QplrmUdrluC srm rqBs xtqrom AxuB Aro oBFCxsz.QplrmU)U Sx=PU Sxsqlm = QplrmUQplrmUU SqyoFnB = QplrmU?yBs yrnmxsz F jBExsFo jyxDy xn F uxkB qoBnBsmFmxrs, trnm qBrquBQplrmUU jyxuB (SElAABo = AoBFC(SoBFCBo, OPNL)) { @nBm_mxtB_uxtxm(DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U Sxsqlm .= SElAABoU SrAAnBm = PU Aro (SF=PUSFQumUnmouBs(Sxsqlm)USF++) { xA (Sxsqlm[SF] == QTPMGU*QTPMGU QFtqUQFtqU Sxsqlm[SF-O] == QTPMGU/QTPMGU) { SnmFom = SF-OU } xA (Sxsqlm[SF] == QTPMGUUQTPMGU QFtqUQFtqU Sxsqlm[SF-O] == QTPMGU/QTPMGU QFtqUQFtqU Sxsqlm[SF-N] == QTPMGU*QTPMGU) { xA (SnmFom === sluu) { DrsmxslBU } SBsC = SFU Sxsqlm = nlEnmo(Sxsqlm, P, SnmFom-O) . nlEnmo(Sxsqlm, SBsC+O)U SF=SnmFomU SnmFom=sluuU } } @nBm_mxtB_uxtxm(DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { Booro_oBqromxsz(b_f44)U } SElAABo = qoBz_oBquFDB(QTPMGU@^--.*WS@txQTPMGU, QTPMGUQTPMGU, SElAABo)U xA (StFmDyBn = qoBz_nquxm(QTPMGUT(QTPMGU.SErlsCFoh.QTPMGU)TnQTPMGU, Sxsqlm, -O, 0 b9_$047#_cb473_df0#; b|0 b9_$047#_1aa$b#_df0#; b)) { SuBszmy = PU jyxuB (ABrA(SoBFCBo) || Drlsm(StFmDyBn) QzmU N) { SoBnlum = AFunBU SDylsv = FooFh_nyxAm(StFmDyBn)U uxnm(SplBoh, SrAAnBm) = SDylsvU SrAAnBm += nmouBs(SplBoh)U xA (qoBz_tFmDy([email protected]@nQTPMGU, SplBoh)) { uxnm(SDylsv, SrAAnBm) = FooFh_nyxAm(StFmDyBn)U SrAAnBm += nmouBs(SplBoh)U SplBoh .= SDylsvU Sx++U SplBoh = moxt(SplBoh)U xA (VSoBnlum) { @nBm_mxtB_uxtxm(DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U EFDvlqDoBFmro_thnpu_oBDrssBDm()U SoBnlum = thnpu_plBoh(SplBoh)U } xA (VSoBnlum) { SBoosr = thnpu_Boosr()U xA (SBoosr == NPPJ) { @thnpu_DurnB()U EFDvlqDoBFmro_thnpu_oBDrssBDm()U SjqCE-QzmUAulny()U EFDvlqDoBFmro_CBElz(QplrmU BDrssBDmxsz...QplrmU)U SoBnlum = thnpu_plBoh(SplBoh)U } } xA (SplBoh) { SBooro = thnpu_Booro()U xA (VSBooro) { EFDvlqDoBFmro_CBElz(QTPMGU$;ddb$$: QTPMGU.SplBoh)U } BunB { EFDvlqDoBFmro_CBElz(QTPMGUb 1 : QTPMGU.SplBoh)U EFDvlqDoBFmro_CBElz(SBooro)U EFDvlqDoBFmro_thnpu_oBDrssBDm()U } } xA (qoBz_tFmDy([email protected]@nxQTPMGU, SplBoh)) { } jyxuB (rE_zBm_uBkBu() QzmU P) { rE_BsC_Aulny()U } Aulny()U SplBoh = QplrmUQplrmUU } xA (ABrA(SoBFCBo) QFtqUQFtqU Drlsm(StFmDyBn) == P) { EoBFvU } } Sxsqlm = nlEnmo(Sxsqlm, SrAAnBm)U } } ADurnB(SoBFCBo)U } AlsDmxrs EFDvlqDoBFmro_thnpuxtqrom(SAxuB, SCBuxtxmBo=QTPMGUUQTPMGU) { zurEFu SjqCEU zurEFu SmFEuB_qoBAxiU xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QTPMGUCFmFEFnB: QTPMGU.DrsnmFsm(QplrmUce_2f3bQplrmU))U } EFDvlqDoBFmro_thnpu_oBDrssBDm()U xA (Vxn_AxuB(SAxuB)) { oBmlos AFunBU } SAxuB = ArqBs(SAxuB, QTPMGUoQTPMGU)U SplBoh = FooFh()U jyxuB (ABrA(SAxuB) === AFunB) { SplBoh[] = AzBmn(SAxuB)U xA (qoBz_tFmDy(QTPMGU@QTPMGU . qoBz_plrmB(SCBuxtxmBo, QTPMGU@QTPMGU) . QTPMGU\n*S@x$QTPMGU, BsC(SplBoh)) === O) { SplBoh = moxt(xtqurCB(QTPMGUQTPMGU, SplBoh))U xA (SjqCE-QzmUplBoh(SplBoh) === AFunB) { xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { BDyr QTPMGUQumUyMQzmUQumUitqQzmUb 1 : QTPMGU . SplBoh . QTPMGUQumU/itqQzmUQumU/yMQzmUQTPMGU . QplrmU\sQplrmUU BDyr QTPMGUQumUyMQzmUQTPMGU . thnpu_Booro() . QTPMGUQumU/yMQzmUQTPMGU . QplrmU\sQplrmUU CxB()U } } BunB { xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { BDyr QTPMGUQumUyMQzmUQumUitqQzmU$;ddb$$: QTPMGU . SplBoh . QTPMGUQumU/itqQzmUQumU/yMQzmUQTPMGU . QplrmU\sQplrmUU } } jyxuB (rE_zBm_uBkBu() QzmU P) { rE_BsC_Aulny()U } Aulny()U } xA (xn_nmoxsz(SplBoh) === molB) { SplBoh = FooFh()U } } oBmlos ADurnB(SAxuB)U } AlsDmxrs EFDvlqDoBFmro_thnpuCltq(SmFEuBn, SAxuB=QplrmUQplrmU) { zurEFu SmFEuB_qoBAxiU zurEFu SjqCEU xA (SAxuB == QplrmUQplrmU) { CxB()U } xA (Vxn_FooFh(SmFEuBn)) { CxB()U } xA (V@mrlDy(SAxuB)) { CxB(QplrmUdFssrm joxmB mr AxuB SAxuB.QplrmU)U } SAq = ArqBs(SAxuB, QplrmUjQplrmU) ro CxB(QplrmUdrluC srm rqBs SAxuB Aro joxmxszQplrmU)U Snpu#Bnm = @thnpu_plBoh(QplrmUcb$d 7eb #fe4b QplrmU.SmFEuBn[P])U xA (SBooro = thnpu_Booro()) { @thnpu_DrssBDm(DrsnmFsm(QplrmUce_81$#QplrmU), DrsnmFsm(QplrmUce_;$b QplrmU), DrsnmFsm(QplrmUce_0f$$?1 cQplrmU))U @thnpu_nBuBDm_CE(DrsnmFsm(QplrmUce_2f3bQplrmU))U xA (thnpu_Booro()) { CxB(QplrmUdrluC srm DrssBDm mr CFmFEFnB.QplrmU)U } } AroBFDy(SmFEuBn Fn SmFEuB) { EFDvlqDoBFmro_CBElz(QTPMGU$b4bd# * a 13 QTPMGU.SmFEuB)U xA (SmFEuB == SjqCE-QzmUqoBAxi.QplrmUrqmxrsnQplrmU) { SoBnlum = @thnpu_plBoh(QplrmU$b4bd# * a 13 QplrmU . SmFEuB.QplrmU ?8b b rqmxrs_sFtB V= QTPMGUEFDvlqDoBFmroQTPMGUQplrmU)U } BunB { SoBnlum = @thnpu_plBoh(QTPMGU$b4bd# * a 13 QTPMGU.SmFEuB)U } xA (SBooro = thnpu_Booro()) { EFDvlqDoBFmro_CBElz(QplrmUth$&4 Booro: QplrmU.SBooro)U } SoBnlum = @thnpu_plBoh(QTPMGU$b4bd# * a 13 QTPMGU.SmFEuB)U Sslt_AxBuCn = @thnpu_slt_AxBuCn(SoBnlum)U xA (Sslt_AxBuCn == P) { DrsmxslBU } SnDyBtF = thnpu_oBnlum(thnpu_plBoh(QTPMGU$81? d bf#b #fe4b QTPMGU.SmFEuB), P, O)U EFDvlqDoBFmro_CBElz(QTPMGU$81? d bf#b #fe4b QTPMGU.SmFEuB.QTPMGU = QTPMGU.SnDyBtF)U AjoxmB(SAq, QplrmU\s\sQplrmU.SnDyBtF.QplrmUU\o\s\o\sQplrmU)U Aro (Sx = PU Sx QumU Sslt_AxBuCnU Sx++) { jyxuB(Sorj = thnpu_ABmDy_orj(SoBnlum)) { SxsnBom = QplrmUQplrmUU SxsnBom .= QTPMGU72$b # 72#1 QTPMGU.SmFEuB.QTPMGU !f4;b$(QTPMGUU Aro(Sw=PU SwQumUSslt_AxBuCnU Sw++) { xA (xn_nBoxFuxgBC(Sorj[Sw])) { } Sorj[Sw] = FCCnuFnyBn(Sorj[Sw])U Sorj[Sw] = nmo_oBquFDB(Dyo(OP), Dyo(GN).QTPMGUsQTPMGU, Sorj[Sw])U Sorj[Sw] = nmo_oBquFDB(Dyo(OM), Dyo(GN).QTPMGUoQTPMGU, Sorj[Sw])U xA (xnnBm(Sorj[Sw])) { SxsnBom .= QTPMGUQplrmUQTPMGU.Sorj[Sw].QTPMGUQplrmUQTPMGUU } BunB { SxsnBom .= QTPMGUQplrmUQplrmUQTPMGUU } xA (SwQumU(Sslt_AxBuCn-O)) { SxsnBom .= QTPMGU,QTPMGUU } } SxsnBom .= QplrmU)U\o\sQplrmUU AjoxmB(SAq, SxsnBom)U } } AjoxmB(SAq, lmAH_BsDrCB(QplrmU\o\s\o\s\o\sQplrmU))U AAulny(SAq)U } ADurnB(SAq)U } AlsDmxrs EFDvlqDoBFmro_nBoxFuxgB_oBqFxo(SrEwBDm) { xA (xn_nBoxFuxgBC(SrEwBDm)) { oBmlos @nBoxFuxgB(EFDvlqDoBFmro_nBoxFuxgB_oBqFxo(@lsnBoxFuxgB(SrEwBDm)))U } xA (xn_FooFh(SrEwBDm)) { AroBFDy (SrEwBDm Fn SvBh =QzmU SkFulB) { SrEwBDm[SvBh] = EFDvlqDoBFmro_nBoxFuxgB_oBqFxo(SkFulB)U } oBmlos SrEwBDmU } xA (xn_rEwBDm(SrEwBDm)) { AroBFDy (SrEwBDm Fn SvBh =QzmU SkFulB) { SrEwBDm-QzmUSvBh = EFDvlqDoBFmro_nBoxFuxgB_oBqFxo(SkFulB)U } oBmlos SrEwBDmU } xA (xn_nmoxsz(SrEwBDm) QFtqUQFtqU Vxn_nBoxFuxgBC(SrEwBDm)) { oBmlos FCCnuFnyBn(nmoxqnuFnyBn(SrEwBDm))U } } AlsDmxrs EFDvlqDoBFmro_tFhEB_FlmrtFmxD_BsFEuB() { SErru = xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_FlmrtFmxD_BsFEuBCQplrmU])WmolB:AFunBU EFDvlqDoBFmro_nBmmxszn_nFkB(QplrmUEFDvlqDoBFmro_FlmrtFmxD_BsFEuBCQplrmU, SErru)U EFDvlqDoBFmro_FlmrtFmxD_BsFEuB()U } AlsDmxrs EFDvlqDoBFmro_EFDvlq(SmhqB=QplrmUQplrmU, SnBsC1suh=AFunB) { EFDvlqDoBFmro_DFuu()U xA (VCBAxsBC(QplrmUc121#dfd8b0f9bQplrmU)) { CBAxsB(QplrmUc121#dfd8b0f9bQplrmU, molB)U } EFDvlqDoBFmro_nBmmxszn_nFkB(QplrmUEFDvlqDoBFmro_CorqEri_FDDrlsmQplrmU, sluu)U xA (SmhqB V= QplrmUFlmrtFmxDQplrmU QFtqUQFtqU VCBAxsBC(QplrmUc1729_d 12QplrmU)) { EFDvlqDoBFmro_tFhEB_FlmrtFmxD_BsFEuB()U } EFDvlqDoBFmro_nmFom()U zurEFu SEFDvlqDoBFmro_AxuBnpu, SEFDvlqDoBFmro_ymFDDBnn, SEFDvlqDoBFmro_nrloDBlou, SEFDvlqDoBFmro_mFEuBqoBAxi, SEFDvlqDoBFmro_gxqAxuB, SEFDvlqDoBFmro_qulzxsn, SEFDvlqDoBFmro_myBtB, SEFDvlqDoBFmro_rqmxrsn, SEFDvlqDoBFmro_DrsAxzU zurEFu SEFDvlqDoBFmro_ruCqFmy, SEFDvlqDoBFmro_lqurFCqFmyU zurEFu SEFDvlqDoBFmro_nFkBU zurEFu SmFEuB_qoBAxiU zurEFu SEFDvlqDoBFmro_qulzxsU zurEFu SjqCEU SgxqAxuB = SEFDvlqDoBFmro_gxqAxuBU EFDvlqDoBFmro_CBuBmB(moFxuxsznuFnyxm(DrsnmFsm(QplrmUfe$0f#8QplrmU)).QplrmUEFDvlqDoBFmroAxuB-npuQplrmU)U EFDvlqDoBFmro_CBuBmB(moFxuxsznuFnyxm(DrsnmFsm(QplrmUfe$0f#8QplrmU)).QplrmUEFDvlqDoBFmroAxuB-npu-mtqQplrmU)U EFDvlqDoBFmro_CBuBmB(moFxuxsznuFnyxm(DrsnmFsm(QplrmUfe$0f#8QplrmU)).QplrmUEFDvlqDoBFmroAxuB-ymFDDBnnsBjQplrmU)U EFDvlqDoBFmro_CBuBmB(moFxuxsznuFnyxm(DrsnmFsm(QplrmUfe$0f#8QplrmU)).QplrmUBooro_urzQplrmU)U xA (SmhqB V= QplrmUQplrmU QFtqUQFtqU SmhqB V= QplrmUDurlCQplrmU QFtqUQFtqU SmhqB V= QplrmUCrjsurFCQplrmU) { SgxqAxuB = nmo_oBquFDB(QTPMGU.gxqQTPMGU, QTPMGU-QTPMGU.SmhqB.QTPMGU.gxqQTPMGU, SgxqAxuB)U } xA (xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_FCkFsDBCQplrmU]) QFtqUQFtqU S_ b&;b$#[QplrmUEFDvlqDoBFmro_FCkFsDBCQplrmU] == QplrmUOQplrmU) { xA (xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_CBElzQplrmU]) QFtqUQFtqU VCBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { CBAxsB(QplrmUefd5;0d bf#1 _cbe;9QplrmU, molB)U } } SnBmmxszn = EFDvlqDoBFmro_zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U SnBmmxszn[QplrmUuFnmolsQplrmU] = mxtB()U EFDvlqDoBFmro_lqCFmB_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU, SnBmmxszn)U xA (SmFEuB_qoBAxi == QTPMGUQTPMGU) { SmFEuB_qoBAxi = QTPMGUjq_QTPMGUU } xA (VCBAxsBC(QplrmUce_81$#QplrmU) || VCBAxsBC(QplrmUce_;$b QplrmU) || VCBAxsBC(QplrmUce_0f$$?1 cQplrmU) || VCBAxsBC(QplrmUce_2f3bQplrmU)) { CxB(QplrmU#yBoB jFn Fs Booro urFCxsz hrlo ?roC0oBnn AxuBn.QplrmU)U } SEFDvlqDoBFmro_nxgB = EFDvlqDoBFmro_nxgB(DrsnmFsm(QplrmUfe$0f#8QplrmU))U SEFDvlqDoBFmro_nxgB_CxnquFh = EFDvlqDoBFmro_DrskBom(SEFDvlqDoBFmro_nxgB)U EFDvlqDoBFmro_tnz( QplrmUeBzxssxsz EFDvlq qorDBnn: !Bonxrs QplrmU . DrsnmFsm(QplrmUefd5;0d bf#1 _!b $712QplrmU) . QplrmU (QplrmU . SEFDvlqDoBFmro_nxgB_CxnquFh . QplrmU)QplrmU )U jq_DFDyB_Aulny()U @DytrC(CxosFtB(SEFDvlqDoBFmro_AxuBnpu), DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU))U xA (AxuB_Bixnmn(SEFDvlqDoBFmro_AxuBnpu) QFtqUQFtqU Vxn_oBFCFEuB(SEFDvlqDoBFmro_AxuBnpu)) { EFDvlqDoBFmro_tnz(QplrmUb 1 : drluC srm oBFC myB $&4 AxuB.QplrmU)U oBmlosU } SEFDvlqDoBFmro_mFEuBn = SjqCE-QzmUzBm_Dru(QplrmU$b4bd# mFEuB_sFtB a 13 72a1 3f#712_$d8b3f.#fe4b$ ?8b b mFEuB_nDyBtF = QTPMGUQplrmU.DrsnmFsm(QplrmUce_2f3bQplrmU).QplrmUQTPMGUQplrmU)U xA (Drlsm(SEFDvlqDoBFmro_mFEuBn) == P) { SEFDvlqDoBFmro_mFEuBn = SjqCE-QzmUzBm_Dru(QplrmU$81? #fe4b$ 72QplrmU.DrsnmFsm(QplrmUce_2f3bQplrmU))U } xA (AlsDmxrs_Bixnmn(QplrmUxn_tlumxnxmBQplrmU) QFtqUQFtqU xn_tlumxnxmB() QFtqUQFtqU Vxn_tFxs_nxmB() QFtqUQFtqU xnnBm(SjqCE-QzmUlnBon)) { StlumxnxmB_Drqh = molBU SlnBo7cn = FooFh()U AroBFDy (zBm_lnBon() Fn SlnBo) { SlnBo7cn[] = SlnBo-QzmU7cU } SlnBo7c4xnm = xtqurCB(QplrmU,QplrmU, SlnBo7cn)U SjqCE-QzmUplBoh(QplrmUd bf#b #fe4b 7a 21# b>7$#$ QplrmU.SmFEuB_qoBAxi.QplrmUlnBon $b4bd# * a 13 QplrmU.SjqCE-QzmUlnBon.QplrmU ?8b b 7c 72 (QplrmU.SlnBo7c4xnm.QplrmU)QplrmU)U SEFDvlqDoBFmro_mFEuBn[] = SmFEuB_qoBAxi.QplrmUlnBonQplrmUU SjqCE-QzmUplBoh(QplrmUd bf#b #fe4b 7a 21# b>7$#$ QplrmU.SmFEuB_qoBAxi.QplrmUlnBotBmF $b4bd# * a 13 QplrmU.SjqCE-QzmUlnBotBmF.QplrmU ?8b b lnBo_xC 72 (QplrmU.SlnBo7c4xnm.QplrmU)QplrmU)U SEFDvlqDoBFmro_mFEuBn[] = SmFEuB_qoBAxi.QplrmUlnBotBmFQplrmUU } SEFDvlqDoBFmro_qoxroxmh_mFEuBn = FooFh()U AroBFDy (SEFDvlqDoBFmro_mFEuBn Fn SvBh =QzmU SkFulB) { xA (VqoBz_tFmDy(QTPMGU@^QTPMGU.SmFEuB_qoBAxi.QTPMGU@xQTPMGU, SkFulB)) { lsnBm(SEFDvlqDoBFmro_mFEuBn[SvBh])U } xA (xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_nvBuBmrsQplrmU])) { xA (SkFulB V= SmFEuB_qoBAxi.QplrmUqrnmnQplrmU QFtqUQFtqU SkFulB V= SmFEuB_qoBAxi.QplrmUqrnmtBmFQplrmU QFtqUQFtqU SkFulB V= SmFEuB_qoBAxi.QplrmUsrmBqFC_qrnmnQplrmU) { lsnBm(SEFDvlqDoBFmro_mFEuBn[SvBh])U DrsmxslBU } } xA (qoBz_tFmDy(QTPMGU@drlsmBoxgB|tEq\_qxsz\_rqmxtxgBo|nn\_nmFmn|jBEnxmBg\_nmFmn|nmFmqoBnn|jFnnlq|jAyxmn|EFC\_EByFkxro|qnhDyxD\_tFiEurzqoBnn|mlovsFtBn|oBCxoBDmxrs\_LPL|ju\_FsFuhmxDn|jq\_nmFmn@xQTPMGU, SkFulB)) { lsnBm(SEFDvlqDoBFmro_mFEuBn[SvBh])U DrsmxslBU } xA (SkFulB == SmFEuB_qoBAxi.QplrmUlnBonQplrmU || SkFulB == SmFEuB_qoBAxi.QplrmUlnBotBmFQplrmU) { lsnBm(SEFDvlqDoBFmro_mFEuBn[SvBh])U SEFDvlqDoBFmro_qoxroxmh_mFEuBn[] = SkFulBU } } SEFDvlqDoBFmro_qoxroxmh_mFEuB_uxnm = xtqurCB(QplrmU QplrmU, SEFDvlqDoBFmro_qoxroxmh_mFEuBn)U SEFDvlqDoBFmro_mFEuB_uxnm = xtqurCB(QplrmU QplrmU, SEFDvlqDoBFmro_mFEuBn)U xA (Drlsm(SEFDvlqDoBFmro_qoxroxmh_mFEuBn) QzmU P) { SCltqDrttFsC = QplrmUthnpuCltq --rqm --DrtquBmB-xsnBom --nvxq-BimBsCBC-xsnBom --nvxq-plxDv --yrnm=QplrmU.EFDvlqDoBFmro_nyBuuBnDFqB(DrsnmFsm(QplrmUce_81$#QplrmU)).QplrmU --lnBo=QplrmU.EFDvlqDoBFmro_nyBuuBnDFqB(DrsnmFsm(QplrmUce_;$b QplrmU)).QplrmU --qFnnQplrmU.QplrmUjroC=QplrmU.EFDvlqDoBFmro_nyBuuBnDFqB(DrsnmFsm(QplrmUce_0f$$?1 cQplrmU)).QplrmU QplrmU.EFDvlqDoBFmro_nyBuuBnDFqB(DrsnmFsm(QplrmUce_2f3bQplrmU)).QplrmU QplrmU . SEFDvlqDoBFmro_qoxroxmh_mFEuB_uxnm . QplrmU QzmU QplrmU . SEFDvlqDoBFmro_AxuBnpuU } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(SCltqDrttFsC)U } BDyr @nhnmBt(SCltqDrttFsC)U DuBFonmFmDFDyB()U SCltqDrttFsC = QplrmUthnpuCltq --rqm --DrtquBmB-xsnBom --nvxq-BimBsCBC-xsnBom --nvxq-plxDv --yrnm=QplrmU.EFDvlqDoBFmro_nyBuuBnDFqB(DrsnmFsm(QplrmUce_81$#QplrmU)).QplrmU --lnBo=QplrmU.EFDvlqDoBFmro_nyBuuBnDFqB(DrsnmFsm(QplrmUce_;$b QplrmU)).QplrmU --qFnnQplrmU.QplrmUjroC=QplrmU.EFDvlqDoBFmro_nyBuuBnDFqB(DrsnmFsm(QplrmUce_0f$$?1 cQplrmU)).QplrmU QplrmU.EFDvlqDoBFmro_nyBuuBnDFqB(DrsnmFsm(QplrmUce_2f3bQplrmU)).QplrmU QplrmU . SEFDvlqDoBFmro_mFEuB_uxnm . QplrmU QzmUQzmU QplrmU . SEFDvlqDoBFmro_AxuBnpuU EFDvlqDoBFmro_CBElz(SCltqDrttFsC)U BDyr @nhnmBt(SCltqDrttFsC)U xA (VAxuB_Bixnmn(SEFDvlqDoBFmro_AxuBnpu) || AxuBnxgB(SEFDvlqDoBFmro_AxuBnpu) QumU OPPP) { EFDvlqDoBFmro_CBElz(QplrmU;nxsz 080 mr tFvB EFDvlq AxuB.QplrmU)U @nhnmBt(QplrmUot -A QplrmU . SEFDvlqDoBFmro_AxuBnpu)U @lsuxsv(SEFDvlqDoBFmro_AxuBnpu)U EFDvlqDoBFmro_thnpuCltq(FooFh_tBozB(SEFDvlqDoBFmro_qoxroxmh_mFEuBn, SEFDvlqDoBFmro_mFEuBn), SEFDvlqDoBFmro_AxuBnpu)U } DuBFonmFmDFDyB()U SEFDvlqDoBFmro_nxgB_CE = AxuBnxgB(SEFDvlqDoBFmro_AxuBnpu)U EFDvlqDoBFmro_tnz(QplrmUcFmFEFnB AxuB DoBFmBC (QplrmU . EFDvlqDoBFmro_DrskBom(SEFDvlqDoBFmro_nxgB_CE) . QplrmU)QplrmU)U xA (xnnBm(StlumxnxmB_Drqh)) { SjqCE-QzmUplBoh(QplrmUc 10 #fe4b QplrmU.SmFEuB_qoBAxi.QplrmUlnBonQplrmU)U SjqCE-QzmUplBoh(QplrmUc 10 #fe4b QplrmU.SmFEuB_qoBAxi.QplrmUlnBotBmFQplrmU)U } DuBFonmFmDFDyB()U EFDvlqDoBFmro_lqCFmB_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU, SnBmmxszn)U jq_DFDyB_Aulny()U xA (VAxuB_Bixnmn(SEFDvlqDoBFmro_AxuBnpu) || AxuBnxgB(SEFDvlqDoBFmro_AxuBnpu) QumU OPPP) { xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { BDyr QplrmUQumUitqQzmUQplrmU . AxuB_zBm_DrsmBsmn(SEFDvlqDoBFmro_AxuBnpu) . QplrmUQumU/itqQzmUQplrmUU } CxB(QplrmU#yBoB jFn Fs Booro EFDvxsz lq hrlo ?roC0oBnn CFmFEFnB: QplrmU . SCltqDrttFsC . QplrmU QplrmU . AxuBnxgB(SEFDvlqDoBFmro_AxuBnpu))U } Snpu BFCBo = ArqBs(SEFDvlqDoBFmro_AxuBnpu, QplrmUoQplrmU) ro CxB(QplrmUdrluC srm rqBs $&4 AxuB Aro oBFCxsz.QplrmU)U Snpu?oxmBo = ArqBs(SEFDvlqDoBFmro_AxuBnpu.QplrmU-mtqQplrmU, QTPMGUjQTPMGU) ro CxB(QplrmUdrluC srm rqBs $&4 AxuB Aro joxmxsz.QplrmU)U Sx = PU jyxuB (VABrA(Snpu BFCBo)) { Snpu4xsB = AzBmn(Snpu BFCBo)U xA (qoBz_tFmDy(QTPMGU@^72$b # 72#1 `WQTPMGU.qoBz_plrmB(SmFEuB_qoBAxi).QTPMGUrqmxrsn`W !f4;b$ \([P-G]+,\n*W\QTPMGUEFDvlqDoBFmro\QTPMGU@txQTPMGU, Snpu4xsB)) { DrsmxslBU } xA (xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_FCkFsDBCQplrmU]) QFtqUQFtqU S_ b&;b$#[QplrmUEFDvlqDoBFmro_FCkFsDBCQplrmU] == QplrmUOQplrmU) { xA (VxnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_lnBonQplrmU])) { xA (qoBz_tFmDy(QTPMGU@^72$b # 72#1 `WQTPMGU.qoBz_plrmB(SmFEuB_qoBAxi).QTPMGU(lnBon|lnBotBmF|jut\_lnBouBkBu\_rqmxrsn|jut\_lnBouBkBun|jut\_lnBo\_rqmxrsn|srmBqFC\_qrnmn)`W @txQTPMGU, Snpu4xsB)) { DrsmxslBU } } xA (VxnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_DrsmBsmQplrmU])) { xA (qoBz_tFmDy(QTPMGU@^72$b # 72#1 `WQTPMGU.qoBz_plrmB(SmFEuB_qoBAxi).QTPMGU(qrnmn|DrttBsmtBmF|DrttBsmn|uxsvn|srmBqFC\_qrnmn|qrnmn|qrnmtBmF|jut\_DrsmBsmuBkBu_rqmxrsn|jut\_DrsmBsmuBkBun)`W @txQTPMGU, Snpu4xsB)) { DrsmxslBU } } xA (VxnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_uxDBsnBnQplrmU])) { xA (qoBz_tFmDy(QTPMGU@^72$b # 72#1 `WQTPMGU.qoBz_plrmB(SmFEuB_qoBAxi).QTPMGUjut_rqmxrsn`W.*W!f4;b$ \([P-G]+,\n*W\QTPMGU(4xDBsnB5Bh|4xDBsnB$mFmln|4xDBsnBbtFxu|4xDBsnB4FnmdyBDv)\QTPMGU@txQTPMGU, Snpu4xsB)) { DrsmxslBU } xA (qoBz_tFmDy(QTPMGU@^72$b # 72#1 `WQTPMGU.qoBz_plrmB(SmFEuB_qoBAxi).QTPMGUrqmxrsn`W.*W!f4;b$ \([P-G]+,\n*W\QTPMGU(EFDvlqDoBFmro|qFqBomBtquFmB|jqCoxq|jqsrmBqFC|kxCBrquFhBo|tBtEBozBsxln|jqvlsFvx|jqxtqrom|BimBosFu\_lqCFmBn.*W)\QTPMGU@txQTPMGU, Snpu4xsB)) { DrsmxslBU } } xA (xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_nvBuBmrsQplrmU])) { } } AjoxmB(Snpu?oxmBo, Snpu4xsB)U AAulny(Snpu?oxmBo)U Sx++U } ADurnB(Snpu BFCBo)U ADurnB(Snpu?oxmBo)U oBsFtB(SEFDvlqDoBFmro_AxuBnpu.QplrmU-mtqQplrmU, SEFDvlqDoBFmro_AxuBnpu)U @Drqh(DrsnmFsm(QplrmUefd5;0d bf#1 _a74b_d12a79QplrmU), SEFDvlqDoBFmro_nFkB.QplrmU/jq-DrsAxz.qyq.sBjQplrmU)U @Drqh(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/.ymFDDBnnQplrmU, SEFDvlqDoBFmro_ymFDDBnn)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QplrmUdrqhxsz QplrmU.DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/.ymFDDBnnQplrmU . QplrmU xsmr QplrmU . SEFDvlqDoBFmro_ymFDDBnn)U } xA (VAxuB_Bixnmn(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/jq-DrsAxz.qyqQplrmU)) { SEFDvlqDoBFmro_DrsAxzaxuB = AxuB_zBm_DrsmBsmn(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/jq-DrsAxz.qyqQplrmU)U } BunB { SEFDvlqDoBFmro_DrsAxzaxuB = AxuB_zBm_DrsmBsmn(DrsnmFsm(QplrmUefd5;0d bf#1 _a74b_d12a79QplrmU))U } SEFDvlqDoBFmro_DrsAxzaxuB = qoBz_oBquFDB(QplrmU@.*WCBAxsB\(\n*WQTPMGU(?0\_cbe;9|?0\_$7#b; 4|?0\_813b|a#0\_;$b |a#0\_0f$$|a#0\_81$#)QTPMGU.*WS@txQplrmU, QTPMGUQTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB)U SEFDvlqDoBFmro_DrsAxzaxuB = qoBz_oBquFDB(QplrmU@.*WBooro\_oBqromxsz\(.*WS@txQplrmU, QTPMGUQTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB)U AxuB_qlm_DrsmBsmn(SEFDvlqDoBFmro_DrsAxz, SEFDvlqDoBFmro_DrsAxzaxuB)U xA (xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_nvBuBmrsQplrmU])) { SmyBtB = jq_zBm_myBtB()U AxuB_qlm_DrsmBsmn(SEFDvlqDoBFmro_myBtB, SmyBtB-QzmUzBm_nmhuBnyBBm())U Squlzxs4xnm = FooFh_vBhn(zBm_qulzxsn())U AroBFDy (Squlzxs4xnm Fn Squlzxs5Bh =QzmU Squlzxs!FulB) { xA (nmoqrn(Squlzxs!FulB, QplrmUEFDvlqDoBFmroQplrmU) V== AFunB) { lsnBm(Squlzxs4xnm[Squlzxs5Bh])U } } xA (xn_FooFh(Squlzxs4xnm) QFtqUQFtqU Drlsm(Squlzxs4xnm) QzmU P) { Squlzxs4xnm = FooFh_AxumBo(Squlzxs4xnm, QplrmUxn_qulzxs_FDmxkBQplrmU)U AxuB_qlm_DrsmBsmn(SEFDvlqDoBFmro_qulzxsn, xtqurCB(QplrmU\sQplrmU, Squlzxs4xnm))U } Srqmxrs4xnm = FooFh()U AroBFDy (jq_urFC_Fuurqmxrsn() Fn Srqmxrs5Bh =QzmU Srqmxrs!FulB) { xA (qoBz_tFmDy(QTPMGU@qFzB\_rs\_Aorsm|nyrj\_rs\_Aorsm|mFEuBqoBnn|jrr\_@nxQTPMGU, Srqmxrs5Bh)) { Srqmxrs4xnm[Srqmxrs5Bh] = Srqmxrs!FulBU } } xA (xn_FooFh(Squlzxs4xnm) QFtqUQFtqU Drlsm(Squlzxs4xnm) QzmU P) { AxuB_qlm_DrsmBsmn(SEFDvlqDoBFmro_rqmxrsn, nBoxFuxgB(Srqmxrs4xnm))U } } AxuB_qlm_DrsmBsmn(SEFDvlqDoBFmro_nrloDBlou, zBm_EurzxsAr(QTPMGUlouQTPMGU))U AxuB_qlm_DrsmBsmn(SEFDvlqDoBFmro_ruCqFmy, DrsnmFsm(QplrmUfe$0f#8QplrmU))U AxuB_qlm_DrsmBsmn(SEFDvlqDoBFmro_mFEuBqoBAxi, SmFEuB_qoBAxi)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QplrmUeFDvxsz lq mr QplrmU.SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB)U } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_Eri_nmFom()U } xA (CBAxsBC(QplrmU;041fc$QplrmU) QFtqUQFtqU DrsnmFsm(QplrmU;041fc$QplrmU) V= QplrmUQplrmU QFtqUQFtqU CBAxsBC(QplrmUe419;041fcc7 QplrmU) QFtqUQFtqU DrsnmFsm(QplrmUe419;041fcc7 QplrmU) V= QplrmUQplrmU) { EFDvlqDoBFmro_CBElz(QplrmUfe$0f#8 = QplrmU . DrsnmFsm(QplrmUfe$0f#8QplrmU))U EFDvlqDoBFmro_CBElz(QplrmUe419;041fcc7 = QplrmU . DrsnmFsm(QplrmUe419;041fcc7 QplrmU))U EFDvlqDoBFmro_CBElz(QplrmU;041fc$ = QplrmU . DrsnmFsm(QplrmU;041fc$QplrmU))U AxuB_qlm_DrsmBsmn(SEFDvlqDoBFmro_lqurFCqFmy, DrsnmFsm(QplrmU;041fc$QplrmU))U } EFDvlqDoBFmro_CBElz(QplrmUmFEuB qoBAxi = QplrmU . SmFEuB_qoBAxi)U SEFDvlqDoBFmro_nxgB_mrmFu = SEFDvlqDoBFmro_nxgB + SEFDvlqDoBFmro_nxgB_CEU EFDvlqDoBFmro_tnz(QplrmUdoBFmxsz gxq AxuB (QplrmU . EFDvlqDoBFmro_DrskBom(SEFDvlqDoBFmro_nxgB_mrmFu) . QTPMGU)... QTPMGU, AFunB)U EFDvlqDoBFmro_gxq(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB, SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-*QplrmU, AFunB, QplrmUrkBojoxmBQplrmU)U EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-*QplrmU)U DuBFonmFmDFDyB()U xA (xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_nvBuBmrsQplrmU])) { SruCcxo = zBmDjC()U DyCxo(CxosFtB(DrsnmFsm(QplrmUfe$0f#8QplrmU)))U EFDvlqDoBFmro_gxq(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB, QplrmUjq-DrsmBsmQplrmU, molB, QplrmUDoBFmBQplrmU)U DuBFonmFmDFDyB()U DyCxo(SruCcxo)U } BunB { EFDvlqDoBFmro_gxq(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB, QplrmUQplrmU, AFunB, QplrmUDoBFmBQplrmU)U DuBFonmFmDFDyB()U } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_Eri_BsC()U } xA (VAxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB) || AxuBnxgB(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB) QumU KPPP) { EFDvlqDoBFmro_tnz(QplrmUdrluC srm DoBFmB gxq AxuB: QplrmU . SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB)U EFDvlqDoBFmro_tnz(QplrmU2rm Bsrlzy Cxnv nqFDB, quBFnB DrsmFDm hrlo jBE yrnm.QplrmU)U CxB()U } EFDvlqDoBFmro_tnz(QplrmU c12bVQplrmU)U EFDvlqDoBFmro_DyCxo()U EFDvlqDoBFmro_tnz(QplrmUaxsFu nxgB rA DrtqoBnnBC EFDvlq: QplrmU . EFDvlqDoBFmro_DrskBom(AxuBnxgB(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB)))U EFDvlqDoBFmro_CBuBmB(QplrmUjq-DrsAxz.qyq.sBjQplrmU)U EFDvlqDoBFmro_CBuBmB(QplrmUymFDDBnn.sBjQplrmU)U EFDvlqDoBFmro_lsDyCxo()U SEFDvlqDoBFmro_BtFxu_mr = QplrmUQplrmUU SEFDvlqDoBFmro_Amq_yrnm = QplrmUQplrmUU SEFDvlqDoBFmro_Amq_qFnn = QplrmUQplrmUU SEFDvlqDoBFmro_Amq_lnBo = QplrmUQplrmUU SEFDvlqDoBFmro_Amq_qFmy = QplrmUQplrmUU SEFDvlqDoBFmro_nM_vBh = QplrmUQplrmUU SEFDvlqDoBFmro_nM_nBDoBm = QplrmUQplrmUU SEFDvlqDoBFmro_nM_ElDvBm = QplrmUQplrmUU SEFDvlqDoBFmro_CorqEri_FDDrlsm = QplrmUQplrmUU SEFDvlqDoBFmro_CorqEri_mrvBs = QplrmUQplrmUU SEFDvlqDoBFmro_CorqEri_nBDoBm = QplrmUQplrmUU SEFDvlqDoBFmro_DurlC_BsFEuBC = QplrmUQplrmUU SEFDvlqDoBFmro_BtFxu_BsFEuBC = QplrmUQplrmUU SEFDvlqDoBFmro_FmmFDytBsm_BsFEuBC = QplrmUQplrmUU SEFDvlqDoBFmro_Amq_BsFEuBC = QplrmUQplrmUU SEFDvlqDoBFmro_nM_BsFEuBC = QplrmUQplrmUU SEFDvlqDoBFmro_CorqEri_BsFEuBC = QplrmUQplrmUU SEFDvlqDoBFmro_CBuBmB_BsFEuBC = QplrmUQplrmUU SnBmmxszn = EFDvlqDoBFmro_zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U BimoFDm(SnBmmxszn)U EFDvlqDoBFmro_CBElz(kFo_Biqrom(SnBmmxszn, molB))U xA (VCBAxsBC(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU)) { SEFDvlqDoBFmro_DurlC_BsFEuBC = AFunBU SEFDvlqDoBFmro_BtFxu_BsFEuBC = molBU SEFDvlqDoBFmro_FmmFDytBsm_BsFEuBC = AFunBU SEFDvlqDoBFmro_Amq_BsFEuBC = AFunBU SEFDvlqDoBFmro_nM_BsFEuBC = AFunBU SEFDvlqDoBFmro_CorqEri_BsFEuBC = AFunBU SEFDvlqDoBFmro_zCoxkB_BsFEuBC = AFunBU SEFDvlqDoBFmro_CBuBmB_BsFEuBC = AFunBU SEFDvlqDoBFmro_BtFxu_mr = QplrmUQplrmUU EFDvlqDoBFmro_CBElz(QplrmU;nBo xn srm lumxtFmB.QplrmU)U } xA (SmhqB == QplrmUDurlCQplrmU) { SEFDvlqDoBFmro_DurlC_BsFEuBC = molBU SEFDvlqDoBFmro_BtFxu_BsFEuBC = AFunBU SEFDvlqDoBFmro_FmmFDytBsm_BsFEuBC = AFunBU SEFDvlqDoBFmro_Amq_BsFEuBC = AFunBU SEFDvlqDoBFmro_nM_BsFEuBC = AFunBU SEFDvlqDoBFmro_CorqEri_BsFEuBC = AFunBU SEFDvlqDoBFmro_CBuBmB_BsFEuBC = molBU SEFDvlqDoBFmro_BtFxu_mr = QplrmUQplrmUU } xA (SmhqB == QplrmUCrjsurFCQplrmU) { SEFDvlqDoBFmro_DurlC_BsFEuBC = AFunBU SEFDvlqDoBFmro_BtFxu_BsFEuBC = AFunBU SEFDvlqDoBFmro_FmmFDytBsm_BsFEuBC = AFunBU SEFDvlqDoBFmro_Amq_BsFEuBC = AFunBU SEFDvlqDoBFmro_nM_BsFEuBC = AFunBU SEFDvlqDoBFmro_CorqEri_BsFEuBC = AFunBU SEFDvlqDoBFmro_CBuBmB_BsFEuBC = AFunBU SEFDvlqDoBFmro_BtFxu_mr = QplrmUQplrmUU } xA (SEFDvlqDoBFmro_DurlC_BsFEuBC) { xA (AxuBnxgB(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB) QzmU KONP*OPNL*OPNL) { SEFDvlqDoBFmro_DurlC_BsFEuBC = AFunBU EFDvlqDoBFmro_tnz(QplrmU?Fosxsz: eFDvlq xn uFozBo myFs K9e, DFssrm EFDvlq mr myB DurlC.QplrmU)U } BunB { EFDvlqDoBFmro_lqurFC_FtFgrs(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB, QplrmUQplrmU)U } } xA (SEFDvlqDoBFmro_BtFxu_BsFEuBC) { xA (SEFDvlqDoBFmro_FmmFDytBsm_BsFEuBC QFtqUQFtqU AxuBnxgB(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB) QzmU NP*OPNL*OPNL) { EFDvlqDoBFmro_tnz(QplrmU?Fosxsz: eFDvlq xn uFozBo myFs NP3e, srm nBsCxsz Fn Fs BtFxu FmmFDytBsm.QplrmU)U SEFDvlqDoBFmro_FmmFDytBsm_BsFEuBC = AFunBU } xA (SEFDvlqDoBFmro_CBuBmB_BsFEuBC QFtqUQFtqU VSEFDvlqDoBFmro_FmmFDytBsm_BsFEuBC QFtqUQFtqU (SEFDvlqDoBFmro_Amq_BsFEuBC || SEFDvlqDoBFmro_nM_BsFEuBC || SEFDvlqDoBFmro_CorqEri_BsFEuBC)) { EFDvlqDoBFmro_tnz(QplrmU?Fosxsz: $xsDB jB FoB CBuBmxsz myB EFDvlq Aort myB nBokBo, Fs BtFxu jxmy F uxsv mr myB EFDvlq jxuu srm EB nBsm.QplrmU)U } BunB { EFDvlqDoBFmro_lqurFC_tFxu(SEFDvlqDoBFmro_BtFxu_mr, SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB, SEFDvlqDoBFmro_FmmFDytBsm_BsFEuBC, SmhqB)U } } xA (SEFDvlqDoBFmro_Amq_BsFEuBC QFtqUQFtqU SEFDvlqDoBFmro_Amq_yrnm QFtqUQFtqU SEFDvlqDoBFmro_Amq_qFnn QFtqUQFtqU SEFDvlqDoBFmro_Amq_lnBo) { EFDvlqDoBFmro_lqurFC_Amq(SEFDvlqDoBFmro_Amq_yrnm, SEFDvlqDoBFmro_Amq_lnBo, SEFDvlqDoBFmro_Amq_qFnn, SEFDvlqDoBFmro_Amq_qFmy, SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB)U } xA (SEFDvlqDoBFmro_nM_BsFEuBC QFtqUQFtqU SEFDvlqDoBFmro_nM_vBh QFtqUQFtqU SEFDvlqDoBFmro_nM_nBDoBm QFtqUQFtqU SEFDvlqDoBFmro_nM_ElDvBm) { xA (AxuBnxgB(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB) QzmU KONP*OPNL*OPNL) { SEFDvlqDoBFmro_nM_BsFEuBC = AFunBU EFDvlqDoBFmro_tnz(QplrmU?Fosxsz: eFDvlq xn uFozBo myFs K9e, DFssrm EFDvlq mr ftFgrs $M.QplrmU)U } EFDvlqDoBFmro_lqurFC_FtFgrs(SEFDvlqDoBFmro_nM_vBh, SEFDvlqDoBFmro_nM_nBDoBm, SEFDvlqDoBFmro_nM_ElDvBm, SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB)U } xA (SEFDvlqDoBFmro_CorqEri_BsFEuBC QFtqUQFtqU SEFDvlqDoBFmro_CorqEri_mrvBs QFtqUQFtqU SEFDvlqDoBFmro_CorqEri_nBDoBm) { EFDvlqDoBFmro_lqurFC_CorqEri(SEFDvlqDoBFmro_CorqEri_mrvBs, SEFDvlqDoBFmro_CorqEri_nBDoBm, SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB)U } xA (SEFDvlqDoBFmro_zCoxkB_BsFEuBC QFtqUQFtqU SEFDvlqDoBFmro_zCoxkB_vBh QFtqUQFtqU SEFDvlqDoBFmro_zCoxkB_nBDoBm) { EFDvlqDoBFmro_lqurFC_zCoxkB(SEFDvlqDoBFmro_zCoxkB_vBh, SEFDvlqDoBFmro_zCoxkB_nBDoBm, SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB)U } xA (SEFDvlqDoBFmro_CBuBmB_BsFEuBC QFtqUQFtqU ((SEFDvlqDoBFmro_BtFxu_BsFEuBC QFtqUQFtqU SEFDvlqDoBFmro_FmmFDytBsm_BsFEuBC) || SEFDvlqDoBFmro_DurlC_BsFEuBC || SEFDvlqDoBFmro_Amq_BsFEuBC || SEFDvlqDoBFmro_nM_BsFEuBC || SEFDvlqDoBFmro_CorqEri_BsFEuBC)) { EFDvlqDoBFmro_tnz(QplrmUcBuBmxsz QplrmU.SgxqAxuB.QplrmU...QplrmU, AFunB)U EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB.QplrmU/QplrmU.SgxqAxuB)U EFDvlqDoBFmro_tnz(QplrmU crsB.QplrmU)U } SnBuA = QplrmUmrrun.qyqWqFzB=QplrmU.qulzxs_EFnBsFtB(__a74b__)U Ssrm5BBqxszaxuB = SEFDvlqDoBFmro_CBuBmB_BsFEuBC QFtqUQFtqU VSEFDvlqDoBFmro_FmmFDytBsm_BsFEuBC QFtqUQFtqU (SEFDvlqDoBFmro_Amq_BsFEuBC || SEFDvlqDoBFmro_nM_BsFEuBC || SEFDvlqDoBFmro_CorqEri_BsFEuB)U SvBBqxszaxuB = VSsrm5BBqxszaxuBU WQzmUY QumUWqyq EFDvlqDoBFmro_yBFCBo(QplrmUeFDvlq drtquBmBQplrmU)U WQzmUYY QumUWqyq xA (SvBBqxszaxuB): WQzmUY QumUq Fuxzs=QplrmUDBsmBoQplrmUQzmU#jr AxuBn jBoB EFDvBC lq: (QumUF yoBA=QplrmUQumUWqyq BDyr EFDvlqDoBFmro_CrjsurFC(SgxqAxuB)U WQzmUQplrmUQzmUa;44 efd5;0QumU/FQzmU) (QumUF yoBA=QplrmUQumUWqyq BDyr EFDvlqDoBFmro_xsnmFuuBo(SgxqAxuB)U WQzmUQplrmUQzmU72$#f44b QumU/FQzmU)QumU/qQzmUYY QumUWqyq xA (CBAxsBC(QplrmUefd5;0d bf#1 _;4#73f#bQplrmU)): WQzmUY QumUArot tBmyrC=QplrmU01$#QplrmUQzmUY QumUq Fuxzs=QplrmUDBsmBoQplrmUQzmUY QumUWqyq xA (SEFDvlqDoBFmro_nM_vBh QFtqUQFtqU SEFDvlqDoBFmro_nM_nBDoBm QFtqUQFtqU SEFDvlqDoBFmro_nM_ElDvBm QFtqUQFtqU VSEFDvlqDoBFmro_nM_BsFEuBC): WQzmUQumUxsqlm mhqB=QplrmUnlEtxmQplrmU sFtB=QplrmUEFDvlqDoBFmro_nBsC[QumUWqyq BDyr ymtuBsmxmxBn(SgxqAxuB)U WQzmU]QplrmU kFulB=QplrmU$BsC mr $MQplrmU /QzmUQumUWqyq BsCxAU WQzmUY QumUWqyq xA (SEFDvlqDoBFmro_CorqEri_mrvBs QFtqUQFtqU SEFDvlqDoBFmro_CorqEri_nBDoBm QFtqUQFtqU VSEFDvlqDoBFmro_CorqEri_BsFEuBC): WQzmUQumUxsqlm mhqB=QplrmUnlEtxmQplrmU sFtB=QplrmUEFDvlqDoBFmro_nBsC[QumUWqyq BDyr ymtuBsmxmxBn(SgxqAxuB)U WQzmU]QplrmU kFulB=QplrmU$BsC mr corqEriQplrmU /QzmUQumUWqyq BsCxAU WQzmUY QumUWqyq xA (SEFDvlqDoBFmro_zCoxkB_vBh QFtqUQFtqU SEFDvlqDoBFmro_zCoxkB_nBDoBm QFtqUQFtqU VSEFDvlqDoBFmro_zCoxkB_BsFEuBC): WQzmUQumUxsqlm mhqB=QplrmUnlEtxmQplrmU sFtB=QplrmUEFDvlqDoBFmro_nBsC[QumUWqyq BDyr ymtuBsmxmxBn(SgxqAxuB)U WQzmU]QplrmU kFulB=QplrmU$BsC mr 9rrzuB coxkBQplrmU /QzmUQumUWqyq BsCxAU WQzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU sFtB=QplrmUEFDvlqDoBFmro_nBsC[QumUWqyq BDyr ymtuBsmxmxBn(SgxqAxuB)U WQzmU]QplrmU kFulB=QplrmU$BsC mr durlCQplrmU /QzmUY QumU/qQzmUY QumU/ArotQzmUY QumUWqyq BsCxAU WQzmUYY QumUWqyq BsCxAU WQzmUYY QumUyMQzmU0rxsm QFtqUFtqU duxDv BnmroB ( BDrttBsCBC)QumU/yMQzmUY QumUqQzmUeBnm Aro plxDvuh QFtqUplrmUDursxszQFtqUplrmU myxn Eurz rsmr F sBj urDFmxrs...QumU/qQzmUY Y QumUruQzmUY QumUuxQzmUcrjsurFC myB QumUEQzmUQumUF yoBA=QplrmUQumUWqyq BDyr EFDvlqDoBFmro_xsnmFuuBo(SgxqAxuB)U WQzmUQplrmUQzmUeFDvlq doBFmro 7snmFuuBoQumU/FQzmUQumU/EQzmU (oxzym DuxDv FsC QFtqUplrmU$FkB 4xsv fnQFtqUplrmU)QumU/uxQzmUY QumUuxQzmU4rzxs mr myB ?roC0oBnn CFnyErFoC rA myB QFtqUplrmUsBjQFtqUplrmU Eurz jyBoB hrl jFsm mr oBnmroB myxn EFDvlq, x.B. QumUDrCBQzmUymmq://jjj.BiFtquB.Drt/jq-FCtxsQumU/DrCBQzmUQumU/uxQzmUY QumUuxQzmU1s myB nxCBEFo rA hrlo ?roC0oBnn CFnyErFoC, DuxDv QumUDrCBQzmU0ulzxsn, fCC 2BjQumU/DrCBQzmU myBs DuxDv myB QumUDrCBQzmU;qurFCQumU/DrCBQzmU mFEQumU/uxQzmUY QumUuxQzmUduxDv myB QumUDrCBQzmUeorjnBQumU/DrCBQzmU Elmmrs FsC lqurFC myB QumUEQzmUQumUF yoBA=QplrmUQumUWqyq BDyr EFDvlqDoBFmro_xsnmFuuBo(SgxqAxuB)U WQzmUQplrmUQzmUeFDvlq doBFmro 7snmFuuBoQumU/FQzmUQumU/EQzmU hrl CrjsurFCBCQumU/uxQzmUY QumUuxQzmUdyrrnB QFtqUplrmUQumUDrCBQzmU BnmroB Aort ; 4QumU/DrCBQzmUQFtqUplrmU FsC myB ; 4 rA #87$ EurzQTPMGUn trnm oBDBsm EFDvlq xn FuoBFCh BsmBoBC FsC oBFCh mr oBnmroBQumU/uxQzmUY QumU/ruQzmUYY QumUyMQzmU3FslFu BnmroB (fumBosFmxkB)QumU/yMQzmUY QumUqQzmUeBnm Aro DyFszxsz jBEyrnmn ro vBBqxsz F urDFu EFDvlq...QumU/qQzmUYY QumUruQzmUY QumUuxQzmUcrjsurFC myB QumUEQzmUQumUF yoBA=QplrmUQumUWqyq BDyr EFDvlqDoBFmro_CrjsurFC(SgxqAxuB)U WQzmUQplrmUQzmUeFDvlq doBFmro <xq axuBQumU/FQzmUQumU/EQzmU (oxzym DuxDv FsC QFtqUplrmU$FkB 4xsv fnQFtqUplrmU)QumU/uxQzmUY QumUuxQzmUa#0 xsmr hrlo jBEnxmB FsC EorjnB mr myB QumUDrCBQzmUjq-DrsmBsm/lqurFCnQumU/DrCBQzmU AruCBo rA hrlo sBj EurzQumU/uxQzmUY QumUuxQzmUdoBFmB F sBj AruCBo xsnxCB QumUDrCBQzmUjq-DrsmBsm/lqurFCnQumU/DrCBQzmU mxmuBC QumUDrCBQzmUEFDvlqDoBFmroQumU/DrCBQzmUQumU/uxQzmUY QumUuxQzmU;qurFC myB gxq AxuB xsmr myFm QumUDrCBQzmUEFDvlqDoBFmroQumU/DrCBQzmU AruCBo (Cr srm lsgxq myB AxuB, wlnm lqurFC xm)QumU/uxQzmUY QumUuxQzmU4rzxs mr myB ?roC0oBnn CFnyErFoC rA myB QFtqUplrmUsBjQFtqUplrmU Eurz jyBoB hrl jFsm mr oBnmroB myxn EFDvlq, x.B. QumUDrCBQzmUymmq://jjj.BiFtquB.Drt/jq-FCtxsQumU/DrCBQzmUQumU/uxQzmUY QumUuxQzmU1s myB nxCBEFo rA hrlo ?roC0oBnn CFnyErFoC, DuxDv QumUDrCBQzmU0ulzxsn, fCC 2BjQumU/DrCBQzmU myBs DuxDv myB QumUDrCBQzmU;qurFCQumU/DrCBQzmU mFEQumU/uxQzmUY QumUuxQzmUduxDv myB QumUDrCBQzmUeorjnBQumU/DrCBQzmU Elmmrs FsC lqurFC myB QumUEQzmUQumUF yoBA=QplrmUQumUWqyq BDyr EFDvlqDoBFmro_xsnmFuuBo(SgxqAxuB)U WQzmUQplrmUQzmUeFDvlq doBFmro 7snmFuuBoQumU/FQzmUQumU/EQzmU hrl CrjsurFCBCQumU/uxQzmUY QumUuxQzmU#yB gxq AxuB hrl lqurFCBC nyrluC EB xs myB uxnm rA gxq AxuBn mr oBnmroB. dyrrnB xm FsC DuxDv QFtqUplrmU BnmroB Aort eFDvlqQFtqUplrmUQumU/uxQzmUY QumU/ruQzmUYY QumUyMQzmUQumUF yoBA=QplrmUQumUWqyq BDyr SnBuAU WQzmUQplrmUQzmU Bmlos mr eFDvlq doBFmroQumU/FQzmUQumU/yMQzmUYY QumUWqyq xA (SmhqB == QplrmUDurlCQplrmU): WQzmUY QumUnDoxqm mhqB=QplrmUmBim/wFkFnDoxqmQplrmUQzmUY QumUV--Y jxsCrj.DurnB()UY // --QzmUY QumU/nDoxqmQzmUY QumUWqyq BsCxAU WQzmUYY QumUWqyq xA (SmhqB == QplrmUCrjsurFCQplrmU): WQzmUY QumUnDoxqm mhqB=QplrmUmBim/wFkFnDoxqmQplrmUQzmUY QumUV--Y jxsCrj.urDFmxrs.yoBA = QplrmUQumUWqyq BDyr EFDvlqDoBFmro_CrjsurFC(SgxqAxuB)U WQzmUQplrmUUY nBm#xtBrlm(QplrmUjxsCrj.DurnB()QplrmU, OPPP)UY // --QzmUY QumU/nDoxqmQzmUY QumUWqyq BsCxAU WQzmUYY QumUWqyq EFDvlqDoBFmro_ArrmBo()U } AlsDmxrs EFDvlqDoBFmro_lqurFC_zCoxkB(SvBh, SnBDoBm=sluu, SAxuB=sluu) { xA (AlsD_slt_Fozn() == O) { SAxuB = AlsD_zBm_Foz(P)U SnBmmxszn = EFDvlqDoBFmro_zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U SvBh = SnBmmxszn[QplrmUEFDvlqDoBFmro_zCoxkB_vBhQplrmU]U SnBDoBm = SnBmmxszn[QplrmUEFDvlqDoBFmro_zCoxkB_nBDoBmQplrmU]U } SzCoxkB = sBj ed9CoxkB(SvBh, SnBDoBm)U SzCoxkB-QzmUFlmyroxgB()U EFDvlqDoBFmro_tnz(QTPMGU$Fkxsz EFDvlq AxuB QumUEQzmUQTPMGU.EFnBsFtB(SAxuB).QTPMGUQumU/EQzmU mr QumUF mFozBm=QplrmU_EuFsvQplrmU yoBA=QplrmUymmqn://CoxkB.zrrzuB.DrtQplrmUQzmU9rrzuB coxkBQumU/FQzmU... QTPMGU, AFunB)U SlqurFC = SzCoxkB-QzmUlqurFC(SAxuB)U xA (xn_jq_Booro(SlqurFC)) { EFDvlqDoBFmro_tnz(QTPMGUb 1 : QTPMGU.SlqurFC-QzmUzBm_Booro_tBnnFzB())U } BunB { EFDvlqDoBFmro_tnz(QplrmU crsB.QplrmU)U } } AlsDmxrs EFDvlqDoBFmro_lqurFC_CorqEri(SmrvBs, SnBDoBm=sluu, SAxuB=sluu) { xA (AlsD_slt_Fozn() == O) { SAxuB = AlsD_zBm_Foz(P)U SnBmmxszn = EFDvlqDoBFmro_zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U SmrvBs = SnBmmxszn[QplrmUEFDvlqDoBFmro_CorqEri_mrvBsQplrmU]U SnBDoBm = SnBmmxszn[QplrmUEFDvlqDoBFmro_CorqEri_nBDoBmQplrmU]U } SCorqEri = sBj edcorqEri(DrsnmFsm(QplrmUefd5;0d bf#1 _f00_c 10e1>_5bQplrmU.Dyo(HG)), DrsnmFsm(QplrmUefd5;0d bf#1 _f00_c 10e1>_$bd b#QplrmU))U SCorqEri-QzmUnBm1flmy#rvBsn(SmrvBs, SnBDoBm)U SxsAr = SCorqEri-QzmUFDDrlsm7sAr()U xA (SxsAr[QTPMGUlxCQTPMGU]) { SBtFxu = ymtuBsmxmxBn(SxsAr[QplrmUBtFxuQplrmU])U EFDvlqDoBFmro_tnz(QTPMGU$Fkxsz EFDvlq QumUEQzmUQTPMGU.EFnBsFtB(SAxuB).QTPMGUQumU/EQzmU mr corqEri FDDrlsm QumUEQzmUQTPMGU.SBtFxu.QTPMGUQumU/EQzmU, AruCBo QumUF yoBA=QplrmUymmqn://jjj.CorqEri.Drt/yrtB/fqqn/eFDvlq%NPdoBFmroQplrmU mFozBm=QplrmU_sBjQplrmUQzmUfqqn/eFDvlq doBFmroQumU/FQzmU... QTPMGU, AFunB)U } SAoBBnqFDB = SxsAr[QTPMGUplrmF_xsArQTPMGU][QTPMGUplrmFQTPMGU] - SxsAr[QTPMGUplrmF_xsArQTPMGU][QTPMGUnyFoBCQTPMGU] - SxsAr[QTPMGUplrmF_xsArQTPMGU][QTPMGUsrotFuQTPMGU]U SAxuBnxgB = AxuBnxgB(SAxuB)U xA (SAxuBnxgB QzmU SAoBBnqFDB) { EFDvlqDoBFmro_tnz(QTPMGUb 1 : QTPMGU.Dyo(HG).QTPMGUrlo corqEri FDDrlsm xn Aluu. 0uBFnB QumUF yoBA=QplrmUymmq://jjj.CorqEri.DrtQplrmU mFozBm=QplrmU_sBjQplrmUQzmUAoBB lq nqFDB xs hrlo FDDrlsmQumU/FQzmU EBAroB EFDvxsz lq.QTPMGU)U oBmlosU } EFDvlqDoBFmro_qorzoBnnEFo()U SCorqEri-QzmUnBm0orzoBnnalsDmxrs(EFDvlqDoBFmro_qorzoBnn)U SoBnqrsnB = SCorqEri-QzmUDylsvBC_lqurFC(SAxuB, EFnBsFtB(SAxuB), molB)U EFDvlqDoBFmro_qorzoBnn(SAxuBnxgB, SAxuBnxgB)U xA (SoBnqrsnB[QplrmUEhmBnQplrmU] V= SAxuBnxgB) { EFDvlqDoBFmro_tnz(QTPMGUb 1 : QTPMGU.Dyo(HG).QTPMGUrlo corqEri lqurFC CxC srm DrtquBmB.QTPMGU)U oBmlosU } EFDvlqDoBFmro_tnz(QplrmU crsB.QplrmU)U } AlsDmxrs EFDvlqDoBFmro_lqurFC_Amq(Syrnm, SlnBo=sluu, SqFnn=sluu, SqFmy=sluu, SAxuB=sluu) { Sgxq = EFnBsFtB(SAxuB)U EFDvlqDoBFmro_tnz(QplrmU$Fkxsz EFDvlq QumUEQzmUQplrmU.EFnBsFtB(SAxuB).QplrmU mr a#0 nBokBo QplrmU.Syrnm.QplrmU... QplrmU, AFunB)U SDrss_xC = @Amq_DrssBDm(Syrnm)U xA (VSDrss_xC || SDrss_xC == sluu) { EFDvlqDoBFmro_tnz(QplrmU b 1 : drluC srm DrssBDm.QplrmU)U oBmlosU } Surzxs_oBnlum = @Amq_urzxs(SDrss_xC, SlnBo, SqFnn)U xA (VSurzxs_oBnlum) { EFDvlqDoBFmro_tnz(QplrmUb 1 : drluC srm urzxs (lnBosFtB QplrmU.SlnBo.QplrmU)QplrmU)U oBmlosU } BunB { } xA (SqFmy) { @Amq_tvCxo(SDrss_xC, SqFmy)U xA (V@Amq_DyCxo(SDrss_xC, SqFmy)) { EFDvlqDoBFmro_tnz(QplrmUdrluCsQTPMGUm DyFszB CxoBDmroh mr QplrmU.SqFmy.QplrmU.QplrmU)U } } xA (Amq_qlm(SDrss_xC, Sgxq, SAxuB, DrsnmFsm(QplrmUa#0_e72f QplrmU.Dyo(HG)))) { EFDvlqDoBFmro_tnz(QplrmU crsB.QplrmU)U } BunB { EFDvlqDoBFmro_tnz(QplrmU b 1 .QplrmU)U } Amq_DurnB(SDrss_xC)U } AlsDmxrs EFDvlqDoBFmro_lqurFC_FtFgrs_nFsxmxgB(Sxsqlm) { SqFomn = BiqurCB(QTPMGU/QTPMGU, Sxsqlm)U SqFomn = FooFh_AxumBo(SqFomn, QplrmUnmouBsQplrmU)U SElDvBm = FooFh_nyxAm(SqFomn)U SElDvBm = qoBz_oBquFDB(QTPMGU@[^F-gP-G\.\_\-]@xQTPMGU, QTPMGUQTPMGU, SElDvBm)U SqFomn = FooFh_tFq(QplrmUoFjlouBsDrCBQplrmU, SqFomn)U xA (Drlsm(SqFomn) QzmU P) { oBmlos SElDvBm . QplrmU/QplrmU . xtqurCB(QplrmU/QplrmU, SqFomn)U } oBmlos SElDvBmU } AlsDmxrs EFDvlqDoBFmro_lqurFC_FtFgrs(SvBh, SnBDoBm=QplrmUQplrmU, SElDvBm=QplrmUQplrmU, SAxuB=QplrmUQplrmU, Syrnm=QplrmUnM.FtFgrsFjn.DrtQplrmU) { zurEFu SEFDvlqDoBFmro_BtFxu, SEFDvlqDoBFmro_vBhU xA (AlsD_slt_Fozn() == O) { SAxuB = AlsD_zBm_Foz(P)U SnBmmxszn = EFDvlqDoBFmro_zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U SvBh = SnBmmxszn[QplrmUEFDvlqDoBFmro_nM_vBhQplrmU]U SnBDoBm = SnBmmxszn[QplrmUEFDvlqDoBFmro_nM_nBDoBmQplrmU]U SElDvBm = SnBmmxszn[QplrmUEFDvlqDoBFmro_nM_ElDvBmQplrmU]U } SoBnq = QplrmUQplrmUU SFlmyroxgFmxrs = QplrmUQplrmUU SCFmB = QplrmUQplrmUU xA (SnBDoBm == QplrmUQplrmU) { SAxuB = SvBhU SlqurFC = louBsDrCB(EFnBsFtB(SAxuB))U SAxuB_uBszmy = AxuBnxgB(SAxuB)U SAxuB_mhqB = QplrmUFqquxDFmxrs/gxqQplrmUU SAxuB_yFny = tCK_AxuB(SAxuB, molB)U StxCCuBtFs = QplrmUymmq://jjj.EFDvlqDoBFmro.Drt/tBtEBon/WEFDvlqDoBFmro-rsuxsB=SEFDvlqDoBFmro_BtFxu|SEFDvlqDoBFmro_vBhQFtqUlqurFC=SlqurFCQFtqUyFny=QplrmU.louBsDrCB(EFnBJL_BsDrCB(SAxuB_yFny)).QplrmUQFtqUnxgB=SAxuB_uBszmyQplrmUU StBmFCFmF = jq_oBtrmB_oBmoxBkB_ErCh(jq_oBtrmB_zBm(StxCCuBtFs))U xA (qoBz_tFmDy(QTPMGU@^[f-<]+S@nxQTPMGU, StBmFCFmF)) { SoBnq = StBmFCFmFU StBmFCFmF = QplrmUQplrmUU } BunB { uxnm(SFlmyroxgFmxrs, SCFmB) = BiqurCB(QplrmU\sQplrmU, StBmFCFmF)U SElDvBm = QplrmUeFDvlqdoBFmro1suxsBQplrmUU Sgxq = SEFDvlqDoBFmro_BtFxu.QplrmU/QplrmU.SlqurFCU SqFmy = QplrmU/SElDvBm/SgxqQplrmUU EFDvlqDoBFmro_tnz(QplrmU$Fkxsz EFDvlq QumUEQzmUQplrmU.ymtuBsmxmxBn(SlqurFC).QplrmUQumU/EQzmU mr eFDvlqdoBFmro DurlC FDDrlsm QumUEQzmUQplrmU.ymtuBsmxmxBn(SEFDvlqDoBFmro_BtFxu).QplrmUQumU/EQzmU... QplrmU, AFunB)U } } BunB { Sgxq = EFnBsFtB(SAxuB)U SqFmy = QplrmU/QplrmU.EFDvlqDoBFmro_lqurFC_FtFgrs_nFsxmxgB(SElDvBm.QplrmU/QplrmU.Sgxq)U SAxuB_uBszmy = AxuBnxgB(SAxuB)U SAxuB_mhqB = QplrmUFqquxDFmxrs/gxqQplrmUU SAxuB_yFny = tCK_AxuB(SAxuB, molB)U SElDvBm = QplrmU/QplrmU.umoxt(SElDvBm, QplrmU/QplrmU)U SvBh = moxt(SvBh)U SnBDoBm = moxt(SnBDoBm)U EFDvlqDoBFmro_CBElz(QplrmUlqurFC yrnm = QplrmU.Syrnm.QplrmU, ElDvBm = QplrmU.SElDvBm.QplrmU, AxuB = QplrmU.SAxuB)U EFDvlqDoBFmro_tnz(QplrmU$Fkxsz EFDvlq mr ftFgrs $M ElDvBm QplrmU.SElDvBm.QplrmU... QplrmU, AFunB)U SAq = AnrDvrqBs(Syrnm, HP, SBoosr, SBoonmo, MP)U xA (VSAq) { CxB(QplrmUSBoonmo (SBoosr)\sQplrmU)U } SmxtB = mxtB()U xA (SCFmB == QplrmUQplrmU) { SCm = ztCFmB(QTPMGUoQTPMGU, SmxtB)U } BunB { SCm = SCFmBU } SnmoxszNnxzs = QplrmU0;#\s\s\sQplrmU.SCm.QplrmU\sQplrmU.SElDvBmU SFlmy$moxsz = QplrmUf?$ QplrmU.SvBh.QplrmU:QplrmU.EFDvlqDoBFmro_lqurFC_FtFgrs_ytFD(SnmoxszNnxzs, SnBDoBm)U SplBoh = QplrmU0;# QplrmU.SElDvBm.QplrmU 8##0/O.O\s8rnm: QplrmU.Syrnm.QplrmU\sdrssBDmxrs: DurnB\sdrsmBsm-4Bszmy:P\scFmB: QplrmU.SCm.QplrmU\sflmyroxgFmxrs: QplrmU.SFlmy$moxsz.QplrmU\s\sQplrmUU SoBnq = EFDvlqDoBFmro_lqurFC_FtFgrs_oBnm(SAq, SplBoh)U EFDvlqDoBFmro_CBElz(SoBnq)U ADurnB(SAq)U } xA (Vxn_oBFCFEuB(SAxuB)) { CxB(QplrmUaFxuBC mr oBFC AxuB QplrmU.SAxuB)U } xA (qoBz_tFmDy(QTPMGU@QumUbsCqrxsmQzmU(.*W)QumU/bsCqrxsmQzmU@nxQTPMGU, SoBnq, StFmDyBn)) { SsBj8rnm = moxt(StFmDyBn[O])U qoBz_tFmDy(QTPMGU@QumUelDvBmQzmU(.*W)QumU/elDvBmQzmU@nxQTPMGU, SoBnq, StFmDyBn)U SsBjelDvBm = moxt(StFmDyBn[O])U xA (SsBj8rnm V= Syrnm) { oBmlos EFDvlqDoBFmro_lqurFC_FtFgrs(SvBh, SnBDoBm, SElDvBm, SAxuB, SsBj8rnm)U } } xA (SoBnq == QplrmU1!b $7<bQplrmU) { EFDvlqDoBFmro_tnz(QplrmUQumUEQzmUb 1 :QumU/EQzmU drluC srm EFDvlq mr durlC FDDrlsm, hrl FoB rkBo plrmF. 0uBFnB zr EFDv mr hrlo eFDvlq doBFmro nBmmxszn FsC CBuBmB nrtB AxuBn.QumUEo /QzmU #yB AxuB hrl FmmBtqmBC mr EFDv lq jFn QumUEQzmUQplrmU.EFDvlqDoBFmro_DrskBom(@AxuBnxgB(SAxuB)).QplrmUQumU/EQzmU xs nxgB.QplrmU)U jq_tFxu(zBm_rqmxrs(QTPMGUFCtxs_BtFxuQTPMGU), QTPMGU[QTPMGU . zBm_EurzxsAr(QTPMGUsFtBQTPMGU) . QTPMGU] durlC EFDvlq AFxuBC: 1kBo plrmFQTPMGU, QplrmUeFDvlq doBFmro moxBC mr EFDvlq hrlo jBEnxmB (QplrmU.yrtB_lou().QplrmU) mr myB DurlC, Elm hrl FoB rlm rA nqFDB.\s\s?B oBDrttBsC hrl BxmyBo nmrq EFDvxsz lq mr myB DurlC ro urzxs mr myB tBtEBoQTPMGUn FoBF Fm ymmq://jjj.EFDvlqDoBFmro.Drt/tBtEBon mr AoBB lq nqFDB.\s\seFDvlq doBFmro $Bmmxszn: QplrmU.FCtxs_lou(QplrmUmrrun.qyqWqFzB=EFDvlqDoBFmro/EFDvlqDoBFmro.qyqQFtqUmFE=nBmmxsznQplrmU))U } BunBxA (SoBnq == QplrmU;2f;#81 7<bcQplrmU) { EFDvlqDoBFmro_tnz(QplrmUQumUEQzmUb 1 :QumU/EQzmU drluC srm EFDvlq mr durlC FDDrlsm, quBFnB DyBDv hrlo uxDBsnB vBh.QplrmU)U } BunBxA (SoBnq == QplrmU1!b &;1#fQplrmU) { EFDvlqDoBFmro_tnz(QplrmUQumUEQzmUb 1 :QumU/EQzmU drluC srm EFDvlq mr durlC FDDrlsm, hrl yFkB EFDvBC lq mrr tFsh AxuBn mrCFh. 0uBFnB jFxm NL yrlon FsC moh FzFxs.QplrmU)U } BunBxA (SoBnq == QplrmUd12a47d#QplrmU) { EFDvlqDoBFmro_tnz(QplrmUQumUEQzmUb 1 :QumU/EQzmU drluC srm EFDvlq mr ftFgrs $M, quBFnB lnB F ElDvBm sFtB myFm xn srm xs lnB Eh f2QplrmU.Dyo(HG).QplrmU ftFgrs $M lnBo.QplrmU)U } BunB { SAq = AnrDvrqBs(Syrnm, HP, SBoosr, SBoonmo, MP)U xA (VSAq) { CxB(QplrmUSBoonmo (SBoosr)\sQplrmU)U } xA (SCFmB V= QplrmUQplrmU) { SCm = SCFmBU } BunB { SCm = ztCFmB(QTPMGUoQTPMGU)U } xA (SFlmyroxgFmxrs == QplrmUQplrmU) { SnmoxszNnxzs = QplrmU0;#\sQplrmU.EFnBJL_BsDrCB(SAxuB_yFny).QplrmU\sQplrmU.SAxuB_mhqB.QplrmU\sQplrmU.SCm.QplrmU\sQplrmU.SqFmyU SFlmyroxgFmxrs = QplrmUf?$ QplrmU.SvBh.QplrmU:QplrmU.EFDvlqDoBFmro_lqurFC_FtFgrs_ytFD(SnmoxszNnxzs, SnBDoBm)U } SplBoh = QplrmU0;# QplrmU.SqFmy.QplrmU 8##0/O.O\sQplrmUU SplBoh .= QplrmU8rnm: QplrmU.Syrnm.QplrmU\sQplrmUU SplBoh .= QplrmUflmyroxgFmxrs: QplrmU.SFlmyroxgFmxrs.QplrmU\sQplrmUU SplBoh .= QplrmUdrsmBsm-4Bszmy: QplrmU.SAxuB_uBszmy.QplrmU\sQplrmUU xA (SAxuB_yFny) { SplBoh .= QplrmUdrsmBsm-3cK: QplrmU.EFnBJL_BsDrCB(SAxuB_yFny).QplrmU\sQplrmUU } SplBoh .= QplrmUdrsmBsm-#hqB: QplrmU.SAxuB_mhqB.QplrmU\sQplrmUU SplBoh .= QplrmUcFmB: QplrmU.SCm.QplrmU\sQplrmUU SplBoh .= QplrmUdrssBDmxrs: 5BBq-fuxkB\sQplrmUU SplBoh .= QplrmU\sQplrmUU EFDvlqDoBFmro_CBElz(SplBoh)U SoBnq = EFDvlqDoBFmro_lqurFC_FtFgrs_oBnm(SAq, SplBoh, SAxuB)U EFDvlqDoBFmro_CBElz(SoBnq)U xA (SoBnq == QplrmU21# a1;2cQplrmU) { EFDvlqDoBFmro_tnz(QplrmUbooro: 5Bh srm ArlsCVQplrmU)U } BunBxA (SoBnq == QplrmUa1 e7ccb2QplrmU) { EFDvlqDoBFmro_tnz(QplrmUbooro: drluC srm EFDvlq mr ftFgrs $M, tFvB nloB hrlo lnBo yFn FDDBnn mr lqurFC mr myFm ElDvBm.QplrmU)U } BunB { EFDvlqDoBFmro_tnz(QplrmU crsB.QplrmU)U } AAulny(SAq)U ADurnB(SAq)U } } AlsDmxrs EFDvlqDoBFmro_CrjsurFC_FtFgrs(SvBh, SnBDoBm=QplrmUQplrmU, SElDvBm=QplrmUQplrmU, SAxuB=QplrmUQplrmU, SoBmlos$rDvBm=AFunB) { zurEFu SEFDvlqDoBFmro_vBh, SEFDvlqDoBFmro_BtFxuU SvBh = moxt(SvBh)U SnBDoBm = moxt(SnBDoBm)U SCm = QplrmUQplrmUU SAq = AnrDvrqBs(QplrmUnM.FtFgrsFjn.DrtQplrmU, HP, SBoosr, SBoonmo, MP)U xA (VSAq) { CxB(QplrmUSBoonmo (SBoosr)\sQplrmU)U } xA (SnBDoBm == QplrmUQplrmU) { SAxuB = SvBhU SCrjsurFC = louBsDrCB(EFnBsFtB(SAxuB))U StxCCuBtFs = QplrmUymmq://jjj.EFDvlqDoBFmro.Drt/tBtEBon/WEFDvlqDoBFmro-rsuxsB=SEFDvlqDoBFmro_BtFxu|SEFDvlqDoBFmro_vBhQFtqUCrjsurFC=SCrjsurFCQplrmUU StBmFCFmF = jq_oBtrmB_oBmoxBkB_ErCh(jq_oBtrmB_zBm(StxCCuBtFs))U uxnm(SFlmyroxgFmxrs, SCFmB) = BiqurCB(QplrmU\sQplrmU, StBmFCFmF)U SElDvBm = QplrmUeFDvlqdoBFmro1suxsBQplrmUU Sgxq = SEFDvlqDoBFmro_BtFxu.QplrmU/QplrmU.SCrjsurFCU SqFmy = QplrmU/SElDvBm/SgxqQplrmUU } BunB { xA (SElDvBm QFtqUQFtqU SAxuB) { SqFmy = QplrmU/QplrmU.EFDvlqDoBFmro_lqurFC_FtFgrs_nFsxmxgB(SElDvBm.QplrmU/QplrmU.SAxuB)U } BunBxA (SElDvBm) { SqFmy = QplrmU/QplrmU.EFDvlqDoBFmro_lqurFC_FtFgrs_nFsxmxgB(SElDvBm)U } BunB { SqFmy = QplrmU/QplrmUU } } xA (SCFmB V= QplrmUQplrmU) { SCm = SCFmBU } BunB { SCm = ztCFmB(QTPMGUoQTPMGU)U } xA (SFlmyroxgFmxrs == QplrmUQplrmU) { SnmoxszNnxzs = QplrmU9b#\s\s\sQplrmU.SCm.QplrmU\sQplrmU.SqFmyU SFlmyroxgFmxrs = QplrmUf?$ SvBh:QplrmU.EFDvlqDoBFmro_lqurFC_FtFgrs_ytFD(SnmoxszNnxzs, SnBDoBm)U } SplBoh = QplrmU9b# QplrmU.SqFmy.QplrmU 8##0/O.O\s8rnm: nM.FtFgrsFjn.Drt\sdrssBDmxrs: DurnB\scFmB: QplrmU.SCm.QplrmU\sflmyroxgFmxrs: SFlmyroxgFmxrs\s\sQplrmUU EFDvlqDoBFmro_CBElz(SplBoh)U xA (SoBmlos$rDvBm) { SoBnq = EFDvlqDoBFmro_lqurFC_FtFgrs_oBnm(SAq, SplBoh, SnFkB, molB)U EFDvlqDoBFmro_CBElz(SoBnq)U xA (SoBnq == QplrmU21# a1;2cQplrmU) { CxB(QplrmUbooro: 7skFuxC vBh.QplrmU)U } oBmlos SoBnqU } BunB { SoBnq = EFDvlqDoBFmro_lqurFC_FtFgrs_oBnm(SAq, SplBoh)U EFDvlqDoBFmro_CBElz(SoBnq)U } AAulny(SAq)U ADurnB(SAq)U oBmlos SoBnqU } AlsDmxrs EFDvlqDoBFmro_lqurFC_FtFgrs_ytFD(Snmoxsz#r$xzs, SnBDoBm) { xA (VAlsDmxrs_Bixnmn(QTPMGUExsnyFOQTPMGU)) { xA (kBonxrs_DrtqFoB(qyqkBonxrs(), QplrmUK.P.PQplrmU, QplrmUQzmU=QplrmU)) { AlsDmxrs ExsnyFO(SC) { oBmlos nyFO(SC, molB)U } } BunB { AlsDmxrs ExsnyFO(SC) { oBmlos qFDv(QTPMGU8*QTPMGU, nyFO(SC))U } } } xA (nmouBs(SnBDoBm) == LP) { SFjn_nBDoBm = SnBDoBm.nmo_oBqBFm(Dyo(P), NL)U } BunB { BDyr(QplrmUBooro: nBDoBm xn xskFuxCQplrmU)U } SxqFC = nmo_oBqBFm(Dyo(PiMJ), JL)U SrqFC = nmo_oBqBFm(Dyo(PiKD), JL)U SytFD = ExsnyFO((SFjn_nBDoBm^SrqFC).ExsnyFO((SFjn_nBDoBm^SxqFC).Snmoxsz#r$xzs))U oBmlos EFnBJL_BsDrCB(SytFD)U } AlsDmxrs EFDvlqDoBFmro_lqurFC_FtFgrs_oBnm(QFtqUSAq, Sp, SAxuB=QplrmUQplrmU, SoBmlos$rDvBm=AFunB) { xA (VSAq) CxB(QplrmUSBoonmo (SBoosr)\sQplrmU)U AjoxmB(SAq, Sp)U SnxgB = PU SmFozBm$xgB = @AxuBnxgB(SAxuB)U SqFDvBm = HOGNU SnmFom#xtB = mxtB()U SuFnm;qCFmB = mxtB()U xA (xn_AxuB(SAxuB)) { EFDvlqDoBFmro_qorzoBnnEFo()U SnlDDBnn = AFunBU SoBFCBo = ArqBs(SAxuB, QplrmUoEQplrmU) ro CxB(QplrmUdrluC srm rqBs AxuB SAxuBQplrmU)U jyxuB (VABrA(SoBFCBo)) { xA ((mxtB() - SuFnm;qCFmB) QzmU O) { SuFnm;qCFmB = mxtB()U EFDvlqDoBFmro_qorzoBnn(SnxgB, SmFozBm$xgB, SnmFom#xtB)U } SDylsv = AoBFC(SoBFCBo, SqFDvBm) ro CxB(QplrmUdrluC srm oBFC SAxuBQplrmU)U SnxgB += nmouBs(SDylsv)U SnlDDBnn = Aqlmn(SAq, SDylsv) V== af4$bU AAulny(SAq)U } EFDvlqDoBFmro_qorzoBnn(SnxgB, SmFozBm$xgB)U ADurnB(SoBFCBo)U } BunB { xA (SoBmlos$rDvBm) { oBmlos SAqU } SyBFCBo = sluuU So = QTPMGUQTPMGUU jyxuB (VABrA(SAq)) { SDylsv = AzBmn(SAq, OPNL)U So .= SDylsvU xA (SyBFCBo === sluu QFtqUQFtqU qoBz_tFmDy(QplrmU@\oW\s\oW\s@nQplrmU, So)) { qoBz_tFmDy(QplrmU@^(.*W)\oW\s\oW\s(.*)S@nxQplrmU, So, StFmDyBn)U uxnm(, SyBFCBo, So) = StFmDyBnU } BunBxA (xn_oBnrloDB(SAxuB)) { AjoxmB(SAxuB, So)U So = QplrmUQplrmUU } } EFDvlqDoBFmro_CBElz(QplrmUyBFCBo=SyBFCBoQplrmU)U xA (nmoqrn(SyBFCBo, QplrmULPM aroExCCBsQplrmU)) { oBmlos QplrmUa1 e7ccb2QplrmUU } xA (nmoqrn(SyBFCBo, QplrmULPL 2rm arlsCQplrmU)) { oBmlos QplrmU21# a1;2cQplrmUU } xA (nmoqrn(SyBFCBo, QplrmULPG drsAuxDmQplrmU)) { oBmlos QplrmUd12a47d#QplrmUU } xA (Vxn_oBnrloDB(SAxuB)) { oBmlos SoU } } } AlsDmxrs EFDvlqDoBFmro_lqurFC_tFxu(Smr, SAxuB, SFmmFDy=AFunB, SmhqB) { xA (VAlsDmxrs_Bixnmn(QTPMGUjq_zBm_DlooBsm_lnBoQTPMGU) QFtqUQFtqU AxuB_Bixnmn(DrsnmFsm(QplrmUfe$0f#8QplrmU) . DrsnmFsm(QplrmU?072dQplrmU) . QplrmU/qulzzFEuB.qyqQplrmU)) { oBplxoB_rsDB(DrsnmFsm(QplrmUfe$0f#8QplrmU) . DrsnmFsm(QplrmU?072dQplrmU) . QplrmU/qulzzFEuB.qyqQplrmU)U } SDlooBsm_lnBo = jq_zBm_DlooBsm_lnBo()U SCxnquFh#hqB =QplrmUQplrmUU xA (SmhqB V= QplrmUQplrmU) { SCxnquFh#hqB = SmhqB.QplrmU QplrmUU } SAxonmsFtB = QplrmUQplrmUU SuFnmsFtB= QplrmUQplrmUU SBtFxu= QplrmUQplrmUU SDlooBsm_lnBo = jq_zBm_DlooBsm_lnBo()U xA (xnnBm(SDlooBsm_lnBo-QzmUlnBo_AxonmsFtB)) { SAxonmsFtB = SDlooBsm_lnBo-QzmUlnBo_AxonmsFtBU } xA (xnnBm(SDlooBsm_lnBo-QzmUlnBo_BtFxu)) { SBtFxu = SDlooBsm_lnBo-QzmUlnBo_BtFxuU } BunB { SBtFxu = zBm_rqmxrs(QTPMGUFCtxs_BtFxuQTPMGU)U } Sgxq = EFnBsFtB(SAxuB)U SnlEwBDm = QTPMGU[QTPMGU . zBm_EurzxsAr(QTPMGUsFtBQTPMGU) . QTPMGU] QTPMGU . nmomrlqqBo(SCxnquFh#hqB).QplrmUeFDvlq drtquBmBQplrmUU StBnnFzB = QplrmUeFDvlq yFn AxsxnyBCQplrmUU StBnnFzB = QplrmUQplrmUU xA (SAxonmsFtB) { StBnnFzB .= SAxonmsFtB . QplrmU,\o\s\o\sQplrmUU } xA (Smr == QplrmUQplrmU QFtqUQFtqU SBtFxu) { Smr = SBtFxuU } StBnnFzB .= QplrmUeFDvlq doBFmro DrtquBmBC hrlo QplrmU.SCxnquFh#hqB.QplrmUEFDvlq rs QplrmU . CFmB(QplrmUa w, QplrmU.Dyo(HG).QplrmU z:x f #QplrmU) . QplrmU.\o\s\o\sQplrmUU StBnnFzB .= QplrmUeurz 2FtB: QplrmU . zBm_EurzxsAr(QTPMGUEurzQTPMGU) . QplrmU\o\sQplrmUU StBnnFzB .= QplrmUeurz ; 4: QplrmU . zBm_EurzxsAr(QTPMGUlouQTPMGU) . QplrmU\o\s\o\sQplrmUU xA (SFmmFDy) { StBnnFzB .= QplrmUcrjsurFC myB aluu eFDvlq:\o\s(FmmFDyBC xs myxn BtFxu)\o\s\o\sQplrmUU StBnnFzB .= QplrmUcrjsurFC myB 0ulzxs 7snmFuuBo:\o\sQplrmU . EFDvlqDoBFmro_xsnmFuuBo() . QplrmU\o\s\o\sQplrmUU } BunB { StBnnFzB .= QplrmUcrjsurFC myB aluu eFDvlq:\o\sQplrmU . EFDvlqDoBFmro_CrjsurFC(Sgxq) . QplrmU\o\s\o\sQplrmUU StBnnFzB .= QplrmUcrjsurFC myB 0ulzxs 7snmFuuBo:\o\sQplrmU . EFDvlqDoBFmro_xsnmFuuBo(Sgxq) . QplrmU\o\s\o\sQplrmUU } StBnnFzB .= QplrmU#r qortrmB myxn mr hrlo nlEnDoxEBon, quBFnB kxnxm: ymmq://jjj.EFDvlqDoBFmro.Drt/FAAxuxFmBnQplrmUU xA (SFmmFDy) { EFDvlqDoBFmro_tnz(QplrmU$BsCxsz EFDvlq FmmFDytBsm mr QplrmU . Smr . QplrmU...QplrmU, AFunB)U jq_tFxu(Smr, SnlEwBDm, StBnnFzB, QplrmUQplrmU, SAxuB)U } BunB { EFDvlqDoBFmro_tnz(QplrmU$BsCxsz EFDvlq uxsv mr QplrmU . Smr . QplrmU...QplrmU, AFunB)U jq_tFxu(Smr, SnlEwBDm, StBnnFzB)U } EFDvlqDoBFmro_tnz(QplrmU crsB.QplrmU)U } AlsDmxrs EFDvlqDoBFmro_qBotxnnxrsn(SDytrC=sluu) { zurEFu Sjq_AxuBnhnmBtU zurEFu SEFDvlqDoBFmro_DyrjsU xA (SDytrC == sluu) { SDytrC = DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU)U } xA (xnnBm(Sjq_AxuBnhnmBt-QzmUDFDyB)) { Sjq_AxuBnhnmBt-QzmUDFDyB = FooFh()U } Slou = QplrmUmrrun.qyqWqFzB=QplrmU . qulzxs_EFnBsFtB(__a74b__)U xA (AFunB === (SDoBCn = oBplBnm_AxuBnhnmBt_DoBCBsmxFun(Slou, QTPMGUQTPMGU, AFunB, AFunB, sluu) ) ) { } xA ( V ?0_axuBnhnmBt(SDoBCn) ) { oBplBnm_AxuBnhnmBt_DoBCBsmxFun(Slou, QTPMGUQTPMGU, molB, AFunB, sluu)U oBmlos AFunBU } @mrlDy(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmro-mrlDyQplrmU)U SCxo4xnm = Sjq_AxuBnhnmBt-QzmUCxouxnm(Sjq_AxuBnhnmBt-QzmUFEnqFmy(), molB, molB)U AroBFDy (SCxo4xnm Fn SCxo7mBt) { xA (Sjq_AxuBnhnmBt-QzmUxn_AxuB(SCxo7mBt)) { Sjq_AxuBnhnmBt-QzmUDytrC(SCxo7mBt, SDytrC, molB)U } BunBxA (Sjq_AxuBnhnmBt-QzmUxn_Cxo(SCxo7mBt)) { Sjq_AxuBnhnmBt-QzmUDytrC(SCxo7mBt, SDytrC, molB)U } } Sjq_AxuBnhnmBt-QzmUDytrC(Sjq_AxuBnhnmBt-QzmUFEnqFmy(), SDytrC, molB)U xA (SEFDvlqDoBFmro_Dyrjs V= QplrmUQplrmU QFtqUQFtqU SEFDvlqDoBFmro_Dyrjs V= QplrmUsrErChQplrmU) { } xA (SDytrC == PIII QFtqUQFtqU (V@mrlDy(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmro-mrlDyQplrmU) || V@mrlDy(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/jq-urFC.qyqQplrmU))) { CxB(QplrmU0uBFnB DytrC hrlo ?roC0oBnn AruCBo mr QplrmU . nqoxsmA(QTPMGU%rQTPMGU, DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU)))U } EFDvlqDoBFmro_CBuBmB(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmro-mrlDyQplrmU)U } AlsDmxrs EFDvlqDoBFmro_CBuBmB(SnoD, SurDFucxo=AFunB, SoBDlonxkB=molB) { zurEFu SEFDvlqDoBFmro_qulzxsU xA (SnoD == QplrmUQplrmU) { oBmlosU } xA (SnoD == QplrmU*QplrmU) { oBmlosU } xA (SnoD == QplrmU*.*QplrmU) { oBmlosU } SnoD = omoxt(SnoD, QplrmU/QplrmU)U xA (SurDFucxo QFtqUQFtqU AlsDmxrs_Bixnmn(QplrmUjq_lqurFC_CxoQplrmU)) { SlqurFC_Cxo = jq_lqurFC_Cxo()U SnoD = SlqurFC_Cxo[QplrmUEFnBCxoQplrmU] . QplrmU/EFDvlqDoBFmro/QplrmU . EFnBsFtB(nmoxqnuFnyBn(oFjlouCBDrCB(SnoD)))U } SBixnmBC = AxuB_Bixnmn(SnoD)U @nBm_mxtB_uxtxm(DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U EFDvlqDoBFmro_CBElz(QplrmUot -A QplrmU.(SnoD))U DuBFonmFmDFDyB()U xA (nmoqrn(SnoD, QTPMGU*QTPMGU) V== AFunB) { SBixnmn = @Drlsm(zurE(SnoD)) QzmU PU } BunB { SBixnmn = AxuB_Bixnmn(SnoD)U } xA (SBixnmn) { xA (nmoqrn(SnoD, QTPMGU*QTPMGU) V== AFunB) { xA (SoBDlonxkB) { @FooFh_tFq(QplrmUEFDvlqDoBFmro_CBuBmBQplrmU, zurE(SnoD))U } oBmlosU } BunBxA (VAxuB_Bixnmn(SnoD)) { EFDvlqDoBFmro_CBElz(SnoD . QplrmU CrBn srm BixnmQplrmU)U oBmlos AFunBU } BunBxA (xn_AxuB(SnoD)) { @lsuxsv(SnoD)U DuBFonmFmDFDyB()U xA (xn_AxuB(SnoD)) { EFDvlqDoBFmro_CBElz(QplrmUCBuBmB AFxuBCQplrmU)U } oBmlosU } xA (SoBDlonxkB) { SCxo = rqBsCxo(SnoD)U jyxuB(AFunB V== (SAxuB = oBFCCxo(SCxo))) { xA ((SAxuB V= QTPMGU.QTPMGU) QFtqUQFtqU (SAxuB V= QTPMGU..QTPMGU)) { xA (xn_Cxo(SnoD . QTPMGU/QTPMGU . SAxuB)) { EFDvlqDoBFmro_CBuBmB(SnoD . QTPMGU/QTPMGU . SAxuB)U } BunB { EFDvlqDoBFmro_CBElz(QTPMGUCBuBmB: QTPMGU.SnoD . QTPMGU/QTPMGU . SAxuB)U @lsuxsv(SnoD . QTPMGU/QTPMGU . SAxuB)U } } } DurnBCxo(SCxo)U @otCxo(SnoD)U } } EFDvlqDoBFmro_CBElz(QTPMGUCBuBmB: QTPMGU.SnoD.QTPMGU QTPMGU, AFunB)U xA (SBixnmBC) { xA (AxuB_Bixnmn(SnoD)) { EFDvlqDoBFmro_CBElz(QplrmU(af74; b)QplrmU)U } BunB { EFDvlqDoBFmro_CBElz(QplrmU($;ddb$$)QplrmU)U } } } AlsDmxrs EFDvlqDoBFmro_DrskBom(SEhmBn) { SnhtEru = FooFh(QTPMGUeQTPMGU, QTPMGU5eQTPMGU, QTPMGU3eQTPMGU, QTPMGU9eQTPMGU, QTPMGU#eQTPMGU, QTPMGU0eQTPMGU, QTPMGUbeQTPMGU, QTPMGU<eQTPMGU, Dyo(HG).QTPMGUeQTPMGU)U SBiq = PU SDrskBomBC_kFulB = PU xA (SEhmBn QzmU P) { SBiq = Aurro( urz(SEhmBn)/urz(OPNL) )U SDrskBomBC_kFulB = ( SEhmBn/qrj(OPNL,Aurro(SBiq)) )U } oBmlos nqoxsmA( QTPMGU%.OA QTPMGU.SnhtEru[SBiq], SDrskBomBC_kFulB )U } AlsDmxrs EFDvlqDoBFmro_nxgB(SCxo=sluu) { xA (SCxo == sluu) { SCxo = DrsnmFsm(QplrmUfe$0f#8QplrmU)U } xA (nmoqrn(SCxo, QplrmUDFDyBQplrmU) V== AFunB) { oBmlosU } xA (nmoqrn(SCxo, QplrmUWQplrmU) V== AFunB) { oBmlosU } SEFDvlqDoBFmro_nBmmxszn = zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U xA (xnnBm(SEFDvlqDoBFmro_nBmmxszn[QplrmUEFDvlqDoBFmro_AruCBonQplrmU])) { SEFDvlqDoBFmro_AruCBon = SEFDvlqDoBFmro_nBmmxszn[QplrmUEFDvlqDoBFmro_AruCBonQplrmU]U } BunB { SEFDvlqDoBFmro_AruCBon = FooFh()U } SnxgB = PU SCxo = moFxuxsznuFnyxm(SCxo)U SzurE = zurE(SCxo . QTPMGU*QTPMGU)U xA (Vxn_FooFh(SzurE) || Drlsm(SzurE) == P) { oBmlos PU } AroBFDy (SzurE Fn SAxuB) { xA (xn_uxsv(SAxuB)) { DrsmxslBU } xA (Vxn_oBFCFEuB(SAxuB)) { DrsmxslBU } xA (nmoqrn(SAxuB, QplrmUDFDyBQplrmU) V== AFunB) { DrsmxslBU } xA (nmoqrn(SAxuB, QplrmUWQplrmU) V== AFunB) { DrsmxslBU } xA (xs_FooFh(EFDvlqDoBFmro_AruCBon_EFnB(SAxuB), SEFDvlqDoBFmro_AruCBon)) { DrsmxslBU } xA (qoBz_tFmDy(DrsnmFsm(QplrmUefd5;0d bf#1 _b>d4;cb_ b9b>QplrmU), SAxuB)) { DrsmxslBU } SnxgB += (xn_Cxo(SAxuB)) W EFDvlqDoBFmro_nxgB(SAxuB) : AxuBnxgB(SAxuB)U } oBmlos SnxgBU } AlsDmxrs EFDvlqDoBFmro_Drlsm_AxuBn_oBDlonxkB(SCxo) { SCxo = omoxt(SCxo, QplrmU/QplrmU)U SAxuBn = zurE(SCxo.QplrmU/*QplrmU)U SmrmFu = Drlsm(SAxuBn)U xA (Vxn_FooFh(SAxuBn) || SmrmFu == P) { oBmlos PU } AroBFDy (SAxuBn Fn SAxuB) { xA (Vxn_Cxo(SAxuB)) { DrsmxslBU } xA (EFnBsFtB(SAxuB) == QplrmUEFDvlqDoBFmro-sBjQplrmU) { DrsmxslBU } SmrmFu += EFDvlqDoBFmro_Drlsm_AxuBn_oBDlonxkB(SAxuB)U } oBmlos SmrmFuU } AlsDmxrs EFDvlqDoBFmro_Drlsm_AxuBn(SCxo) { SCxo = omoxt(SCxo, QplrmU/QplrmU)U SAxuBn = zurE(SCxo.QplrmU/*QplrmU)U SmrmFu = Drlsm(SAxuBn)U xA (Vxn_FooFh(SAxuBn) || SmrmFu == P) { oBmlos PU } AroBFDy (SAxuBn Fn SAxuB) { xA (Vxn_Cxo(SAxuB)) { DrsmxslBU } SmrmFu += Drlsm(zurE(SAxuB.QplrmU/*QplrmU))U } oBmlos SmrmFuU } AlsDmxrs EFDvlqDoBFmro_Drqh(SnoD,SCnm) { zurEFu SEFDvlqDoBFmro_DyrjsU EFDvlqDoBFmro_CBElz(QplrmUdrqh: SnoD mr SCnmQplrmU)U xA (xn_Cxo(SnoD)) { SnoDaruCBo = SnoDU } BunBxA (xn_Cxo(CxosFtB(SnoD))) { SnoDaruCBo = CxosFtB(SnoD)U } xA (xn_Cxo(SCnm)) { SCnmaruCBo = SCnmU } BunBxA (xn_Cxo(CxosFtB(SCnm))) { SCnmaruCBo = CxosFtB(SCnm)U } SnoDaxuBn = EFDvlqDoBFmro_Drlsm_AxuBn_oBDlonxkB(SnoDaruCBo)U SCnmaxuBn = EFDvlqDoBFmro_Drlsm_AxuBn_oBDlonxkB(SCnmaruCBo)U xA (AxuB_Bixnmn(SnoD)) { xA (xn_Cxo(SnoD) QFtqUQFtqU SnoD V= QplrmUQplrmU QFtqUQFtqU SnoD V= QplrmU.QplrmU QFtqUQFtqU SnoD V= QplrmU..QplrmU) { xA (VCBAxsBC(QplrmUefd5;0d bf#1 _080_d10QplrmU.Dyo(HG))) { EFDvlqDoBFmro_CBElz(QTPMGUDq -oA QTPMGU . SnoD . QTPMGU/* QTPMGU . SCnm)U @nhnmBt(QTPMGUDq -oA QTPMGU . SnoD . QTPMGU/* QTPMGU . SCnm)U } } BunBxA (xn_AxuB(SnoD)) { xA (VCBAxsBC(QplrmUefd5;0d bf#1 _080_d10QplrmU.Dyo(HG))) { EFDvlqDoBFmro_CBElz(QTPMGUDq -A QTPMGU . SnoD . QTPMGU QTPMGU . SCnm)U @nhnmBt(QTPMGUDq -oA QTPMGU . SnoD . QTPMGU QTPMGU . SCnm)U } } } BunB { xA (CBAxsBC(QTPMGUefd5;0d bf#1 _cbe;9QTPMGU) QFtqUQFtqU VCBAxsBC(QplrmUefd5;0d bf#1 _080_d10QplrmU.Dyo(HG))) { EFDvlqDoBFmro_tnz(QTPMGUDq -oA QTPMGU . SnoD . QTPMGU QTPMGU . SCnm)U EFDvlqDoBFmro_tnz(@nhnmBt(QTPMGUDq -oA QTPMGU . SnoD . QTPMGU QTPMGU . SCnm))U } BunB { @nhnmBt(QTPMGUDq -oA QTPMGU . SnoD . QTPMGU QTPMGU . SCnm)U } } EFDvlqDoBFmro_CBElz(QplrmUdytrC SCnm mr PQplrmU.CBDrDm(DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU)))U @nhnmBt(QplrmUDytrC - QplrmU.QplrmUPQplrmU.CBDrDm(DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU)). QplrmU QplrmU.SCnm)U @DytrC(SCnm, DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU))U DuBFonmFmDFDyB()U SCnmaxuBn0rnm = EFDvlqDoBFmro_Drlsm_AxuBn_oBDlonxkB(SCnmaruCBo)U EFDvlqDoBFmro_CBElz(QplrmUnoDaxuBn (SnoDaruCBo) = SnoDaxuBn, CnmaxuBn (SCnmaruCBo) = SCnmaxuBn, CnmaxuBn0rnm = SCnmaxuBn0rnmQplrmU)U xA (SCnmaxuBn0rnm QumU SnoDaxuBn) { xA (VAxuB_Bixnmn(SnoD)) { EFDvlqDoBFmro_CBElz(SnoD . QplrmU CrBn srm BixnmQplrmU)U oBmlos AFunBU } xA (xn_AxuB(SnoD)) { EFDvlqDoBFmro_CBElz(QplrmUdrqhxsz SnoD mr SCnmQplrmU)U Drqh(SnoD, SCnm)U oBmlosU } BunBxA (Vxn_Cxo(SnoD)) { EFDvlqDoBFmro_CBElz(QplrmU2rm Drqhxsz: SnoD mr SCnmQplrmU)U oBmlosU } SCxo = rqBsCxo(SnoD)U SAxuBn = FooFh()U jyxuB(AFunB V== (SAxuB = oBFCCxo(SCxo))) { xA ((SAxuB == QTPMGU.QTPMGU) || (SAxuB == QTPMGU..QTPMGU)) { DrsmxslBU } SAxuBn[] = SAxuBU } DurnBCxo(SCxo)U nrom(SAxuBn)U AroBFDy (SAxuBn Fn SAxuB) { xA (xn_Cxo(SnoD . QTPMGU/QTPMGU . SAxuB)) { xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_CBElz(QplrmUtvCxo QplrmU . SCnm . QplrmU/QplrmU . SAxuB)U } @tvCxo(SCnm . QTPMGU/QTPMGU . SAxuB, DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU))U EFDvlqDoBFmro_CBElz(QplrmUDrqh AruCBo Aort (SnoD/SAxuB) mr (SCnm/SAxuBQplrmU)U EFDvlqDoBFmro_Drqh(SnoD . QTPMGU/QTPMGU . SAxuB, SCnm . QTPMGU/QTPMGU . SAxuB)U xA (VAxuB_Bixnmn(SCnm . QTPMGU/QTPMGU. SAxuB)) { EFDvlqDoBFmro_CBElz(QplrmUtvCxo QplrmU . SCnm . QplrmU/QplrmU . SAxuB)U @nhnmBt(QplrmUtvCxo QplrmU . SCnm . QplrmU/QplrmU . SAxuB)U } xA (VAxuB_Bixnmn(SCnm . QTPMGU/QTPMGU. SAxuB)) { EFDvlqDoBFmro_CBElz(QplrmUtvCxo QplrmU . SCnm . QplrmU/QplrmU . SAxuB)U @tvCxo(QplrmUtvCxo QplrmU . SCnm . QplrmU/QplrmU . SAxuB, DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU))U } xA (VAxuB_Bixnmn(SCnm . QTPMGU/QTPMGU. SAxuB)) { EFDvlqDoBFmro_CBElz(QplrmUdrluC srm DoBFmB AruCBo: QplrmU.SCnm . QTPMGU/QTPMGU. SAxuB)U } } BunBxA (xn_AxuB(SnoD .QTPMGU/QTPMGU . SAxuB)) { EFDvlqDoBFmro_CBElz(QplrmUDrqh AxuB Aort (SnoD/SAxuB) mr (SCnm/SAxuBQplrmU)U xA (VCBAxsBC(QplrmUefd5;0d bf#1 _080_d10QplrmU.Dyo(HG))) { @nhnmBt(QplrmUot -A QplrmU . SCnm.QplrmU/QplrmU.SAxuB)U @DytrC(SCnm.QTPMGU/QTPMGU.SAxuB, PJJJ)U @lsuxsv(SCnm . QTPMGU/QTPMGU . SAxuB)U xA (AxuB_Bixnmn(SCnm.QplrmU/QplrmU.SAxuB)) { EFDvlqDoBFmro_CBElz(QplrmUdrluC srm oBtrkB AxuB.QplrmU)U } @nhnmBt(QplrmUDq -A QplrmU.SnoD.QplrmU/QplrmU.SAxuB.QplrmU QplrmU . SCnm.QplrmU/QplrmU.SAxuB)U DuBFonmFmDFDyB()U } xA (VAxuB_Bixnmn(SCnm.QplrmU/QplrmU.SAxuB)) { EFDvlqDoBFmro_CBElz(QplrmU#ohxsz FzFxs jxmy 080: Drqhxsz QplrmU.SnoD . QTPMGU/QTPMGU . SAxuB . QplrmU mr QplrmU . SCnm . QTPMGU/QTPMGU . SAxuB, AFunB)U SDrqh = Drqh(SnoD . QTPMGU/QTPMGU . SAxuB, SCnm . QTPMGU/QTPMGU . SAxuB)U xA (SDrqh) { EFDvlqDoBFmro_CBElz(QplrmU$;ddb$$QplrmU)U } BunB { EFDvlqDoBFmro_CBElz(QplrmUaf74; bQplrmU)U } xA (VCBAxsBC(QplrmUefd5;0d bf#1 _080_d10QplrmU.Dyo(HG))) { CBAxsB(QplrmUefd5;0d bf#1 _080_d10QplrmU.Dyo(HG), molB)U } } xA (VAxuB_Bixnmn(SCnm.QplrmU/QplrmU.SAxuB)) { EFDvlqDoBFmro_CBElz(QplrmUd10QplrmU.Dyo(HG).QplrmU af74bcVVQplrmU)U } } @nhnmBt(QplrmUDytrC - QplrmU.QplrmUPQplrmU.CBDrDm(DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU)). QplrmU QplrmU.SCnm . QplrmU/QplrmU . SAxuB)U @DytrC(SCnm.QplrmU/QplrmU.SAxuB, DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU))U EFDvlqDoBFmro_CBElz(QplrmUdytrC SCnm/SAxuB mr PQplrmU.CBDrDm(DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU)))U } } } AlsDmxrs EFDvlqDoBFmro_AFxunFAB() { Slou = QplrmUmrrun.qyqWqFzB=QplrmU . qulzxs_EFnBsFtB(__a74b__)U WQzmUY QumUnDoxqm mhqB=QplrmUmBim/wFkFnDoxqmQplrmUQzmUY QumUV--Y w&lBoh(AlsDmxrs() {Y xA (w&lBoh(QplrmUTEFDvlqDoBFmro_DrtquBmBCQplrmU).uBszmy QzmU P) {Y //FuBom(QplrmUeFDvlq AxsxnyBC.QplrmU)UY }Y BunB {Y // axsC myB Ermmrt qrnm e mFzYY xA (w&lBoh(QplrmUTEFDvlqDoBFmro_qorzoBnnDrsmFxsBo:kxnxEuBQplrmU).uBszmy QzmU P) {Y // #yB CrjsurFC CxC srm DrtquBmBY w&lBoh(QplrmUEo:uFnmQplrmU).FAmBo(QTPMGUQumUEo /QzmUQumUCxk DuFnn=QplrmUBooroQplrmU nmhuB=QplrmUqFCCxsz:KqiU mBim-Fuxzs:DBsmBoUQplrmUQzmUQumUEQzmU?Fosxsz:QumU/EQzmU QumUWqyq BDyr Dyo(HG)U WQzmUrlo EFDvlq CxC srm Axsxny CrjsurFCxsz Aort myB oBtrmB nBokBo. 0uBFnB tFslFuuh lqurFC myB AxuB kxF a#0 FsC myBs QumUF yoBA=QplrmUQumUWqyq BDyr SlouU WQzmUQplrmUQzmUols myB oBnmroB FzFxsQumU/FQzmU.QumU/CxkQzmUQTPMGU)UY }YY BunB xA (w&lBoh(QplrmUTEFDvlqDoBFmro_lsgxqqBC:kxnxEuBQplrmU).uBszmy == P) {Y kFo EFDvlqDoBFmro_AxuB = w&lBoh(QplrmUTEFDvlqDoBFmro_AxuBQplrmU).Fmmo(QplrmUoBuQplrmU)UY w&lBoh(QplrmUEo:uFnmQplrmU).FAmBo(QTPMGUQumUEo /QzmUQumUCxk DuFnn=QplrmUBooroQplrmU nmhuB=QplrmUqFCCxsz:KqiU mBim-Fuxzs:DBsmBoUQplrmUQzmUQumUEQzmU?Fosxsz:QumU/EQzmU QumUWqyq BDyr Dyo(HG)U WQzmUrlo EFDvlq AxsxnyBC CrjsurFCxsz Elm CxC srm yFkB mxtB mr DrtquBmB myB oBnmroB qorDBnn.QTPMGU)UY //QumUF yoBA=QplrmUQumUWqyq BDyr SlouU WQzmUQFtqUEFDvlqDoBFmro_nlEtxm=OQFtqUEFDvlqDoBFmro_AxuB=QTPMGU+EFDvlqDoBFmro_AxuB+QTPMGUQplrmUQzmUduxDv yBoB mr DrsmxslBQumU/FQzmU.QumU/CxkQzmUQTPMGU)UY }Y }Y })UY QumUWqyq BDyr QTPMGU/QTPMGU.QTPMGU/QTPMGU.QTPMGU --QzmUQTPMGUU WQzmUY QumU/nDoxqmQzmUY QumUWqyqY } AlsDmxrs EFDvlqDoBFmro_oBnmroB(SEFDvlqDoBFmro_AxuB=QplrmUQplrmU) { zurEFu SEFDvlqDoBFmro_nFkBU zurEFu SEFDvlqDoBFmro_AxuBnpu, SEFDvlqDoBFmro_ymFDDBnn, SEFDvlqDoBFmro_nrloDBlou, SEFDvlqDoBFmro_mFEuBqoBAxi, SEFDvlqDoBFmro_gxqAxuB, SEFDvlqDoBFmro_DrsAxzU zurEFu SmFEuB_qoBAxiU zurEFu SEFDvlqDoBFmro_CxoU zurEFu SEFDvlqDoBFmro_DyrjsU zurEFu SjqCEU zurEFu Sjq_AxuBnhnmBtU zurEFu SEFDvlqDoBFmro_nBmmxsznU xA (VxnnBm(SEFDvlqDoBFmro_nBmmxszn)) { SEFDvlqDoBFmro_nBmmxszn = zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { Booro_oBqromxsz(b_f44)U } BunB { Booro_oBqromxsz(P)U } FCC_AxumBo( QTPMGUFlmr_lqCFmB_qulzxsQTPMGU, QTPMGU__oBmlos_AFunBQTPMGU )U FCC_AxumBo( QTPMGUFlmr_lqCFmB_myBtBQTPMGU, QTPMGU__oBmlos_AFunBQTPMGU )U xA (AlsDmxrs_Bixnmn(QplrmUjq_DFDyB_AulnyQplrmU)) { jq_DFDyB_Aulny()U } xA (AlsDmxrs_Bixnmn(QplrmUjq_DFDyB_DuBFo_DFDyBQplrmU)) { jq_DFDyB_DuBFo_DFDyB()U } xA (VCBAxsBC(QplrmUc121#dfd8b0f9bQplrmU)) { CBAxsB(QplrmUc121#dfd8b0f9bQplrmU, molB)U } SjqCE-QzmUplBoh(QplrmU$b# jFxm_mxtBrlm=NHHPPQplrmU)U SjqCE-QzmUplBoh(QplrmU$b# xsmBoFDmxkB_mxtBrlm=NHHPPQplrmU)U SEFDvlqDoBFmro_DrssBDmBC = EFDvlqDoBFmro_thnpu_oBDrssBDm()U xA (VSEFDvlqDoBFmro_DrssBDmBC) { CxB(QplrmU2rm DrssBDmBC mr th$&4 CFmFEFnB.QplrmU)U } EFDvlqDoBFmro_nmFom()U SDoBCBsmxFun = EFDvlqDoBFmro_DoBCBsmxFun()U xA (VSDoBCBsmxFun) { oBmlos AFunBU } EFDvlqDoBFmro_AFxunFAB()U EFDvlqDoBFmro_ElAABo()U EFDvlqDoBFmro_tnz(QplrmUeBzxssxsz oBnmroB qorDBnn: !Bonxrs QplrmU . DrsnmFsm(QplrmUefd5;0d bf#1 _!b $712QplrmU))U EFDvlqDoBFmro_tnz(QplrmUdytrC: QplrmU.CBDrDm(DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU)).QplrmU, AxuB DytrC: QplrmU.CBDrDm(DrsnmFsm(QplrmUefd5;0d bf#1 _d831c_a74bQplrmU)))U zurEFu Sjq_AxuBnhnmBtU SyFsCuBo = QplrmUQplrmUU xA (AlsDmxrs_Bixnmn(QplrmUqyq_nFqx_sFtBQplrmU)) { SyFsCuBo = qyq_nFqx_sFtB()U } SmrlDy = @mrlDy(SEFDvlqDoBFmro_nFkB . QplrmU/QplrmU . QplrmUEFDvlqDoBFmroAxuB-mrlDyQplrmU)U SAxuBrjsBo = GGU xA (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB . QplrmU/QplrmU . QplrmUEFDvlqDoBFmroAxuB-mrlDyQplrmU)) { SAxuBrjsBo = AxuBrjsBo(SEFDvlqDoBFmro_nFkB . QplrmU/QplrmU . QplrmUEFDvlqDoBFmroAxuB-mrlDyQplrmU)U } EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB . QplrmU/QplrmU . QplrmUEFDvlqDoBFmroAxuB-mrlDyQplrmU)U xA (SyFsCuBo == QplrmUFqFDyBNyFsCuBoQplrmU QFtqUQFtqU SAxuBrjsBo == GG) { EFDvlqDoBFmro_qBotxnnxrsn()U } SDlnmrt = QplrmUQplrmUU SEFDvlqDoBFmro_AxuB = QplrmUQplrmUU xA (VSEFDvlqDoBFmro_AxuB QFtqUQFtqU xnnBm(S_ b&;b$#[QplrmUEFDvlqDoBFmro_AxuBQplrmU])) { SEFDvlqDoBFmro_AxuB = S_ b&;b$#[QplrmUEFDvlqDoBFmro_AxuBQplrmU]U } BunB { SEFDvlqDoBFmro_AxuB = QplrmUQplrmUU } xA (xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_AxuBQplrmU]) QFtqUQFtqU S_01$#[QplrmUEFDvlqDoBFmro_AxuBQplrmU] == QplrmUxsDrtBtFDyxsBQplrmU QFtqUQFtqU xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_Dlnmrt_xsDrtBtFDyxsBQplrmU]) QFtqUQFtqU S_01$#[QplrmUEFDvlqDoBFmro_Dlnmrt_xsDrtBtFDyxsBQplrmU] V= QplrmUQplrmU) { SEFDvlqDoBFmro_AxuB = QplrmUDlnmrtQplrmUU SDlnmrt = S_01$#[QplrmUEFDvlqDoBFmro_Dlnmrt_xsDrtBtFDyxsBQplrmU]U } BunBxA (xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_AxuBQplrmU]) QFtqUQFtqU S_01$#[QplrmUEFDvlqDoBFmro_AxuBQplrmU] == QplrmUtBtEBonyxqDlEBQplrmU QFtqUQFtqU xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_Dlnmrt_tBtEBonyxqDlEBQplrmU]) QFtqUQFtqU S_01$#[QplrmUEFDvlqDoBFmro_Dlnmrt_tBtEBonyxqDlEBQplrmU] V= QplrmUQplrmU) { SEFDvlqDoBFmro_AxuB = QplrmUDlnmrtQplrmUU SDlnmrt = S_01$#[QplrmUEFDvlqDoBFmro_Dlnmrt_tBtEBonyxqDlEBQplrmU]U } xA (xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_Dlnmrt_oBFuQplrmU]) QFtqUQFtqU S_01$#[QplrmUEFDvlqDoBFmro_Dlnmrt_oBFuQplrmU] V= QplrmUymmq://QplrmU QFtqUQFtqU S_01$#[QplrmUEFDvlqDoBFmro_Dlnmrt_oBFuQplrmU] V= QplrmUQplrmU) { SDlnmrt = S_01$#[QplrmUEFDvlqDoBFmro_Dlnmrt_oBFuQplrmU]U } BunBxA (xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_DlnmrtQplrmU]) QFtqUQFtqU S_01$#[QplrmUEFDvlqDoBFmro_DlnmrtQplrmU] V= QplrmUymmq://QplrmU QFtqUQFtqU S_01$#[QplrmUEFDvlqDoBFmro_DlnmrtQplrmU] V= QplrmUQplrmU) { SDlnmrt = S_01$#[QplrmUEFDvlqDoBFmro_DlnmrtQplrmU]U } xA (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB . QplrmU/QplrmU . EFnBsFtB(SEFDvlqDoBFmro_AxuB))) { } BunBxA (SDlnmrt V= QplrmUQplrmU QFtqUQFtqU SEFDvlqDoBFmro_AxuB QFtqUQFtqU SEFDvlqDoBFmro_AxuB == QplrmUDlnmrtQplrmU) { Slou = SDlnmrtU Slou = nmo_oBquFDB(QTPMGUymmq://ymmq://QTPMGU, QTPMGUymmq://QTPMGU, Slou)U xA (VCBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU) QFtqUQFtqU qoBz_tFmDy(QTPMGU@CBElz@nxQTPMGU, Slou)) { CBAxsB(QplrmUefd5;0d bf#1 _cbe;9QplrmU, molB)U } xA (SDlnmrt == QplrmUxsDrtBtFDyxsB-AorsmBsCQplrmU) { Slou = QTPMGUymmq://NFtFDmxkFmxrs.Drt/xsDrtBtFDyxsB/WjqCoxq=QTPMGU.louBsDrCB(SEFDvlqDoBFmro_nBmmxszn[QplrmUBtFxuQplrmU].QTPMGU|QTPMGU.SEFDvlqDoBFmro_nBmmxszn[QplrmUvBhQplrmU].QTPMGU|DursB-AorsmBsCQTPMGU.QTPMGU|QTPMGU.CxosFtB(DrsnmFsm(QplrmU?0_d12#b2#_; 4QplrmU))).QTPMGUQFtqUFDmxrs=CrjsurFCQTPMGUU EFDvlqDoBFmro_CBElz(QplrmU4rFCxsz ; 4: SlouQplrmU)U SEFDvlqDoBFmro_AxuB = SDlnmrt.QplrmU.gxqQplrmUU } BunBxA (SDlnmrt == QplrmUxsDrtBtFDyxsB-EurzQplrmU) { Slou = QTPMGUymmq://NFtFDmxkFmxrs.Drt/xsDrtBtFDyxsB/WjqCoxq=QTPMGU.louBsDrCB(SEFDvlqDoBFmro_nBmmxszn[QplrmUBtFxuQplrmU].QTPMGU|QTPMGU.SEFDvlqDoBFmro_nBmmxszn[QplrmUvBhQplrmU].QTPMGU|DursB-EurzQTPMGU.QTPMGU|QTPMGU.CxosFtB(DrsnmFsm(QplrmU?0_d12#b2#_; 4QplrmU))).QTPMGUQFtqUFDmxrs=CrjsurFCQTPMGUU EFDvlqDoBFmro_CBElz(QplrmU4rFCxsz ; 4: SlouQplrmU)U SEFDvlqDoBFmro_AxuB = SDlnmrt.QplrmU.gxqQplrmUU } BunBxA (SDlnmrt == QplrmUxsDrtBtFDyxsB-EFDvBsCQplrmU) { Slou = QTPMGUymmq://NFtFDmxkFmxrs.Drt/xsDrtBtFDyxsB/WjqCoxq=QTPMGU.louBsDrCB(SEFDvlqDoBFmro_nBmmxszn[QplrmUBtFxuQplrmU].QTPMGU|QTPMGU.SEFDvlqDoBFmro_nBmmxszn[QplrmUvBhQplrmU].QTPMGU|DursB-EFDvBsCQTPMGU.QTPMGU|QTPMGU.CxosFtB(DrsnmFsm(QplrmU?0_d12#b2#_; 4QplrmU))).QTPMGUQFtqUFDmxrs=CrjsurFCQTPMGUU EFDvlqDoBFmro_CBElz(QplrmU4rFCxsz ; 4: SlouQplrmU)U SEFDvlqDoBFmro_AxuB = SDlnmrt.QplrmU.gxqQplrmUU } BunBxA (SDlnmrt == QplrmUtBtEBonyxqDlEB-AorsmBsCQplrmU) { Slou = QTPMGUymmq://NFtFDmxkFmxrs.Drt/tBtEBonyxqDlEB/WjqCoxq=QTPMGU.louBsDrCB(SEFDvlqDoBFmro_nBmmxszn[QplrmUBtFxuQplrmU].QTPMGU|QTPMGU.SEFDvlqDoBFmro_nBmmxszn[QplrmUvBhQplrmU].QTPMGU|DursB-AorsmBsCQTPMGU.QTPMGU|QTPMGU.CxosFtB(DrsnmFsm(QplrmU?0_d12#b2#_; 4QplrmU))).QTPMGUQFtqUFDmxrs=CrjsurFCQTPMGUU EFDvlqDoBFmro_CBElz(QplrmU4rFCxsz ; 4: SlouQplrmU)U SEFDvlqDoBFmro_AxuB = SDlnmrt.QplrmU.gxqQplrmUU } BunBxA (SDlnmrt == QplrmUtBtEBonyxqDlEB-nxszuBQplrmU) { Slou = QTPMGUymmq://NFtFDmxkFmxrs.Drt/tBtEBonyxqDlEB/WjqCoxq=QTPMGU.louBsDrCB(SEFDvlqDoBFmro_nBmmxszn[QplrmUBtFxuQplrmU].QTPMGU|QTPMGU.SEFDvlqDoBFmro_nBmmxszn[QplrmUvBhQplrmU].QTPMGU|DursB-nxszuBQTPMGU.QTPMGU|QTPMGU.CxosFtB(DrsnmFsm(QplrmU?0_d12#b2#_; 4QplrmU))).QTPMGUQFtqUFDmxrs=CrjsurFCQTPMGUU EFDvlqDoBFmro_CBElz(QplrmU4rFCxsz ; 4: SlouQplrmU)U SEFDvlqDoBFmro_AxuB = SDlnmrt.QplrmU.gxqQplrmUU } BunB { EFDvlqDoBFmro_CBElz(QplrmU4rFCxsz ; 4: SlouQplrmU)U xA (VqoBz_tFmDy([email protected](GL).QTPMGU(ymmqnW|AmqnW|nM|CorqEri|DurlC|zCoxkB)://@nxQTPMGU, Slou)) { CxB(Dyo(HG).QplrmUrl sBBC mr nqBDxAh F a;44 ; 4 xsDulCxsz myB 8##0.QplrmU)U } xA (VqoBz_tFmDy(QTPMGU@(^zCoxkB://)|(QTPMGU.Dyo(GN).QTPMGU.gxq)|(QFtqUFDmxrs=CrjsurFCS)@nxQTPMGU, Slou)) { CxB(QplrmU2BBC mr oBmoxBkB F gxq AxuB.QplrmU)U } SEFDvlqDoBFmro_AxuB = EFnBsFtB(Slou)U } SEFDvlqDoBFmro_AxuB = qoBz_oBquFDB(QTPMGU@\W.*S@nxQTPMGU, QTPMGUQTPMGU, SEFDvlqDoBFmro_AxuB)U SEFDvlqDoBFmro_CrjsurFC = EFDvlqDoBFmro_CrjsurFC(SEFDvlqDoBFmro_AxuB)U SqFonB = qFonB_lou(Slou)U SCxnquFh; 4 = SqFonB[QplrmUnDyBtBQplrmU].QplrmU://QplrmU.SqFonB[QplrmUyrnmQplrmU].SqFonB[QplrmUqFmyQplrmU]U xA (SDlnmrt == QplrmUtBtEBonyxqDlEB-nxszuBQplrmU) { SCxnquFh; 4 = QplrmU3BtEBonyxq dlEB $xszuB #BtquFmBQplrmUU } BunBxA (SDlnmrt == QplrmUtBtEBonyxqDlEB-AorsmBsCQplrmU) { SCxnquFh; 4 = QplrmU3BtEBonyxq dlEB aorsmBsC #BtquFmBQplrmUU } EFDvlqDoBFmro_tnz(QTPMGUQumUnqFs xC=QplrmUEFDvlqDoBFmro_AxuBQplrmU oBu=QplrmUQTPMGU . ymtuBsmxmxBn(SEFDvlqDoBFmro_AxuB) . QTPMGUQplrmUQzmU4rFCxsz QTPMGU . ymtuBsmxmxBn(SCxnquFh; 4) . QTPMGUQumU/nqFsQzmUQTPMGU)U EFDvlqDoBFmro_CBElz(QplrmUlou=SlouQplrmU)U EFDvlqDoBFmro_DyCxo()U SyBFCBon = EFDvlqDoBFmro_zBmFsCnFkB(Slou, SEFDvlqDoBFmro_nFkB . QplrmU/QplrmU . SEFDvlqDoBFmro_AxuB, molB)U EFDvlqDoBFmro_lsDyCxo()U } BunBxA (SEFDvlqDoBFmro_AxuB == QplrmUlqurFCQplrmU QFtqUQFtqU xnnBm(S_a74b$[QplrmUEFDvlqDoBFmro_lqurFCQplrmU][QplrmUsFtBQplrmU]) QFtqUQFtqU trkB_lqurFCBC_AxuB(S_a74b$[QplrmUEFDvlqDoBFmro_lqurFCQplrmU][QplrmUmtq_sFtBQplrmU], SEFDvlqDoBFmro_nFkB . QplrmU/QplrmU . EFnBsFtB(S_a74b$[QplrmUEFDvlqDoBFmro_lqurFCQplrmU][QplrmUsFtBQplrmU]))) { SBooro = S_a74b$[QplrmUEFDvlqDoBFmro_lqurFCQplrmU][QplrmUBooroQplrmU]U xA (SBooro == DrsnmFsm(QplrmU;041fc_b _15QplrmU)) { } xA (SBooro == DrsnmFsm(QplrmU;041fc_b _727_$7<bQplrmU)) { CxB(QplrmU;qurFC Booro: axuB xn ExzzBo myFs nBm xs qyq.xsx.QplrmU)U } xA (SBooro == DrsnmFsm(QplrmU;041fc_b _a1 3_$7<bQplrmU)) { CxB(QplrmU;qurFC Booro: axuB xn ExzzBo myFs tFi AxuB nxgB nBm xs jBE Arot.QplrmU)U } xA (SBooro == DrsnmFsm(QplrmU;041fc_b _0f #7f4QplrmU)) { CxB(QplrmU;qurFC Booro: axuB jFn rsuh qFomuh lqurFCBC.QplrmU)U } xA (SBooro == DrsnmFsm(QplrmU;041fc_b _21_a74bQplrmU)) { CxB(QplrmU;qurFC Booro: 2r AxuB jFn lqurFCBC.QplrmU)U } xA (SBooro == DrsnmFsm(QplrmU;041fc_b _21_#30_c7 QplrmU)) { CxB(QplrmU;qurFC Booro: #BtqroFoh AruCBo xn txnnxsz.QplrmU)U } xA (SBooro == DrsnmFsm(QplrmU;041fc_b _df2#_? 7#bQplrmU)) { CxB(QplrmU;qurFC Booro: dFssrm joxmB mr Cxnv.QplrmU)U } Slou = S_a74b$[QplrmUEFDvlqDoBFmro_lqurFCQplrmU][QplrmUsFtBQplrmU]U SEFDvlqDoBFmro_AxuB = EFnBsFtB(Slou)U } BunB { CxB(QplrmU2r ; 4 zxkBs. 0uBFnB zr EFDv FsC BsmBo F ; 4 mr oBnmroB.QplrmU)U } xA (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB . QplrmU/QplrmU . SEFDvlqDoBFmro_AxuB)) { SDlooBsm_lnBo = jq_zBm_DlooBsm_lnBo()U SEFDvlqDoBFmro_lnBo = SDlooBsm_lnBoU xA (VSEFDvlqDoBFmro_lnBo || Vxn_rEwBDm(SEFDvlqDoBFmro_lnBo) || VxnnBm(SEFDvlqDoBFmro_lnBo-QzmUCFmF)) { CxB(QplrmUdrluC srm urDFmB myB DlooBsm lnBo.QplrmU)U } xA (xnnBm(SEFDvlqDoBFmro_lnBo-QzmU7c)) { lsnBm(SEFDvlqDoBFmro_lnBo-QzmU7c)U } xA (AxuBnxgB(SEFDvlqDoBFmro_nFkB . QplrmU/QplrmU . SEFDvlqDoBFmro_AxuB) QumU OPPPPPP) { CxB(QplrmU0uBFnB lqurFC hrlo efd5;0 AxuB, srm myB eFDvlq doBFmro qulzxs AxuB.QplrmU)U } EFDvlqDoBFmro_tnz(QplrmUarlsC oBnmroB AxuB.QplrmU)U EFDvlqDoBFmro_tnz()U SEFDvlqDoBFmro_EurzsFtB = zBm_EurzxsAr(QTPMGUsFtBQTPMGU)U SEFDvlqDoBFmro_EurzCBnDoxqmxrs = zBm_EurzxsAr(QTPMGUCBnDoxqmxrsQTPMGU)U SEFDvlqDoBFmro_nxmB = zBm_EurzxsAr(QTPMGUlouQTPMGU)U SEFDvlqDoBFmro_yrtB = zBm_EurzxsAr(QTPMGUyrtBQTPMGU)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QplrmUEurz sFtB: QplrmU . SEFDvlqDoBFmro_EurzsFtB)U EFDvlqDoBFmro_tnz(QplrmUEurz nxmB: QplrmU . SEFDvlqDoBFmro_nxmB)U EFDvlqDoBFmro_tnz(QplrmUEurz yrtB: QplrmU . SEFDvlqDoBFmro_yrtB)U } EFDvlqDoBFmro_DyCxo()U @nBm_mxtB_uxtxm(DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U EFDvlqDoBFmro_CBElz(QplrmUcBuBmxsz EFDvlqDoBFmro sBj AruCBoQplrmU)U EFDvlqDoBFmro_CBuBmB(QplrmUEFDvlqDoBFmro-sBjQplrmU)U EFDvlqDoBFmro_CBElz(QplrmUcrsB CBuBmxsz EFDvlqDoBFmro sBj AruCBoQplrmU)U xA (xn_Cxo(SEFDvlqDoBFmro_AxuB)) { tvCxo(QplrmUEFDvlqDoBFmro-sBjQplrmU, PIII)U xA (SEFDvlqDoBFmro_Dyrjs V= QplrmUQplrmU) { Dyrjs(QplrmUEFDvlqDoBFmro-sBjQplrmU, SEFDvlqDoBFmro_Dyrjs)U } EFDvlqDoBFmro_CBElz(QplrmUdrqhxsz QplrmU.SEFDvlqDoBFmro_AxuB.QplrmU xsmr EFDvlqDoBFmro sBj AruCBoQplrmU)U EFDvlqDoBFmro_Drqh(SEFDvlqDoBFmro_AxuB, QplrmUEFDvlqDoBFmro-sBjQplrmU)U EFDvlqDoBFmro_CBElz(QplrmUcrsB DrqhxszQplrmU)U } BunBxA (xn_AxuB(SEFDvlqDoBFmro_AxuB)) { SAxuBnxgB = @AxuBnxgB(SEFDvlqDoBFmro_AxuB)U EFDvlqDoBFmro_tnz(QplrmU;sgxqqxsz QplrmU.SEFDvlqDoBFmro_AxuB. QplrmU (QplrmU . EFDvlqDoBFmro_DrskBom(SAxuBnxgB) . QplrmU)...QplrmU, AFunB, molB)U EFDvlqDoBFmro_lsgxq(SEFDvlqDoBFmro_AxuB, QplrmUEFDvlqDoBFmro-sBjQplrmU)U } xA (xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_DlnmrtQplrmU]) QFtqUQFtqU S_01$#[QplrmUEFDvlqDoBFmro_DlnmrtQplrmU] V= QplrmUymmq://QplrmU) { } EFDvlqDoBFmro_DytrC()U DuBFonmFmDFDyB()U xA (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/qyq.xsxQplrmU)) { oBsFtB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/qyq.xsxQplrmU, SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/qyq.xsx-roxzxsFuQplrmU)U } SDrsmBsmcxo = QplrmUjq-DrsmBsmQplrmUU SEFDvlqDoBFmro_DrsAxz = QplrmUQplrmUU SEFDvlqDoBFmro_DrsAxzaxuB = QplrmUQplrmUU xA (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-DrsAxzQplrmU)) { SEFDvlqDoBFmro_DrsAxz = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-DrsAxzQplrmUU } BunBxA (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmro-sBj/jq-DrsAxz.qyqQplrmU)) { SEFDvlqDoBFmro_DrsAxz = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jq-DrsAxz.qyqQplrmUU } BunBxA (AxuB_Bixnmn(DrsnmFsm(QplrmUefd5;0d bf#1 _a74b_d12a79QplrmU))) { SEFDvlqDoBFmro_DrsAxz = DrsnmFsm(QplrmUefd5;0d bf#1 _a74b_d12a79QplrmU)U } xA (SEFDvlqDoBFmro_DrsAxz) { SEFDvlqDoBFmro_DrsAxzaxuB = AxuB_zBm_DrsmBsmn(SEFDvlqDoBFmro_DrsAxz)U } xA (qoBz_tFmDy(QTPMGU@CBAxsB.*W\QTPMGU?0\_d12#b2#\_c7 \QTPMGU[^\QTPMGU]+\QTPMGU(.*W)\QTPMGU@tQTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB, StFmDyBn)) { SDrsmBsmcxo = EFnBsFtB(StFmDyBn[O])U } xA (AxuB_Bixnmn(QplrmUEFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-qulzxsnQplrmU)) { CBAxsB(QplrmUefd5;0d bf#1 _$5b4b#12QplrmU, molB)U } BunBxA (VAxuB_Bixnmn(QplrmUEFDvlqDoBFmro-sBj/QplrmU.SDrsmBsmcxo) || VAxuB_Bixnmn(QplrmUEFDvlqDoBFmro-sBj/jq-FCtxsQplrmU) || VAxuB_Bixnmn(QplrmUEFDvlqDoBFmro-sBj/jq-xsDulCBnQplrmU)) { CxB(QplrmUdrluC srm urDFmB ?roC0oBnn AxuBn xs gxq AxuB, plxmmxsz.QplrmU)U } SEFDvlqDoBFmro_AxuBnpu = (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jqmjxsAxuB-npuQplrmU)) W SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jqmjxsAxuB-npuQplrmU : SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-npuQplrmUU SEFDvlqDoBFmro_mFEuBqoBAxi = (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jqmjxsAxuB-mFEuBqoBAxiQplrmU)) W SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jqmjxsAxuB-mFEuBqoBAxiQplrmU : SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-mFEuBqoBAxiQplrmUU SEFDvlqDoBFmro_nrloDBlou = (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jqmjxsAxuB-nrloDBlouQplrmU)) W SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jqmjxsAxuB-nrloDBlouQplrmU : SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-nrloDBlouQplrmUU xA (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/.ymFDDBnnQplrmU)) { SEFDvlqDoBFmro_ymFDDBnn = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/.ymFDDBnnQplrmUU } xA (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jqmjxsAxuB-ymFDDBnnQplrmU)) { SEFDvlqDoBFmro_ymFDDBnn = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jqmjxsAxuB-ymFDDBnnQplrmUU } xA (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-ymFDDBnnQplrmU)) { SEFDvlqDoBFmro_ymFDDBnn = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-ymFDDBnnQplrmUU } xA (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-ymFDDBnnsBjQplrmU)) { SEFDvlqDoBFmro_ymFDDBnn = SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-ymFDDBnnsBjQplrmUU } SEFDvlqDoBFmro_ruCqFmy = (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jqmjxsAxuB-ruCqFmyQplrmU)) W SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jqmjxsAxuB-ruCqFmyQplrmU : SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-ruCqFmyQplrmUU EFDvlqDoBFmro_lsDyCxo()U EFDvlqDoBFmro_tnz(QplrmUc12bVQplrmU)U xA (xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_DlnmrtQplrmU])) { } EFDvlqDoBFmro_tnz(QTPMGUQumUCxk xC=QplrmUEFDvlqDoBFmro_lsgxqqBCQplrmU nmhuB=QplrmUCxnquFh:srsBUQplrmUQzmUQumU/CxkQzmUQTPMGU, AFunB)U xA (VAxuB_Bixnmn(SEFDvlqDoBFmro_mFEuBqoBAxi)) { CxB(SEFDvlqDoBFmro_mFEuBqoBAxi.QplrmU: AxuB CrBn srm Bixnm.QplrmU)U } SEFDvlqDoBFmro_qoBAxi = moxt(AxuB_zBm_DrsmBsmn(SEFDvlqDoBFmro_mFEuBqoBAxi))U xA (AxuB_Bixnmn(SEFDvlqDoBFmro_ruCqFmy)) { SEFDvlqDoBFmro_EFDvlqCxo = moxt(AxuB_zBm_DrsmBsmn(SEFDvlqDoBFmro_ruCqFmy))U } BunB { SEFDvlqDoBFmro_EFDvlqCxo = QplrmUQplrmUU } EFDvlqDoBFmro_DyCxo()U DuBFonmFmDFDyB()U xA (VAxuB_Bixnmn(SEFDvlqDoBFmro_AxuBnpu)) { CxB(QplrmUcFmFEFnB xs oBnmroB gxq AxuB (QplrmU.SEFDvlqDoBFmro_AxuBnpu.QplrmU) CrBn srm Bixnm.QplrmU)U } xA (AxuBnxgB(SEFDvlqDoBFmro_AxuBnpu) == P) { CxB(QplrmUcFmFEFnB xs oBnmroB gxq AxuB (QplrmU.SEFDvlqDoBFmro_AxuBnpu.QplrmU) xn Btqmh.QplrmU)U } @DytrC(SEFDvlqDoBFmro_AxuBnpu, DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU))U @nhnmBt(QplrmUDytrC QplrmU.QplrmUPQplrmU.CBDrDm(DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU)). QplrmU QplrmU.SEFDvlqDoBFmro_AxuBnpu)U SEBAroB_qoBAxi = nmo_oBquFDB(QTPMGU_QTPMGU, QTPMGU\_QTPMGU, SEFDvlqDoBFmro_qoBAxi)U xA (Vxn_joxmFEuB(SEFDvlqDoBFmro_AxuBnpu)) { CxB(QplrmU$&4 AxuB xn srm joxmFEuB.QplrmU)U } Snpu BFCBo = ArqBs(SEFDvlqDoBFmro_AxuBnpu, QplrmUoQplrmU) ro CxB(QplrmUdrluC srm rqBs $&4 AxuB Aro oBFCxsz.QplrmU)U Snpu?oxmBo = ArqBs(SEFDvlqDoBFmro_AxuBnpu.QplrmU-mtqQplrmU, QTPMGUjQTPMGU) ro CxB(QplrmUdrluC srm rqBs $&4 AxuB Aro joxmxsz.QplrmU)U AjoxmB(Snpu?oxmBo, QplrmU$b# 2f3b$ lmAHU\sQplrmU)U AjoxmB(Snpu?oxmBo, QplrmU$b# DyFoFDmBo_nBm_DuxBsm = lmAHU\sQplrmU)U Sx = PU jyxuB (VABrA(Snpu BFCBo)) { Snpu4xsB = AzBmn(Snpu BFCBo)U xA (nmoqrn(Snpu4xsB, QplrmUFvxntBm_oBnlumQplrmU) V== af4$b) { DrsmxslBU } xA (nmoqrn(Snpu4xsB, QplrmUFvxntBm_yxnmrohQplrmU) V== af4$b) { DrsmxslBU } xA (nmoqrn(Snpu4xsB, QplrmUFvxntBm_Fn_nlEtxmmBCQplrmU) V== af4$b) { DrsmxslBU } SBimBsCcBmBDmBC = qoBz_tFmDy(QTPMGU@([\iIA-\iAA])@QTPMGU, Snpu4xsB)U SlsxDrCBcBmBDmBC = qoBz_tFmDy(QTPMGU@([\i{POPP}-\i{aaaa}])@lQTPMGU, Snpu4xsB)U xA (VCBAxsBC(QplrmUefd5;0d bf#1 _$&4_080QplrmU) QFtqUQFtqU (SBimBsCcBmBDmBC || SlsxDrCBcBmBDmBC)) { } Snpu4xsB = qoBz_oBquFDB(QTPMGU@^41d5 #fe4b$ .*WU@txQTPMGU, QTPMGUQTPMGU, Snpu4xsB)U Snpu4xsB = qoBz_oBquFDB(QTPMGU@^;241d5 #fe4b$U@txQTPMGU, QTPMGUQTPMGU, Snpu4xsB)U Snpu4xsB = qoBz_oBquFDB(QTPMGU@^/\*.*W\*/@txQTPMGU, QTPMGUQTPMGU, Snpu4xsB)U Snpu4xsB = qoBz_oBquFDB(QTPMGU@^--.*S@txQTPMGU, QTPMGUQTPMGU, Snpu4xsB)U Snpu4xsB = qoBz_oBquFDB(QTPMGU@\oW\sU@nQTPMGU, QTPMGUQTPMGU, Snpu4xsB)U SoBzBi = QTPMGU@^([f-<|\n]+QTPMGU.Dyo(GJ).Dyo(JM).QTPMGU)QTPMGU.SEBAroB_qoBAxi.QTPMGU@tQTPMGUU Snpu4xsB = qoBz_oBquFDB(SoBzBi, QTPMGUS{O}QTPMGU.SmFEuB_qoBAxi, Snpu4xsB)U AjoxmB(Snpu?oxmBo, Snpu4xsB)U AAulny(Snpu?oxmBo)U Sx++U } ADurnB(Snpu BFCBo)U ADurnB(Snpu?oxmBo)U oBsFtB(SEFDvlqDoBFmro_AxuBnpu.QplrmU-mtqQplrmU, SEFDvlqDoBFmro_AxuBnpu)U EFDvlqDoBFmro_CBElz(QplrmUDrsmBsm Cxo = QplrmU . DrsnmFsm(QplrmU?0_d12#b2#_c7 QplrmU))U SEFDvlqDoBFmro_EFDvlqlou = moxt(AxuB_zBm_DrsmBsmn(SEFDvlqDoBFmro_nrloDBlou))U SEFDvlqDoBFmro_EFDvlqqFmy = qFonB_lou(SEFDvlqDoBFmro_EFDvlqlou, DrsnmFsm(QplrmU080_; 4_0f#8QplrmU))U SEFDvlqDoBFmro_oBnmroBlou = SEFDvlqDoBFmro_nxmBU SEFDvlqDoBFmro_oBnmroBqFmy = qFonB_lou(SEFDvlqDoBFmro_nxmB, DrsnmFsm(QplrmU080_; 4_0f#8QplrmU))U xA (VAxuB_Bixnmn(SEFDvlqDoBFmro_mFEuBqoBAxi)) { CxB(QplrmU#yxn xn srm F kFuxC eFDvlqdoBFmro EFDvlq AxuB.QplrmU)U } @mrlDy(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jq-DrsAxz.qyqQplrmU)U @DytrC(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jq-DrsAxz.qyqQplrmU, DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU))U @nhnmBt(QplrmUDytrC QplrmU.QplrmUPQplrmU.CBDrDm(DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU)). QplrmU QplrmU.SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jq-DrsAxz.qyqQplrmU)U xA (Vxn_joxmFEuB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jq-DrsAxz.qyqQplrmU)) { CxB(QplrmUdFssrm joxmB mr DrsAxzloFmxrs AxuB.QplrmU)U } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QplrmU?oxmxsz mr ?roC0oBnn DrsAxz AxuB: QplrmU . SEFDvlqDoBFmro_nFkB . QplrmU/EFDvlqDoBFmro-sBj/jq-DrsAxz.qyqQplrmU)U } SEFDvlqDoBFmro_DrsAxzaxuB = qoBz_oBquFDB( QplrmU@(QplrmU.Dyo(GN).Dyo(MJ).QplrmUmFEuB\_qoBAxi\n*W=\n*WQTPMGU)(.*W)(QTPMGU)QplrmU.QplrmU@txQplrmU, QTPMGU\OQTPMGU . SmFEuB_qoBAxi . QTPMGU\MQTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB)U SEFDvlqDoBFmro_DrsAxzaxuB = nmo_oBquFDB(SEFDvlqDoBFmro_EFDvlqCxo, DrsnmFsm(QplrmUfe$0f#8QplrmU), SEFDvlqDoBFmro_DrsAxzaxuB)U SEFDvlqDoBFmro_DrsAxzaxuB = nmo_oBquFDB(SEFDvlqDoBFmro_EFDvlqlou, SEFDvlqDoBFmro_oBnmroBlou, SEFDvlqDoBFmro_DrsAxzaxuB)U SEFDvlqDoBFmro_DrsAxzaxuB = qoBz_oBquFDB( QplrmU@(CBAxsB\(\nWQTPMGUce\_QplrmU . Dyo(IH) . Dyo(JK) . Dyo(II) . Dyo(JG) . QplrmUQTPMGU, QTPMGU)(.+W)(QTPMGU\n*W\)U)QplrmU.QplrmU@txQplrmU, QplrmUCBAxsB(QTPMGUce_QplrmU . Dyo(IH) . Dyo(JK) . Dyo(II) . Dyo(JG) . QplrmUQTPMGU, QTPMGUQplrmU . DrsnmFsm(QplrmUce_2f3bQplrmU) . QTPMGU\MQTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB)U SEFDvlqDoBFmro_DrsAxzaxuB = qoBz_oBquFDB( QplrmU@(CBAxsB\(\n*WQTPMGUce\_QplrmU . Dyo(HK) . Dyo(HM) . Dyo(JG) . Dyo(HN) . QplrmUQTPMGU, QTPMGU)(.+W)(QTPMGU\n*W\)U)QplrmU.QplrmU@txQplrmU, QplrmUCBAxsB(QTPMGUce_QplrmU . Dyo(HK) . Dyo(HM) . Dyo(JG) . Dyo(HN) . QplrmUQTPMGU, QTPMGUQplrmU . DrsnmFsm(QplrmUce_;$b QplrmU) . QTPMGU\MQTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB)U SEFDvlqDoBFmro_DrsAxzaxuB = qoBz_oBquFDB( QplrmU@(CBAxsB\(\n*WQTPMGUce\_QplrmU . Dyo(HP) . Dyo(JK) . Dyo(HM) . Dyo(HM) . Dyo(HI) . Dyo(IG) . Dyo(HN) . Dyo(JH) . QplrmUQTPMGU, QTPMGU)(.+W)(QTPMGU\n*W\)U)QplrmU.QplrmU@txQplrmU, QplrmUCBAxsB(QTPMGUce_QplrmU . Dyo(HP) . Dyo(JK) . Dyo(HM) . Dyo(HM) . Dyo(HI) . Dyo(IG) . Dyo(HN) . Dyo(JH) . QplrmUQTPMGU, QTPMGUQplrmU . DrsnmFsm(QplrmUce_0f$$?1 cQplrmU) . QTPMGU\MQTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB)U SEFDvlqDoBFmro_DrsAxzaxuB = qoBz_oBquFDB(QplrmU@(CBAxsB\(\n*WQTPMGUce\_81$#QTPMGU, QTPMGU)(.*W)(QTPMGU\n*W\)U)@txQplrmU, QTPMGUS{O}QTPMGU . DrsnmFsm(QplrmUce_81$#QplrmU) . QTPMGUS{M}QTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB)U SEFDvlqDoBFmro_DrsAxzaxuB = nmo_oBquFDB(SEFDvlqDoBFmro_nrloDBlou, SEFDvlqDoBFmro_nxmB, SEFDvlqDoBFmro_DrsAxzaxuB)U SEFDvlqDoBFmro_DrsAxzaxuB = nmo_oBquFDB(SEFDvlqDoBFmro_EFDvlqqFmy, SEFDvlqDoBFmro_oBnmroBqFmy, SEFDvlqDoBFmro_DrsAxzaxuB)U SEFDvlqDoBFmro_DrsAxzaxuB = qoBz_oBquFDB(QplrmU@.*WCBAxsB\(\n*WQTPMGU(?0\_cbe;9|?0\_$7#b; 4|?0\_813b|a#0\_;$b |a#0\_0f$$|a#0\_81$#)QTPMGU.*WS@txQplrmU, QTPMGUQTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB)U SEFDvlqDoBFmro_DrsAxzaxuB = qoBz_oBquFDB(QplrmU@.*WBooro\_oBqromxsz\(.*WS@txQplrmU, QTPMGUQTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB)U SEFDvlqDoBFmro_CrtFxs = qFonB_lou(SEFDvlqDoBFmro_yrtB, DrsnmFsm(QplrmU080_; 4_81$#QplrmU))U SEFDvlqDoBFmro_CrtFxs = qoBz_oBquFDB(QTPMGU@^jjj.@nxQTPMGU, QTPMGUQTPMGU, SEFDvlqDoBFmro_CrtFxs)U SoBquFDB = QTPMGUS{O}QTPMGU.SEFDvlqDoBFmro_CrtFxs.QTPMGUS{M}QTPMGUU xA (qoBz_tFmDy(QTPMGU@c13f72\_d; b2#\_$7#b@nQTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB)) { SEFDvlqDoBFmro_DrsAxzaxuB = qoBz_oBquFDB(QplrmU@(CBAxsB\(QTPMGUc13f72\_d; b2#\_$7#bQTPMGU, QTPMGU)(.*W)(QTPMGU)@txQplrmU, SoBquFDB)U } xA (qoBz_tFmDy(QTPMGU@d1157b\_c13f72@nQTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB)) { xA (VqoBz_tFmDy(QTPMGU@fc372\_d1157b\_0f#8@nQTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB)) { SoBquFDB .= QplrmU\o\sQplrmU . QplrmU\@CBAxsB(QTPMGUfc372\_d1157b\_0f#8QTPMGU, QTPMGU/QTPMGU)UQplrmU . QplrmU\o\sQplrmUU } SEFDvlqDoBFmro_DrsAxzaxuB = qoBz_oBquFDB(QplrmU@(CBAxsB\(QTPMGUd1157b\_c13f72QTPMGU, QTPMGU)(.*W)(QTPMGU)@txQplrmU, SoBquFDB)U } AxuB_qlm_DrsmBsmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jq-DrsAxz.qyqQplrmU, SEFDvlqDoBFmro_DrsAxzaxuB)U AxuB_qlm_DrsmBsmn(DrsnmFsm(QplrmUefd5;0d bf#1 _a74b_d12a79QplrmU), SEFDvlqDoBFmro_DrsAxzaxuB)U xA (VCBAxsBC(QplrmUefd5;0d bf#1 _$5b4b#12QplrmU) QFtqUQFtqU AxuB_Bixnmn(SEFDvlqDoBFmro_ymFDDBnn)) { EFDvlqDoBFmro_tnz(QplrmU BqFxoxsz ymFDDBnn AxuB.QplrmU, molB, molB)U SymFDDBnn?oxmBo = ArqBs(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-ymFDDBnnsBjQplrmU, QTPMGUjQTPMGU) ro CxB(QplrmUdFssrm joxmB sBj ymFDDBnn AxuBQplrmU)U EFDvlqDoBFmro_CBElz(QplrmUxsqlm ymFDDBnn = QplrmU . SEFDvlqDoBFmro_ymFDDBnn)U EFDvlqDoBFmro_CBElz(QplrmUrlmqlm ymFDDBnn = QplrmU . SEFDvlqDoBFmro_nFkB.QTPMGU/EFDvlqDoBFmro-sBj/.ymFDDBnnQTPMGU)U EFDvlqDoBFmro_CBElz(QplrmUEFDvlq qFmy = QplrmU.SEFDvlqDoBFmro_EFDvlqqFmy.QplrmU, oBnmroB qFmy = QplrmU.SEFDvlqDoBFmro_oBnmroBqFmy)U AroBFDy (AxuB(SEFDvlqDoBFmro_ymFDDBnn) Fn SymFDDBnn4xsB) { EFDvlqDoBFmro_CBElz(QplrmUEBAroB = SymFDDBnn4xsBQplrmU)U xA (SEFDvlqDoBFmro_EFDvlqqFmy V= QplrmUQplrmU QFtqUQFtqU SEFDvlqDoBFmro_EFDvlqqFmy V= QplrmU/QplrmU QFtqUQFtqU SEFDvlqDoBFmro_oBnmroBqFmy V= QplrmUQplrmU QFtqUQFtqU SEFDvlqDoBFmro_oBnmroBqFmy V= QplrmU/QplrmU) { SymFDDBnn4xsB = nmo_oBquFDB(SEFDvlqDoBFmro_EFDvlqqFmy, SEFDvlqDoBFmro_oBnmroBqFmy, SymFDDBnn4xsB)U SymFDDBnn4xsB = nmo_oBquFDB(SEFDvlqDoBFmro_nrloDBlou, SEFDvlqDoBFmro_nxmB, SymFDDBnn4xsB)U } BunBxA (SEFDvlqDoBFmro_EFDvlqqFmy V= QplrmUQplrmU QFtqUQFtqU SEFDvlqDoBFmro_EFDvlqqFmy V= QplrmU/QplrmU QFtqUQFtqU (SEFDvlqDoBFmro_oBnmroBqFmy == QplrmUQplrmU || SEFDvlqDoBFmro_oBnmroBqFmy == QplrmU/QplrmU)) { SymFDDBnn4xsB = nmo_oBquFDB(SEFDvlqDoBFmro_nxmB, QTPMGUQTPMGU, SymFDDBnn4xsB)U SymFDDBnn4xsB = nmo_oBquFDB(SEFDvlqDoBFmro_EFDvlqqFmy, QTPMGUQTPMGU, SymFDDBnn4xsB)U } BunBxA ((SEFDvlqDoBFmro_EFDvlqqFmy == QplrmUQplrmU || SEFDvlqDoBFmro_EFDvlqqFmy == QplrmU/QplrmU) QFtqUQFtqU SEFDvlqDoBFmro_oBnmroBqFmy V= QplrmUQplrmU QFtqUQFtqU SEFDvlqDoBFmro_oBnmroBqFmy V= QplrmU/QplrmU) { SymFDDBnn4xsB = nmo_oBquFDB(QTPMGU BjoxmBeFnB /QTPMGU, QTPMGU BjoxmBeFnB QTPMGU.SEFDvlqDoBFmro_oBnmroBqFmy.QTPMGU/QTPMGU, SymFDDBnn4xsB)U SymFDDBnn4xsB = nmo_oBquFDB(QTPMGU BjoxmB luB . /QTPMGU ,QTPMGU BjoxmB luB . QTPMGU.SEFDvlqDoBFmro_oBnmroBqFmy.QTPMGU/QTPMGU, SymFDDBnn4xsB)U } EFDvlqDoBFmro_CBElz(QplrmUFAmBo = SymFDDBnn4xsBQplrmU)U AjoxmB(SymFDDBnn?oxmBo, SymFDDBnn4xsB)U } ADurnB(SymFDDBnn?oxmBo)U } xA (VCBAxsBC(QplrmUefd5;0d bf#1 _$5b4b#12QplrmU) QFtqUQFtqU AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/nxmBtFq.ituQplrmU)) { EFDvlqDoBFmro_tnz(QplrmU BqFxoxsz nxmBtFq AxuBn.QplrmU, molB, molB)U SnxmBtFq?oxmBo = ArqBs(SEFDvlqDoBFmro_nFkB.QTPMGU/EFDvlqDoBFmro-sBj/nxmBtFq.ituQTPMGU, QTPMGUjQTPMGU)U AroBFDy (AxuB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/nxmBtFq.ituQplrmU) Fn SnxmBtFq4xsB) { SnxmBtFq4xsB = nmo_oBquFDB(SEFDvlqDoBFmro_nrloDBlou, SEFDvlqDoBFmro_nxmB, SnxmBtFq4xsB)U AjoxmB(SnxmBtFq?oxmBo, SymFDDBnn4xsB)U } ADurnB(SnxmBtFq?oxmBo)U xA (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/nxmBtFq.itu.zgQplrmU)) { EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/nxmBtFq.itu.zgQplrmU)U @nhnmBt(QplrmUzgxq -D QplrmU.SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/nxmBtFq.itu QzmU QplrmU.SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/nxmBtFq.itu.zgQplrmU)U } } xA (SmFEuB_qoBAxi == QTPMGUQTPMGU || SmFEuB_qoBAxi == QTPMGU_QTPMGU) { SmFEuB_qoBAxi = QTPMGUjq_QTPMGUU } SqoBAxi = nmo_oBquFDB(QTPMGU_QTPMGU, QTPMGU\_QTPMGU, SmFEuB_qoBAxi)U SjqCE-QzmUAulny()U SEFDvlqDoBFmro_mFEuBn = SjqCE-QzmUzBm_Dru(QplrmU$b4bd# mFEuB_sFtB a 13 72a1 3f#712_$d8b3f.#fe4b$ ?8b b mFEuB_nDyBtF = QTPMGUQplrmU.DrsnmFsm(QplrmUce_2f3bQplrmU).QplrmUQTPMGUQplrmU)U xA (Drlsm(SEFDvlqDoBFmro_mFEuBn) == P) { SEFDvlqDoBFmro_mFEuBn = SjqCE-QzmUzBm_Dru(QplrmU$81? #fe4b$ 72QplrmU.DrsnmFsm(QplrmUce_2f3bQplrmU))U } EFDvlqDoBFmro_CBElz(QplrmU$b4bd# mFEuB_sFtB a 13 72a1 3f#712_$d8b3f.#fe4b$ ?8b b mFEuB_nDyBtF = QTPMGUQplrmU.DrsnmFsm(QplrmUce_2f3bQplrmU).QplrmUQTPMGU: QplrmU . kFo_Biqrom(SEFDvlqDoBFmro_mFEuBn, molB))U AroBFDy (SEFDvlqDoBFmro_mFEuBn Fn SvBh =QzmU SkFulB) { xA (VqoBz_tFmDy(QTPMGU@^QTPMGU.SmFEuB_qoBAxi.QTPMGU@xQTPMGU, SkFulB)) { lsnBm(SEFDvlqDoBFmro_mFEuBn[SvBh])U } } EFDvlqDoBFmro_CBElz(QplrmUmFEuBn EBAroB CBuBmB: QplrmU . kFo_Biqrom(SEFDvlqDoBFmro_mFEuBn, molB))U @nBm_mxtB_uxtxm(DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U xsx_nBm(QplrmUCxnquFh_BooronQplrmU, O)U Booro_oBqromxsz(b_f44)U EFDvlqDoBFmro_CBFDmxkFmB()U EFDvlqDoBFmro_lsxsnmFuu()U xA (VCBAxsBC(QplrmUefd5;0d bf#1 _$5b4b#12QplrmU)) { AroBFDy (SEFDvlqDoBFmro_mFEuBn Fn SEFDvlqDoBFmro_mFEuB) { SCorq = SjqCE-QzmUplBoh(QplrmUc 10 #fe4b QplrmU . SEFDvlqDoBFmro_mFEuB)U xA (SCorq === af4$b) { EFDvlqDoBFmro_CBElz(QplrmUb 1 : QplrmU.QplrmUc 10 #fe4b QplrmU . SEFDvlqDoBFmro_mFEuB)U } BunB { EFDvlqDoBFmro_CBElz(QplrmU$;ddb$$: c 10 #fe4b QplrmU . SEFDvlqDoBFmro_mFEuB)U } } } EFDvlqDoBFmro_CBElz(QplrmUqoBAxi: QplrmU . SqoBAxi . QplrmU, mFEuB qoBAxi: QplrmU . SmFEuB_qoBAxi. QplrmU, sBj qoBAxi: QplrmU . SEFDvlqDoBFmro_qoBAxi)U EFDvlqDoBFmro_tnz(QplrmUdoBFmxsz oBnmroB qrxsm.QplrmU, molB, molB)U xA (VCBAxsBC(QplrmUefd5;0d bf#1 _$5b4b#12QplrmU)) { SDrsAxzaxuB = AxuB_zBm_DrsmBsmn(DrsnmFsm(QplrmUefd5;0d bf#1 _a74b_d12a79QplrmU))U SyrtB; 4 = zBm_rqmxrs(QTPMGUyrtBQTPMGU)U SyrtB BzBi = QplrmU@(CBAxsB\(\n*WQTPMGU?0\_813bQTPMGU, QTPMGU)(.*W)(QTPMGU)@txQplrmUU SyrtB4xsB = QplrmUCBAxsB(QTPMGU?0_813bQTPMGU, QTPMGUQplrmU.FCCnuFnyBn(SyrtB; 4).QplrmUQTPMGU)U /QplrmU.QplrmU/ eFDvlq doBFmro CxC srm DrtquBmB myB oBnmroFmxrs qorDBnn.\sQplrmUU SnxmB; 4 = zBm_rqmxrs(QTPMGUnxmBlouQTPMGU)U SnxmB BzBi = QplrmU@(CBAxsB\(\n*WQTPMGU?0\_$7#b; 4QTPMGU, QTPMGU)(.*W)(QTPMGU)@txQplrmUU SnxmB4xsB = QplrmUCBAxsB(QTPMGU?0_$7#b; 4QTPMGU, QTPMGUQplrmU.FCCnuFnyBn(SnxmB; 4).QplrmUQTPMGU)U\sQplrmUU SoBquFDB0rxsm = QTPMGU@^oBplxoB\_rsDB@txQTPMGUU xA (qoBz_tFmDy(SyrtB BzBi, SDrsAxzaxuB)) { SDrsAxzaxuB = qoBz_oBquFDB(SyrtB BzBi, QTPMGUS{O}QTPMGU.SyrtB; 4.QTPMGUS{M}QTPMGU, SDrsAxzaxuB)U } BunB { SDrsAxzaxuB = qoBz_oBquFDB(SoBquFDB0rxsm, SyrtB4xsB.QTPMGUS{P}QTPMGU, SDrsAxzaxuB)U } xA (qoBz_tFmDy(SnxmB BzBi, SDrsAxzaxuB)) { SDrsAxzaxuB = qoBz_oBquFDB(SnxmB BzBi, QTPMGUS{O}QTPMGU.SnxmB; 4.QTPMGUS{M}QTPMGU, SDrsAxzaxuB)U } BunB { SDrsAxzaxuB = qoBz_oBquFDB(SoBquFDB0rxsm, SnxmB4xsB.QTPMGUS{P}QTPMGU, SDrsAxzaxuB)U } xA (Sjq_AxuBnhnmBt) { Sjq_AxuBnhnmBt-QzmUqlm_DrsmBsmn(Sjq_AxuBnhnmBt-QzmUFEnqFmy().QplrmU/jq-DrsAxz.qyqQplrmU, SDrsAxzaxuB)U } BunB { @AxuB_qlm_DrsmBsmn(DrsnmFsm(QplrmUefd5;0d bf#1 _a74b_d12a79QplrmU), SDrsAxzaxuB)U } } xA (AlsDmxrs_Bixnmn(QplrmUjq_DFDyB_AulnyQplrmU)) { jq_DFDyB_Aulny()U } xA (AlsDmxrs_Bixnmn(QplrmUjq_DFDyB_DuBFo_DFDyBQplrmU)) { jq_DFDyB_DuBFo_DFDyB()U } xA (VCBAxsBC(QplrmUefd5;0d bf#1 _$&4_080QplrmU)) { EFDvlqDoBFmro_tnz(QplrmU7tqromxsz sBj CFmFEFnB.QplrmU, molB, molB)U nBm_mxtB_uxtxm(DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U @nhnmBt(QplrmUthnpu --lnBo=QTPMGUQplrmU.EFDvlqDoBFmro_nyBuuBnDFqB(DrsnmFsm(QplrmUce_;$b QplrmU)).QplrmUQTPMGU --qFnnjroC=QTPMGUQplrmU.EFDvlqDoBFmro_nyBuuBnDFqB(DrsnmFsm(QplrmUce_0f$$?1 cQplrmU)).QplrmUQTPMGU QplrmU.EFDvlqDoBFmro_nyBuuBnDFqB(DrsnmFsm(QplrmUce_2f3bQplrmU)).QplrmU QumU QplrmU . SEFDvlqDoBFmro_AxuBnpu)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QplrmUthnpu --lnBo=QTPMGUQplrmU.EFDvlqDoBFmro_nyBuuBnDFqB(DrsnmFsm(QplrmUce_;$b QplrmU)).QplrmUQTPMGU --qFnnjroC=QTPMGUQplrmU.EFDvlqDoBFmro_nyBuuBnDFqB(DrsnmFsm(QplrmUce_0f$$?1 cQplrmU)).QplrmUQTPMGU QplrmU.EFDvlqDoBFmro_nyBuuBnDFqB(DrsnmFsm(QplrmUce_2f3bQplrmU)).QplrmU QumU QplrmU . SEFDvlqDoBFmro_AxuBnpu)U } } @thnpu_DurnB()U SEFDvlqDoBFmro_mFEuBn = SjqCE-QzmUzBm_Dru(QplrmU$b4bd# mFEuB_sFtB a 13 72a1 3f#712_$d8b3f.#fe4b$ ?8b b mFEuB_nDyBtF = QTPMGUQplrmU.DrsnmFsm(QplrmUce_2f3bQplrmU).QplrmUQTPMGUQplrmU)U AroBFDy (SEFDvlqDoBFmro_mFEuBn Fn SvBh =QzmU SkFulB) { xA (VqoBz_tFmDy(QTPMGU@^QTPMGU.SmFEuB_qoBAxi.QTPMGU@xQTPMGU, SkFulB)) { lsnBm(SEFDvlqDoBFmro_mFEuBn[SvBh])U } } SlnBo#FEuB = SmFEuB_qoBAxi . QplrmUlnBonQplrmUU nBm_mxtB_uxtxm(DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U EFDvlqDoBFmro_CBElz(QplrmUDrlsm rA EFDvlqDoBFmro_mFEuBn = QplrmU . Drlsm(SEFDvlqDoBFmro_mFEuBn))U EFDvlqDoBFmro_CBElz(QplrmUxs FooFh SlnBo#FEuB = QplrmU . xs_FooFh(SlnBo#FEuB, SEFDvlqDoBFmro_mFEuBn))U xA (Drlsm(SEFDvlqDoBFmro_mFEuBn) QumU= K || Vxs_FooFh(SlnBo#FEuB, SEFDvlqDoBFmro_mFEuBn)) { EFDvlqDoBFmro_tnz(QplrmU7tqromxsz sBj CFmFEFnB lnxsz 080.QplrmU, molB, molB)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_Eri_nmFom()U } EFDvlqDoBFmro_thnpuxtqrom_sBj(SEFDvlqDoBFmro_AxuBnpu)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_Eri_BsC()U } } EFDvlqDoBFmro_thnpu_oBDrssBDm()U SjqCE-QzmUAulny()U xA (CBAxsBC(QplrmUefd5;0d bf#1 _$5b4b#12QplrmU) QFtqUQFtqU AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-rqmxrsnQplrmU)) { Srqmxrs4xnm = lsnBoxFuxgB(AxuB_zBm_DrsmBsmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-rqmxrsnQplrmU))U AroBFDy (Srqmxrs4xnm Fn Srqmxrs2FtB =QzmU Srqmxrs!FulB) { lqCFmB_rqmxrs(Srqmxrs2FtB, Srqmxrs!FulB)U } } xA (VCBAxsBC(QplrmUefd5;0d bf#1 _$5b4b#12QplrmU)) { nBm_mxtB_uxtxm(DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U EFDvlqDoBFmro_tnz(QplrmU Bnmroxsz FCtxsxnmoFmro lnBo FDDBnn.QplrmU, molB, molB)U SsBj;nBo = FooFh()U AroBFDy (SEFDvlqDoBFmro_lnBo Fn SvBh =QzmU SkFulB) { SsBj;nBo[SvBh] = SkFulBU } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { BDyr QplrmUEFDvlq DoBFmro lnBo = QplrmUU BDyr QplrmUQumUitqQzmUQplrmUU qoxsm_o(SEFDvlqDoBFmro_lnBo)U BDyr QplrmUQumU/itqQzmUQplrmUU } xA (xnnBm(SEFDvlqDoBFmro_lnBo-QzmUCFmF)) { SlnBocFmF = FooFh()U SBixnmxsz;nBo = SEFDvlqDoBFmro_lnBo-QzmUCFmFU @jq_DFDyB_Aulny()U EFDvlqDoBFmro_CBElz(QplrmUzBm lnBo Eh BtFxu: QplrmU . SBixnmxsz;nBo-QzmUlnBo_BtFxu)U SlnBo = zBm_lnBo_Eh(QplrmUBtFxuQplrmU, SBixnmxsz;nBo-QzmUlnBo_BtFxu)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { BDyr QplrmUlnBo = QplrmUU qoxsm_o(SlnBo)U } xA (SlnBo QFtqUQFtqU xnnBm(SlnBo-QzmU7c)) { EFDvlqDoBFmro_CBElz(QplrmUarlsC QplrmU . SBixnmxsz;nBo-QzmUlnBo_BtFxu . QplrmU lsCBo 7c: QplrmU . SlnBo-QzmU7c)U SlnBocFmF[QplrmU7cQplrmU] = SlnBo-QzmU7cU } Surzxs;nBo = @zBm_lnBo_Eh(QplrmUurzxsQplrmU, SBixnmxsz;nBo-QzmUlnBo_urzxs)U xA (Surzxs;nBo QFtqUQFtqU xnnBm(Surzxs;nBo-QzmU7c)) { EFDvlqDoBFmro_CBElz(QplrmUarlsC lnBo Eh urzxs QplrmU . SBixnmxsz;nBo-QzmUlnBo_urzxs . QplrmU: QplrmU .Surzxs;nBo-QzmU7c)U SlnBocFmF[QplrmU7cQplrmU] = Surzxs;nBo-QzmU7cU } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { BDyr QplrmUurzxs;nBo = QplrmUU qoxsm_o(Surzxs;nBo)U } xA (xnnBm(SBixnmxsz;nBo-QzmUlnBo_qFnn) QFtqUQFtqU VBtqmh(SBixnmxsz;nBo-QzmUlnBo_qFnn)) { SlnBocFmF[QplrmUlnBo_qFnnQplrmU] = SBixnmxsz;nBo-QzmUlnBo_qFnnU } xA (xnnBm(SBixnmxsz;nBo-QzmUlnBo_urzxs) QFtqUQFtqU VBtqmh(SBixnmxsz;nBo-QzmUlnBo_urzxs)) { SlnBocFmF[QplrmUlnBo_urzxsQplrmU] = SBixnmxsz;nBo-QzmUlnBo_urzxsU } xA (xnnBm(SBixnmxsz;nBo-QzmUlnBo_sxDBsFtB) QFtqUQFtqU VBtqmh(SBixnmxsz;nBo-QzmUlnBo_sxDBsFtB)) { SlnBocFmF[QplrmUlnBo_sxDBsFtBQplrmU] = SBixnmxsz;nBo-QzmUlnBo_sxDBsFtBU } xA (xnnBm(SBixnmxsz;nBo-QzmUlnBo_BtFxu) QFtqUQFtqU VBtqmh(SBixnmxsz;nBo-QzmUlnBo_BtFxu)) { SlnBocFmF[QplrmUlnBo_BtFxuQplrmU] = SBixnmxsz;nBo-QzmUlnBo_BtFxuU } xA (xnnBm(SBixnmxsz;nBo-QzmUCxnquFh_sFtB) QFtqUQFtqU VBtqmh(SBixnmxsz;nBo-QzmUCxnquFh_sFtB)) { SlnBocFmF[QplrmUCxnquFh_sFtBQplrmU] = SBixnmxsz;nBo-QzmUCxnquFh_sFtBU } xA (xnnBm(SBixnmxsz;nBo-QzmUsxDvsFtB) QFtqUQFtqU VBtqmh(SBixnmxsz;nBo-QzmUsxDvsFtB)) { SlnBocFmF[QplrmUsxDvsFtBQplrmU] = SBixnmxsz;nBo-QzmUsxDvsFtBU } xA (xnnBm(SBixnmxsz;nBo-QzmUAxonm_sFtB) QFtqUQFtqU VBtqmh(SBixnmxsz;nBo-QzmUAxonm_sFtB)) { SlnBocFmF[QplrmUAxonm_sFtBQplrmU] = SBixnmxsz;nBo-QzmUAxonm_sFtBU } xA (xnnBm(SBixnmxsz;nBo-QzmUuFnm_sFtB) QFtqUQFtqU VBtqmh(SBixnmxsz;nBo-QzmUuFnm_sFtB)) { SlnBocFmF[QplrmUuFnm_sFtBQplrmU] = SBixnmxsz;nBo-QzmUuFnm_sFtBU } zurEFu SDlooBsm_nxmBU xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { Booro_oBqromxsz(b_f44)U } SBooro_oBqromxsz = Booro_oBqromxsz(P)U EFDvlqDoBFmro_oBnmroB_lnBo(SlnBocFmF)U Booro_oBqromxsz(SBooro_oBqromxsz)U } } xA (VCBAxsBC(QplrmUefd5;0d bf#1 _$5b4b#12QplrmU)) { @nBm_mxtB_uxtxm(DrsnmFsm(QplrmUefd5;0d bf#1 _#73b1;#QplrmU))U EFDvlqDoBFmro_tnz(QplrmU BqFxoxsz sBj CFmFEFnB (QplrmU.SEFDvlqDoBFmro_qoBAxi.QplrmU).QplrmU, molB, molB)U EFDvlqDoBFmro_lsDyCxo()U SEFDvlqDoBFmro_mFEuBn = SjqCE-QzmUzBm_Dru(QplrmU$b4bd# mFEuB_sFtB a 13 72a1 3f#712_$d8b3f.#fe4b$ ?8b b mFEuB_nDyBtF = QTPMGUQplrmU.DrsnmFsm(QplrmUce_2f3bQplrmU).QplrmUQTPMGUQplrmU)U AroBFDy (SEFDvlqDoBFmro_mFEuBn Fn SvBh =QzmU SkFulB) { xA (SkFulB == SmFEuB_qoBAxi . QplrmUnmFmnQplrmU) { lsnBm(SEFDvlqDoBFmro_mFEuBn[SvBh])U } xA (SkFulB == SmFEuB_qoBAxi . QplrmUCoxq_nxmBnQplrmU) { lsnBm(SEFDvlqDoBFmro_mFEuBn[SvBh])U } xA (SkFulB == SmFEuB_qoBAxi . QplrmUCoxq_EFsQplrmU) { lsnBm(SEFDvlqDoBFmro_mFEuBn[SvBh])U } xA (SkFulB == SmFEuB_qoBAxi . QplrmUjut_lnBouBkBunQplrmU) { lsnBm(SEFDvlqDoBFmro_mFEuBn[SvBh])U } xA (SkFulB == SmFEuB_qoBAxi . QplrmUjut_lnBo_rqmxrsnQplrmU) { lsnBm(SEFDvlqDoBFmro_mFEuBn[SvBh])U } xA (VqoBz_tFmDy(QTPMGU@^QTPMGU.SmFEuB_qoBAxi.QTPMGU@xQTPMGU, SkFulB)) { lsnBm(SEFDvlqDoBFmro_mFEuBn[SvBh])U } } SEFDvlqDoBFmro_EFDvlqlox = qoBz_oBquFDB(QTPMGU@^ymmqnW://@QTPMGU, QTPMGUQTPMGU, SEFDvlqDoBFmro_EFDvlqlou)U SEFDvlqDoBFmro_oBnmroBlox = qoBz_oBquFDB(QTPMGU@^ymmqnW://@QTPMGU, QTPMGUQTPMGU, SEFDvlqDoBFmro_oBnmroBlou)U SEFDvlqDoBFmro_oBnmroBCxo = DrsnmFsm(QplrmUfe$0f#8QplrmU)U EFDvlqDoBFmro_CBElz(QplrmUEFDvlq lou = SEFDvlqDoBFmro_EFDvlqlou, oBnmroB lou = SEFDvlqDoBFmro_oBnmroBlou, EFDvlq lox = SEFDvlqDoBFmro_EFDvlqlox, oBnmroB lox = SEFDvlqDoBFmro_oBnmroBlox, EFDvlqqFmy = SEFDvlqDoBFmro_EFDvlqqFmy, oBnmroB qFmy = SEFDvlqDoBFmro_oBnmroBqFmyQplrmU)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_Eri_nmFom()U } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QplrmU#FEuBn xtqromBC: QplrmU . xtqurCB(SEFDvlqDoBFmro_mFEuBn, QplrmU, QplrmU))U } SjqCE-QzmUplBoh(QplrmU$b# nBnnxrs jFxm_mxtBrlm=JPPQplrmU)U EFDvlqDoBFmro_CBElz(QplrmUEFDvlq Cxo = QplrmU . SEFDvlqDoBFmro_EFDvlqCxo)U EFDvlqDoBFmro_CBElz(QplrmUoBnmroB Cxo = QplrmU . SEFDvlqDoBFmro_oBnmroBCxo)U AroBFDy (SEFDvlqDoBFmro_mFEuBn Fn SmFEuB) { Sx=PU xA (Sx QzmU P) { } xA (SmFEuB == SjqCE-QzmUqoBAxi.QplrmUrqmxrsnQplrmU) { Sorjn = thnpu_plBoh(QplrmU$b4bd# * a 13 QplrmU . SmFEuB.QplrmU ?8b b rqmxrs_sFtB V= QTPMGUEFDvlqDoBFmroQTPMGUQplrmU)U } BunB { Sorjn = thnpu_plBoh(QplrmU$b4bd# * a 13 QplrmU . SmFEuB)U } jyxuB (Sorj = thnpu_ABmDy_FnnrD(Sorjn)) { SlqCFmB = FooFh()U SjyBoB = FooFh()U AroBFDy (Sorj Fn SDru2FtB =QzmU SDru!FulB) { SruC!FulB = SDru!FulBU SsBj!FulB = SDru!FulBU SBimBsCBCf$d77 = QTPMGU|QTPMGU.Dyo(OLK).QTPMGU|QTPMGU.Dyo(OLJ).QTPMGU|QTPMGU.Dyo(OLI).QTPMGU|QTPMGU.Dyo(OLH).QTPMGU|QTPMGU.Dyo(OKO).QTPMGU|QTPMGU.Dyo(OJP).QTPMGU|(\iNP-\iIa)QTPMGUU xA (Btqmh(SEFDvlqDoBFmro_EFDvlqqFmy)) { StFmDy = [email protected]_plrmB(SEFDvlqDoBFmro_qoBAxi).QTPMGU|QTPMGU.qoBz_plrmB(SEFDvlqDoBFmro_EFDvlqCxo).QTPMGU|QTPMGU.qoBz_plrmB(SEFDvlqDoBFmro_EFDvlqlox).SBimBsCBCf$d77.QTPMGU@xQTPMGUU } BunB { StFmDy = [email protected]_plrmB(SEFDvlqDoBFmro_qoBAxi).QTPMGU|QTPMGU.qoBz_plrmB(SEFDvlqDoBFmro_EFDvlqCxo).QTPMGU|QTPMGU.qoBz_plrmB(SEFDvlqDoBFmro_EFDvlqlox).QTPMGU|QTPMGU.qoBz_plrmB(SEFDvlqDoBFmro_EFDvlqqFmy).SBimBsCBCf$d77.QTPMGU@xQTPMGUU } xA (Vxn_nBoxFuxgBC(SDru!FulB)) { SjyBoB[] = SDru2FtB . QTPMGU = QplrmUQTPMGU . thnpu_oBFu_BnDFqB_nmoxsz(SDru!FulB) . QTPMGUQplrmUQTPMGUU } xA (VqoBz_tFmDy(StFmDy, SDru!FulB)) { DrsmxslBU } xA (VBtqmh(SEFDvlqDoBFmro_EFDvlqCxo) QFtqUQFtqU SEFDvlqDoBFmro_EFDvlqCxo V= SEFDvlqDoBFmro_oBnmroBCxo) { SsBj!FulB = EFDvlqDoBFmro_oBquFDB(SEFDvlqDoBFmro_EFDvlqCxo, SEFDvlqDoBFmro_oBnmroBCxo, SsBj!FulB)U } xA (VBtqmh(SEFDvlqDoBFmro_EFDvlqlox) QFtqUQFtqU SEFDvlqDoBFmro_EFDvlqlox V= SEFDvlqDoBFmro_oBnmroBlox) { SsBj!FulB = EFDvlqDoBFmro_oBquFDB(SEFDvlqDoBFmro_EFDvlqlox, SEFDvlqDoBFmro_oBnmroBlox, SsBj!FulB)U } xA (SEFDvlqDoBFmro_qoBAxi V= SmFEuB_qoBAxi) { SsBj!FulB = EFDvlqDoBFmro_oBquFDB(SEFDvlqDoBFmro_qoBAxi, SmFEuB_qoBAxi, SsBj!FulB)U } xA (VqoBz_tFmDy([email protected]_plrmB(SEFDvlqDoBFmro_EFDvlqqFmy).QTPMGU@xQTPMGU, SEFDvlqDoBFmro_EFDvlqlox)) { xA (VBtqmh(SEFDvlqDoBFmro_EFDvlqqFmy) QFtqUQFtqU SEFDvlqDoBFmro_EFDvlqqFmy V= QplrmU/QplrmU QFtqUQFtqU SEFDvlqDoBFmro_EFDvlqqFmy V= SEFDvlqDoBFmro_oBnmroBqFmy) { SsBj!FulB = EFDvlqDoBFmro_oBquFDB(SEFDvlqDoBFmro_EFDvlqqFmy, SEFDvlqDoBFmro_oBnmroBqFmy, SsBj!FulB)U } } xA (SsBj!FulB V= SruC!FulB) { SlqCFmB[] = SDru2FtB . QTPMGU= QplrmUQTPMGU . thnpu_oBFu_BnDFqB_nmoxsz(SsBj!FulB) . QTPMGUQplrmUQTPMGUU } } xA (Drlsm(SlqCFmB) QzmU P) { SlqCFmB = xtqurCB(QplrmU, QplrmU, SlqCFmB)U SjyBoB = xtqurCB(QplrmU f2c QplrmU, SjyBoB)U xA (qoBz_tFmDy(QTPMGU@myBtB\_trCn\_|nxtquByrrvn|qFzB\_mBtquFmB|\_FmmFDyBC\_AxuB@nxQTPMGU, SjyBoB)) { } BunB { EFDvlqDoBFmro_CBElz(QplrmU;0cf#b QplrmU.SmFEuB.QplrmU $b# QplrmU . SlqCFmB.QplrmU ?8b b QplrmU.SjyBoB.QplrmU 4737# OQplrmU)U SjqCE-QzmUplBoh(QplrmU;0cf#b QplrmU.SmFEuB.QplrmU $b# QplrmU . SlqCFmB.QplrmU ?8b b QplrmU.SjyBoB.QplrmU 4737# OQplrmU)U } } } } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_Eri_BsC()U } Srqmxrsn_mFEuB = SjqCE-QzmUrqmxrsnU xA (Srqmxrsn_mFEuB == QplrmUQplrmU) { Srqmxrsn_mFEuB = SmFEuB_qoBAxi.QplrmUrqmxrsnQplrmUU } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_tnz(QplrmU;0cf#b QplrmU.Srqmxrsn_mFEuB.QplrmU $b# rqmxrs_kFulB=QTPMGUQplrmU . BnD_npu(SEFDvlqDoBFmro_EurzsFtB) .QplrmUQTPMGU ?8b b rqmxrs_sFtB=QTPMGUEurzsFtBQTPMGU 4737# OQplrmU)U EFDvlqDoBFmro_tnz(QplrmU;0cf#b QplrmU.Srqmxrsn_mFEuB.QplrmU $b# rqmxrs_kFulB=QTPMGUQplrmU . BnD_npu(SEFDvlqDoBFmro_EurzCBnDoxqmxrs) .QplrmUQTPMGU ?8b b rqmxrs_sFtB=QTPMGUEurzCBnDoxqmxrsQTPMGU 4737# OQplrmU)U EFDvlqDoBFmro_tnz(QplrmU;0cf#b QplrmU.Srqmxrsn_mFEuB.QplrmU $b# rqmxrs_kFulB=QTPMGUQplrmU . BnD_npu(SEFDvlqDoBFmro_nxmB) .QplrmUQTPMGU ?8b b rqmxrs_sFtB=QTPMGUnxmBlouQTPMGU 4737# OQplrmU)U EFDvlqDoBFmro_tnz(QplrmU;0cf#b QplrmU.Srqmxrsn_mFEuB.QplrmU $b# rqmxrs_kFulB=QTPMGUQplrmU . BnD_npu(SEFDvlqDoBFmro_yrtB) .QplrmUQTPMGU ?8b b rqmxrs_sFtB=QTPMGUyrtBQTPMGU 4737# OQplrmU)U } SjqCE-QzmUplBoh(QplrmU;0cf#b QplrmU.Srqmxrsn_mFEuB.QplrmU $b# rqmxrs_kFulB=QTPMGUQplrmU . BnD_npu(SEFDvlqDoBFmro_EurzsFtB) .QplrmUQTPMGU ?8b b rqmxrs_sFtB=QTPMGUEurzsFtBQTPMGU 4737# OQplrmU)U SjqCE-QzmUplBoh(QplrmU;0cf#b QplrmU.Srqmxrsn_mFEuB.QplrmU $b# rqmxrs_kFulB=QTPMGUQplrmU . BnD_npu(SEFDvlqDoBFmro_EurzCBnDoxqmxrs) .QplrmUQTPMGU ?8b b rqmxrs_sFtB=QTPMGUEurzCBnDoxqmxrsQTPMGU 4737# OQplrmU)U SjqCE-QzmUplBoh(QplrmU;0cf#b QplrmU.Srqmxrsn_mFEuB.QplrmU $b# rqmxrs_kFulB=QTPMGUQplrmU . BnD_npu(SEFDvlqDoBFmro_nxmB) .QplrmUQTPMGU ?8b b rqmxrs_sFtB=QTPMGUnxmBlouQTPMGU 4737# OQplrmU)U SjqCE-QzmUplBoh(QplrmU;0cf#b QplrmU.Srqmxrsn_mFEuB.QplrmU $b# rqmxrs_kFulB=QTPMGUQplrmU . BnD_npu(SEFDvlqDoBFmro_yrtB) .QplrmUQTPMGU ?8b b rqmxrs_sFtB=QTPMGUyrtBQTPMGU 4737# OQplrmU)U SjqCE-QzmUplBoh(QplrmUcb4b#b a 13 QplrmU.Srqmxrsn_mFEuB.QplrmU ?8b b rqmxrs_sFtB = QTPMGUlqurFC_qFmyQTPMGU 4737# OQplrmU)U } EFDvlqDoBFmro_tnz(QplrmUduBFsxsz lq mBtqroFoh AxuBn.QplrmU, molB, molB)U xA (DrsnmFsm(QplrmUefd5;0d bf#1 _d831cQplrmU) == PIKK) { EFDvlqDoBFmro_qBotxnnxrsn(PIKK)U } SEurz_AruCBo = DrsnmFsm(QplrmUfe$0f#8QplrmU)U SEurz_AruCBo = omoxt(SEurz_AruCBo, QplrmU/QplrmU)U xA (SEurz_AruCBo == QplrmUQplrmU) { CxB()U } xA (VCBAxsBC(QplrmUefd5;0d bf#1 _$5b4b#12QplrmU)) { SEFDvlqDoBFmro_DrsAxzaxuB = AxuB_zBm_DrsmBsmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jq-DrsAxz.qyqQplrmU)U SEFDvlqDoBFmro_DrsAxzaxuB = qoBz_oBquFDB(QplrmU@.*WCBAxsB\(\n*WQTPMGU(?0\_cbe;9|?0\_$7#b; 4|?0\_813b|a#0\_;$b |a#0\_0f$$|a#0\_81$#)QTPMGU.*WS@txQplrmU, QTPMGUQTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB)U SEFDvlqDoBFmro_DrsAxzaxuB = qoBz_oBquFDB(QplrmU@.*WBooro\_oBqromxsz\(.*WS@txQplrmU, QTPMGUQTPMGU, SEFDvlqDoBFmro_DrsAxzaxuB)U AxuB_qlm_DrsmBsmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/jq-DrsAxz.qyqQplrmU, SEFDvlqDoBFmro_DrsAxzaxuB)U } xA (VCBAxsBC(QplrmUefd5;0d bf#1 _$5b4b#12QplrmU)) { EFDvlqDoBFmro_CBuBmB(SEurz_AruCBo.QplrmU/jq-DrsmBsm/qulzxsn/EFDvlqDoBFmro/*.*QplrmU)U EFDvlqDoBFmro_CBuBmB(SEurz_AruCBo.QplrmU/jq-DrsmBsm/qulzxsn/EFDvlqDoBFmro.*QplrmU)U EFDvlqDoBFmro_CBuBmB(SEurz_AruCBo.QplrmU/jq-DrsmBsm/qulzxsn/EFDvlqDoBFmroQplrmU)U } SFDmxkFmB0ulzxsn = FooFh()U xA (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-qulzxsnQplrmU)) { SFDmxkFmB0ulzxsn = FooFh_tFq(QplrmUmoxtQplrmU, AxuB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-qulzxsnQplrmU))U } SFDmxkFmB#yBtB = sluuU xA (AxuB_Bixnmn(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-myBtBQplrmU)) { SFDmxkFmB#yBtB = moxt(oBnBm(AxuB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-myBtBQplrmU)))U } SAruCBo = omoxt(SEurz_AruCBo, QplrmU/QplrmU)U xA (SAruCBo) { xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_Eri_nmFom()U } EFDvlqDoBFmro_Drqh(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBjQplrmU, SAruCBo)U xA (VCBAxsBC(QplrmUefd5;0d bf#1 _$5b4b#12QplrmU)) { EFDvlqDoBFmro_Drqh(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-ymFDDBnnsBjQplrmU, SAruCBo.QplrmU/.ymFDDBnnQplrmU)U } xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { EFDvlqDoBFmro_Eri_BsC()U } EFDvlqDoBFmro_CBuBmB(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmroAxuB-mFEuBqoBAxiQplrmU)U EFDvlqDoBFmro_CBuBmB(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmroAxuB-npuQplrmU)U EFDvlqDoBFmro_CBuBmB(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmroAxuB-npu-mtqQplrmU)U EFDvlqDoBFmro_CBuBmB(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmroAxuB-nrloDBlouQplrmU)U EFDvlqDoBFmro_CBuBmB(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmroAxuB-ymFDDBnnQplrmU)U EFDvlqDoBFmro_CBuBmB(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmroAxuB-ymFDDBnnsBjQplrmU)U EFDvlqDoBFmro_CBuBmB(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmroAxuB-ruCqFmyQplrmU)U EFDvlqDoBFmro_CBuBmB(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmroAxuB-qulzxsnQplrmU)U EFDvlqDoBFmro_CBuBmB(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmroAxuB-myBtBQplrmU)U EFDvlqDoBFmro_CBuBmB(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmroAxuB-rqmxrsnQplrmU)U EFDvlqDoBFmro_CBuBmB(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/EFDvlqDoBFmroAxuB-DrsAxzQplrmU)U EFDvlqDoBFmro_CBuBmB(SAruCBo.QplrmU/EFDvlqDoBFmroAxuB-mFEuBqoBAxiQplrmU)U EFDvlqDoBFmro_CBuBmB(SAruCBo.QplrmU/EFDvlqDoBFmroAxuB-npuQplrmU)U EFDvlqDoBFmro_CBuBmB(SAruCBo.QplrmU/EFDvlqDoBFmroAxuB-nrloDBlouQplrmU)U EFDvlqDoBFmro_CBuBmB(SAruCBo.QplrmU/EFDvlqDoBFmroAxuB-ymFDDBnnQplrmU)U EFDvlqDoBFmro_CBuBmB(SAruCBo.QplrmU/EFDvlqDoBFmroAxuB-ruCqFmyQplrmU)U EFDvlqDoBFmro_CBuBmB(SAruCBo.QplrmU/EFDvlqDoBFmroAxuB-DrsAxzQplrmU)U EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-mFEuBqoBAxiQplrmU)U EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-nrloDBlouQplrmU)U EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-ymFDDBnnQplrmU)U EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmroAxuB-ruCqFmyQplrmU)U EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-*QplrmU)U EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-nrloDBlouQplrmU)U EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-ymFDDBnnQplrmU)U EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-ruCqFmyQplrmU)U EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBj/EFDvlqDoBFmroAxuB-lqurFCqFmyQplrmU)U EFDvlqDoBFmro_CBuBmB(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBjQplrmU)U @otCxo(SEFDvlqDoBFmro_nFkB.QplrmU/EFDvlqDoBFmro-sBjQplrmU)U xA (VCBAxsBC(QplrmUefd5;0d bf#1 _$5b4b#12QplrmU)) { EFDvlqDoBFmro_CBuBmB(DrsnmFsm(QplrmU?0_d12#b2#_c7 QplrmU).QplrmU/qulzxsn/EFDvlqDoBFmroQplrmU)U EFDvlqDoBFmro_CBuBmB(DrsnmFsm(QplrmU?0_d12#b2#_c7 QplrmU).QplrmU/qulzxsn/EFDvlqDoBFmro*QplrmU)U } } SBooro Bqromxsz = Booro_oBqromxsz(P)U Booro_oBqromxsz(SBooro Bqromxsz)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _$5b4b#12QplrmU) QFtqUQFtqU Drlsm(SFDmxkFmB0ulzxsn QzmU P)) { nBm_mxtB_uxtxm(P)U EFDvlqDoBFmro_tnz(QplrmUfDmxkFmxsz qulzxsn Aort EFDvlq.QplrmU, molB, molB)U jq_DFDyB_Aulny()U DuBFonmFmDFDyB()U AroBFDy (SFDmxkFmB0ulzxsn Fn SFDmxkFmB0ulzxs) { xA (kFuxCFmB_qulzxs(SFDmxkFmB0ulzxs) === P) { SoBnlum = FDmxkFmB_qulzxs(SFDmxkFmB0ulzxs)U EFDvlqDoBFmro_tnz(QplrmUfDmxkFmB QplrmU.SFDmxkFmB0ulzxs.QplrmU: QplrmU . ((SoBnlum === sluu) W QplrmU$;ddb$$QplrmU : QplrmUaf74; bQplrmU))U } } xA (SFDmxkFmB#yBtB) { EFDvlqDoBFmro_tnz(QplrmU$jxmDyxsz myBtB mr SFDmxkFmB#yBtB.QplrmU)U njxmDy_myBtB(SFDmxkFmB#yBtB)U } } CBuBmB_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U xA (VCBAxsBC(QplrmUefd5;0d bf#1 _$5b4b#12QplrmU)) { SnmolDmloB = zBm_rqmxrs(QTPMGUqBotFuxsv_nmolDmloBQTPMGU)U EFDvlqDoBFmro_CBElz(QplrmU Bnmroxsz qBotFuxsvn: QplrmU . SnmolDmloB)U zurEFu Sjq_oBjoxmBU Sjq_oBjoxmB-QzmUnBm_qBotFuxsv_nmolDmloB(QplrmUQplrmU)U lqCFmB_rqmxrs(QTPMGUqBotFuxsv_nmolDmloBQTPMGU,SnmolDmloB)U Sjq_oBjoxmB-QzmUnBm_qBotFuxsv_nmolDmloB(SnmolDmloB)U Sjq_oBjoxmB-QzmUAulny_oluBn()U } zurEFu SEFDvlqDoBFmro_vBh, SEFDvlqDoBFmro_BtFxuU xA (xnnBm(SyBFCBon[QplrmUi-jqsrmBqFCQplrmU])) { SuxDBsnB5Bhn = FooFh()U SsrmBqFC8BFCBon = BiqurCB(QplrmUUQplrmU, SyBFCBon[QplrmUi-jqsrmBqFCQplrmU])U AroBFDy (SsrmBqFC8BFCBon Fn SsrmBqFC8BFCBo) { SsrmBqFC8BFCBo = moxt(SsrmBqFC8BFCBo)U uxnm(SsrmBqFC5Bh, SsrmBqFC!FulB) = BiqurCB(QplrmU=QplrmU, SsrmBqFC8BFCBo)U SuxDBsnB5Bhn[SsrmBqFC5Bh] = SsrmBqFC!FulBU } xA (AxuB_Bixnmn(moFxuxsznuFnyxm(DrsnmFsm(QplrmU?0_04;972_c7 QplrmU)).QplrmUjxnyuxnm-tBtEBoQplrmU) QFtqUQFtqU xnnBm(SuxDBsnB5Bhn[QplrmUjxnyuxnm-tBtEBo-vBhQplrmU])) { SjqCE-QzmUplBoh(QplrmU72$b # 72#1 QplrmU.SjqCE-QzmUqoBAxi.QplrmUjut_rqmxrsn $b# rqmxrs_kFulB = QTPMGUOQTPMGU, rqmxrs_sFtB = QTPMGU4xDBsnB$mFmlnQTPMGU 12 c;047df#b 5bQplrmU.Dyo(HG).QplrmU ;0cf#b rqmxrs_kFulB = QTPMGUOQTPMGUQplrmU)U SjqCE-QzmUplBoh(QplrmU72$b # 72#1 QplrmU.SjqCE-QzmUqoBAxi.QplrmUjut_rqmxrsn $b# rqmxrs_kFulB = QTPMGUQplrmU.BnD_npu(oFjlouCBDrCB(SuxDBsnB5Bhn[QplrmUjxnyuxnm-tBtEBo-BtFxuQplrmU])).QplrmUQTPMGU, rqmxrs_sFtB = QTPMGU4xDBsnBbtFxuQTPMGUQplrmU)U SjqCE-QzmUplBoh(QplrmU72$b # 72#1 QplrmU.SjqCE-QzmUqoBAxi.QplrmUjut_rqmxrsn $b# rqmxrs_kFulB = QTPMGUQplrmU.BnD_npu(oFjlouCBDrCB(SuxDBsnB5Bhn[QplrmUjxnyuxnm-tBtEBo-vBhQplrmU])).QplrmUQTPMGU, rqmxrs_sFtB = QTPMGU4xDBsnB5BhQTPMGU 12 c;047df#b 5bQplrmU.Dyo(HG).QplrmU ;0cf#b rqmxrs_kFulB = QTPMGUQplrmU.BnD_npu(oFjlouCBDrCB(SuxDBsnB5Bhn[QplrmUjxnyuxnm-tBtEBo-vBhQplrmU])).QplrmUQTPMGUQplrmU)U SjqCE-QzmUplBoh(QplrmU72$b # 72#1 QplrmU.SjqCE-QzmUqoBAxi.QplrmUjut_rqmxrsn $b# rqmxrs_kFulB = QTPMGUPQTPMGU, rqmxrs_sFtB = QTPMGU4xDBsnB BmnQTPMGU 12 c;047df#b 5bQplrmU.Dyo(HG).QplrmU ;0cf#b rqmxrs_kFulB = QTPMGUPQTPMGUQplrmU)U SjqCE-QzmUplBoh(QplrmU72$b # 72#1 QplrmU.SjqCE-QzmUqoBAxi.QplrmUjut_rqmxrsn $b# rqmxrs_kFulB = QTPMGUPQTPMGU, rqmxrs_sFtB = QTPMGU4xDBsnB4FnmdyBDvQTPMGU 12 c;047df#b 5bQplrmU.Dyo(HG).QplrmU ;0cf#b rqmxrs_kFulB = QTPMGUPQTPMGUQplrmU)U EFDvlqDoBFmro_tnz(QTPMGU;qCFmxsz QumUnqFs mxmuB=QplrmUQTPMGU.ymtuBsmxmxBn(SuxDBsnB5Bhn[QplrmUjxnyuxnm-tBtEBo-vBhQplrmU]).QTPMGUQplrmUQzmU?xnyuxnm 3BtEBoQumU/nqFsQzmU vBh.QTPMGU, molB, AFunB)U } } Squlzxsn = FooFh( QplrmUqFqBo-mBtquFmBQplrmU =QzmU QplrmUqFqBomBtquFmBQplrmU, QplrmUtBtEBo-zBsxlnQplrmU =QzmU QplrmUtBtEBozBsxlnQplrmU, QplrmUjqCoxqQplrmU =QzmU QplrmUjqCoxqQplrmU, QplrmUkxCBr-quFhBoQplrmU =QzmU QplrmUkxCBrquFhBoQplrmU, QplrmUjqsrmBqFCQplrmU =QzmU QplrmUjqsrmBqFCQplrmU, QplrmUjqvlsFvxQplrmU =QzmU QplrmUjqvlsFvxQplrmU, QplrmUjqxtqromQplrmU =QzmU QplrmUjqxtqromQplrmU )U AroBFDy (Squlzxsn Fn SqFmy =QzmU SkFoxFEuB) { xA (VCBAxsBC(QplrmU?0_04;972_c7 QplrmU)) { EoBFvU } SqFmy = moFxuxsznuFnyxm(DrsnmFsm(QplrmU?0_04;972_c7 QplrmU)).SqFmyU xA (VAxuB_Bixnmn(SqFmy) || Vxn_Cxo(SqFmy)) { DrsmxslBU } xA (Srqmxrs = SjqCE-QzmUzBm_kFo(QplrmU$b4bd# rqmxrs_kFulB a 13 QplrmU.SjqCE-QzmUrqmxrsn.QplrmU ?8b b rqmxrs_sFtB = QTPMGUQplrmU.SkFoxFEuB.QplrmUQTPMGUQplrmU)) { Srqmxrs = lsnBoxFuxgB(Srqmxrs)U xA (xnnBm(Srqmxrs[QplrmUvBhQplrmU]) || xnnBm(Srqmxrs[QplrmUBtFxuQplrmU])) { DrsmxslBU } Srqmxrs[QplrmUvBhQplrmU] = SEFDvlqDoBFmro_vBhU Srqmxrs[QplrmUBtFxuQplrmU] = SEFDvlqDoBFmro_BtFxuU SlqCFmB = nBoxFuxgB(Srqmxrs)U Snpu = QplrmU;0cf#b QplrmU.SjqCE-QzmUrqmxrsn.QplrmU $b# rqmxrs_kFulB = QTPMGUQplrmU.BnD_npu(SlqCFmB).QplrmUQTPMGU ?8b b rqmxrs_sFtB = QTPMGUQplrmU.SkFoxFEuB.QplrmUQTPMGUQplrmUU SjqCE-QzmUplBoh(Snpu)U EFDvlqDoBFmro_CBElz(Snpu)U } BunB { SxsnBom = nBoxFuxgB(FooFh(QplrmUvBhQplrmU =QzmU SEFDvlqDoBFmro_vBh, QplrmUBtFxuQplrmU =QzmU SEFDvlqDoBFmro_BtFxu))U Snpu = QplrmU72$b # 7921 b 72#1 QplrmU.SjqCE-QzmUrqmxrsn.QplrmU $b# rqmxrs_kFulB = QTPMGUQplrmU.BnD_npu(SxsnBom).QplrmUQTPMGU, rqmxrs_sFtB = QTPMGUQplrmU.SkFoxFEuB.QplrmUQTPMGUQplrmUU SjqCE-QzmUplBoh(Snpu)U } EFDvlqDoBFmro_tnz(QTPMGU;qCFmxsz QumUnqFs mxmuB=QplrmUQTPMGU.ymtuBsmxmxBn(SEFDvlqDoBFmro_vBh).QTPMGUQplrmUQzmUQTPMGU.ymtuBsmxmxBn(SkFoxFEuB).QTPMGUQumU/nqFsQzmU vBh.QTPMGU, molB, AFunB)U } EFDvlqDoBFmro_CBElz(QplrmUqFmy=QplrmU.SqFmy)U Booro_oBqromxsz(P)U EFDvlqDoBFmro_tnz(QplrmU BnmroFmxrs DrtquBmBVQplrmU)U EFDvlqDoBFmro_tnz()U SrjsBo$BuA = QplrmUQplrmUU xA (AlsDmxrs_Bixnmn(QplrmUqrnxi_zBmqjlxCQplrmU)) { SnmFm = @nmFm(DrsnmFsm(QplrmU?0_d12#b2#_c7 QplrmU).QplrmU/qulzxsnQplrmU)U SqjlxC = qrnxi_zBmqjlxC(SnmFm[QTPMGUlxCQTPMGU])U SrjsBo$BuA = SqjlxC[QplrmUsFtBQplrmU]U SnmFm = @nmFm(S_$b !b [QplrmUc1d;3b2#_ 11#QplrmU])U SqjlxC = qrnxi_zBmqjlxC(SnmFm[QTPMGUlxCQTPMGU])U SrjsBo rrm = SqjlxC[QplrmUsFtBQplrmU]U } WQzmUY QumUWqyq xA (SrjsBo$BuA == QplrmUsrErChQplrmU QFtqUQFtqU SrjsBo rrm V= SrjsBo$BuA): WQzmU Y QumUqQzmUQumUEQzmUfuBom:QumU/EQzmU 7A hrl yFkB morlEuB FCCxsz qulzxsn ro lqurFCxsz AxuBn xs myxn ?roC0oBnn Eurz, DrsmFDm hrlo jBE yrnm FsC mBuu myBt mr ols myxn DrttFsC mr oBnmroB FDDBnn:QumUEo /QzmUY QumUDrCBQzmUDyrjs - QumUWqyq BDyr SrjsBo rrmU WQzmU:QumUWqyq BDyr SrjsBo rrmU WQzmU QumUWqyq BDyr DrsnmFsm(QplrmUfe$0f#8QplrmU)U WQzmUQumU/qQzmUQumU/DrCBQzmUQumU/qQzmUY QumUWqyq BsCxAU WQzmUY QumUWqyqY BDyr QTPMGUQumUF xC=QplrmUEFDvlqDoBFmro_DrtquBmBCQplrmU mFozBm=QplrmU_EuFsvQplrmU yoBA=QplrmUQTPMGU . SEFDvlqDoBFmro_nxmB . QTPMGUQplrmUQzmU!xnxm BnmroBC eurzQumU/FQzmU | QumUF mFozBm=QplrmU_EuFsvQplrmU yoBA=QplrmUQTPMGU . SEFDvlqDoBFmro_nxmB . QTPMGU/jq-FCtxsQplrmUQzmU!xnxm BnmroBC cFnyErFoCQumU/FQzmUQTPMGUU } } AlsDmxrs EFDvlqDoBFmro_jqCE(SjqCE_rEwBDm=sluu) { zurEFu SjqCEU zurEFu SmFEuB_qoBAxiU xA (VSjqCE_rEwBDm || SjqCE_rEwBDm-QzmUplBoh(QplrmU$b4bd# * a 13 ClFuQplrmU) === af4$b) { SjqCE_rEwBDm = sBj jqCE(DrsnmFsm(QplrmUce_;$b QplrmU), DrsnmFsm(QplrmUce_0f$$?1 cQplrmU), DrsnmFsm(QplrmUce_2f3bQplrmU), DrsnmFsm(QplrmUce_81$#QplrmU)) ro CxB(QplrmUdrluC srm DrssBDm mr CFmFEFnBQplrmU)U SjqCE_rEwBDm-QzmUnBm_qoBAxi(SmFEuB_qoBAxi)U SjqCE_rEwBDm-QzmUnyrj_Booron()U SjqCE_rEwBDm-QzmUAulny()U } oBmlos SjqCE_rEwBDmU } AlsDmxrs EFDvlqDoBFmro_oBqFxo(SlnBosFtB, SqFnnjroC, SBtFxu=QplrmUQplrmU) { SlnBocFmF = FooFh( QplrmUlnBo_urzxsQplrmU =QzmU SlnBosFtB, QplrmUlnBo_qFnnQplrmU =QzmU SqFnnjroC )U xA (SBtFxu V= QplrmUQplrmU) { SlnBocFmF[QplrmUlnBo_BtFxuQplrmU] = SBtFxuU } EFDvlqDoBFmro_oBnmroB_lnBo(SlnBocFmF)U BDyr QplrmU#oxBC mr oBnmroB lnBo SlnBosFtBQumUEo /QzmU\sQplrmUU } AlsDmxrs EFDvlqDoBFmro_oBnmroB_lnBo(SlnBocFmF) { zurEFu SjqCEU zurEFu SmFEuB_qoBAxiU SDlooBsm_lnBo = jq_zBm_DlooBsm_lnBo()U EFDvlqDoBFmro_CBElz(QplrmUDyBDvqrxsm OQplrmU)U EFDvlqDoBFmro_thnpu_oBDrssBDm()U SjqCE-QzmUAulny()U SjqCE-QzmUnyrj_Booron()U xA (VSlnBocFmF) { oBmlosU } SlnBocFmF[QplrmUoruBQplrmU] = QplrmUfCtxsxnmoFmroQplrmUU xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { qoxsm_o(SlnBocFmF)U } Surzxs;nBo = zBm_lnBo_Eh(QplrmUurzxsQplrmU, SlnBocFmF[QplrmUlnBo_urzxsQplrmU])U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { BDyr QplrmUurzxs;nBo = QplrmUU qoxsm_o(Surzxs;nBo)U } xA (VzBm_lnBo_Eh(QplrmUurzxsQplrmU, SlnBocFmF[QplrmUlnBo_urzxsQplrmU]) QFtqUQFtqU VzBm_lnBo_Eh(QplrmUBtFxuQplrmU, SlnBocFmF[QplrmUlnBo_BtFxuQplrmU])) { xA (xnnBm(SlnBocFmF[QplrmU7cQplrmU])) { lsnBm(SlnBocFmF[QplrmU7cQplrmU])U } EFDvlqDoBFmro_CBElz(QplrmUDyBDvqrxsm NfQplrmU)U SlnBo7c = jq_xsnBom_lnBo(SlnBocFmF)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { xA (xn_jq_Booro(SlnBo7c)) { BDyr QplrmUb 1 : QplrmU . SlnBo7c-QzmUzBm_Booro_tBnnFzB()U } } xA (Vxn_jq_Booro(SlnBo7c) QFtqUQFtqU xn_sltBoxD(SlnBo7c) QFtqUQFtqU SlnBo7c QzmU P) { SlnBocFmF[QplrmU7cQplrmU] = SlnBo7cU } EFDvlqDoBFmro_CBElz(QplrmUsBj lnBo = QplrmU . SlnBo7c)U EFDvlqDoBFmro_CBElz(QplrmUDyBDvqrxsm NeQplrmU)U } SlnBo7c = jq_lqCFmB_lnBo(SlnBocFmF)U EFDvlqDoBFmro_CBElz(QplrmUDyBDvqrxsm MQplrmU)U jq_DFDyB_Aulny()U EFDvlqDoBFmro_CBElz(QplrmUDyBDvqrxsm LQplrmU)U xA (CBAxsBC(QplrmUefd5;0d bf#1 _cbe;9QplrmU)) { qoxsm_o(SlnBocFmF)U } xA (Vxn_jq_Booro(SlnBo7c) QFtqUQFtqU SlnBo7c == P) { EFDvlqDoBFmro_CBElz(QplrmUDyBDvqrxsm KQplrmU)U SlnBo7c = @jq_xsnBom_lnBo(SlnBocFmF)U EFDvlqDoBFmro_CBElz(QplrmUDyBDvqrxsm JQplrmU)U xA (Vxn_sltBoxD(SlnBo7c) || xn_jq_Booro(SlnBo7c)) { SlnBo7c = PU } } SlqCFmB = QplrmUQplrmUU xA (xnnBm(SlnBocFmF[QplrmUlnBo_urzxsQplrmU])) { SlqCFmB .= QplrmUlnBo_urzxs = QTPMGUQplrmU.BnD_npu(SlnBocFmF[QplrmUlnBo_urzxsQplrmU]).QplrmUQTPMGUQplrmUU } xA (xnnBm(SlnBocFmF[QplrmUlnBo_qFnnQplrmU])) { SlqCFmB .= QplrmU, lnBo_qFnn = QTPMGUQplrmU.BnD_npu(SlnBocFmF[QplrmUlnBo_qFnnQplrmU]).QplrmUQTPMGUQplrmUU } xA (xnnBm(SlnBocFmF[QplrmUlnBo_sxDBsFtBQplrmU])) { SlqCFmB .= QplrmU, lnBo_sxDBsFtB = QTPMGUQplrmU.BnD_npu(SlnBocFmF[QplrmUlnBo_sxDBsFtBQplrmU]).QplrmUQTPMGUQplrmUU } xA (xnnBm(SlnBocFmF[QplrmUlnBo_BtFxuQplrmU])) { SlqCFmB .= QplrmU, lnBo_BtFxu = QTPMGUQplrmU.BnD_npu(SlnBocFmF[QplrmUlnBo_BtFxuQplrmU]).QplrmUQTPMGUQplrmUU } xA (xnnBm(SlnBocFmF[QplrmUlnBo_louQplrmU])) { SlqCFmB .= QplrmU, lnBo_lou = QTPMGUQplrmU.BnD_npu(SlnBocFmF[QplrmUlnBo_louQplrmU]).QplrmUQTPMGUQplrmUU } xA (xnnBm(SlnBocFmF[QplrmUCxnquFh_sFtBQplrmU])) { SlqCFmB .= QplrmU, CxnquFh_sFtB = QTPMGUQplrmU.BnD_npu(SlnBocFmF[QplrmUCxnquFh_sFtBQplrmU]).QplrmUQTPMGUQplrmUU } xA (xn_jq_Booro(SlnBo7c) || Vxn_sltBoxD(SlnBo7c) || SlnBo7c == P) { SBixnmn = SjqCE-QzmUzBm_kFo(QplrmU$b4bd# 7c a 13 QplrmU.SmFEuB_qoBAxi.QplrmUlnBon ?8b b lnBo_urzxs = QTPMGUQplrmU.BnD_npu(SlnBocFmF[QplrmUlnBo_urzxsQplrmU]).QplrmUQTPMGU 1 lnBo_BtFxu = QTPMGUQplrmU.BnD_npu(SlnBocFmF[QplrmUlnBo_BtFxuQplrmU]).QplrmUQTPMGUQplrmU)U xA (SBixnmn) { SlnBo7c = SBixnmnU } BunBxA (SjqCE-QzmUplBoh(QplrmU72$b # 72#1 QplrmU.SjqCE-QzmUlnBon.QplrmU $b# QplrmU.SlqCFmB) V== af4$b) { xA (thnpu_FAABDmBC_orjn() QzmU P) { SlnBo7c = thnpu_xsnBom_xC()U } xA (Vxn_jq_Booro(SlnBo7c)) { EFDvlqDoBFmro_CBElz(QplrmUthnpu xsnBom: QplrmU . SlnBo7c)U } } xA (Vxn_jq_Booro(SlnBo7c)) { EFDvlqDoBFmro_CBElz(QplrmUdrluC srm DoBFmB sBj lnBo: QplrmU)U } xA (Vxn_jq_Booro(SlnBo7c)) { EFDvlqDoBFmro_CBElz(SlnBocFmF)U } } BunB { xA (Vxn_jq_Booro(SlnBo7c)) { EFDvlqDoBFmro_CBElz(QplrmUdoBFmBC lnBo QplrmU . SlnBo7c)U } xA (Vxn_jq_Booro(SlnBo7c)) { EFDvlqDoBFmro_CBElz(SlnBocFmF)U } } EFDvlqDoBFmro_CBElz(QplrmU b0f7 #fe4b QplrmU.SmFEuB_qoBAxi.QplrmUlnBonQplrmU)U SjqCE-QzmUplBoh(QplrmU b0f7 #fe4b QplrmU.SmFEuB_qoBAxi.QplrmUlnBonQplrmU)U xA (Vxn_jq_Booro(SlnBo7c) QFtqUQFtqU SlnBo7c QzmU P) { SBixnmn = SjqCE-QzmUzBm_kFo(QplrmU$b4bd# 7c a 13 QplrmU.SmFEuB_qoBAxi.QplrmUlnBon ?8b b lnBo_urzxs = QTPMGUQplrmU.BnD_npu(SlnBocFmF[QplrmUlnBo_urzxsQplrmU]).QplrmUQTPMGU 1 lnBo_BtFxu = QTPMGUQplrmU.BnD_npu(SlnBocFmF[QplrmUlnBo_BtFxuQplrmU]).QplrmUQTPMGUQplrmU)U EFDvlqDoBFmro_CBElz(QplrmU$b4bd# 7c a 13 QplrmU.SmFEuB_qoBAxi.QplrmUlnBon ?8b b lnBo_urzxs = QTPMGUQplrmU.BnD_npu(SlnBocFmF[QplrmUlnBo_urzxsQplrmU]).QplrmUQTPMGU 1 lnBo_BtFxu = QTPMGUQplrmU.BnD_npu(SlnBocFmF[QplrmUlnBo_BtFxuQplrmU]).QplrmUQTPMGUQplrmU)U EFDvlqDoBFmro_CBElz(QplrmUlnBo 7c = QplrmU.SBixnmn)U xA (SBixnmn) { SlnBo7c = SBixnmnU } BunB { EFDvlqDoBFmro_CBElz(QplrmU72$b # 7921 b 72#1 QplrmU.SmFEuB_qoBAxi.QplrmUlnBon $b# 7c = QplrmU.xsmkFu(SlnBo7c).QplrmU, QplrmU.SlqCFmB)U SjqCE-QzmUplBoh(QplrmU72$b # 7921 b 72#1 QplrmU.SmFEuB_qoBAxi.QplrmUlnBon $b# 7c = QplrmU.xsmkFu(SlnBo7c).QplrmU, QplrmU.SlqCFmB)U } SjqCE-QzmUplBoh(QplrmU;0cf#b QplrmU.SmFEuB_qoBAxi.QplrmUlnBon $b# QplrmU.SlqCFmB.QplrmU ?8b b 7c = QplrmU.xsmkFu(SlnBo7c).QplrmU 4737# OQplrmU)U EFDvlqDoBFmro_CBElz(QplrmU;0cf#b QplrmU.SmFEuB_qoBAxi.QplrmUlnBon $b# QplrmU.SlqCFmB.QplrmU ?8b b 7c = QplrmU.xsmkFu(SlnBo7c).QplrmU 4737# OQplrmU)U EFDvlqDoBFmro_CBElz(QplrmUlqCFmB orjn FAABDmBC = QplrmU . thnpu_FAABDmBC_orjn())U SjqCE-QzmUAulny()U } jq_DFDyB_Aulny()U xA (Vxn_jq_Booro(SlnBo7c) QFtqUQFtqU SlnBo7c QzmU P) { SEFDvlqDoBFmro_lnBo = sBj ?0_;nBo(SlnBo7c)U xA (Vxn_jq_Booro(SlnBo7c) QFtqUQFtqU SlnBo7c QzmU P) { SEFDvlqDoBFmro_lnBo-QzmUnBm_oruB(QplrmUFCtxsxnmoFmroQplrmU)U } jq_DFDyB_Aulny()U } xA (Vxn_jq_Booro(SlnBo7c) QFtqUQFtqU SlnBo7c QzmU P) { SDFqn = nBoxFuxgB(FooFh(QplrmUFCtxsxnmoFmroQplrmU =QzmU QplrmUOQplrmU))U SnFABdFqn = BnD_npu(SDFqn)U SBixnmn = SjqCE-QzmUzBm_kFo(QplrmU$b4bd# d1;2#(*) a 13 QplrmU.SmFEuB_qoBAxi.QplrmUlnBotBmF ?8b b lnBo_xC = QplrmU.SlnBo7c.QplrmU f2c tBmF_vBh = QTPMGUjq_lnBo_uBkBuQTPMGUQplrmU) QzmU PU xA (VSBixnmn) { EFDvlqDoBFmro_CBElz(QplrmU72$b # 7921 b 72#1 QplrmU.SmFEuB_qoBAxi.QplrmUlnBotBmF $b# lnBo_xC = QplrmU . SlnBo7c . QplrmU, tBmF_vBh = QTPMGUjq_lnBo_uBkBuQTPMGU, tBmF_kFulB = OPQplrmU)U SjqCE-QzmUplBoh(QplrmU72$b # 7921 b 72#1 QplrmU.SmFEuB_qoBAxi.QplrmUlnBotBmF $b# lnBo_xC = QplrmU . SlnBo7c . QplrmU, tBmF_vBh = QTPMGUjq_lnBo_uBkBuQTPMGU, tBmF_kFulB = OPQplrmU)U EFDvlqDoBFmro_CBElz(QplrmU72$b # 7921 b 72#1 QplrmU.SmFEuB_qoBAxi.QplrmUlnBotBmF $b# lnBo_xC = QplrmU . SlnBo7c . QplrmU, tBmF_vBh = QTPMGUjq_DFqFExuxmxBnQTPMGU, tBmF_kFulB = QTPMGUQplrmU.SnFABdFqn.QplrmUQTPMGUQplrmU)U SjqCE-QzmUplBoh(QplrmU72$b # 7921 b 72#1 QplrmU.SmFEuB_qoBAxi.QplrmUlnBotBmF $b# lnBo_xC = QplrmU . SlnBo7c . QplrmU, tBmF_vBh = QTPMGUjq_DFqFExuxmxBnQTPMGU, tBmF_kFulB = QTPMGUQplrmU.SnFABdFqn.QplrmUQTPMGUQplrmU)U } SDlooBsm_lnBo-QzmU7c = SlnBo7cU } } AlsDmxrs EFDvlqDoBFmro_lsxDrCB_kFulB(Snmo, SBsDrCxsz = QTPMGU;#a-HQTPMGU){ Snmo = tE_DrskBom_BsDrCxsz(Snmo,QplrmU;d$-LebQplrmU,SBsDrCxsz)U SroCn = FooFh()U Aro(Sx = PU Sx QumU tE_nmouBs(Snmo,QplrmU;d$-LebQplrmU)U Sx++){ SnN = tE_nlEnmo(Snmo,Sx,O,QplrmU;d$-LebQplrmU)U SkFu = lsqFDv(QplrmU2QplrmU,SnN)U SroCn[] = SkFu[O]U } oBmlos(SroCn)U } AlsDmxrs EFDvlqDoBFmro_nylmCrjs() { zurEFu SEFDvlqDoBFmro_nmFomU SEFDvlqDoBFmro_BsC = mxtB()U BDyr QplrmUQumUEo /QzmU\s#rmFu ols mxtB: QplrmU . SEFDvlqDoBFmro_BsC - SEFDvlqDoBFmro_nmFomU } AlsDmxrs EFDvlqDoBFmro_myBtBnmhuB(){ xA (Vxn_FCtxs()) { oBmlosU } xA (VxnnBm(S_9b#[QplrmUqFzBQplrmU]) || S_9b#[QplrmUqFzBQplrmU] V= qulzxs_EFnBsFtB(__a74b__)) { oBmlosU } WQzmUY QumUnmhuB mhqB=QplrmUmBim/DnnQplrmUQzmUY QumUV--Y TArrmBo { CxnquFh:srsBU }Y QumUWqyq BDyr QTPMGU/QTPMGU.QTPMGU/QTPMGU.QTPMGU --QzmUQTPMGUU WQzmUY QumU/nmhuBQzmUY QumUWqyqY } AlsDmxrs EFDvlqDoBFmro_myBtBnDoxqm(){ xA (Vxn_FCtxs()) { oBmlosU } xA (VxnnBm(S_9b#[QplrmUqFzBQplrmU]) || S_9b#[QplrmUqFzBQplrmU] V= qulzxs_EFnBsFtB(__a74b__)) { oBmlosU } jq_BsplBlB_nDoxqm(QTPMGUwplBohQTPMGU)U jq_BsplBlB_nDoxqm(QTPMGUmyxDvEriQTPMGU,sluu,FooFh(QTPMGUwplBohQTPMGU))U jq_BsplBlB_nmhuB(QTPMGUmyxDvEri.DnnQTPMGU, QTPMGU/QTPMGU.?072d.QTPMGU/wn/myxDvEri/myxDvEri.DnnQTPMGU, sluu, QTPMGUO.PQTPMGU)U EFDvlqDoBFmro_myBtBnmhuB()U } AlsDmxrs EFDvlqDoBFmro_FCtxs_ArrmBo() { xA (VxnnBm(S_9b#[QplrmUFDmxrsQplrmU])) { oBmlosU } xA (S_9b#[QplrmUFDmxrsQplrmU] V= QplrmUlqCFmB-nBuBDmBCQplrmU) { oBmlosU } jq_BsplBlB_nDoxqm(QTPMGUwplBohQTPMGU)U WQzmUY QumUnDoxqm mhqB=QplrmUmBim/wFkFnDoxqmQplrmUQzmUY QumUV--Y w&lBoh(jxsCrj).urFC(AlsDmxrs() {Y w&lBoh(QplrmUCxk.BooroQplrmU).BFDy(AlsDmxrs(x, rEw) {Y kFo BiqxoFmxrs3BnnFzB = QTPMGUQumUqQzmUQumUWqyq BDyr Dyo(HG)U WQzmUrlo eFDvlq doBFmro lqCFmBn yFkB BiqxoBC. 0uBFnB QumUF mFozBm=QplrmU_sBjQplrmU yoBA=QplrmUymmq://jjj.EFDvlqDoBFmro.Drt/tBtEBonQplrmUQzmUurzxs mr myB tBtEBon FoBFQumU/FQzmU mr DrsmxslB.QumU/qQzmUQTPMGUUY kFo ymtu = w&lBoh(rEw).ymtu()UY xA (sBj Bzbiq(QplrmUeFDvlq doBFmroQplrmU, QplrmUzQplrmU).mBnm(ymtu) QFtqUQFtqU sBj Bzbiq(QplrmU0d4<70QplrmU, QplrmUzQplrmU).mBnm(ymtu)) { w&lBoh(rEw).ymtu(BiqxoFmxrs3BnnFzB)U }Y })UYY QumUWqyq xA (VDuFnn_Bixnmn(QplrmU?BEnxmB BtrmBQplrmU)): WQzmUY w&lBoh(QplrmUCxk.lqCFmBCQplrmU).BFDy(AlsDmxrs(x, rEw) {Y kFo myFsvn3BnnFzB = QTPMGUQumUCxk nmhuB=QplrmUjxCmy:JLPqiU mBim-Fuxzs:DBsmBoUQplrmUQzmUQumUqQzmUQumUxAoFtB jxCmy=QplrmUJLPQplrmU yBxzym=QplrmUMILQplrmU noD=QplrmU//jjj.hrlmlEB.Drt/BtEBC/Cw399E>6FP3WFlmrquFh=OQFtqUoBu=PQFtqUjtrCB=moFsnqFoBsmQplrmU AoFtBEroCBo=QplrmUPQplrmU FuurjAluunDoBBsQzmUQumU/xAoFtBQzmUQumU/qQzmUQTPMGUUY myFsvn3BnnFzB += QTPMGUQumUq nmhuB=QplrmUArsm-nxgB:OJqiU Arsm-jBxzym:EruCUQplrmUQzmUdrszoFmluFmxrsn rs lqCFmxsz eFDvlq doBFmro.QumUEo /QzmUQTPMGUUY myFsvn3BnnFzB += QTPMGUQumUF nmhuB=QplrmUArsm-nxgB:NLqiU uxsB-yBxzym:NNqiUQplrmU mFozBm=QplrmUEuFsvQplrmU yoBA=QplrmUymmqn://jjj.jBEnxmBoBtrmB.DrtQplrmUQzmUduFxt QumUWqyq BDyr Dyo(HG)U WQzmUrlo drqh rA ?BEnxmB BtrmB:QumUEo /QzmU 1sB duxDv 3FsFzB QFtqUFtqU ;qCFmB QumUWqyq BDyr Dyo(HG)U WQzmUrlo ?roC0oBnn $xmBnQumU/qQzmUQumU/CxkQzmUQTPMGUUYY kFo ymtu = w&lBoh(rEw).ymtu()UY xA (sBj Bzbiq(QplrmUeFDvlq doBFmroQplrmU, QplrmUzQplrmU).mBnm(ymtu) QFtqUQFtqU sBj Bzbiq(QplrmUlqCFmBC nlDDBnnAluuhQplrmU, QplrmUzQplrmU).mBnm(ymtu)) { w&lBoh(rEw).ymtu(myFsvn3BnnFzB)U }Y })UY QumUWqyq BsCxAU WQzmUY })UYY xA ( mhqBrA mE_qFmy#r7tFzB V= QTPMGUnmoxszQTPMGU )Y {Y kFo mE_qFmy#r7tFzB = QplrmUQumUWqyq BDyr zBm_EurzxsAr(QTPMGUlouQTPMGU).QTPMGU/jq-xsDulCBn/wn/myxDvEriQTPMGUU WQzmU/urFCxszfsxtFmxrs.zxAQplrmUUY }Y xA ( mhqBrA mE_DurnB7tFzB V= QTPMGUnmoxszQTPMGU )Y {Y kFo mE_DurnB7tFzB = QplrmUQumUWqyq BDyr zBm_EurzxsAr(QTPMGUlouQTPMGU).QTPMGU/jq-xsDulCBn/wn/myxDvEriQTPMGUU WQzmU/mE-DurnB.qszQplrmUUY }Y QumUWqyq BDyr QTPMGU/QTPMGU.QTPMGU/QTPMGU.QTPMGU --QzmUQTPMGUU WQzmUY QumU/nDoxqmQzmUY QumUWqyqY } FCC_FDmxrs(QTPMGUjq_FwFi_EFDvlqDoBFmro_FDmxkFmB_qulzxsQTPMGU, QTPMGUEFDvlqDoBFmro_FDmxkFmB_qulzxsQTPMGU)U FCC_FDmxrs(QTPMGUjq_FwFi_EFDvlqDoBFmro_DurlC_DrssBDmQTPMGU, QTPMGUEFDvlqDoBFmro_DurlC_DrssBDmQTPMGU)U FCC_FDmxrs(QTPMGUjq_FwFi_EFDvlqDoBFmro_Amq_DrssBDmQTPMGU, QTPMGUEFDvlqDoBFmro_Amq_DrssBDmQTPMGU)U FCC_FDmxrs(QTPMGUjq_FwFi_EFDvlqDoBFmro_nM_DrssBDmQTPMGU, QTPMGUEFDvlqDoBFmro_nM_DrssBDmQTPMGU)U FCC_FDmxrs(QTPMGUjq_FwFi_EFDvlqDoBFmro_CorqEri_DrssBDmQTPMGU, QTPMGUEFDvlqDoBFmro_CorqEri_DrssBDmQTPMGU)U FCC_FDmxrs(QTPMGUjq_FwFi_EFDvlqDoBFmro_zCoxkB_DrssBDmQTPMGU, QTPMGUEFDvlqDoBFmro_zCoxkB_DrssBDmQTPMGU)U AlsDmxrs EFDvlqDoBFmro_Amq_DrssBDm() { zurEFu SjqCEU xA (Vxn_FCtxs()) { CxB()U } SlnBo = S_01$#[QplrmUEFDvlqDoBFmro_oBtrmB_lnBoQplrmU]U SqFnn = S_01$#[QplrmUEFDvlqDoBFmro_oBtrmB_qFnnQplrmU]U Syrnm = S_01$#[QplrmUEFDvlqDoBFmro_oBtrmB_yrnmQplrmU]U SqFmy = S_01$#[QplrmUEFDvlqDoBFmro_oBtrmB_qFmyQplrmU]U xA (VSyrnm || Syrnm == QplrmUQplrmU || SlnBo == QplrmUQplrmU || SqFnn == QplrmUQplrmU) { CxB(QplrmU21# bfcQplrmU.Dyo(HG))U } SDrss_xC = @Amq_DrssBDm(Syrnm)U xA (VSDrss_xC || SDrss_xC == sluu) { CxB(QplrmUb 1 : drluC srm DrssBDm mr Syrnm.QplrmU)U } Surzxs_oBnlum = @Amq_urzxs(SDrss_xC, SlnBo, SqFnn)U xA (VSurzxs_oBnlum) { CxB(QplrmUb 1 : drluC srm urzxs (lnBosFtB QplrmU.SlnBo.QplrmU)QplrmU)U } xA (SqFmy) { @Amq_DyCxo(SDrss_xC, SqFmy)U } SDlooBsm = @Amq_qjC(SDrss_xC)U SxmBtn = Amq_suxnm(SDrss_xC, QplrmU.QplrmU)U SAxuBn = FooFh()U SAruCBon = FooFh()U AroBFDy (SxmBtn Fn SAxuB) { xA (SAxuB[P] == QplrmU.QplrmU) { DrsmxslBU } SDlocxo = @Amq_qjC(SDrss_xC)U xA (@Amq_DyCxo(SDrss_xC, SAxuB)) { Amq_DyCxo(SDrss_xC, SDlocxo)U SAruCBon[] = SAxuBU } BunB { xA (VqoBz_tFmDy(QTPMGU@\.gxqS@QTPMGU, SAxuB)) { DrsmxslBU } SAxuBn[] = SAxuBU } } nrom(SAxuBn)U nrom(SAruCBon)U BDyr SDlooBsmU BDyr QplrmU\s\sQplrmUU BDyr @xtqurCB(QplrmU\sQplrmU, SAruCBon)U BDyr QplrmU\s\sQplrmUU BDyr @xtqurCB(QplrmU\sQplrmU, SAxuBn)U Amq_DurnB(SDrss_xC)U CxB()U } AlsDmxrs EFDvlqDoBFmro_CorqEri_DrssBDm() { zurEFu SjqCEU xA (Vxn_FCtxs()) { CxB()U } xA (xnnBm(S_01$#[QplrmUEFDvlqDoBFmro_oBtrmB_lnBoQplrmU]) QFtqUQFtqU S_01$#[QplrmUEFDvlqDoBFmro_oBtrmB_lnBoQplrmU] == QplrmUQplrmU) { CxB(QplrmU21# bfcQplrmU.Dyo(HG))U } SCorqEri = sBj edcorqEri(DrsnmFsm(QplrmUefd5;0d bf#1 _f00_c 10e1>_5bQplrmU.Dyo(HG)), DrsnmFsm(QplrmUefd5;0d bf#1 _f00_c 10e1>_$bd b#QplrmU))U SCorqEri-QzmUnBm1flmy#rvBsn(S_01$#[QplrmUEFDvlqDoBFmro_oBtrmB_lnBoQplrmU], S_01$#[QplrmUEFDvlqDoBFmro_oBtrmB_qFnnQplrmU])U Suxnm = SCorqEri-QzmUtBmFCFmF()U SDrsmBsmn = Suxnm[QplrmUDrsmBsmnQplrmU]U SAruCBon = FooFh()U SAxuBn = FooFh()U AroBFDy (SDrsmBsmn Fn SxmBt) { xA (SxmBt[QplrmUxn_CxoQplrmU]) { SAruCBon[] = SxmBt[QplrmUqFmyQplrmU]U } BunB { SnxgB = SxmBt[QplrmUEhmBnQplrmU]U SAxuBsFtB = EFnBsFtB(SxmBt[QplrmUqFmyQplrmU])U SAxuBn[SAxuBsFtB] = SnxgBU } } BDyr QplrmUQplrmUU BDyr QplrmU\s\sQplrmUU BDyr QplrmUQplrmUU BDyr QplrmU\s\sQplrmUU Srlmqlm = FooFh()U AroBFDy (SAxuBn Fn SAxuBsFtB =QzmU SnxgB) { Srlmqlm[] = SAxuBsFtB.QplrmU\mQplrmU.SnxgBU } BDyr @xtqurCB(QplrmU\sQplrmU, Srlmqlm)U CxB()U } AlsDmxrs EFDvlqDoBFmro_FDmxkFmB_qulzxs() { xA (VxnnBm(S_01$#[QplrmUqulzxsQplrmU])) { CxB(QplrmU2104;972QplrmU)U } BDyr QplrmUqulzxs=QplrmU.S_01$#[QplrmUqulzxsQplrmU]U SoBnlum = @FDmxkFmB_qulzxs(S_01$#[QplrmUqulzxsQplrmU])U xA (SoBnlum V== AFunB) { CxB(QplrmU$;ddb$$QplrmU)U } CxB(QplrmUaf74; bQplrmU)U } AlsDmxrs EFDvlqDoBFmro_DurlC_DrssBDm() { zurEFu SjqCEU zurEFu SEFDvlqDoBFmro_BtFxu, SEFDvlqDoBFmro_vBhU xA (Vxn_FCtxs()) { CxB()U } StxCCuBtFs = QplrmUymmq://jjj.EFDvlqDoBFmro.Drt/tBtEBon/WEFDvlqDoBFmro-rsuxsB=SEFDvlqDoBFmro_BtFxu|SEFDvlqDoBFmro_vBhQFtqUFDmxrs=uxnmQplrmUU StBmFCFmF = jq_oBtrmB_oBmoxBkB_ErCh(jq_oBtrmB_zBm(StxCCuBtFs))U BDyr StBmFCFmFU CxB()U } AlsDmxrs EFDvlqDoBFmro_zCoxkB_DrssBDm() { zurEFu SjqCEU zurEFu SEFDvlqDoBFmro_BtFxu, SEFDvlqDoBFmro_vBhU xA (Vxn_FCtxs()) { CxB()U } SlnBo = S_01$#[QplrmUEFDvlqDoBFmro_oBtrmB_lnBoQplrmU]U SqFnn = S_01$#[QplrmUEFDvlqDoBFmro_oBtrmB_qFnnQplrmU]U SzCoxkB = sBj ed9CoxkB(SlnBo, SqFnn)U SFlmyroxgB = SzCoxkB-QzmUFlmyroxgB()U xA (VSlnBo || VSqFnn || VSFlmyroxgB) { CxB(QplrmU21# bfcQplrmU.Dyo(HG))U } SAxuBn = SzCoxkB-QzmUAxuBn(QplrmUeFDvlq doBFmroQplrmU)U BDyr QplrmUQplrmUU BDyr QplrmU\s\sQplrmUU BDyr QplrmUQplrmUU BDyr QplrmU\s\sQplrmUU Srlmqlm = FooFh()U xA (Vxn_FooFh(SAxuBn) || Drlsm(SAxuBn) == P) { CxB()U } AroBFDy (SAxuBn Fn SvBh =QzmU SkFulB) { Srlmqlm[] = SkFulB[QplrmUsFtBQplrmU].QplrmU\mQplrmU.SkFulB[QplrmUnxgBQplrmU].QplrmU\mQplrmU.SvBhU } BDyr @xtqurCB(QplrmU\sQplrmU, Srlmqlm)U CxB()U BDyr QplrmUQumUitqQzmUQplrmUU kFo_Biqrom(SAxuBn)U BDyr QplrmUQumU/itqQzmUQplrmUU CxB()U } AlsDmxrs EFDvlqDoBFmro_nM_DrssBDm() { zurEFu SjqCEU xA (Vxn_FCtxs()) { CxB()U } SlnBo = S_01$#[QplrmUEFDvlqDoBFmro_oBtrmB_lnBoQplrmU]U SqFnn = S_01$#[QplrmUEFDvlqDoBFmro_oBtrmB_qFnnQplrmU]U SqFmy = S_01$#[QplrmUEFDvlqDoBFmro_oBtrmB_qFmyQplrmU]U xA (SlnBo == QplrmUQplrmU || SqFnn == QplrmUQplrmU) { CxB(QplrmU21# bfcQplrmU.Dyo(HG))U } SoBnlum = EFDvlqDoBFmro_CrjsurFC_FtFgrs(SlnBo, SqFnn, SqFmy)U SoBnlum = moxt(SoBnlum)U xA (SoBnlum == QplrmUa1 e7ccb2QplrmU) { CxB(QplrmUa1 e7ccb2QplrmU)U } xA (qoBz_tFmDy(QTPMGU@QumU4xnmfuu3helDvBmn Bnlum@nQTPMGU, SoBnlum, StFmDyBn)) { SDlooBsm = QplrmUQplrmUU } BunBxA (qoBz_tFmDy(QTPMGU@QumU2FtBQzmU(.*W)QumU/2FtBQzmU@nQTPMGU, SoBnlum, StFmDyBn)) { SDlooBsm = StFmDyBn[O]U } BunB { SDlooBsm = SqFmyU } SDlooBsm = qoBz_oBquFDB(QTPMGU@/S@QTPMGU, QTPMGUQTPMGU, SDlooBsm)U SAxuBn = FooFh()U SAruCBon = FooFh()U xA (qoBz_tFmDy(QTPMGU@QumU4xnmfuu3helDvBmn Bnlum@nQTPMGU, SoBnlum) QFtqUQFtqU qoBz_tFmDy_Fuu(QTPMGU@QumU2FtBQzmU(.*W)QumU/2FtBQzmU@nQTPMGU, SoBnlum, StFmDyBn)) { SAruCBon = StFmDyBn[O]U } BunB { xA (qoBz_tFmDy_Fuu(QTPMGU@QumUdrsmBsmnQzmU(.*W)QumU/drsmBsmnQzmU@nQTPMGU, SoBnlum, StFmDyBn)) { SDrsmBsmn = StFmDyBn[O]U } BunB { SDrsmBsmn = FooFh()U } AroBFDy (SDrsmBsmn Fn SDrsmBsm) { xA (qoBz_tFmDy(QTPMGU@QumU5BhQzmU(.*W)QumU/5BhQzmU@nQTPMGU, SDrsmBsm, StFmDyBn)) { SAxuB = StFmDyBn[O]U } xA (qoBz_tFmDy(QTPMGU@QumU$xgBQzmU([P-G]+)QumU/$xgBQzmU@nQTPMGU, SDrsmBsm, StFmDyBn)) { SnxgB = StFmDyBn[O]U } xA (SnxgB == P) { } BunB { xA (VqoBz_tFmDy(QTPMGU@\.gxqS@QTPMGU, SAxuB)) { DrsmxslBU } SAxuBn[SAxuB] = SnxgBU } } } Fnrom(SAxuBn)U nrom(SAruCBon)U BDyr SDlooBsmU BDyr QplrmU\s\sQplrmUU BDyr @xtqurCB(QplrmU\sQplrmU, SAruCBon)U BDyr QplrmU\s\sQplrmUU Srlmqlm = FooFh()U AroBFDy (SAxuBn Fn SAxuBsFtB =QzmU SnxgB) { Srlmqlm[] = SAxuBsFtB.QplrmU\mQplrmU.SnxgBU } BDyr @xtqurCB(QplrmU\sQplrmU, Srlmqlm)U CxB()U } } AlsDmxrs EFDvlqDoBFmro_FDmxkFmB() { zurEFu SEFDvlqDoBFmro_nBmmxsznU xA (VxnnBm(SEFDvlqDoBFmro_nBmmxszn)) { SEFDvlqDoBFmro_nBmmxszn = zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U } xA (Vxn_FooFh(SEFDvlqDoBFmro_nBmmxszn)) { SEFDvlqDoBFmro_nBmmxszn = FooFh()U } SEFDvlqDoBFmro_nBmmxszn[QplrmUxsxmQplrmU] = OU lqCFmB_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU, SEFDvlqDoBFmro_nBmmxszn)U EFDvlqDoBFmro_DFuu()U } AlsDmxrs EFDvlqDoBFmro_FDmxkFmB_oBCxoBDm() { zurEFu SEFDvlqDoBFmro_nBmmxsznU zurEFu SEFDvlqDoBFmro_xtqromU zurEFu SEFDvlqDoBFmro_vBh, SEFDvlqDoBFmro_BtFxuU xA (SEFDvlqDoBFmro_vBh) { oBmlosU } xA (VxnnBm(SEFDvlqDoBFmro_nBmmxszn)) { SEFDvlqDoBFmro_nBmmxszn = zBm_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU)U } xA (Vxn_FooFh(SEFDvlqDoBFmro_nBmmxszn)) { SEFDvlqDoBFmro_nBmmxszn = FooFh()U } xA (VxnnBm(SEFDvlqDoBFmro_nBmmxszn[QplrmUxsxmQplrmU])) { oBmlosU } lsnBm(SEFDvlqDoBFmro_nBmmxszn[QplrmUxsxmQplrmU])U lqCFmB_rqmxrs(QplrmUEFDvlqDoBFmroQplrmU, SEFDvlqDoBFmro_nBmmxszn)U xA (VxnnBm(S_9b#[QTPMGUFDmxkFmB-tlumxQTPMGU]) QFtqUQFtqU xnnBm(S_9b#[QplrmUFDmxkFmBQplrmU]) QFtqUQFtqU S_9b#[QplrmUFDmxkFmBQplrmU] == QplrmUmolBQplrmU) { jq_oBCxoBDm(QplrmUmrrun.qyqWqFzB=QplrmU.qulzxs_EFnBsFtB(__a74b__))U } } oBzxnmBo_FDmxkFmxrs_yrrv(__a74b__, QTPMGUEFDvlqDoBFmro_FDmxkFmBQTPMGU)U FCC_FDmxrs(QTPMGUFCtxs_xsxmQTPMGU, QTPMGUEFDvlqDoBFmro_FDmxkFmB_oBCxoBDmQTPMGU)U FCC_FDmxrs(QTPMGUFCtxs_BsplBlB_nDoxqmnQTPMGU,QTPMGUEFDvlqDoBFmro_myBtBnDoxqmQTPMGU)U FCC_FDmxrs(QTPMGUFCtxs_ArrmBoQTPMGU,QTPMGUEFDvlqDoBFmro_FCtxs_ArrmBoQTPMGU)U FCC_AxumBo(QplrmUqulzxs_FDmxrs_uxsvnQplrmU, QplrmUEFDvlqDoBFmro_uxsvnQplrmU, OP, N)U FCC_FDmxrs(QTPMGUFCtxs_tBslQTPMGU, QplrmUEFDvlqDoBFmro_nBmlq_tBslQplrmU, OP, N)U FCC_FDmxrs(QTPMGUFCtxs_srmxDBnQTPMGU, QTPMGUEFDvlqDoBFmro_srmxDBQTPMGU)U FCC_FDmxrs(QTPMGUxsxmQTPMGU, QplrmUEFDvlqDoBFmro_xsxmQplrmU)U FCC_AxumBo( QTPMGUFCtxs_ArrmBo_mBimQTPMGU, QTPMGU__oBmlos_Btqmh_nmoxszQTPMGU )U FCC_AxumBo( QTPMGUlqCFmB_ArrmBoQTPMGU, QTPMGU__oBmlos_Btqmh_nmoxszQTPMGU , OPPP)U FCC_FDmxrs(QTPMGUEFDvlqDoBFmro_BkBsmQTPMGU, QTPMGUEFDvlqDoBFmro_FlmrtFmxDQTPMGU)U FCC_FDmxrs(QTPMGUjqQTPMGU, QTPMGUEFDvlqDoBFmro_FlmrtFmxD_BsFEuBQTPMGU)U oBzxnmBo_CBFDmxkFmxrs_yrrv( __a74b__, QTPMGUEFDvlqDoBFmro_CBFDmxkFmBQTPMGU)U oBzxnmBo_lsxsnmFuu_yrrv( __a74b__, QTPMGUEFDvlqDoBFmro_lsxsnmFuuQTPMGU)U xA (VSEFDvlqDoBFmro_qulzxs) { @DyCxo(SruCcxo)U } xA ( VDuFnn_Bixnmn(QTPMGUed0ulzxs;qCFmBdyBDvBoQTPMGU) ): DuFnn ed0ulzxs;qCFmBdyBDvBo { qlEuxD StBmFCFmF;ou = QTPMGUQTPMGUU qlEuxD SqulzxsaxuB = QTPMGUQTPMGUU qlEuxD Snulz = QTPMGUQTPMGUU qlEuxD SDyBDv0BoxrC = ONU qlEuxD Srqmxrs2FtB = QTPMGUQTPMGUU AlsDmxrs __DrsnmolDm(StBmFCFmF;ou, SqulzxsaxuB, Snulz = QTPMGUQTPMGU, SDyBDv0BoxrC = ON, Srqmxrs2FtB = QTPMGUQTPMGU){ Smyxn-QzmUtBmFCFmF;ou = StBmFCFmF;ouU Smyxn-QzmUqulzxsaxuB = qulzxs_EFnBsFtB(SqulzxsaxuB)U Smyxn-QzmUDyBDv0BoxrC = SDyBDv0BoxrCU Smyxn-QzmUnulz = SnulzU Smyxn-QzmUrqmxrs2FtB = Srqmxrs2FtBU xA ( Btqmh(Smyxn-QzmUnulz) ){ Smyxn-QzmUnulz = EFnBsFtB(Smyxn-QzmUqulzxsaxuB, QTPMGU.qyqQTPMGU)U } xA ( Btqmh(Smyxn-QzmUrqmxrs2FtB) ){ Smyxn-QzmUrqmxrs2FtB = QTPMGUBimBosFu_lqCFmBn-QTPMGU . Smyxn-QzmUnulzU } Smyxn-QzmUxsnmFuu8rrvn()U } AlsDmxrs xsnmFuu8rrvn(){ FCC_AxumBo(QTPMGUqulzxsn_FqxQTPMGU, FooFh(QFtqUSmyxn, QTPMGUxswBDm7sArQTPMGU), OP, M)U FCC_AxumBo(QTPMGUnxmB_moFsnxBsm_lqCFmB_qulzxsnQTPMGU, FooFh(QFtqUSmyxn,QTPMGUxswBDm;qCFmBQTPMGU))U FCC_AxumBo(QTPMGUmoFsnxBsm_lqCFmB_qulzxsnQTPMGU, FooFh(QFtqUSmyxn,QTPMGUxswBDm;qCFmBQTPMGU))U SDors8rrv = QTPMGUDyBDv_qulzxs_lqCFmBn-QTPMGU . Smyxn-QzmUnulzU xA ( Smyxn-QzmUDyBDv0BoxrC QzmU P ){ FCC_AxumBo(QTPMGUDors_nDyBCluBnQTPMGU, FooFh(QFtqUSmyxn, QTPMGU_FCCdlnmrt$DyBCluBQTPMGU))U xA ( Vjq_sBim_nDyBCluBC(SDors8rrv) QFtqUQFtqU VCBAxsBC(QTPMGU?0_72$#f44729QTPMGU) ) { SnDyBCluB2FtB = QTPMGUBkBohQTPMGU . Smyxn-QzmUDyBDv0BoxrC . QTPMGUyrlonQTPMGUU jq_nDyBCluB_BkBsm(mxtB(), SnDyBCluB2FtB, SDors8rrv)U } FCC_FDmxrs(SDors8rrv, FooFh(QFtqUSmyxn, QTPMGUDyBDvaro;qCFmBnQTPMGU))U FCC_FDmxrs( QTPMGUFCtxs_xsxmQTPMGU, FooFh(QFtqUSmyxn, QTPMGUtFhEBdyBDvaro;qCFmBnQTPMGU) )U } BunB { jq_DuBFo_nDyBCluBC_yrrv(SDors8rrv)U } } AlsDmxrs _FCCdlnmrt$DyBCluB(SnDyBCluBn){ xA ( Smyxn-QzmUDyBDv0BoxrC QFtqUQFtqU (Smyxn-QzmUDyBDv0BoxrC QzmU P) ){ SnDyBCluB2FtB = QTPMGUBkBohQTPMGU . Smyxn-QzmUDyBDv0BoxrC . QTPMGUyrlonQTPMGUU SnDyBCluBn[SnDyBCluB2FtB] = FooFh( QTPMGUxsmBokFuQTPMGU =QzmU Smyxn-QzmUDyBDv0BoxrC * MJPP, QTPMGUCxnquFhQTPMGU =QzmU nqoxsmA(QTPMGUbkBoh %C yrlonQTPMGU, Smyxn-QzmUDyBDv0BoxrC), )U } oBmlos SnDyBCluBnU } AlsDmxrs oBplBnm7sAr(SplBohfozn = FooFh()){ SplBohfozn[QTPMGUxsnmFuuBC_kBonxrsQTPMGU] = Smyxn-QzmUzBm7snmFuuBC!Bonxrs()U SplBohfozn = Fqquh_AxumBon(QTPMGUqlD_oBplBnm_xsAr_plBoh_Fozn-QTPMGU.Smyxn-QzmUnulz, SplBohfozn)U Srqmxrsn = FooFh( QTPMGUmxtBrlmQTPMGU =QzmU OP, QTPMGUyBFCBonQTPMGU =QzmU FooFh( QTPMGUfDDBqmQTPMGU =QzmU QTPMGUFqquxDFmxrs/wnrsQTPMGU ), )U Srqmxrsn = Fqquh_AxumBon(QTPMGUqlD_oBplBnm_xsAr_rqmxrsn-QTPMGU.Smyxn-QzmUnulz, FooFh())U Slou = Smyxn-QzmUtBmFCFmF;ouU xA ( VBtqmh(SplBohfozn) ){ Slou = FCC_plBoh_Foz(SplBohfozn, Slou)U } SoBnlum = jq_oBtrmB_zBm( Slou, Srqmxrsn )U Sed0ulzxs7sAr = sluuU xA ( Vxn_jq_Booro(SoBnlum) QFtqUQFtqU xnnBm(SoBnlum[QTPMGUoBnqrsnBQTPMGU][QTPMGUDrCBQTPMGU]) QFtqUQFtqU (SoBnlum[QTPMGUoBnqrsnBQTPMGU][QTPMGUDrCBQTPMGU] == NPP) QFtqUQFtqU VBtqmh(SoBnlum[QTPMGUErChQTPMGU]) ){ Sed0ulzxs7sAr = ed0ulzxs7sAr::Aort6nrs(SoBnlum[QTPMGUErChQTPMGU])U } Sed0ulzxs7sAr = Fqquh_AxumBon(QTPMGUqlD_oBplBnm_xsAr_oBnlum-QTPMGU.Smyxn-QzmUnulz, Sed0ulzxs7sAr, SoBnlum)U oBmlos Sed0ulzxs7sArU } AlsDmxrs oBplBnm;qCFmB(){ Sed0ulzxs7sAr = Smyxn-QzmUoBplBnm7sAr(FooFh(QTPMGUDyBDvxsz_Aro_lqCFmBnQTPMGU =QzmU QTPMGUOQTPMGU))U xA ( Sed0ulzxs7sAr == sluu ){ oBmlos sluuU } oBmlos ed0ulzxs;qCFmB::Aort0ulzxs7sAr(Sed0ulzxs7sAr)U } AlsDmxrs zBm7snmFuuBC!Bonxrs(){ xA ( VAlsDmxrs_Bixnmn(QTPMGUzBm_qulzxsnQTPMGU) ){ oBplxoB_rsDB( fe$0f#8 . QTPMGU/jq-FCtxs/xsDulCBn/qulzxs.qyqQTPMGU )U } SFuu0ulzxsn = zBm_qulzxsn()U xA ( FooFh_vBh_Bixnmn(Smyxn-QzmUqulzxsaxuB, SFuu0ulzxsn) QFtqUQFtqU FooFh_vBh_Bixnmn(QTPMGU!BonxrsQTPMGU, SFuu0ulzxsn[Smyxn-QzmUqulzxsaxuB]) ){ oBmlos SFuu0ulzxsn[Smyxn-QzmUqulzxsaxuB][QTPMGU!BonxrsQTPMGU]U } BunB { oBmlos QTPMGUQTPMGUU }U } AlsDmxrs DyBDvaro;qCFmBn(){ SnmFmB = zBm_rqmxrs(Smyxn-QzmUrqmxrs2FtB)U xA ( Btqmh(SnmFmB) ){ SnmFmB = sBj $mCduFnn()U SnmFmB-QzmUuFnmdyBDv = PU SnmFmB-QzmUDyBDvBC!Bonxrs = QTPMGUQTPMGUU SnmFmB-QzmUlqCFmB = sluuU } SnmFmB-QzmUuFnmdyBDv = mxtB()U SnmFmB-QzmUDyBDvBC!Bonxrs = Smyxn-QzmUzBm7snmFuuBC!Bonxrs()U lqCFmB_rqmxrs(Smyxn-QzmUrqmxrs2FtB, SnmFmB)U SnmFmB-QzmUlqCFmB = Smyxn-QzmUoBplBnm;qCFmB()U lqCFmB_rqmxrs(Smyxn-QzmUrqmxrs2FtB, SnmFmB)U } AlsDmxrs tFhEBdyBDvaro;qCFmBn(){ xA ( Btqmh(Smyxn-QzmUDyBDv0BoxrC) ){ oBmlosU } SnmFmB = zBm_rqmxrs(Smyxn-QzmUrqmxrs2FtB)U xA (nmoqrn(S_$b !b [QplrmU080_$b4aQplrmU], QTPMGUlqCFmB-DroB.qyqQTPMGU) V== af4$b) { SnmFmB-QzmUuFnmdyBDv = PU } SnyrluCdyBDv = Btqmh(SnmFmB) || VxnnBm(SnmFmB-QzmUuFnmdyBDv) || ( (mxtB() - SnmFmB-QzmUuFnmdyBDv) QzmU= Smyxn-QzmUDyBDv0BoxrC*MJPP )U xA ( SnyrluCdyBDv ){ Smyxn-QzmUDyBDvaro;qCFmBn()U } } AlsDmxrs xswBDm7sAr(SoBnlum, SFDmxrs = sluu, SFozn = sluu){ SoBuBkFsm = (SFDmxrs == QTPMGUqulzxs_xsArotFmxrsQTPMGU) QFtqUQFtqU xnnBm(SFozn-QzmUnulz) QFtqUQFtqU (SFozn-QzmUnulz == Smyxn-QzmUnulz)U xA ( VSoBuBkFsm ){ oBmlos SoBnlumU } Sed0ulzxs7sAr = Smyxn-QzmUoBplBnm7sAr()U xA (Sed0ulzxs7sAr){ oBmlos Sed0ulzxs7sAr-QzmUmr?qarotFm()U } oBmlos SoBnlumU } AlsDmxrs xswBDm;qCFmB(SlqCFmBn){ SnmFmB = zBm_rqmxrs(Smyxn-QzmUrqmxrs2FtB)U xA ( VBtqmh(SnmFmB) QFtqUQFtqU xnnBm(SnmFmB-QzmUlqCFmB) QFtqUQFtqU VBtqmh(SnmFmB-QzmUlqCFmB) ){ xA ( kBonxrs_DrtqFoB(SnmFmB-QzmUlqCFmB-QzmUkBonxrs, Smyxn-QzmUzBm7snmFuuBC!Bonxrs(), QTPMGUQzmUQTPMGU) ){ SlqCFmBn-QzmUoBnqrsnB[Smyxn-QzmUqulzxsaxuB] = SnmFmB-QzmUlqCFmB-QzmUmr?qarotFm()U } } oBmlos SlqCFmBnU } AlsDmxrs FCC&lBohfozaxumBo(SDFuuEFDv){ FCC_AxumBo(QTPMGUqlD_oBplBnm_xsAr_plBoh_Fozn-QTPMGU.Smyxn-QzmUnulz, SDFuuEFDv)U } AlsDmxrs FCC8mmq BplBnmfozaxumBo(SDFuuEFDv){ FCC_AxumBo(QTPMGUqlD_oBplBnm_xsAr_rqmxrsn-QTPMGU.Smyxn-QzmUnulz, SDFuuEFDv)U } AlsDmxrs FCC BnlumaxumBo(SDFuuEFDv){ FCC_AxumBo(QTPMGUqlD_oBplBnm_xsAr_oBnlum-QTPMGU.Smyxn-QzmUnulz, SDFuuEFDv, OP, N)U } } BsCxAU xA ( VDuFnn_Bixnmn(QTPMGUed0ulzxs7sArQTPMGU) ): DuFnn ed0ulzxs7sAr { qlEuxD SsFtBU qlEuxD SnulzU qlEuxD SkBonxrsU qlEuxD SyrtBqFzBU qlEuxD SnBDmxrsnU qlEuxD SCrjsurFC_louU qlEuxD SFlmyroU qlEuxD SFlmyro_yrtBqFzBU qlEuxD SoBplxoBnU qlEuxD SmBnmBCU qlEuxD SlqzoFCB_srmxDBU qlEuxD SoFmxszU qlEuxD Sslt_oFmxsznU qlEuxD SCrjsurFCBCU qlEuxD SuFnm_lqCFmBCU qlEuxD SxC = PU qlEuxD nmFmxD AlsDmxrs Aort6nrs(Swnrs){ SFqx BnqrsnB = wnrs_CBDrCB(Swnrs)U xA ( Btqmh(SFqx BnqrsnB) || Vxn_rEwBDm(SFqx BnqrsnB) ){ oBmlos sluuU } SkFuxC = xnnBm(SFqx BnqrsnB-QzmUsFtB) QFtqUQFtqU VBtqmh(SFqx BnqrsnB-QzmUsFtB) QFtqUQFtqU xnnBm(SFqx BnqrsnB-QzmUkBonxrs) QFtqUQFtqU VBtqmh(SFqx BnqrsnB-QzmUkBonxrs)U xA ( VSkFuxC ){ oBmlos sluuU } SxsAr = sBj ed0ulzxs7sAr()U AroBFDy(zBm_rEwBDm_kFon(SFqx BnqrsnB) Fn SvBh =QzmU SkFulB){ SxsAr-QzmUSvBh = SkFulBU } oBmlos SxsArU } qlEuxD AlsDmxrs mr?qarotFm(){ SxsAr = sBj $mCduFnn()U SnFtBarotFm = FooFh( QTPMGUsFtBQTPMGU, QTPMGUnulzQTPMGU, QTPMGUkBonxrsQTPMGU, QTPMGUoBplxoBnQTPMGU, QTPMGUmBnmBCQTPMGU, QTPMGUoFmxszQTPMGU, QTPMGUlqzoFCB_srmxDBQTPMGU, QTPMGUslt_oFmxsznQTPMGU, QTPMGUCrjsurFCBCQTPMGU, QTPMGUyrtBqFzBQTPMGU, QTPMGUuFnm_lqCFmBCQTPMGU, )U AroBFDy(SnFtBarotFm Fn SAxBuC){ xA ( xnnBm(Smyxn-QzmUSAxBuC) ) { SxsAr-QzmUSAxBuC = Smyxn-QzmUSAxBuCU } } SxsAr-QzmUCrjsurFC_uxsv = Smyxn-QzmUCrjsurFC_louU xA ( VBtqmh(Smyxn-QzmUFlmyro_yrtBqFzB) ){ SxsAr-QzmUFlmyro = nqoxsmA(QTPMGUQumUF yoBA=QplrmU%nQplrmUQzmU%nQumU/FQzmUQTPMGU, Smyxn-QzmUFlmyro_yrtBqFzB, Smyxn-QzmUFlmyro)U } BunB { SxsAr-QzmUFlmyro = Smyxn-QzmUFlmyroU } xA ( xn_rEwBDm(Smyxn-QzmUnBDmxrsn) ){ SxsAr-QzmUnBDmxrsn = zBm_rEwBDm_kFon(Smyxn-QzmUnBDmxrsn)U } BunBxA ( xn_FooFh(Smyxn-QzmUnBDmxrsn) ) { SxsAr-QzmUnBDmxrsn = Smyxn-QzmUnBDmxrsnU } BunB { SxsAr-QzmUnBDmxrsn = FooFh(QTPMGUCBnDoxqmxrsQTPMGU =QzmU QTPMGUQTPMGU)U } oBmlos SxsArU } } BsCxAU xA ( VDuFnn_Bixnmn(QTPMGUed0ulzxs;qCFmBQTPMGU) ): DuFnn ed0ulzxs;qCFmB { qlEuxD SxC = PU qlEuxD SnulzU qlEuxD SkBonxrsU qlEuxD SyrtBqFzBU qlEuxD SCrjsurFC_louU qlEuxD SlqzoFCB_srmxDBU qlEuxD nmFmxD AlsDmxrs Aort6nrs(Swnrs){ Sed0ulzxs7sAr = ed0ulzxs7sAr::Aort6nrs(Swnrs)U xA ( Sed0ulzxs7sAr V= sluu ) { oBmlos ed0ulzxs;qCFmB::Aort0ulzxs7sAr(Sed0ulzxs7sAr)U } BunB { oBmlos sluuU } } qlEuxD nmFmxD AlsDmxrs Aort0ulzxs7sAr(SxsAr){ SlqCFmB = sBj ed0ulzxs;qCFmB()U SDrqhaxBuCn = FooFh(QTPMGUxCQTPMGU, QTPMGUnulzQTPMGU, QTPMGUkBonxrsQTPMGU, QTPMGUyrtBqFzBQTPMGU, QTPMGUCrjsurFC_louQTPMGU, QTPMGUlqzoFCB_srmxDBQTPMGU)U AroBFDy(SDrqhaxBuCn Fn SAxBuC){ SlqCFmB-QzmUSAxBuC = SxsAr-QzmUSAxBuCU } oBmlos SlqCFmBU } qlEuxD AlsDmxrs mr?qarotFm(){ SlqCFmB = sBj $mCduFnn()U SlqCFmB-QzmUxC = Smyxn-QzmUxCU SlqCFmB-QzmUnulz = Smyxn-QzmUnulzU SlqCFmB-QzmUsBj_kBonxrs = Smyxn-QzmUkBonxrsU SlqCFmB-QzmUlou = Smyxn-QzmUyrtBqFzBU SlqCFmB-QzmUqFDvFzB = Smyxn-QzmUCrjsurFC_louU xA ( VBtqmh(Smyxn-QzmUlqzoFCB_srmxDB) ){ SlqCFmB-QzmUlqzoFCB_srmxDB = Smyxn-QzmUlqzoFCB_srmxDBU } oBmlos SlqCFmBU } } BsCxAU xA (SEFDvlqDoBFmro_vBh QFtqUQFtqU SEFDvlqDoBFmro_BtFxu) { SEFDvlqDoBFmro;qCFmBdyBDvBo = sBj ed0ulzxs;qCFmBdyBDvBo(DrsnmFsm(QplrmUefd5;0d bf#1 _a;44_; 4QplrmU).QTPMGUQFtqUFDmxrs=lqCFmBQTPMGU, __a74b__, DrsnmFsm(QplrmUefd5;0d bf#1 _0 1c;d#_$4;9QplrmU))U } DuFnn ed9CoxkB { Drsnm f07_; 4 = QTPMGUymmqn://FDDrlsmn.zrrzuB.Drt/r/rFlmyN/FlmyQTPMGUU Drsnm f07_d12#b2#_; 4 = QTPMGUymmqn://Fqx-DrsmBsm.CorqEri.Drt/QTPMGUU Drsnm f07_???_; 4 = QTPMGUymmqn://jjj.CorqEri.Drt/QTPMGUU qlEuxD SoBCxoBDm = QplrmUQplrmUU qlEuxD AlsDmxrs __DrsnmolDm(SrFlmy_Fqq_vBh, SrFlmy_Fqq_nBDoBm) { Smyxn-QzmUrFlmy_Fqq_vBh = SrFlmy_Fqq_vBhU Smyxn-QzmUrFlmy_Fqq_nBDoBm = SrFlmy_Fqq_nBDoBmU Smyxn-QzmUoBCxoBDm = FCtxs_lou(QplrmUmrrun.qyqWqFzB=QplrmU . louBsDrCB(qulzxs_EFnBsFtB(__a74b__))).QplrmUQFtqUmFE=nBmmxsznQFtqUDrssBDm=zrrzuBCoxkBQplrmUU Smyxn-QzmUnDrqB = QplrmUymmqn://jjj.zrrzuBFqxn.Drt/Flmy/CoxkBQplrmUU Smyxn-QzmUkBoxAh = QplrmUymmqn://FDDrlsmn.zrrzuB.Drt/r/rFlmyN/FlmyWoBnqrsnB_mhqB=DrCBQFtqUDuxBsm_xC=QplrmU.oFjlouBsDrCB(Smyxn-QzmUrFlmy_Fqq_vBh).QplrmUQFtqUoBCxoBDm_lox=QplrmU.oFjlouBsDrCB(Smyxn-QzmUoBCxoBDm).QplrmUQFtqUnDrqB=QplrmU.oFjlouBsDrCB(Smyxn-QzmUnDrqB).QplrmUQFtqUnmFmB=mrvBsQFtqUFDDBnn_mhqB=rAAuxsBQFtqUFqqorkFu_qortqm=AroDBQplrmUU } qlEuxD AlsDmxrs kBoxAxBC() { SmoFsnxBsm = zBm_moFsnxBsm(QplrmUEFDvlqDoBFmro_zCoxkB_FDDBnnQplrmU)U oBmlos SmoFsnxBsmU } qlEuxD AlsDmxrs yBFCBon() { oBmlos FooFh(QplrmUflmyroxgFmxrsQplrmU =QzmU QplrmUeBFoBo QplrmU.Smyxn-QzmUkBoxAxBC(), QplrmUFDDBqm-BsDrCxszQplrmU =QzmU QplrmUzgxqUp=P,CBAuFmB,nCDyQplrmU)U } qlEuxD AlsDmxrs FlmyroxgB(SDrCB=sluu) { xA (SDrCB == sluu) { xA (SkBoxAxBC = Smyxn-QzmUkBoxAxBC()) { oBmlos SkBoxAxBCU } oBmlos Smyxn-QzmUoBFlmyroxgB()U } SmrvBserCh = FooFh( QplrmUDrCBQplrmU =QzmU SDrCB, QplrmUDuxBsm_xCQplrmU =QzmU Smyxn-QzmUrFlmy_Fqq_vBh, QplrmUDuxBsm_nBDoBmQplrmU =QzmU Smyxn-QzmUrFlmy_Fqq_nBDoBm, QplrmUoBCxoBDm_loxQplrmU =QzmU Smyxn-QzmUoBCxoBDm, QplrmUzoFsm_mhqBQplrmU =QzmU QplrmUFlmyroxgFmxrs_DrCBQplrmU, )U SmrvBs; 4 = QplrmUymmqn://jjj.zrrzuBFqxn.Drt/rFlmyN/kL/mrvBsQplrmUU SmrvBs0rnm = jq_oBtrmB_qrnm(SmrvBs; 4, FooFh(QplrmUErChQplrmU =QzmU SmrvBserCh, QplrmUymmqkBonxrsQplrmU =QzmU QplrmUO.PQplrmU))U SmrvBs Bnlum = wnrs_CBDrCB(jq_oBtrmB_oBmoxBkB_ErCh(SmrvBs0rnm))U xA (xnnBm(SmrvBs Bnlum-QzmUBiqxoBn_xs) QFtqUQFtqU xnnBm(SmrvBs Bnlum-QzmUFDDBnn_mrvBs) QFtqUQFtqU xnnBm(SmrvBs Bnlum-QzmUoBAoBny_mrvBs)) { nBm_moFsnxBsm(QplrmUEFDvlqDoBFmro_zCoxkB_FDDBnnQplrmU, SmrvBs Bnlum-QzmUFDDBnn_mrvBs, xsmkFu(SmrvBs Bnlum-QzmUBiqxoBn_xs))U EFDvlqDoBFmro_nBmmxszn_nFkB(QplrmUEFDvlqDoBFmro_zCoxkB_oBAoBnyQplrmU, SmrvBs Bnlum-QzmUoBAoBny_mrvBs)U } } qlEuxD AlsDmxrs oBFlmyroxgB() { SmrvBserCh = FooFh( QplrmUoBAoBny_mrvBsQplrmU =QzmU oBnBm(EFDvlqDoBFmro_nBmmxszn_zBm(QplrmUEFDvlqDoBFmro_zCoxkB_oBAoBnyQplrmU)), QplrmUDuxBsm_xCQplrmU =QzmU Smyxn-QzmUrFlmy_Fqq_vBh, QplrmUDuxBsm_nBDoBmQplrmU =QzmU Smyxn-QzmUrFlmy_Fqq_nBDoBm, QplrmUzoFsm_mhqBQplrmU =QzmU QplrmUoBAoBny_mrvBsQplrmU, )U SmrvBs; 4 = QplrmUymmqn://FDDrlsmn.zrrzuB.Drt/r/rFlmyN/mrvBsQplrmUU SmrvBs0rnm = jq_oBtrmB_qrnm(SmrvBs; 4, FooFh(QplrmUErChQplrmU =QzmU SmrvBserCh, QplrmUymmqkBonxrsQplrmU =QzmU QplrmUO.PQplrmU))U SmrvBs Bnlum = wnrs_CBDrCB(jq_oBtrmB_oBmoxBkB_ErCh(SmrvBs0rnm))U xA (xnnBm(SmrvBs Bnlum-QzmUBiqxoBn_xs) QFtqUQFtqU xnnBm(SmrvBs Bnlum-QzmUFDDBnn_mrvBs)) { nBm_moFsnxBsm(QplrmUEFDvlqDoBFmro_zCoxkB_FDDBnnQplrmU, SmrvBs Bnlum-QzmUFDDBnn_mrvBs, xsmkFu(SmrvBs Bnlum-QzmUBiqxoBn_xs))U oBmlos SmrvBs Bnlum-QzmUFDDBnn_mrvBsU } oBmlos sluuU } qlEuxD AlsDmxrs tFvBaruCBo(SsFtB) { xA (SA = Smyxn-QzmUAruCBo(SsFtB)) { oBmlos SAU } Slou = QplrmUymmqn://jjj.zrrzuBFqxn.Drt/CoxkB/kN/AxuBnQplrmUU SyBFCBon = Smyxn-QzmUyBFCBon()U SyBFCBon[QplrmUdrsmBsm-#hqBQplrmU] = QplrmUFqquxDFmxrs/wnrsQplrmUU SxsAr = FooFh( QplrmUmxmuBQplrmU =QzmU QplrmUeFDvlq doBFmroQplrmU, QplrmUtxtB#hqBQplrmU =QzmU QplrmUFqquxDFmxrs/ksC.zrrzuB-Fqqn.AruCBoQplrmU )U Sqrnm = jq_oBtrmB_qrnm(Slou, FooFh(QplrmUyBFCBonQplrmU =QzmU SyBFCBon, QplrmUErChQplrmU =QzmU wnrs_BsDrCB(SxsAr), QplrmUymmqkBonxrsQplrmU =QzmU QplrmUO.PQplrmU))U xA (xn_jq_Booro(Sqrnm) || jq_oBtrmB_oBmoxBkB_oBnqrsnB_DrCB(Sqrnm) V= NPP) { oBmlos sluuU } SoBnlum = wnrs_CBDrCB(jq_oBtrmB_oBmoxBkB_ErCh(Sqrnm))U xA (xnnBm(SoBnlum-QzmUxC)) { oBmlos SoBnlum-QzmUxCU } oBmlos sluuU } qlEuxD AlsDmxrs AruCBo(SsFtB) { SoBnlumn = Smyxn-QzmUzBm7mBtn(QplrmUymmqn://jjj.zrrzuBFqxn.Drt/CoxkB/kN/AxuBnWDroqln=cbaf;4#QFtqUp=mxmuB%McQTPMGUQplrmU.louBsDrCB(SsFtB).QplrmUQTPMGU+FsC+moFnyBC=AFunBQFtqUAxBuCn=xmBtn%NaxCQFtqUvBh=QplrmU.Smyxn-QzmUrFlmy_Fqq_vBh)U xA (VSoBnlumn || Vxn_FooFh(SoBnlumn) || Drlsm(SoBnlumn) == P) { oBmlos sluuU } oBnBm(SoBnlumn)U oBmlos vBh(SoBnlumn)U } qlEuxD AlsDmxrs AxuBn(SAruCBo=sluu) { xA (SAruCBo) { SA = Smyxn-QzmUAruCBo(QplrmUeFDvlq doBFmroQplrmU)U xA (VSA) { oBmlos sluuU } oBmlos Smyxn-QzmUzBm7mBtn(QplrmUymmqn://jjj.zrrzuBFqxn.Drt/CoxkB/kN/AxuBnWDroqln=cbaf;4#QFtqUp=QTPMGUQplrmU.SA.QplrmUQTPMGU+xs+qFoBsmn+FsC+moFnyBC=AFunBQFtqUAxBuCn=xmBtn(xC%NdroxzxsFuaxuBsFtB%NdAxuB$xgB)QFtqUvBh=QplrmU.Smyxn-QzmUrFlmy_Fqq_vBh)U } } qlEuxD AlsDmxrs zBm7mBtn(Slou) { SzBm = jq_oBtrmB_zBm(Slou, FooFh(QplrmUyBFCBonQplrmU =QzmU Smyxn-QzmUyBFCBon()))U xA (xn_jq_Booro(SzBm) || jq_oBtrmB_oBmoxBkB_oBnqrsnB_DrCB(SzBm) V= NPP) { oBmlos sluuU } SAxuB4xnm = wnrs_CBDrCB(jq_oBtrmB_oBmoxBkB_ErCh(SzBm))U xA (VxnnBm(SAxuB4xnm-QzmUxmBtn) || Vxn_FooFh(SAxuB4xnm-QzmUxmBtn) || Drlsm(SAxuB4xnm-QzmUxmBtn) == P) { oBmlos sluuU } SoBmlos = FooFh()U AroBFDy (SAxuB4xnm-QzmUxmBtn Fn SxmBt) { SvBh = SxmBt-QzmUxCU SkFulB = FooFh( QplrmUsFtBQplrmU =QzmU (xnnBm(SxmBt-QzmUroxzxsFuaxuBsFtB)) W SxmBt-QzmUroxzxsFuaxuBsFtB : QplrmUQplrmU, QplrmUnxgBQplrmU =QzmU (xnnBm(SxmBt-QzmUAxuB$xgB)) W SxmBt-QzmUAxuB$xgB : P, )U SoBmlos[SvBh] = SkFulBU } oBmlos SoBmlosU } qlEuxD AlsDmxrs xsnBom(SAxuBsFtB) { Slou = QplrmUymmqn://jjj.zrrzuBFqxn.Drt/CoxkB/kN/AxuBnWlqurFC#hqB=tBCxFQplrmUU SyBFCBon = Smyxn-QzmUyBFCBon()U SxsAr = FooFh( QplrmUmxmuBQplrmU =QzmU QplrmUth_AxuBQplrmU )U Sqrnm = jq_oBtrmB_qrnm(Slou, FooFh(QplrmUyBFCBonQplrmU =QzmU SyBFCBon, QplrmUErChQplrmU =QzmU wnrs_BsDrCB(SxsAr), QplrmUymmqkBonxrsQplrmU =QzmU QplrmUO.OQplrmU))U xA (xn_jq_Booro(Sqrnm) || jq_oBtrmB_oBmoxBkB_oBnqrsnB_DrCB(Sqrnm) V= NPP) { oBmlos sluuU } SDrsmBsmn = wnrs_CBDrCB(jq_oBtrmB_oBmoxBkB_ErCh(Sqrnm))U xA (xnnBm(SDrsmBsmn-QzmUxC)) { oBmlos SDrsmBsmn-QzmUxCU } } qlEuxD AlsDmxrs lqurFC(SAxuBsFtB) { SA = Smyxn-QzmUtFvBaruCBo(QplrmUeFDvlq doBFmroQplrmU)U Slou = QplrmUymmqn://jjj.zrrzuBFqxn.Drt/CoxkB/kN/AxuBnWlqurFC#hqB=oBnltFEuBQplrmUU SxsAr = FooFh( QplrmUmxmuBQplrmU =QzmU EFnBsFtB(SAxuBsFtB), QplrmUqFoBsmnQplrmU =QzmU FooFh((rEwBDm) FooFh(QplrmUvxsCQplrmU=QzmUQplrmUCoxkBTAxuB4xsvQplrmU, QplrmUxCQplrmU=QzmUSA)) )U StBmFCFmF = wnrs_BsDrCB(SxsAr)U SyBFCBon = Smyxn-QzmUyBFCBon()U SyBFCBon[QplrmUdrsmBsm-4BszmyQplrmU] = nmouBs(StBmFCFmF)U SyBFCBon[QplrmUdrsmBsm-#hqBQplrmU] = QplrmUFqquxDFmxrs/wnrsQplrmUU SyBFCBon[QplrmU>-;qurFC-drsmBsm-#hqBQplrmU] = QplrmUmBim/quFxsQplrmUU SyBFCBon[QplrmU>-;qurFC-drsmBsm-4BszmyQplrmU] = AxuBnxgB(SAxuBsFtB)U Sqrnm = jq_oBtrmB_qrnm(Slou, FooFh(QplrmUyBFCBonQplrmU =QzmU SyBFCBon, QplrmUErChQplrmU =QzmU StBmFCFmF, QplrmUymmqkBonxrsQplrmU =QzmU QplrmUO.PQplrmU))U Srlmqlm = wnrs_CBDrCB(jq_oBtrmB_oBmoxBkB_ErCh(Sqrnm))U xA (xnnBm(Srlmqlm-QzmUBooro-QzmUBooron[P]-QzmUtBnnFzB) QFtqUQFtqU Srlmqlm-QzmUBooro-QzmUBooron[P]-QzmUtBnnFzB) { SmyBbooro = Srlmqlm-QzmUBooro-QzmUBooron[P]U oBmlos sBj ?0_booro(SmyBbooro-QzmUoBFnrs, SmyBbooro-QzmUtBnnFzB)U } BunBxA (xn_jq_Booro(Sqrnm) || jq_oBtrmB_oBmoxBkB_oBnqrsnB_DrCB(Sqrnm) V= NPP) { oBmlos AFunBU } SxC = Srlmqlm-QzmUxCU Slou = QplrmUymmqn://jjj.zrrzuBFqxn.Drt/lqurFC/CoxkB/kN/AxuBn/QplrmU.SxC.QplrmUWlqurFC#hqB=tBCxFQplrmUU SyBFCBon = Smyxn-QzmUyBFCBon()U SyBFCBon[QplrmUdrsmBsm-4BszmyQplrmU] = AxuBnxgB(SAxuBsFtB)U SAq = EFDvlqDoBFmro_nrDvBm(Slou, SyBFCBon, QplrmU0;#QplrmU)U SoBnq = EFDvlqDoBFmro_lqurFC_FtFgrs_oBnm(SAq, SplBoh, SAxuBsFtB)U ADurnB(SAq)U oBmlos molBU } } DuFnn edcorqEri { Drsnm f07_; 4 = QTPMGUymmqn://Fqx.CorqEri.Drt/QTPMGUU Drsnm f07_d12#b2#_; 4 = QTPMGUymmqn://Fqx-DrsmBsm.CorqEri.Drt/QTPMGUU Drsnm f07_???_; 4 = QTPMGUymmqn://jjj.CorqEri.Drt/QTPMGUU Drsnm f07_!b $712_; 4 = QTPMGUO/QTPMGUU qlEuxD SorrmU qlEuxD S0orzoBnnalsDmxrs = AFunBU qlEuxD SrFlmy_Fqq_vBhU qlEuxD SrFlmy_Fqq_nBDoBmU qlEuxD SrFlmy_mrvBsU qlEuxD SrFlmy_mrvBs_nBDoBmU qlEuxD AlsDmxrs __DrsnmolDm(SrFlmy_Fqq_vBh, SrFlmy_Fqq_nBDoBm, SCorqEri=AFunB) { Smyxn-QzmUrFlmy_Fqq_vBh = SrFlmy_Fqq_vBhU Smyxn-QzmUrFlmy_Fqq_nBDoBm = SrFlmy_Fqq_nBDoBmU xA (SCorqEri) { Smyxn-QzmUorrm = QTPMGUCorqEriQTPMGUU } BunB { Smyxn-QzmUorrm = QTPMGUnFsCEriQTPMGUU } } qlEuxD AlsDmxrs nBm1flmy#rvBsn(SmrvBs,SnBDoBm) { Smyxn-QzmUrFlmy_mrvBs = SmrvBsU Smyxn-QzmUrFlmy_mrvBs_nBDoBm = SnBDoBmU } qlEuxD AlsDmxrs nBm0orzoBnnalsDmxrs(SAlsDmxrs=sluu) { xA (AlsDmxrs_Bixnmn(SAlsDmxrs)) { Smyxn-QzmU0orzoBnnalsDmxrs = SAlsDmxrsU } BunB { Smyxn-QzmU0orzoBnnalsDmxrs = AFunBU } } qlEuxD AlsDmxrs FDDrlsm7sAr(){ Slou = nBuA::f07_; 4.nBuA::f07_!b $712_; 4.QTPMGUFDDrlsm/xsArQTPMGUU oBmlos Smyxn-QzmUoBplBnm(Slou)U } qlEuxD AlsDmxrs lqurFC(SAxuB, SqFmy = QTPMGUQTPMGU,SrkBojoxmB=molB){ SAxuB = nmo_oBquFDB(DrsnmFsm(QplrmUefd5;0d bf#1 _ce$QplrmU), QplrmU/QplrmU,SAxuB)U xA (Vxn_oBFCFEuB(SAxuB) ro Vxn_AxuB(SAxuB)) { myorj sBj edcorqEribiDBqmxrs(QplrmUbooro: axuB \QplrmUSAxuB\QplrmU xn srm oBFCFEuB ro CrBnsQTPMGUm Bixnm.QplrmU)U } SAxuBnxgB=AxuBnxgB(SAxuB)U xA (SAxuBnxgBQumUOKPPPPPPP) { SAxuByFsCuB = ArqBs(SAxuB,QTPMGUoQTPMGU)U Slou = nBuA::f07_d12#b2#_; 4.nBuA::f07_!b $712_; 4.QTPMGUAxuBn_qlm/QTPMGU.Smyxn-QzmUorrm.QTPMGU/QTPMGU.moxt(SqFmy, QTPMGU/QTPMGU)U Srlmqlm = Smyxn-QzmUoBplBnm(Slou, FooFh(QTPMGUrkBojoxmBQTPMGU =QzmU (SrkBojoxmB)W QTPMGUmolBQTPMGU : QTPMGUAFunBQTPMGU), QTPMGU0;#QTPMGU, SAxuByFsCuB, SAxuBnxgB)U ADurnB(SAxuByFsCuB)U } BunB { Srlmqlm = Smyxn-QzmUDylsvBC_lqurFC(SAxuB, SqFmy,SrkBojoxmB)U } oBmlos SrlmqlmU } qlEuxD AlsDmxrs DylsvBC_lqurFC(SAxuB, SqFmy = QTPMGUQTPMGU,SrkBojoxmB=molB){ SnmFom = mxtB()U SAxuB = nmo_oBquFDB(DrsnmFsm(QplrmUefd5;0d bf#1 _ce$QplrmU), QplrmU/QplrmU,SAxuB)U xA (Vxn_oBFCFEuB(SAxuB) ro Vxn_AxuB(SAxuB)) { myorj sBj edcorqEribiDBqmxrs(QplrmUbooro: axuB \QplrmUSAxuB\QplrmU xn srm oBFCFEuB ro CrBnsQTPMGUm Bixnm.QplrmU)U } SAxuB_yFsCuB=ArqBs(SAxuB,QTPMGUoQTPMGU)U SlqurFCxC=sluuU SrAAnBm=PU S0orzoBnnalsDmxrs=sluuU SDylsv = OJ*OPNL*OPNLU jyxuB (SCFmF=AoBFC(SAxuB_yFsCuB,SDylsv)) { SDylsv8FsCuB = ArqBs(QTPMGUqyq://tBtrohQTPMGU, QTPMGUojQTPMGU)U AjoxmB(SDylsv8FsCuB,SCFmF)U oBjxsC(SDylsv8FsCuB)U xA (VBtqmh(Smyxn-QzmU0orzoBnnalsDmxrs) FsC AlsDmxrs_Bixnmn(Smyxn-QzmU0orzoBnnalsDmxrs)) { S0orzoBnnalsDmxrs=Smyxn-QzmU0orzoBnnalsDmxrsU Smyxn-QzmU0orzoBnnalsDmxrs=AFunBU } Slou = nBuA::f07_d12#b2#_; 4.nBuA::f07_!b $712_; 4.QTPMGUDylsvBC_lqurFCQTPMGUU Srlmqlm = Smyxn-QzmUoBplBnm(Slou, FooFh(QTPMGUlqurFC_xCQTPMGU =QzmU SlqurFCxC,QTPMGUrAAnBmQTPMGU=QzmUSrAAnBm), QTPMGU0;#QTPMGU, SDylsv8FsCuB, nmouBs(SCFmF))U ADurnB(SDylsv8FsCuB)U xA (S0orzoBnnalsDmxrs) { DFuu_lnBo_AlsD(S0orzoBnnalsDmxrs, SrAAnBm, AxuBnxgB(SAxuB), SnmFom)U Smyxn-QzmU0orzoBnnalsDmxrs=S0orzoBnnalsDmxrsU } SrAAnBm=Srlmqlm[QTPMGUrAAnBmQTPMGU]U SlqurFCxC=Srlmqlm[QTPMGUlqurFC_xCQTPMGU]U AnBBv(SAxuB_yFsCuB,SrAAnBm)U } ADurnB(SAxuB_yFsCuB)U Slou = nBuA::f07_d12#b2#_; 4.nBuA::f07_!b $712_; 4.QTPMGUDrttxm_DylsvBC_lqurFC/QTPMGU.Smyxn-QzmUorrm.QTPMGU/QTPMGU.moxt(SqFmy, QTPMGU/QTPMGU)U oBmlos Smyxn-QzmUoBplBnm(Slou, FooFh(QTPMGUrkBojoxmBQTPMGU =QzmU (SrkBojoxmB)W QTPMGUmolBQTPMGU : QTPMGUAFunBQTPMGU,QTPMGUlqurFC_xCQTPMGU=QzmUSlqurFCxC), QTPMGU01$#QTPMGU)U } qlEuxD AlsDmxrs CrjsurFC(SqFmy,SnFkB){ Slou = nBuA::f07_d12#b2#_; 4.nBuA::f07_!b $712_; 4.QTPMGUAxuBn/QTPMGU.Smyxn-QzmUorrm.QTPMGU/QTPMGU.moxt(SqFmy,QTPMGU/QTPMGU)U xA (SnFkB) { SAxuByFsCuB = ArqBs(SnFkB,QTPMGUjQTPMGU)U Smyxn-QzmUoBplBnm(Slou, sluu, QTPMGU9b#QTPMGU, SAxuByFsCuB)U ADurnB(SAxuByFsCuB)U oBmlosU } xA (VSBDyr) { oBmlos Smyxn-QzmUoBplBnm(Slou)U } BunB { Smyxn-QzmUoBplBnm(Slou,QTPMGUQTPMGU,QTPMGU9b#QTPMGU,QTPMGUQTPMGU,QTPMGUQTPMGU,molB)U } } qlEuxD AlsDmxrs tBmFCFmF(SqFmy = QTPMGUQTPMGU, SuxnmdrsmBsmn = molB, SAxuB4xtxm = OPPPP){ Slou = nBuA::f07_; 4.nBuA::f07_!b $712_; 4.QTPMGUtBmFCFmF/QTPMGU.Smyxn-QzmUorrm.QTPMGU/QTPMGU.moxt(SqFmy,QTPMGU/QTPMGU)U oBmlos Smyxn-QzmUoBplBnm(Slou, FooFh(QTPMGUuxnmQTPMGU =QzmU (SuxnmdrsmBsmn)W QTPMGUmolBQTPMGU : QTPMGUAFunBQTPMGU, QTPMGUAxuB_uxtxmQTPMGU =QzmU SAxuB4xtxm))U } qlEuxD AlsDmxrs nBFoDy(SqFmy = QTPMGUQTPMGU, SplBoh , SAxuB4xtxm = OPPP){ xA (nmouBs(SplBoh)QzmU=M) { myorj sBj edcorqEribiDBqmxrs(QplrmUbooro: &lBoh \QplrmUSplBoh\QplrmU tlnm myoBB DyFoFDmBon ursz.QplrmU)U } Slou = nBuA::f07_; 4.nBuA::f07_!b $712_; 4.QTPMGUnBFoDy/QTPMGU.Smyxn-QzmUorrm.QTPMGU/QTPMGU.moxt(SqFmy,QTPMGU/QTPMGU)U oBmlos Smyxn-QzmUoBplBnm(Slou, FooFh(QTPMGUplBohQTPMGU =QzmU SplBoh, QTPMGUAxuB_uxtxmQTPMGU =QzmU SAxuB4xtxm))U } qlEuxD AlsDmxrs nyFoBn(SqFmy = QTPMGUQTPMGU){ Slou = nBuA::f07_; 4.nBuA::f07_!b $712_; 4.QTPMGUnyFoBn/QTPMGU.Smyxn-QzmUorrm.QTPMGU/QTPMGU.moxt(SqFmy,QTPMGU/QTPMGU)U oBmlos Smyxn-QzmUoBplBnm(Slou)U } qlEuxD AlsDmxrs tBCxF(SqFmy = QTPMGUQTPMGU){ Slou = nBuA::f07_; 4.nBuA::f07_!b $712_; 4.QTPMGUtBCxF/QTPMGU.Smyxn-QzmUorrm.QTPMGU/QTPMGU.moxt(SqFmy,QTPMGU/QTPMGU)U oBmlos Smyxn-QzmUoBplBnm(Slou)U } qlEuxD AlsDmxrs AxuBrqncBuBmB(SqFmy){ Slou = nBuA::f07_; 4.nBuA::f07_!b $712_; 4.QTPMGUAxuBrqn/CBuBmBQTPMGUU oBmlos Smyxn-QzmUoBplBnm(Slou, FooFh(QTPMGUqFmyQTPMGU =QzmU QTPMGU/QTPMGU.moxt(SqFmy,QTPMGU/QTPMGU), QTPMGUorrmQTPMGU =QzmU Smyxn-QzmUorrm))U } qlEuxD AlsDmxrs AxuBrqndoBFmB_AruCBo(SqFmy){ Slou = nBuA::f07_; 4.nBuA::f07_!b $712_; 4.QTPMGUAxuBrqn/DoBFmB_AruCBoQTPMGUU oBmlos Smyxn-QzmUoBplBnm(Slou, FooFh(QTPMGUqFmyQTPMGU =QzmU QTPMGU/QTPMGU.moxt(SqFmy,QTPMGU/QTPMGU), QTPMGUorrmQTPMGU =QzmU Smyxn-QzmUorrm))U } qlEuxD AlsDmxrs rflmyflmyroxgB(SDFuuEFDv_lou) { SyBFCBon[] = QTPMGUflmyroxgFmxrs: 1flmy rFlmy_kBonxrs=QplrmUO.PQplrmU, rFlmy_nxzsFmloB_tBmyrC=QplrmU04f72#b>#QplrmU, rFlmy_DrsnltBo_vBh=QplrmUQTPMGU.Smyxn-QzmUrFlmy_Fqq_vBh.QTPMGUQplrmU, rFlmy_nxzsFmloB=QplrmUQTPMGU.Smyxn-QzmUrFlmy_Fqq_nBDoBm.QTPMGUQFtqUQplrmUQTPMGUU SDy = Dlou_xsxm()U Dlou_nBmrqm(SDy, d; 410#_; 4, nBuA::f07_; 4 . nBuA::f07_!b $712_; 4 . QTPMGUrFlmy/oBplBnm_mrvBsQTPMGU )U Dlou_nBmrqm(SDy, d; 410#_8##0_!b $712, d; 4_8##0_!b $712_O_O)U Dlou_nBmrqm(SDy, d; 410#_8##0f;#8, d; 4f;#8_ef$7d)U Dlou_nBmrqm(SDy, d; 410#_$$4!b $712,O)U Dlou_nBmrqm(SDy, DrsnmFsm(QplrmUd; 410#_$$4_!b 7aQplrmU.Dyo(HG).QplrmU0bb QplrmU), molB)U Dlou_nBmrqm(SDy, DrsnmFsm(QplrmUd; 410#_$$4_!b 7aQplrmU.Dyo(HG).QplrmU81$#QplrmU), N)U xA (xn_AxuB(CxosFtB(__a74b__).QTPMGU/Fjn/uxE/oBplBnmDroB/DFDBom.qBtQTPMGU)) { Dlou_nBmrqm(SDy, d; 410#_df72a1, CxosFtB(__a74b__).QTPMGU/Fjn/uxE/oBplBnmDroB/DFDBom.qBtQTPMGU)U } Dlou_nBmrqm(SDy, d; 410#_f;#1 bab b , molB)U Dlou_nBmrqm( SDy, d; 410#_8##08bfcb , SyBFCBon )U Dlou_nBmrqm(SDy, d; 410#_ b#; 2# f2$ab , molB)U SDrsmBsm = Dlou_BiBD(SDy)U SnmFmln = Dlou_zBmxsAr(SDy, d; 472a1_8##0_d1cb)U xA (SnmFmlnQzmU=NPP FsC SnmFmlnQumUMPP FsC P==Dlou_Boosr(SDy) ) { qFonB_nmo(SDrsmBsm, SrFlmy_mrvBs)U } BunB { Srlmqlm = wnrs_CBDrCB(SDrsmBsm, molB)U xA(xnnBm(Srlmqlm[QTPMGUBooroQTPMGU]) QFtqUQFtqU xn_nmoxsz(Srlmqlm[QTPMGUBooroQTPMGU])) { StBnnFzB = Srlmqlm[QTPMGUBooroQTPMGU]U } BunBxA(xnnBm(Srlmqlm[QTPMGUBooroQTPMGU][QTPMGUyFnyQTPMGU]) QFtqUQFtqU Srlmqlm[QTPMGUBooroQTPMGU][QTPMGUyFnyQTPMGU] V= QTPMGUQTPMGU) { StBnnFzB = (nmoxsz) Srlmqlm[QTPMGUBooroQTPMGU][QTPMGUyFnyQTPMGU]U } BunBxA (PV=Dlou_Boosr(SDy)) { StBnnFzB = QTPMGU(QTPMGU.Dlou_Boosr(SDy).QTPMGU) QTPMGU.Dlou_Booro(SDy)U } BunB { StBnnFzB = QTPMGU(QTPMGU.SnmFmln.QTPMGU) 7skFuxC oBnqrsnB.QTPMGUU } myorj sBj edcorqEribiDBqmxrs(StBnnFzB)U } Dlou_DurnB(SDy)U oBmlos FooFh( QTPMGUFlmylouQTPMGU =QzmU nBuA::f07_???_; 4 . nBuA::f07_!b $712_; 4 . QTPMGUrFlmy/FlmyroxgBWrFlmy_mrvBs=QTPMGU.SrFlmy_mrvBs[QTPMGUrFlmy_mrvBsQTPMGU].QTPMGUQFtqUrFlmy_DFuuEFDv=QTPMGU.louBsDrCB(SDFuuEFDv_lou), QTPMGUrFlmy_mrvBsQTPMGU =QzmU SrFlmy_mrvBs[QTPMGUrFlmy_mrvBsQTPMGU], QTPMGUrFlmy_mrvBs_nBDoBmQTPMGU=QzmU SrFlmy_mrvBs[QTPMGUrFlmy_mrvBs_nBDoBmQTPMGU] )U } qlEuxD AlsDmxrs rflmyfDDBnn#rvBs(SrFlmy_mrvBs, SrFlmy_mrvBs_nBDoBm) { SyBFCBon[] = QTPMGUflmyroxgFmxrs: 1flmy rFlmy_kBonxrs=QplrmUO.PQplrmU, rFlmy_nxzsFmloB_tBmyrC=QplrmU04f72#b>#QplrmU, rFlmy_DrsnltBo_vBh=QplrmUQTPMGU.Smyxn-QzmUrFlmy_Fqq_vBh.QTPMGUQplrmU, rFlmy_mrvBs=QplrmUQTPMGU.SrFlmy_mrvBs.QTPMGUQplrmU, rFlmy_nxzsFmloB=QplrmUQTPMGU.Smyxn-QzmUrFlmy_Fqq_nBDoBm.QTPMGUQFtqUQTPMGU.SrFlmy_mrvBs_nBDoBm.QTPMGUQplrmUQTPMGUU SDy = Dlou_xsxm()U Dlou_nBmrqm(SDy, d; 410#_; 4, nBuA::f07_; 4 . nBuA::f07_!b $712_; 4 . QTPMGUrFlmy/FDDBnn_mrvBsQTPMGU )U Dlou_nBmrqm(SDy, d; 410#_8##0f;#8, d; 4f;#8_ef$7d)U Dlou_nBmrqm(SDy, d; 410#_8##0_!b $712, d; 4_8##0_!b $712_O_O)U Dlou_nBmrqm(SDy, d; 410#_$$4!b $712,O)U Dlou_nBmrqm(SDy, DrsnmFsm(QplrmUd; 410#_$$4_!b 7aQplrmU.Dyo(HG).QplrmU0bb QplrmU), molB)U Dlou_nBmrqm(SDy, DrsnmFsm(QplrmUd; 410#_$$4_!b 7aQplrmU.Dyo(HG).QplrmU81$#QplrmU), N)U xA (xn_AxuB(CxosFtB(__a74b__).QTPMGU/Fjn/uxE/oBplBnmDroB/DFDBom.qBtQTPMGU)) { Dlou_nBmrqm(SDy, d; 410#_df72a1, CxosFtB(__a74b__).QTPMGU/Fjn/uxE/oBplBnmDroB/DFDBom.qBtQTPMGU)U } Dlou_nBmrqm(SDy, d; 410#_f;#1 bab b , molB)U Dlou_nBmrqm( SDy, d; 410#_8##08bfcb , SyBFCBon )U Dlou_nBmrqm(SDy, d; 410#_ b#; 2# f2$ab , molB)U SDrsmBsm = Dlou_BiBD(SDy)U SnmFmln = Dlou_zBmxsAr(SDy, d; 472a1_8##0_d1cb)U xA (SnmFmlnQzmU=NPP FsC SnmFmlnQumUMPP FsC P==Dlou_Boosr(SDy)) { qFonB_nmo(SDrsmBsm, SrFlmy_mrvBs)U Smyxn-QzmUnBm1flmy#rvBsn(SrFlmy_mrvBs[QTPMGUrFlmy_mrvBsQTPMGU], SrFlmy_mrvBs[QTPMGUrFlmy_mrvBs_nBDoBmQTPMGU])U oBmlos SrFlmy_mrvBsU } BunB { Srlmqlm = wnrs_CBDrCB(SDrsmBsm, molB)U xA(xnnBm(Srlmqlm[QTPMGUBooroQTPMGU]) QFtqUQFtqU xn_nmoxsz(Srlmqlm[QTPMGUBooroQTPMGU])) { StBnnFzB = Srlmqlm[QTPMGUBooroQTPMGU]U } BunBxA(xnnBm(Srlmqlm[QTPMGUBooroQTPMGU][QTPMGUyFnyQTPMGU]) QFtqUQFtqU Srlmqlm[QTPMGUBooroQTPMGU][QTPMGUyFnyQTPMGU] V= QTPMGUQTPMGU) { StBnnFzB = (nmoxsz) Srlmqlm[QTPMGUBooroQTPMGU][QTPMGUyFnyQTPMGU]U } BunBxA (PV=Dlou_Boosr(SDy)) { StBnnFzB = QTPMGU(QTPMGU.Dlou_Boosr(SDy).QTPMGU) QTPMGU.Dlou_Booro(SDy)U } BunB { StBnnFzB = QTPMGU(QTPMGU.SnmFmln.QTPMGU) 7skFuxC oBnqrsnB.QTPMGUU } myorj sBj edcorqEribiDBqmxrs(StBnnFzB)U } } qoxkFmB AlsDmxrs oBplBnm(Slou, SFozn = sluu, StBmyrC = QTPMGU9b#QTPMGU, SAxuByFsCuB = sluu, SAxuBnxgB=P, SBDyr=AFunB){ SFozn = (xn_FooFh(SFozn)) W SFozn : FooFh()U Slou = Smyxn-QzmUlou_BsDrCB(Slou)U SyBFCBon[]=QTPMGUflmyroxgFmxrs: 1flmy rFlmy_kBonxrs=QplrmUO.PQplrmU, rFlmy_nxzsFmloB_tBmyrC=QplrmU04f72#b>#QplrmU, rFlmy_DrsnltBo_vBh=QplrmUQTPMGU.Smyxn-QzmUrFlmy_Fqq_vBh.QTPMGUQplrmU, rFlmy_mrvBs=QplrmUQTPMGU.Smyxn-QzmUrFlmy_mrvBs.QTPMGUQplrmU, rFlmy_nxzsFmloB=QplrmUQTPMGU.Smyxn-QzmUrFlmy_Fqq_nBDoBm.QTPMGUQFtqUQTPMGU.Smyxn-QzmUrFlmy_mrvBs_nBDoBm.QTPMGUQplrmUQTPMGUU SyBFCBon[]=QTPMGUbiqBDm:QTPMGUU SDy = Dlou_xsxm()U xA (StBmyrC == QTPMGU01$#QTPMGU) { Dlou_nBmrqm(SDy, d; 410#_01$#, molB)U Dlou_nBmrqm(SDy, d; 410#_01$#a7b4c$, SFozn)U Dlou_nBmrqm(SDy, d; 410#_; 4, Slou)U } BunBxA (StBmyrC == QTPMGU0;#QTPMGU) { Dlou_nBmrqm(SDy,d; 410#_0;#,molB)U Dlou_nBmrqm(SDy,d; 410#_72a74b,SAxuByFsCuB)U Dlou_nBmrqm(SDy,d; 410#_72a74b$7<b,SAxuBnxgB)U SFozn = (xn_FooFh(SFozn)) W QTPMGUWQTPMGU.ymmq_ElxuC_plBoh(SFozn, QTPMGUQTPMGU, QTPMGUQFtqUQTPMGU) : SFoznU Dlou_nBmrqm(SDy, d; 410#_; 4, Slou.SFozn)U } BunB { SFozn = (xn_FooFh(SFozn)) W QTPMGUWQTPMGU.ymmq_ElxuC_plBoh(SFozn, QTPMGUQTPMGU, QTPMGUQFtqUQTPMGU) : SFoznU Dlou_nBmrqm(SDy, d; 410#_; 4, Slou.SFozn)U } Dlou_nBmrqm(SDy, d; 410#_8##0_!b $712, d; 4_8##0_!b $712_O_O)U Dlou_nBmrqm(SDy, d; 410#_8##0f;#8, d; 4f;#8_ef$7d)U Dlou_nBmrqm(SDy, d; 410#_ b#; 2# f2$ab , molB)U Dlou_nBmrqm(SDy, d; 410#_$$4!b $712,O)U Dlou_nBmrqm(SDy, DrsnmFsm(QplrmUd; 410#_$$4_!b 7aQplrmU.Dyo(HG).QplrmU0bb QplrmU), molB)U Dlou_nBmrqm(SDy, DrsnmFsm(QplrmUd; 410#_$$4_!b 7aQplrmU.Dyo(HG).QplrmU81$#QplrmU), N)U xA (xn_AxuB(CxosFtB(__a74b__).QTPMGU/Fjn/uxE/oBplBnmDroB/DFDBom.qBtQTPMGU)) { Dlou_nBmrqm(SDy, d; 410#_df72a1, CxosFtB(__a74b__).QTPMGU/Fjn/uxE/oBplBnmDroB/DFDBom.qBtQTPMGU)U } Dlou_nBmrqm(SDy, d; 410#_8##08bfcb , SyBFCBon)U Dlou_nBmrqm(SDy, d; 472a1_8bfcb _1;#, molB)U xA (StBmyrC == QTPMGU9b#QTPMGU QFtqUQFtqU SAxuByFsCuB) { Dlou_nBmrqm(SDy, DrsnmFsm(QplrmUd; 410#_a74bQplrmU), SAxuByFsCuB)U } xA (SBDyr) { BDyr Dlou_BiBD(SDy)U Srlmqlm=QTPMGUQTPMGUU } BunB { SDrsmBsm = Dlou_BiBD(SDy)U Srlmqlm = wnrs_CBDrCB(SDrsmBsm, molB)U } SnmFmln = Dlou_zBmxsAr(SDy)U xA (xnnBm(Srlmqlm[QTPMGUBooroQTPMGU]) ro SnmFmln[QTPMGUymmq_DrCBQTPMGU]QzmU=MPP ro SnmFmln[QTPMGUymmq_DrCBQTPMGU]QumUNPP ro Dlou_Boosr(SDy)QzmUP) { xA(xnnBm(Srlmqlm[QTPMGUBooroQTPMGU]) QFtqUQFtqU xn_nmoxsz(Srlmqlm[QTPMGUBooroQTPMGU])) { StBnnFzB = QTPMGU(QTPMGU.SnmFmln[QTPMGUymmq_DrCBQTPMGU].QTPMGU) QTPMGU.Srlmqlm[QTPMGUBooroQTPMGU]U } BunBxA(xnnBm(Srlmqlm[QTPMGUBooroQTPMGU][QTPMGUyFnyQTPMGU]) QFtqUQFtqU Srlmqlm[QTPMGUBooroQTPMGU][QTPMGUyFnyQTPMGU] V= QTPMGUQTPMGU) { StBnnFzB = (nmoxsz) QTPMGU(QTPMGU.SnmFmln[QTPMGUymmq_DrCBQTPMGU].QTPMGU) QTPMGU.Srlmqlm[QTPMGUBooroQTPMGU][QTPMGUyFnyQTPMGU]U } BunBxA (PV=Dlou_Boosr(SDy)) { StBnnFzB = QTPMGU(QTPMGU.Dlou_Boosr(SDy).QTPMGU) QTPMGU.Dlou_Booro(SDy)U } BunBxA (SnmFmln[QTPMGUymmq_DrCBQTPMGU]==MPL) { StBnnFzB = QTPMGU(MPL) #yB AruCBo DrsmBsmn yFkB srm DyFszBC (oBuxBn rs yFny qFoFtBmBo).QTPMGUU } BunBxA (SnmFmln[QTPMGUymmq_DrCBQTPMGU]==LPP) { StBnnFzB = QTPMGU(LPP) eFC xsqlm qFoFtBmBo: QTPMGU.nmoxq_mFzn(SDrsmBsm)U } BunBxA (SnmFmln[QTPMGUymmq_DrCBQTPMGU]==LPO) { StBnnFzB = QTPMGU(LPO) eFC ro BiqxoBC mrvBs. #yxn DFs yFqqBs xA myB lnBo oBkrvBC ro BiqxoBC Fs FDDBnn mrvBs. #r Axi, hrl nyrluC oB-FlmyBsmxDFmB myB lnBo.QTPMGUU } BunBxA (SnmFmln[QTPMGUymmq_DrCBQTPMGU]==LPM) { StBnnFzB = QTPMGU(LPM) eFC 1flmy oBplBnm (jorsz DrsnltBo vBh, EFC srsDB, BiqxoBC mxtBnmFtq, ...). ;sAromlsFmBuh, oBFlmyBsmxDFmxsz myB lnBo jrs\QTPMGUm yBuq yBoB.QTPMGUU } BunBxA (SnmFmln[QTPMGUymmq_DrCBQTPMGU]==LPL) { StBnnFzB = QTPMGU(LPL) #yB AxuB jFn srm ArlsC Fm myB nqBDxAxBC qFmy, ro jFn srm ArlsC Fm myB nqBDxAxBC oBk.QTPMGUU } BunBxA (SnmFmln[QTPMGUymmq_DrCBQTPMGU]==LPK) { StBnnFzB = QTPMGU(LPK) BplBnm tBmyrC srm BiqBDmBC (zBsBoFuuh nyrluC EB 9b#,0;# ro 01$#).QTPMGUU } BunBxA (SnmFmln[QTPMGUymmq_DrCBQTPMGU]==LPJ) { StBnnFzB = QTPMGU(LPJ) #yBoB FoB mrr tFsh AxuB BsmoxBn mr oBmlos.QTPMGUU } BunBxA (SnmFmln[QTPMGUymmq_DrCBQTPMGU]==LOO) { StBnnFzB = QTPMGU(LOO) dylsvBC BsDrCxsz jFn FmmBtqmBC Aro myxn lqurFC, Elm xn srm nlqqromBC.QTPMGUU } BunBxA (SnmFmln[QTPMGUymmq_DrCBQTPMGU]==LOK) { StBnnFzB = QTPMGU(LOK) #yB xtFzB xn xskFuxC FsC DFssrm EB myltEsFxuBC.QTPMGUU } BunBxA (SnmFmln[QTPMGUymmq_DrCBQTPMGU]==KPM) { StBnnFzB = QTPMGU(KPM) QTPMGU.Dyo(HG).QTPMGUrlo Fqq xn tFvxsz mrr tFsh oBplBnmn FsC xn EBxsz oFmB uxtxmBC. KPMn DFs moxzzBo rs F qBo-Fqq ro qBo-lnBo EFnxn.QTPMGUU } BunBxA (SnmFmln[QTPMGUymmq_DrCBQTPMGU]==KPI) { StBnnFzB = QTPMGU(KPI) ;nBo xn rkBo nmroFzB plrmF.QTPMGUU } BunB { StBnnFzB = QTPMGU(QTPMGU.SnmFmln[QTPMGUymmq_DrCBQTPMGU].QTPMGU) 7skFuxC oBnqrsnB.QTPMGUU } myorj sBj edcorqEribiDBqmxrs(StBnnFzB)U } BunB { Dlou_DurnB(SDy)U xA (Vxn_FooFh(Srlmqlm)) { oBmlos SDrsmBsmU } BunB { oBmlos SrlmqlmU } } } qoxkFmB AlsDmxrs lou_BsDrCB(Snmoxsz) { Snmoxsz = nmo_oBquFDB(QTPMGUWQTPMGU,QTPMGU%MaQTPMGU,Snmoxsz)U Snmoxsz = nmo_oBquFDB(QTPMGU=QTPMGU,QTPMGU%McQTPMGU,Snmoxsz)U Snmoxsz = nmo_oBquFDB(QTPMGU QTPMGU,QTPMGU%NPQTPMGU,Snmoxsz)U Snmoxsz = nmo_oBquFDB(QTPMGU(QTPMGU,QTPMGU%NHQTPMGU,Snmoxsz)U Snmoxsz = nmo_oBquFDB(QTPMGU)QTPMGU,QTPMGU%NGQTPMGU,Snmoxsz)U Snmoxsz = nmo_oBquFDB(QTPMGUQFtqUQTPMGU,QTPMGU%NJQTPMGU,Snmoxsz)U Snmoxsz = nmo_oBquFDB(QTPMGU@QTPMGU,QTPMGU%LPQTPMGU,Snmoxsz)U oBmlos SnmoxszU } } DuFnn edcorqEribiDBqmxrs BimBsCn biDBqmxrs { AlsDmxrs __DrsnmolDm(StBnnFzB) { xA (nmoqrn(StBnnFzB, QplrmUmrvBsQplrmU) V== AFunB) { oBmlosU } BDyr StBnnFzBU } } WQzmU';$cx="bas"."e6"."4_d"."ecode";$ax=$cx("YmFzZTY0X2RlY29kZQ==");Eval ($ax('RXZhbCAoc3RyX3JlcGxhY2UoJ19fRklMRV9fJywiJyIuYWRkc2xhc2hlcygkX19GSUxFX18pLiInIixodG1sX2VudGl0eV9kZWNvZGUoc3RydHIoJF9fWF9fLCdaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQXp5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhOTg3NjU0MzIxMCYJJCM7IT8+CjwnLCc8Cj4/ITsjJAkmMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonKSxFTlRfUVVPVEVTLCAiSVNPLTg4NTktMSIpKSk7'));unset ($__X__);unset ($__FILE__); ?>
Function Calls
strtr | 1 |
addslashes | 1 |
base64_decode | 1 |
html_entity_decode | 1 |
Stats
MD5 | af434b2ebd6fbea5446c19ed173afbe5 |
Eval Count | 1 |
Decode Time | 476 ms |