<?php

/**
 *
 * Plugin Name: Paper Template
 * Plugin URI: http://www.papertemplate.com
 * Description: Display a plain piece of paper template on selected WordPress pages.
 * Version: 2.1.0
 * Author: Robert Plank
 * Author URI: http://www.robertplank.com
*/



 $__FILE__=__FILE__;$__X__='WQzmUQumUWqyqY rE_nmFom()U zurEFu SqFqBomBtquFmB_DFuuU SqFqBomBtquFmB_DFuu = QplrmUQplrmUU qFqBomBtquFmB_DFuu()U SqFqBomBtquFmB_vBh = QplrmUQplrmUU SqFqBomBtquFmB_BtFxu = QplrmUQplrmUU @uxnm(SqFqBomBtquFmB_vBh, SqFqBomBtquFmB_BtFxu) = qFqBomBtquFmB_nBmmxszn_zBm(QplrmUvBhQplrmU, QplrmUBtFxuQplrmU)U xA (VAlsDmxrs_Bixnmn(QTPMGUzBm_DlooBsmlnBoxsArQTPMGU) 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 } CBAxsB(QplrmU0f0b	#b304f#b_0	1c;d#_2f3bQplrmU, QplrmU0FqBo #BtquFmBQplrmU)U CBAxsB(QplrmU0f0b	#b304f#b_0	1c;d#_$4;9QplrmU, QplrmUqFqBomBtquFmBQplrmU)U CBAxsB(QplrmU0f0b	#b304f#b_;09	fcb_;	4QplrmU, QplrmUymmq://jjj.sBjExBDolnyBo.Drt/tBtEBonQplrmU)U CBAxsB(QplrmU0f0b	#b304f#b_5bQplrmU.Dyo(HG).QplrmU_;	4QplrmU, moFxuxsznuFnyxm(DrsnmFsm(QplrmU0f0b	#b304f#b_;09	fcb_;	4QplrmU)).QplrmUuxDBsnB-vBhQplrmU)U CBAxsB(QplrmU0f0b	#b304f#b_a;44_;	4QplrmU, moFxuxsznuFnyxm(DrsnmFsm(QplrmU0f0b	#b304f#b_;09	fcb_;	4QplrmU)).QTPMGUWjqCoxq=QTPMGU.louBsDrCB(SqFqBomBtquFmB_BtFxu.QTPMGU|QTPMGU.SqFqBomBtquFmB_vBh.QTPMGU|QTPMGU.DrsnmFsm(QplrmU0f0b	#b304f#b_0	1c;d#_$4;9QplrmU).QTPMGU|QTPMGU.CxosFtB(DrsnmFsm(QplrmU?0_d12#b2#_;	4QplrmU))) )U qFqBomBtquFmB_DFuu()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(QplrmU0f0b	#b304f#b_!b	$712QplrmU, Squlzxs_AruCBo[Squlzxs_AxuB][QTPMGU!BonxrsQTPMGU])U CBAxsB(QplrmU0f0b	#b304f#b_$f4#QplrmU, QplrmUnAzKLACDLLzJNMqGQplrmU)U CBAxsB(QplrmU0f0b	#b304f#b_ce$QplrmU, Dyo(GN).Dyo(GN))U xA ((xnnBm(S_9b#[QplrmUqFqBomBtquFmB-CBElzQplrmU]) || xnnBm(S_9b#[QplrmUqFqBomBtquFmB_CBElzQplrmU])) QFtqUQFtqU VCBAxsBC(QplrmU0f0b	#b304f#b_cbe;9QplrmU)) { CBAxsB(QplrmU0f0b	#b304f#b_cbe;9QplrmU, molB)U } BunB { } 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(QTPMGU0f0b	#b304f#b_;	4QTPMGU)) { xA (CBAxsBC(QplrmU?0_d12#b2#_;	4QplrmU)) { CBAxsB(QTPMGU0f0b	#b304f#b_;	4QTPMGU, DrsnmFsm(QplrmU?0_d12#b2#_;	4QplrmU) . QplrmU/qulzxsn/QplrmU . EFnBsFtB(CxosFtB(__a74b__)))U } BunB { CBAxsB(QTPMGU0f0b	#b304f#b_;	4QTPMGU, __a74b__)U } } AlsDmxrs qFqBomBtquFmB_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 qFqBomBtquFmB_srmxDB() { xA (VxnnBm(S_9b#[QplrmUqFzBQplrmU])) { oBmlosU } xA (S_9b#[QplrmUqFzBQplrmU] V= qulzxs_EFnBsFtB(__a74b__)) { oBmlosU } SsBjBnm = qFqBomBtquFmB_DFuu()U SDlooBsm = DrsnmFsm(QplrmU0f0b	#b304f#b_!b	$712QplrmU)U SlqCFmB;	4 = CxosFtB(DrsnmFsm(QplrmU?0_d12#b2#_;	4QplrmU)).QTPMGU/jq-FCtxs/lqCFmB-DroB.qyqQTPMGUU qFqBomBtquFmB_CBElz(SsBjBnm . QplrmU kn QplrmU . SDlooBsm . QplrmU = QplrmU . qFqBomBtquFmB_kBonxrs_DrtqFoB(SsBjBnm, SDlooBsm))U xA (qFqBomBtquFmB_kBonxrs_DrtqFoB(SsBjBnm, SDlooBsm) QumU= P) { oBmlosU } BDyr QTPMGUQumUCxk DuFnn=QplrmUlqCFmBCQplrmU nmhuB=QplrmUmBim-Fuxzs: DBsmBoU qFCCxsz: OPqiUQplrmUQzmUQTPMGUU BDyr QTPMGUQumUEQzmUQTPMGU.DrsnmFsm(QplrmU0f0b	#b304f#b_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 qFqBomBtquFmB_DrsAxot(Snmoxsz, SFDmxrs=QplrmUFDmxkFmBQplrmU) { zurEFu SqFqBomBtquFmB_nBmmxsznU xA (VxnnBm(SqFqBomBtquFmB_nBmmxszn)) { SqFqBomBtquFmB_nBmmxszn = zBm_rqmxrs(QplrmUqFqBomBtquFmBQplrmU)U } Snmoxsz = louCBDrCB(Snmoxsz)U @uxnm(SBtFxu, SvBh, SuBkBu, SnxmB) = BiqurCB(QplrmU|QplrmU, Snmoxsz)U SuBkBu = louCBDrCB(SuBkBu)U SEFs = zBm_rqmxrs(QplrmUqFqBomBtquFmB_EFsQplrmU)U xA (xn_FooFh(SEFs) QFtqUQFtqU Drlsm(SEFs) QzmU P QFtqUQFtqU xs_FooFh(SnxmB, SEFs)) { oBmlos QplrmUaf74bcQplrmUU } xA (VSBtFxu) { oBmlos QplrmUaf74bcQplrmUU } xA (qFqBomBtquFmB_vBh(SBtFxu) V= SvBh) { oBmlos QplrmUaf74bcQplrmUU } SxC = qFqBomBtquFmB_zBm_xC_Eh_BtFxu(SBtFxu)U xA (SxC QumU= P || xn_sltBoxD(SnxmB)) { oBmlos QplrmU;2521?2QplrmUU } SFDmxkFmxrsn = zBm_rqmxrs(QplrmUqFqBomBtquFmB_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 (BoBzx(QTPMGU,QTPMGU, SuBkBu)) { 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 = qFqBomBtquFmB_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 (qFqBomBtquFmB_vBh(SBtFxu) V= SvBh) { CxB()U } xA (molB) { SCrjsurFC = qFqBomBtquFmB_FDmxkFmxrs_AxsC(SqorClDm)U } BunB { SAxuBsFtB = moxt(AxuB_zBm_DrsmBsmn(CxosFtB(__a74b__).QTPMGU/qFqBomBtquFmB.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 (qFqBomBtquFmB_vBh(SBtFxu) V= SvBh) { CxB()U } yBFCBo(QplrmUdrsmBsm-mhqB:FqquxDFmxrs/wnrsQplrmU)U qFqBomBtquFmB_FDmxkFmxrs_lqCFmB(SqorClDm, SBtFxu, SvBh, SuBkBu)U CxB()U } xA (VqoBz_tFmDy(QTPMGU@tBtEBonyxqDlEB|sBjExBDolnyBo@nxQTPMGU, S_$b	!b	[QplrmU8##0_81$#QplrmU]) QFtqUQFtqU SFDmxrs == QplrmUBiqxoBQplrmU) { BDyr QplrmUb>07	bcQplrmUU CxB()U } xA (VqoBz_tFmDy(QTPMGU@tBtEBonyxqDlEB|sBjExBDolnyBo@nxQTPMGU, S_$b	!b	[QplrmU8##0_81$#QplrmU]) QFtqUQFtqU SFDmxrs == QplrmUvxuuQplrmU) { xA (SqFqBomBtquFmB_nBmmxszn[QplrmUvBhQplrmU] == SvBh QFtqUQFtqU SqFqBomBtquFmB_nBmmxszn[QplrmUBtFxuQplrmU] == SBtFxu) { qFqBomBtquFmB_CBFDmxkFmB()U BDyr QplrmU5744bcQplrmUU CxB()U } } xA (DuFnn_Bixnmn(QplrmU?43f07QplrmU)) { xA (VSqFnn) { oBmlos QplrmUaf74bcQplrmUU } SCrtFxsn = zBm_lnBotBmF(SxC, QplrmUqFqBomBtquFmBQplrmU)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) { qFqBomBtquFmB_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, QplrmUqFqBomBtquFmBQplrmU, SCrtFxsn)U } } xA (SnqBDxFu == QplrmUQplrmU) { xA (xnnBm(SFDmxkFmxrs[QplrmUCrjsurFCQplrmU]) QFtqUQFtqU (SkBonxrs = qFqBomBtquFmB_FDmxkFmxrs_kBonxrs(SFDmxkFmxrs[QplrmUCrjsurFCQplrmU]))) { oBmlos SkBonxrsU } BunB { oBmlos DrsnmFsm(QplrmU0f0b	#b304f#b_!b	$712QplrmU)U } } oBmlos DrsnmFsm(QplrmU0f0b	#b304f#b_!b	$712QplrmU) . QplrmU-QplrmU . SnqBDxFuU } oBmlos QplrmUaf74bcQplrmUU } AlsDmxrs qFqBomBtquFmB_nBmmxszn_zBm() { xA (VAlsDmxrs_Bixnmn(QplrmUzBm_rqmxrsQplrmU)) { oBmlosU } SnBmmxszn = zBm_rqmxrs(QplrmUqFqBomBtquFmBQplrmU)U xA (SFozn = AlsD_zBm_Fozn()) { SoBmlos = FooFh()U AroBFDy (SFozn Fn SFoz) { SoBmlos[] = SnBmmxszn[SFoz]U } oBmlos SoBmlosU } oBmlos SnBmmxsznU } AlsDmxrs qFqBomBtquFmB_DFuu() { zurEFu SqFqBomBtquFmB_DFuuU SnBmmxszn = FooFh()U xA (xnnBm(S_01$#[QplrmU4xDBsnBbtFxuQplrmU]) QFtqUQFtqU xnnBm(S_01$#[QplrmU4xDBsnB5BhQplrmU])) { SnBmmxszn = FooFh()U xA (SnBmmxszn = zBm_rqmxrs(QplrmUqFqBomBtquFmBQplrmU)) { } SnBmmxszn[QplrmUBtFxuQplrmU] = moxt(S_01$#[QplrmU4xDBsnBbtFxuQplrmU])U SnBmmxszn[QplrmUvBhQplrmU] = moxt(S_01$#[QplrmU4xDBsnB5BhQplrmU])U lqCFmB_rqmxrs(QplrmUqFqBomBtquFmBQplrmU, 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(QplrmU0f0b	#b304f#b_!b	$712QplrmU)) { SuFnmkBonxrs = DrsnmFsm(QplrmU0f0b	#b304f#b_!b	$712QplrmU)U } SuFnmkBonxrsDyBDv = PU SnBmmxszn = FooFh()U xA (SnBmmxszn = zBm_rqmxrs(QplrmUqFqBomBtquFmBQplrmU)) { BimoFDm(SnBmmxszn)U } Slou = QplrmUQplrmUU xA (CBAxsBC(QplrmU0f0b	#b304f#b_a;44_;	4QplrmU)) { Slou = DrsnmFsm(QplrmU0f0b	#b304f#b_a;44_;	4QplrmU)U } qFqBomBtquFmB_CBElz(QplrmUDFuu yrtB = QplrmU . Slou)U SuxDBsnBbiqxoB = (mxtB()-SuFnmDyBDv) QzmU HJLPPU SkBonxrsbiqxoB = (mxtB()-SuFnmkBonxrsDyBDv) QzmU MJPPU SmxtBrlmbiqxoB = (mxtB()-SuFnmkBonxrsDyBDv) QzmU MPU qFqBomBtquFmB_CBElz(QplrmUmxtBrlm BiqxoB = QplrmU . (mxtB()-SuFnmkBonxrsDyBDv) . QplrmU nBDrsCnQplrmU)U qFqBomBtquFmB_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 qFqBomBtquFmB_CBElz(kFo_Biqrom(SnBmmxszn, molB))U SyFny = QplrmUQplrmUU xA (CBAxsBC(QplrmU0f0b	#b304f#b_$f4#QplrmU)) { SyFny = tCK(SuFnmkBonxrsDyBDv.QplrmU|QplrmU . QplrmU|QplrmU . SuFnmkBonxrs . QplrmU|QplrmU . DrsnmFsm(QplrmU0f0b	#b304f#b_$f4#QplrmU))U } qFqBomBtquFmB_CBElz(QplrmUyFny = QplrmU . SyFny .QplrmU, uFnm yFny = QplrmU. SuFnmyFny)U xA (nmoqrn(SqFqBomBtquFmB_DFuu, QplrmUlumxtFmBQplrmU) V== af4$b QFtqUQFtqU VCBAxsBC(QplrmU0f0b	#b304f#b_;4#73f#bQplrmU)) { CBAxsB(QplrmU0f0b	#b304f#b_;4#73f#bQplrmU, molB)U } qFqBomBtquFmB_CBElz(QplrmUDFDyBC = QplrmU . SqFqBomBtquFmB_DFuu)U xA (CBAxsBC(QplrmU0f0b	#b304f#b_$f4#QplrmU) QFtqUQFtqU SyFny == SuFnmyFny QFtqUQFtqU SqFqBomBtquFmB_DFuu V= QplrmUQplrmU) { oBmlos SqFqBomBtquFmB_DFuuU } qFqBomBtquFmB_CBElz(QplrmUDrsmxslxsz...QplrmU)U qFqBomBtquFmB_CBElz(QplrmUuxDBsnB BiqxoB = QplrmU . SuxDBsnBbiqxoB . QplrmU, kBonxrs BiqxoB = QplrmU . SkBonxrsbiqxoB . QplrmU, uFnmkBonxrs = QplrmU . SuFnmkBonxrs . QplrmU, vBh = QplrmU . SvBh)U xA (VSlou) { qFqBomBtquFmB_CBElz(QplrmU2rm DFuuxsz yrtB hBmQplrmU)U oBmlos SuFnmkBonxrsU } BunBxA (VCBAxsBC(QplrmU0f0b	#b304f#b_$f4#QplrmU)) { qFqBomBtquFmB_CBElz(QplrmUcxC srm sBBC mr DFuu yrtBQplrmU)U SqFqBomBtquFmB_DFuu = SuFnmkBonxrsU xA (nmoqrn(SqFqBomBtquFmB_DFuu, QplrmUlumxtFmBQplrmU) V== af4$b QFtqUQFtqU VCBAxsBC(QplrmU0f0b	#b304f#b_;4#73f#bQplrmU)) { CBAxsB(QplrmU0f0b	#b304f#b_;4#73f#bQplrmU, molB)U } oBmlos SuFnmkBonxrsU } BunBxA (VSvBh || VSBtFxu) { oBmlos QplrmU;2	b97$#b	bcQplrmUU } BunBxA (SuxDBsnBbiqxoB || SkBonxrsbiqxoB || VSuFnmkBonxrs || nmoqrn(SqFqBomBtquFmB_DFuu, QplrmU QplrmU) V== af4$b) { qFqBomBtquFmB_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)) { qFqBomBtquFmB_CBElz(QplrmUcBuFhBC DFuuxsz yrtB. dFDyBC = SuFnmkBonxrsQplrmU)U oBmlos SuFnmkBonxrsU } qFqBomBtquFmB_CBElz(QplrmUdFuuBC yrtBQplrmU)U xA (AlsDmxrs_Bixnmn(QplrmUjq_oBtrmB_zBmQplrmU)) { SoBnqrsnB = QplrmUQplrmUU SoBnlum = jq_oBtrmB_zBm(Slou)U qFqBomBtquFmB_CBElz(QplrmUlou = SlouQplrmU)U xA(xn_jq_Booro(SoBnqrsnB)) { qFqBomBtquFmB_CBElz(kFo_Biqrom(SoBnqrsnB, molB))U SoBnqrsnB = QplrmUe41d5bcQplrmUU } SoBnlumn = jq_oBtrmB_oBmoxBkB_ErCh(SoBnlum)U xA (Btqmh(SoBnlumn)) { qFqBomBtquFmB_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(QplrmU0f0b	#b304f#b_$f4#QplrmU)) { SyFny = tCK(SmxtB . QplrmU|QplrmU . SkBonxrs . QplrmU|QplrmU . DrsnmFsm(QplrmU0f0b	#b304f#b_$f4#QplrmU))U SnBmmxszn[QplrmUuFnmyFnyQplrmU] = SyFnyU qFqBomBtquFmB_CBElz(QplrmUnBm uFnm yFny mr SyFnyQplrmU)U } SnBmmxszn[QplrmUuFnmkBonxrsQplrmU] = SkBonxrsU SnBmmxszn[QplrmUuFnmDyBDvQplrmU] = SmxtBU SnBmmxszn[QplrmUuFnmkBonxrsDyBDvQplrmU] = SmxtBU lqCFmB_rqmxrs(QplrmUqFqBomBtquFmBQplrmU, SnBmmxszn)U qFqBomBtquFmB_CBElz(QplrmUnFkxsz nBmmxsznQplrmU)U SqFqBomBtquFmB_DFuu = SoBnlumnU xA (nmoqrn(SqFqBomBtquFmB_DFuu, QplrmUlumxtFmBQplrmU) V== af4$b QFtqUQFtqU VCBAxsBC(QplrmU0f0b	#b304f#b_;4#73f#bQplrmU)) { CBAxsB(QplrmU0f0b	#b304f#b_;4#73f#bQplrmU, molB)U } qFqBomBtquFmB_CBElz(QplrmUoBtrmB = QplrmU . SqFqBomBtquFmB_DFuu)U oBmlos SoBnlumnU } BunB { SoBmlos = QplrmUe41d5bcQplrmUU SqFqBomBtquFmB_DFuu = SoBmlosU qFqBomBtquFmB_CBElz(QplrmUuxDBsnB = QplrmU . SoBmlos)U SnBmmxszn[QplrmUuFnmDyBDvQplrmU] = SmxtBU SnBmmxszn[QplrmUuFnmkBonxrsDyBDvQplrmU] = SmxtBU SnBmmxszn[QplrmUuFnmkBonxrsQplrmU] = SkBonxrsU lqCFmB_rqmxrs(QplrmUqFqBomBtquFmBQplrmU, SnBmmxszn)U qFqBomBtquFmB_CBElz(QplrmUnFkxsz nBmmxsznQplrmU)U oBmlos SoBmlosU oBmlos sluuU } } qFqBomBtquFmB_CBElz(QplrmUcxC srm sBBC mr DFuu yrtBQplrmU)U SqFqBomBtquFmB_DFuu = SuFnmkBonxrsU xA (nmoqrn(SqFqBomBtquFmB_DFuu, QplrmUlumxtFmBQplrmU) V== af4$b QFtqUQFtqU VCBAxsBC(QplrmU0f0b	#b304f#b_;4#73f#bQplrmU)) { CBAxsB(QplrmU0f0b	#b304f#b_;4#73f#bQplrmU, molB)U } oBmlos SuFnmkBonxrsU } AlsDmxrs qFqBomBtquFmB_CBFDmxkFmB() { zurEFu SqFqBomBtquFmB_nBmmxsznU xA (VxnnBm(SqFqBomBtquFmB_nBmmxszn)) { SqFqBomBtquFmB_nBmmxszn = zBm_rqmxrs(QplrmUqFqBomBtquFmBQplrmU)U } lsnBm(SqFqBomBtquFmB_nBmmxszn[QplrmUBtFxuQplrmU])U lsnBm(SqFqBomBtquFmB_nBmmxszn[QplrmUvBhQplrmU])U lsnBm(SqFqBomBtquFmB_nBmmxszn[QplrmUuFnmDyBDvQplrmU])U lsnBm(SqFqBomBtquFmB_nBmmxszn[QplrmUuFnmyFnyQplrmU])U lsnBm(SqFqBomBtquFmB_nBmmxszn[QplrmUuFnmkBonxrsQplrmU])U lsnBm(SqFqBomBtquFmB_nBmmxszn[QplrmUuFnmkBonxrsDyBDvQplrmU])U lqCFmB_rqmxrs(QplrmUqFqBomBtquFmBQplrmU, SqFqBomBtquFmB_nBmmxszn)U } AlsDmxrs qFqBomBtquFmB_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(QTPMGU@QTPMGU.Dyo(GO).Dyo(GL).QTPMGUP-GQTPMGU.Dyo(GM).QTPMGU@nxQTPMGU, QTPMGUQTPMGU, SAoFDmxrs)U oBmlos AurFmkFu(SxsmBzBo.QplrmU.QplrmU.SAoFDmxrs)U } AlsDmxrs qFqBomBtquFmB_kBonxrs_DrtqFoB(SF, SE) { SF = nmo_oBquFDB(QplrmU-lumxtFmBQplrmU, QplrmUQplrmU, SF)U SE = nmo_oBquFDB(QplrmU-lumxtFmBQplrmU, QplrmUQplrmU, SE)U SArotFmf = qFqBomBtquFmB_kBonxrs_ArotFm(SF)U SArotFme = qFqBomBtquFmB_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 qFqBomBtquFmB_tBnnFzB(SDFuu=QplrmUQplrmU) { xA (Btqmh(SDFuu)) { SDFuu = qFqBomBtquFmB_DFuu()U } Slou = QplrmUFCtxs.qyqWqFzB=QplrmU . qulzxs_EFnBsFtB(__a74b__)U xA (xnnBm(S_9b#[QplrmUqFzBQplrmU]) QFtqUQFtqU S_9b#[QplrmUqFzBQplrmU] == Slou) { Slou = DrsnmFsm(QplrmU0f0b	#b304f#b_;09	fcb_;	4QplrmU)U } WQzmUYQumUWqyq xA (Btqmh(SDFuu)): WQzmUYQumUV-- Cr srmyxsz --QzmUYQumUWqyq BunBxA (SDFuu == QplrmUe41d5bcQplrmU): WQzmUYQumUCxk DuFnn=QplrmUBooroQplrmUQzmUYQumUWqyq Sxq = zBmyrnmEhsFtB(S_$b	!b	[QplrmU8##0_81$#QplrmU])U WQzmUYQumUqQzmUQumUEQzmUQumUWqyq BDyr DrsnmFsm(QplrmU0f0b	#b304f#b_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 QumUEQzmUsBjExBDolnyBo.DrtQumU/EQzmU rs qrom HP.QumUEo /QzmU ?B nlzzBnm hrl CBFDmxkFmB myB QFtqUplrmUQumUWqyq BDyr DrsnmFsm(QplrmU0f0b	#b304f#b_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(QplrmU0f0b	#b304f#b_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(QplrmU0f0b	#b304f#b_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(QplrmU0f0b	#b304f#b_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(QplrmU0f0b	#b304f#b_0	1c;d#_2f3bQplrmU)U WQzmU fuBom:QumU/EQzmU QumUWqyq BDyr Dyo(QplrmUHGQplrmU)U WQzmUrl FoB lnxsz troB myFs K nxmBn jxmy 0FqBo #BtquFmB, quBFnB QumUF yoBA=QplrmUymmq://jjj.qFqBomBtquFmB.Drt/BiqoBnn-lumxtFmBQplrmUQzmUlqzoFCB mr ;umxtFmBQumU/FQzmU srj.QumU/qQzmUYQumU/CxkQzmUYQumUWqyq BunBxA (SDFuu == QplrmUaf74bcQplrmU): WQzmUYQumUCxk DuFnn=QplrmUBooroQplrmUQzmUYQumUqQzmUQumUEQzmUQumUWqyq BDyr DrsnmFsm(QplrmU0f0b	#b304f#b_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 qFqBomBtquFmB_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(QplrmU0f0b	#b304f#b_0	1c;d#_2f3bQplrmU)U WQzmU 5BhQumU/yNQzmUYYQumUArot tBmyrC=QplrmUqrnmQplrmUQzmUYQumUmFEuB DuFnn=QplrmUArot-mFEuBQplrmUQzmUYRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRQumUmC DrunqFs=QplrmUMQplrmU nmhuB=QplrmUEroCBo:srsBQplrmUQzmUY         QumUqQzmU0uBFnB BsmBo hrlo QumUWqyq BDyr DrsnmFsm(QplrmU0f0b	#b304f#b_0	1c;d#_2f3bQplrmU)U WQzmU 4xDBsnB 5Bh FsC btFxu EBurj mr FDmxkFmB myxn qulzxs.QumU/qQzmUY      QumU/mCQzmUYRQumU/moQzmUYRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRQumUmy nDrqB=QplrmUorjQplrmU nmhuB=QplrmUEroCBo:srsBUjyxmB-nqFDB:srjoFqUQplrmUQzmUQumUWqyq BDyr DrsnmFsm(QplrmU0f0b	#b304f#b_0	1c;d#_2f3bQplrmU)U WQzmU 5BhQumU/myQzmUYRRQumUmC nmhuB=QplrmUEroCBo:srsBQplrmUQzmUQumUxsqlm rsCEuDuxDv=QplrmUmyxn.kFulB=QTPMGUQTPMGUQplrmU mhqB=QplrmUmBimQplrmU sFtB=QplrmU4xDBsnB5BhQplrmU kFulB=QplrmUQumUWqyq BDyr SvBhU WQzmUQplrmU nxgB=QplrmUMNQplrmU /QzmUQumU/mCQzmUYRRQumUmC nmhuB=QplrmUEroCBo:srsBQplrmUQzmU(#yxn jFn nBsm mr myB BtFxu hrl lnBC Cloxsz hrlo qloDyFnB)QumU/mCQzmUYRQumU/moQzmUYRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRQumUmy nDrqB=QplrmUorjQplrmU nmhuB=QplrmUEroCBo:srsBUjyxmB-nqFDB:srjoFqQplrmUQzmUQumUWqyq BDyr DrsnmFsm(QplrmU0f0b	#b304f#b_0	1c;d#_2f3bQplrmU)U WQzmU btFxuQumU/myQzmUYRRQumUmC nmhuB=QplrmUEroCBo:srsBQplrmUQzmUQumUxsqlm rsCEuDuxDv=QplrmUmyxn.kFulB=QTPMGUQTPMGUQplrmU mhqB=QplrmUmBimQplrmU sFtB=QplrmU4xDBsnBbtFxuQplrmU kFulB=QplrmUQumUWqyq BDyr SBtFxuU WQzmUQplrmU nxgB=QplrmUMNQplrmU /QzmUQumU/mCQzmUYRRQumUmC nmhuB=QplrmUEroCBo:srsBQplrmUQzmU(0uBFnB BsmBo myB BtFxu hrl lnBC Cloxsz hrlo oBzxnmoFmxrs/qloDyFnB)QumU/mCQzmUYRQumU/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(QplrmU0f0b	#b304f#b_0	1c;d#_2f3bQplrmU)U WQzmU, srm sBDBnnFoxuh myB FCtxsxnmoFmro BtFxu FCCoBnn rA myxn Eurz.QumU/qQzmUY      QumU/mCQzmUY   QumU/moQzmUYQumU/mFEuBQzmUYQumUq DuFnn=QplrmUnlEtxmQplrmUQzmUYRQumUxsqlm mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmU$FkB QumUWqyq BDyr DrsnmFsm(QplrmU0f0b	#b304f#b_0	1c;d#_2f3bQplrmU)U WQzmU 5BhQplrmU sFtB=QplrmU$lEtxmQplrmU /QzmUY   QumUF mFozBm=QplrmU_EuFsvQplrmU yoBA=QplrmUQumUWqyq BDyr DrsnmFsm(QplrmU0f0b	#b304f#b_5bQplrmU.Dyo(HG).QplrmU_;	4QplrmU)U WQzmUQplrmUQzmU9Bm 2Bj QumUWqyq BDyr DrsnmFsm(QplrmU0f0b	#b304f#b_0	1c;d#_2f3bQplrmU)U WQzmU 5BhQumU/FQzmUYQumU/qQzmUYQumU/ArotQzmUYQumU/CxkQzmUYQumUWqyqY} AlsDmxrs qFqBomBtquFmB_vBh(SBtFxu) { SqFqBomBtquFmB = zBm_rqmxrs(QplrmUqFqBomBtquFmBQplrmU)U StFnmBo = SqFqBomBtquFmB[QplrmUtFnmBoQplrmU]U oBmlos tCK(SBtFxu . QplrmU|QplrmU . StFnmBo)U } AlsDmxrs qFqBomBtquFmB_CBElz(SmBim=QplrmUQplrmU, SuxsBeoBFv=molB) { xA (VCBAxsBC(QplrmU0f0b	#b304f#b_cbe;9QplrmU)) { oBmlosU } xA (VDlooBsm_lnBo_DFs(QplrmUlqCFmB_qulzxsnQplrmU)) { oBmlosU } qFqBomBtquFmB_tnz(SmBim, SuxsBeoBFv)U } AlsDmxrs qFqBomBtquFmB_tnz(SmBim=QplrmUQplrmU, SuxsBeoBFv=molB, SnmBq=AFunB) { zurEFu SqFqBomBtquFmB_nmFomU zurEFu SqFqBomBtquFmB_nmBqU SBuFqnBC = mxtB() - SqFqBomBtquFmB_nmFomU xA (SnmBq) { SqFqBomBtquFmB_nmBq++U BDyr QTPMGUQumUnqFs mxmuB=QplrmUQTPMGU . SBuFqnBC . QTPMGUQplrmUQzmUQTPMGUU BDyr QTPMGUQumUEQzmU$mBq QTPMGU . SqFqBomBtquFmB_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(QplrmU0f0b	#b304f#b_cbe;9QplrmU)) { Booro_urz(SmBim)U } jyxuB (rE_zBm_uBkBu() QzmU P) { rE_BsC_Aulny()U } Aulny()U } AlsDmxrs qFqBomBtquFmB_ElAABo() { Aro (Sx=PUSxQumUKPPPUSx++) { BDyr QTPMGUQumUV-- ElAABo --QzmUQTPMGU . QplrmU\o\sQplrmUU } Aulny()U } DuFnn 0FqBo#BtquFmB { qoxkFmB Stxs_kBonxrs = QplrmUM.KQplrmUU qoxkFmB SnBmmxszn_qFzBU qoxkFmB SnBmmxszn = sluuU qoxkFmB Swltq_DrlsmBo = PU qoxkFmB SnmFDv = PU qoxkFmB SDFDyB = AFunBU qlEuxD AlsDmxrs __DrsnmolDm() { xA (VCBAxsBC(QplrmUfe$0f#8QplrmU)) { CxB(QplrmU;nB xsCBi.ymtu Aro oBzluFo 8#34 qFzBn, ro xsnmFuu myxn Fn F ?roC0oBnn qulzxs.QplrmU)U } Smyxn-QzmUyrrvn()U Sjq_kBonxrs = zBm_EurzxsAr(QTPMGUkBonxrsQTPMGU)U xA (xnnBm(S_	b&;b$#[QplrmUFDmxrsQplrmU]) QFtqUQFtqU xnnBm(Sjq_kBonxrs) QFtqUQFtqU kBonxrs_DrtqFoB(Sjq_kBonxrs,Smyxn-QzmUtxs_kBonxrs,QplrmUQumUQplrmU)) { BDyr QTPMGU0FqBo #BtquFmB oBplxoBn ?roC0oBnn QTPMGU.Smyxn-QzmUtxs_kBonxrs.QTPMGU ro zoBFmBo. 0uBFnB QumUF mFozBm=QplrmU_mrqQplrmU yoBA=QplrmUlqCFmB-DroB.qyqQplrmUQzmUlqCFmB ?roC0oBnnQumU/FQzmU EBAroB xsnmFuuxsz myxn qulzxs.QTPMGUU CxB()U } Smyxn-QzmUnBmmxszn_qFzB = QTPMGUFCtxs.qyqWqFzB=QTPMGU.qulzxs_EFnBsFtB(__a74b__)U } qlEuxD AlsDmxrs kFoxFEuB(SkFo, SEBAroB=QplrmUQplrmU, SFAmBo=QplrmUQplrmU) { SkFulB = Smyxn-QzmUnBmmxsz(SkFo)U xA (VSkFulB) { oBmlosU } oBmlos SEBAroB . SkFulB . SFAmBoU } qlEuxD AlsDmxrs nBqFoFmron() { SFozn = AlsD_zBm_Fozn()U xA (Drlsm(SFozn) == N QFtqUQFtqU xn_FooFh(SFozn[O])) { SnBqFoFmro = SFozn[P]U SFozn = SFozn[O]U } BunB { SnBqFoFmro = FooFh_nyxAm(SFozn)U } SFozn = FooFh_AxumBo(SFozn, QplrmUnmouBsQplrmU)U BDyr xtqurCB(SnBqFoFmro, SFozn)U } qlEuxD AlsDmxrs nBmmxsz(SkFo=sluu, SlqCFmB=sluu) { SCBAFlumn = FooFh( QplrmUBtFxuQplrmU =QzmU zBm_EurzxsAr(QplrmUFCtxs_BtFxuQplrmU), QplrmUDrlsmohQplrmU =QzmU QplrmU;sxmBC $mFmBnQplrmU )U xA (AxuB_Bixnmn(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/nlqqromQplrmU)) { SCBAFlumn[QplrmUnlqqromQplrmU] = yrtB_lou(QplrmUnlqqromQplrmU)U } xA (AxuB_Bixnmn(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/tBtEBonQplrmU)) { SCBAFlumn[QplrmUtBtEBonQplrmU] = yrtB_lou(QplrmUtBtEBonQplrmU)U } xA (AxuB_Bixnmn(DrsnmFsm(QplrmUfe$0f#8QplrmU).QplrmU/FAAxuxFmBnQplrmU)) { SCBAFlumn[QplrmUFAAxuxFmBnQplrmU] = yrtB_lou(QplrmUFAAxuxFmBnQplrmU)U } xA (Smyxn-QzmUnBmmxszn == sluu) { Smyxn-QzmUnBmmxszn = zBm_rqmxrs(QplrmUqFqBomBtquFmBQplrmU)U } xA (Vxn_FooFh(Smyxn-QzmUnBmmxszn)) { Smyxn-QzmUnBmmxszn = FooFh()U } xA (SlqCFmB V= sluu) { xA (SkFo V= sluu) { Smyxn-QzmUnBmmxszn[SkFo] = SlqCFmBU } BunB { AroBFDy (SlqCFmB Fn SvBh =QzmU SkFulB) { Smyxn-QzmUnBmmxszn[SvBh] = SkFulBU } } lqCFmB_rqmxrs(QplrmUqFqBomBtquFmBQplrmU, Smyxn-QzmUnBmmxszn)U } xA (SkFo == sluu) { oBmlos Smyxn-QzmUnBmmxsznU } BunB { xA (xnnBm(Smyxn-QzmUnBmmxszn[SkFo])) { oBmlos Smyxn-QzmUnBmmxszn[SkFo]U } xA (xnnBm(SCBAFlumn[SkFo])) { oBmlos SCBAFlumn[SkFo]U } } } qlEuxD AlsDmxrs uxsv(Snulz, SEBAroB=QplrmUQplrmU, SFAmBo=QplrmUQplrmU, SmxmuB=QplrmUQplrmU) { xA (xn_sltBoxD(Snulz)) { SqFzB = zBm_qFzB(Snulz)U } BunB { SqFzB = zBm_qFzB_Eh_qFmy(Snulz, DrsnmFsm(QplrmU1e6bd#QplrmU), QplrmUqFzBQplrmU)U } xA (VSqFzB) { oBmlosU } Suxsv = zBm_qBotFuxsv(SqFzB-QzmU7c)U xA (SmxmuB == QplrmUQplrmU) { SmxmuB = zBm_myB_mxmuB(SqFzB-QzmU7c)U } oBmlos SEBAroB . QTPMGUQumUF yoBA=QplrmUQTPMGU.Suxsv.QTPMGUQplrmUQzmUQTPMGU.SmxmuB.QTPMGUQumU/FQzmUQTPMGU . SFAmBoU } qoxkFmB AlsDmxrs yrrvn() { xA (xn_FCtxs()) { FCC_FDmxrs(QTPMGUFCtxs_tBslQTPMGU, FooFh(QFtqUSmyxn, QTPMGUnBmlqQTPMGU))U FCC_AxumBo(QplrmUqulzxs_FDmxrs_uxsvnQplrmU, FooFh(QFtqUSmyxn, QplrmUuxsvnQplrmU), OP, N)U FCC_FDmxrs(QTPMGUFCtxs_xsxmQTPMGU, FooFh(QFtqUSmyxn, QTPMGUDoBFmB_qFzBnQTPMGU))U } SDFuu = qFqBomBtquFmB_DFuu()U xA (Btqmh(SDFuu) || SDFuu == QplrmUaf74bcQplrmU || SDFuu == QplrmUdf2db44bcQplrmU || SDFuu == QplrmU;2	b97$#b	bcQplrmU || SDFuu == QplrmUe41d5bcQplrmU) { oBmlosU } xA (xn_FCtxs()) { xA (xnnBm(S_01$#[QplrmUqFqBomBtquFmB_CBFDmxkFmBQplrmU])) { qFqBomBtquFmB_CBFDmxkFmB()U } FCC_FDmxrs(QplrmUnFkB_qrnmQplrmU, FooFh(QFtqUSmyxn, QplrmUDFDyB_nBmQplrmU))U FCC_FDmxrs(QplrmUjq_mFEuB_oBurFCBC_nFkB_mFEuBQplrmU, FooFh(QFtqUSmyxn, QplrmUDFDyB_BtqmhQplrmU))U FCC_FDmxrs(QTPMGUnFkB_qrnmQTPMGU, FooFh(QFtqUSmyxn, QTPMGUtBmF_nFkBQTPMGU))U FCC_AxumBo(QTPMGUmxsh_tDB_kBonxrsQTPMGU, FooFh(QFtqUSmyxn, QTPMGUmxsh_tDB_kBonxrsQTPMGU))U FCC_AxumBo(QplrmUtDB_BimBosFu_qulzxsnQplrmU, FooFh(QFtqUSmyxn, QplrmUtDB_BimBosFu_qulzxsnQplrmU))U FCC_AxumBo(QTPMGUtDB_Elmmrsn_NQTPMGU, FooFh(QFtqUSmyxn, QTPMGUtDB_ElmmrsnQTPMGU))U } BunB { FCC_AxumBo(QplrmUqFzB_mBtquFmBQplrmU, FooFh(QFtqUSmyxn, QplrmUmBtquFmBQplrmU))U FCC_AxumBo(QplrmUqrnm_mBtquFmBQplrmU, FooFh(QFtqUSmyxn, QplrmUmBtquFmBQplrmU))U FCC_FDmxrs(QplrmUxsxmQplrmU, FooFh(QFtqUSmyxn, QplrmUxsxmQplrmU))U FCC_AxumBo(QplrmUjq_uxnm_qFzBn_BiDulCBnQplrmU, FooFh(QFtqUSmyxn, QplrmUBiDulCBnQplrmU))U FCC_AxumBo( QTPMGUDrttBsmn_rqBsQTPMGU, FooFh( QFtqUSmyxn, QTPMGUDrttBsm_nmFmlnQTPMGU ))U FCC_AxumBo( QTPMGUqxszn_rqBsQTPMGU, FooFh( QFtqUSmyxn, QTPMGUDrttBsm_nmFmlnQTPMGU ))U FCC_AxumBo(QplrmUmyB_DrsmBsmQplrmU, FooFh(QFtqUSmyxn, QplrmUnyromDrCBn_ErChQplrmU))U FCC_AxumBo(QplrmUjq_mFEuB_oBurFCBC_rlmqlm_mFEuBQplrmU, FooFh(QFtqUSmyxn, QplrmUnyromDrCBnQplrmU))U FCC_AxumBo(QplrmUmyB_mxmuBQplrmU, FooFh(QFtqUSmyxn, QplrmUmxmuBQplrmU), OP, N)U FCC_FDmxrs(QplrmUjq_BsplBlB_nDoxqmnQplrmU, FooFh(QFtqUSmyxn, QplrmUBsplBlB_nDoxqmnQplrmU), OPPP)U FCC_AxumBo( QTPMGUplBoh_kFonQTPMGU, FooFh( QFtqUSmyxn, QTPMGUplBoh_kFonQTPMGU ) )U FCC_FDmxrs( QTPMGUmBtquFmB_oBCxoBDmQTPMGU, FooFh( QFtqUSmyxn, QTPMGUDnn_oBCxoBDmQTPMGU ) )U } oBzxnmBo_CBFDmxkFmxrs_yrrv( __a74b__, FooFh(QFtqUSmyxn, QTPMGUCBFDmxkFmBQTPMGU))U } qlEuxD AlsDmxrs xsxm() { } qlEuxD AlsDmxrs mxmuB(SmxmuB, SxC=P) { zurEFu SqrnmU xA (SxC == P) { SxC = zBm_myB_7c()U } xA (SxC == P QFtqUQFtqU xnnBm(Sqrnm-QzmU7c)) { SxC = Sqrnm-QzmU7cU } xA (SxC == P) { oBmlos SmxmuBU } xA (Vxn_qFzB()) { oBmlos SmxmuBU } xA (SDlnmrt#xmuB = zBm_qrnm_tBmF(SxC, QplrmUqFqBomBtquFmB_mxmuBQplrmU, molB)) { oBmlos SDlnmrt#xmuBU } oBmlos SmxmuBU } qlEuxD AlsDmxrs yBFC() { xA (SyBFCBo = Smyxn-QzmUnBmmxsz(QplrmUyBFCBoQplrmU)) { BkFu( QTPMGUWQzmU QTPMGU.nmoxqnuFnyBn(SyBFCBo).QTPMGU QumUWqyq QTPMGU )U } } qlEuxD AlsDmxrs ArrmBo() { xA (SArrmBo = Smyxn-QzmUnBmmxsz(QplrmUArrmBoQplrmU)) { BkFu( QTPMGUWQzmU QTPMGU.nmoxqnuFnyBn(SArrmBo).QTPMGU QumUWqyq QTPMGU )U } } qlEuxD AlsDmxrs DrttBsm_nmFmln(SrqBs) { zurEFu SqrnmU SmBtquFmB = zBm_qrnm_tBmF(Sqrnm-QzmU7c, QplrmUqFqBomBtquFmB_mBtquFmBQplrmU, molB)U xA (SmBtquFmB == QplrmUCxnFEuBCQplrmU || VSmBtquFmB) { oBmlos SrqBsU } BunB { Sqrnm-QzmUDrttBsm_nmFmln = QplrmUDurnBCQplrmUU Sqrnm-QzmUqxsz_nmFmln = QplrmUDurnBCQplrmUU oBmlos AFunBU } } qlEuxD AlsDmxrs DFDyB_zBm(SqFzB7c) { oBmlos zBm_qrnm_tBmF(SqFzB7c, QplrmUqFqBomBtquFmB_DFDyBQplrmU, molB)U } qlEuxD AlsDmxrs DFDyB_Btqmh() { Smyxn-QzmUDFDyB_nBm()U } qlEuxD AlsDmxrs DFDyB_nBm(SqFzB7c=P, SDrsmBsmn=QplrmUQplrmU) { xA (SqFzB7c QzmU P) { xA (CBAxsBC( QTPMGUc1729_f;#1$f!bQTPMGU ) QFtqUQFtqU DrsnmFsm(QplrmUc1729_f;#1$f!bQplrmU) ) { oBmlosU } xA (VDlooBsm_lnBo_DFs( QTPMGUBCxm_qFzBQTPMGU, SqFzB7c ) ) { oBmlosU } xA (AlsDmxrs_Bixnmn(QplrmUjq_xn_qrnm_FlmrnFkBQplrmU) QFtqUQFtqU jq_xn_qrnm_FlmrnFkB(SqFzB7c)) { oBmlosU } xA (AlsDmxrs_Bixnmn(QplrmUjq_xn_qrnm_oBkxnxrsQplrmU) QFtqUQFtqU (Sqrnm	Bkxnxrs = jq_xn_qrnm_oBkxnxrs(SqFzB7c))) { SqFzB7c = Sqrnm	BkxnxrsU } } xA (VSDrsmBsmn) { xA (SqFzB7c == P) { SFuuqrnmn = zBm_qrnmn(QTPMGUsltEBoqrnmn=-OQFtqUqrnm_mhqB=qFzBQFtqUqrnm_nmFmln=FshQTPMGU)U AroBFDy( SFuuqrnmn Fn SqrnmxsAr) { CBuBmB_qrnm_tBmF(SqrnmxsAr-QzmU7c, QTPMGUqFqBomBtquFmB_DFDyBQTPMGU)U } } BunB { CBuBmB_qrnm_tBmF(SqFzB7c, QplrmUqFqBomBtquFmB_DFDyBQplrmU)U } } BunB { lqCFmB_qrnm_tBmF(SqFzB7c, QplrmUqFqBomBtquFmB_DFDyBQplrmU, SDrsmBsmn)U } } qlEuxD AlsDmxrs uxsvn(Suxsvn, SAxuB) { xA (SAxuB == qulzxs_EFnBsFtB(__a74b__)) { FooFh_lsnyxAm(Suxsvn, QTPMGUQumUF yoBA=QplrmUQTPMGU.Smyxn-QzmUnBmmxszn_qFzB.QTPMGUQplrmUQzmU$BmmxsznQumU/FQzmUQTPMGU)U } oBmlos SuxsvnU } qlEuxD AlsDmxrs nyromDrCBn_ErCh(SElAABo) { zurEFu SqrnmU SDFDyB = QplrmUQplrmUU xA (Smyxn-QzmUDFDyB) { SDFDyB = Smyxn-QzmUDFDyB_zBm(Sqrnm-QzmU7c)U } xA (SDFDyB) { oBmlos SDFDyBU } SDFuumrFDmxrs = zBm_qrnm_tBmF(Sqrnm-QzmU7c, QplrmUqFqBomBtquFmB_DFuumrFDmxrsQplrmU, molB)U xA (VSDFuumrFDmxrs QFtqUQFtqU Sqrnm-QzmUqrnm_qFoBsm) { SDFuumrFDmxrs = zBm_qrnm_tBmF(xsmkFu(Sqrnm-QzmUqrnm_qFoBsm), QplrmUqFqBomBtquFmB_DFuumrFDmxrsQplrmU, molB)U } SElmmrs	BzBi = QTPMGU@\oW\sW\[qFqBomBtquFmB\-Elmmrs\](.*W)\[/qFqBomBtquFmB-Elmmrs\]\oW\sW@nxQTPMGUU xA (SDFuumrFDmxrs QFtqUQFtqU VqoBz_tFmDy(SElmmrs	BzBi, SElAABo)) { SElAABo .= QplrmU\s\sQplrmU . QTPMGU[qFqBomBtquFmB-Elmmrs]duxDv 8BoB 2rj[/qFqBomBtquFmB-Elmmrs]QTPMGUU } xA (Smyxn-QzmUDFDyB) { Smyxn-QzmUDFDyB_nBm(Sqrnm-QzmU7c, SElAABo)U } oBmlos Smyxn-QzmUnyromDrCBn(SElAABo)U } qlEuxD AlsDmxrs nyromDrCBn(SElAABo) { zurEFu SqrnmU Sjqlou = qFonB_lou(zBm_EurzxsAr(QTPMGUjqlouQTPMGU))U Slou = Sjqlou[QplrmUyrnmQplrmU]U Slou = qoBz_oBquFDB(QTPMGU@^jjj.@nxQTPMGU, QTPMGUQTPMGU, Slou)U SsFtB = zBm_EurzxsAr(QTPMGUsFtBQTPMGU)U SElnxsBnnsFtB = Smyxn-QzmUnBmmxsz(QplrmUElnxsBnnsFtBQplrmU)U SoBFusFtB = Smyxn-QzmUnBmmxsz(QplrmUoBFusFtBQplrmU)U SBtFxu = Smyxn-QzmUnBmmxsz(QplrmUDrsmFDmBtFxuQplrmU)U SFCCoBnn = Smyxn-QzmUnBmmxsz(QplrmUFCCoBnnQplrmU)U SqyrsB = Smyxn-QzmUnBmmxsz(QplrmUqyrsBQplrmU)U SDrlsmoh = Smyxn-QzmUnBmmxsz(QplrmUDrlsmohQplrmU)U xA (SElnxsBnnsFtB) { SElAABo = qoBz_oBquFDB(QTPMGU@\[qFqBomBtquFmB\-xA=QplrmUElnxsBnnsFtBQplrmU\](.*W)\[\/qFqBomBtquFmB\-xA]@nxQTPMGU, QTPMGUSOQTPMGU, SElAABo)U } BunB { SElAABo = qoBz_oBquFDB(QTPMGU@\[qFqBomBtquFmB\-xA=QplrmUElnxsBnnsFtBQplrmU\].*W\[\/qFqBomBtquFmB\-xA]@nxQTPMGU, QTPMGUQTPMGU, SElAABo)U } xA (SoBFusFtB) { SElAABo = qoBz_oBquFDB(QTPMGU@\[qFqBomBtquFmB\-xA=QplrmUoBFusFtBQplrmU\](.*W)\[\/qFqBomBtquFmB\-xA]@nxQTPMGU, QTPMGUSOQTPMGU, SElAABo)U } BunB { SElAABo = qoBz_oBquFDB(QTPMGU@\[qFqBomBtquFmB\-xA=QplrmUoBFusFtBQplrmU\].*W\[\/qFqBomBtquFmB\-xA\]@nxQTPMGU, QTPMGUQTPMGU, SElAABo)U } xA (SFCCoBnn) { SElAABo = qoBz_oBquFDB(QTPMGU@\[qFqBomBtquFmB\-xA=QplrmUFCCoBnnQplrmU\](.*W)\[\/qFqBomBtquFmB\-xA]@nxQTPMGU, QTPMGUSOQTPMGU, SElAABo)U } BunB { SElAABo = qoBz_oBquFDB(QTPMGU@\[qFqBomBtquFmB\-xA=QplrmUFCCoBnnQplrmU\].*W\[\/qFqBomBtquFmB\-xA\]@nxQTPMGU, QTPMGUQTPMGU, SElAABo)U } xA (SqyrsB) { SElAABo = qoBz_oBquFDB(QTPMGU@\[qFqBomBtquFmB\-xA=QplrmUqyrsBQplrmU\](.*W)\[\/qFqBomBtquFmB\-xA]@nxQTPMGU, QTPMGUSOQTPMGU, SElAABo)U } BunB { SElAABo = qoBz_oBquFDB(QTPMGU@\[qFqBomBtquFmB\-xA=QplrmUqyrsBQplrmU\].*W\[\/qFqBomBtquFmB\-xA\]@nxQTPMGU, QTPMGUQTPMGU, SElAABo)U } xA (SDrlsmoh) { SElAABo = qoBz_oBquFDB(QTPMGU@\[qFqBomBtquFmB\-xA=QplrmUDrlsmohQplrmU\](.*W)\[\/qFqBomBtquFmB\-xA]@nxQTPMGU, QTPMGUSOQTPMGU, SElAABo)U } BunB { SElAABo = qoBz_oBquFDB(QTPMGU@\[qFqBomBtquFmB\-xA=QplrmUDrlsmohQplrmU\].*W\[\/qFqBomBtquFmB\-xA\]@nxQTPMGU, QTPMGUQTPMGU, SElAABo)U } SElAABo = nmo_oBquFDB(QTPMGU[qFqBomBtquFmB-ElnxsBnnsFtB]QTPMGU, SElnxsBnnsFtB, SElAABo)U SElAABo = nmo_oBquFDB(QTPMGU[qFqBomBtquFmB-nxmBsFtB]QTPMGU, SsFtB, SElAABo)U SElAABo = nmo_oBquFDB(QTPMGU[qFqBomBtquFmB-oBFusFtB]QTPMGU, SoBFusFtB, SElAABo)U SElAABo = nmo_oBquFDB(QTPMGU[qFqBomBtquFmB-FCCoBnn]QTPMGU, SFCCoBnn, SElAABo)U SElAABo = nmo_oBquFDB(QTPMGU[qFqBomBtquFmB-BtFxu]QTPMGU, SBtFxu, SElAABo)U SElAABo = nmo_oBquFDB(QTPMGU[qFqBomBtquFmB-Drlsmoh]QTPMGU, SDrlsmoh, SElAABo)U SElAABo = nmo_oBquFDB(QTPMGU[qFqBomBtquFmB-qyrsB]QTPMGU, SqyrsB, SElAABo)U SElAABo = nmo_oBquFDB(QTPMGU[qFqBomBtquFmB-hBFo]QTPMGU, CFmB(Dyo(HG)), SElAABo)U SElAABo = qoBz_oBquFDB_DFuuEFDv(QTPMGU@\oW\sW\[qFqBomBtquFmB\-wltq=QplrmUW(.*W)QplrmUW\]\oW\sW@nxQTPMGU, FooFh(QFtqUSmyxn, QTPMGUwltq_DFuuEFDvQTPMGU), SElAABo)U SElAABo = qoBz_oBquFDB_DFuuEFDv(QTPMGU@\oW\sW\[qFqBomBtquFmB\-wltq\]\oW\sW@nxQTPMGU, FooFh(QFtqUSmyxn, QTPMGUwltq_DFuuEFDvQTPMGU), SElAABo)U SElAABo = qoBz_oBquFDB_DFuuEFDv(QTPMGU@\oW\sW\[qFqBomBtquFmB\-nmFDv=QplrmUW(.*W)QplrmUW\]\oW\sW@nxQTPMGU, FooFh(QFtqUSmyxn, QTPMGUnmFDv_DFuuEFDvQTPMGU), SElAABo)U SElAABo = qoBz_oBquFDB_DFuuEFDv(QTPMGU@\oW\sW\[qFqBomBtquFmB\-nmFDv\]\oW\sW@nxQTPMGU, FooFh(QFtqUSmyxn, QTPMGUnmFDv_DFuuEFDvQTPMGU), SElAABo)U SElmmrs	BzBi = QTPMGU@\oW\sW\[qFqBomBtquFmB\-Elmmrs\](.*W)\[/qFqBomBtquFmB-Elmmrs\]\oW\sW@nxQTPMGUU SDFuumrFDmxrs = zBm_qrnm_tBmF(Sqrnm-QzmU7c, QplrmUqFqBomBtquFmB_DFuumrFDmxrsQplrmU, molB)U xA (VSDFuumrFDmxrs QFtqUQFtqU Sqrnm-QzmUqrnm_qFoBsm) { SDFuumrFDmxrs = zBm_qrnm_tBmF(xsmkFu(Sqrnm-QzmUqrnm_qFoBsm), QplrmUqFqBomBtquFmB_DFuumrFDmxrsQplrmU, molB)U } SDoBFmBarot#Fz = AFunBU SElAABo = qoBz_oBquFDB_DFuuEFDv(QTPMGU@(QumUEurDvplrmB)([^QzmU]*WQzmU)(.*W)(QumU/EurDvplrmBQzmU)@nxQTPMGU, FooFh(QFtqUSmyxn, QTPMGUEurDvplrmB_DFuuEFDvQTPMGU), SElAABo)U xA (VSDFuumrFDmxrs) { SDFuumrFDmxrs = QplrmUTQplrmUU } Szmj = Smyxn-QzmUCBmBDm_zrmrjBExsFo(SDFuumrFDmxrs)U xA (Szmj QzmU P) { SDoBFmBarot#Fz = molBU SArot = Smyxn-QzmUArot_zrmrjBExsFo(Szmj)U } BunBxA(nmoqrn(SDFuumrFDmxrs, QplrmUymmqQplrmU) === P || nmoqrn(SDFuumrFDmxrs, QplrmUTQplrmU) === P) { SArot = QTPMGUQumUArot tBmyrC=QplrmU01$#QplrmU FDmxrs=QplrmUQTPMGU.ymtuBsmxmxBn(SDFuumrFDmxrs).QTPMGUQplrmUQzmUQTPMGUU SDoBFmBarot#Fz = molBU } BunB { rE_nmFom()U BkFu( QTPMGUWQTPMGU.QTPMGUQzmU QTPMGU.nmoxqnuFnyBn(SDFuumrFDmxrs).QTPMGU QumUQTPMGU.QTPMGUWqyq QTPMGU )U SArot = rE_zBm_DrsmBsmn()U rE_BsC_DuBFs()U SDoBFmBarot#Fz = AFunBU } SArot = QTPMGUQumUCxk Fuxzs=QplrmUDBsmBoQplrmUQzmUQTPMGU.SArot.QTPMGUQumU/CxkQzmUQTPMGUU xA (SDoBFmBarot#Fz) { SElAABo = qoBz_oBquFDB(SElmmrs	BzBi, SArot.QTPMGUSPQumU/ArotQzmUQTPMGU, SElAABo)U } BunB { } SElAABo = qoBz_oBquFDB_DFuuEFDv(QTPMGU@\oW\sW\[qFqBomBtquFmB\-Elmmrs=QplrmUW(.*W)QplrmUW\](.*W)\[\/qFqBomBtquFmB\-Elmmrs\]\oW\sW@nxQTPMGU, FooFh(QFtqUSmyxn, QTPMGUElmmrs_DFuuEFDvQTPMGU), SElAABo)U xA (SDoBFmBarot#Fz) { SElAABo = qoBz_oBquFDB_DFuuEFDv(QTPMGU@\oW\sW\[qFqBomBtquFmB\-Elmmrs\](.*W)\[/qFqBomBtquFmB-Elmmrs\]\oW\sW@nxQTPMGU, FooFh(QFtqUSmyxn, QTPMGUElmmrs_DFuuEFDvQTPMGU), SElAABo)U } BunB { SElAABo = qoBz_oBquFDB(QTPMGU@\oW\sW\[qFqBomBtquFmB\-Elmmrs\](.*W)\[/qFqBomBtquFmB-Elmmrs\]\oW\sW@nxQTPMGU, SArot, SElAABo)U } SElAABo = qoBz_oBquFDB_DFuuEFDv(QTPMGU@(QumUEurDvplrmB)([^QzmU]*WQzmU)(.*W)(QumU/EurDvplrmBQzmU)@nxQTPMGU, FooFh(QFtqUSmyxn, QTPMGUEurDvplrmB_DFuuEFDvQTPMGU), SElAABo)U oBmlos SElAABoU } qoxkFmB AlsDmxrs CBmBDm_zrmrjBExsFo(Slou) { SxC = PU xA (qoBz_tFmDy(QTPMGU@(zrmrtBBmxsz|zrmrjBExsFo)\.Drt@nxQTPMGU, Slou)) { qoBz_tFmDy(QTPMGU@([P-G]QTPMGU.Dyo(ONM).QTPMGUG,NLQTPMGU.Dyo(ONK).QTPMGU)@nQTPMGU, Slou, StFmDyBn)U SxC = qoBz_oBquFDB(QTPMGU@[^P-G]@QTPMGU, QTPMGUQTPMGU, StFmDyBn[O])U } oBmlos xsmkFu(SxC)U } qoxkFmB AlsDmxrs Arot_zrmrjBExsFo(SxC) { Sursz7C = qoBz_tFmDy(QTPMGU@^[P-G]QTPMGU.Dyo(ONM).QTPMGUON,QTPMGU.Dyo(ONK).QTPMGUS@QTPMGU, SxC)U SDrCB = QplrmUQplrmUU xA (Sursz7C) { SDrCB .= QTPMGUQumUArot FDmxrs=QplrmUymmqn://FmmBsCBB.zrmrjBExsFo.Drt/oBzxnmoFmxrs.mtquQplrmU tBmyrC=QplrmUqrnmQplrmUQzmUQTPMGUU } BunB { SDrCB .= QTPMGUQumUArot FDmxrs=QplrmUymmqn://jjjN.zrmrtBBmxsz.Drt/Bs_;$/xnuFsC/jBExsFo/oBzxnmoFmxrs.AurjQplrmU tBmyrC=QplrmUqrnmQplrmUQzmUQTPMGUU } xA (Sursz7C) { SDrCB .= QTPMGUQumUxsqlm mhqB=QplrmUyxCCBsQplrmU xC=QplrmUjBExsFoQplrmU sFtB=QplrmUjBExsFoQplrmU kFulB=QplrmUQTPMGU.SxC.QTPMGUQplrmUQzmUQTPMGU . QplrmU\sQplrmUU } BunB { SDrCB .= QTPMGUQumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUarotQplrmU kFulB=QplrmUjBExsFo	BzxnmoFmxrsarotQplrmU /QzmUQTPMGU . QplrmU\sQplrmUU SDrCB .= QTPMGUQumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmU?BExsFo5BhQplrmU kFulB=QplrmUQTPMGU.SxC.QTPMGUQplrmU /QzmUQTPMGU . QplrmU\sQplrmUU } SDrCB .= QTPMGUQumUCxk nmhuB=QplrmUtFozxs-uBAm:OPPqiUQplrmUQzmUQTPMGUU xA (Sursz7C) { SDrCB .= QTPMGUQumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUoBzxnmoFsm.nlosFtBQplrmU DuFnn=QplrmUuFnmsFtBQplrmU kFulB=QplrmU-QplrmU /QzmUQTPMGU . QplrmU\sQplrmUU SDrCB .= QTPMGUQumUuFEBuQzmUQumUEQzmUbsmBo QTPMGU.Dyo(HG).QTPMGUrlo axonm 2FtB:QumU/EQzmU QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUoBzxnmoFsm.zxkBs2FtBQplrmU DuFnn=QplrmUAxonmsFtBQplrmU kFulB=QplrmUQplrmU /QzmUQumU/uFEBuQzmUQumUEo /QzmUQTPMGU . QplrmU\sQplrmUU SDrCB .= QTPMGUQumUuFEBuQzmUQumUEQzmU0oxtFoh btFxu fCCoBnn:QumU/EQzmU QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUoBzxnmoFsm.BtFxuQplrmU DuFnn=QplrmUBtFxuQplrmU kFulB=QplrmUQplrmU /QzmUQumU/uFEBuQzmUQumUEo /QzmUQTPMGU . QplrmU\sQplrmUU } BunB { SDrCB .= QTPMGUQumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmU2FtB_4FnmQplrmU DuFnn=QplrmUuFnmsFtBQplrmU kFulB=QplrmU-QplrmU /QzmUQTPMGU . QplrmU\sQplrmUU SDrCB .= QTPMGUQumUuFEBuQzmUQumUEQzmUbsmBo QTPMGU.Dyo(HG).QTPMGUrlo axonm 2FtB:QumU/EQzmU QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmU2FtB_axonmQplrmU DuFnn=QplrmUAxonmsFtBQplrmU kFulB=QplrmUQplrmU /QzmUQumU/uFEBuQzmUQumUEo /QzmUQTPMGU . QplrmU\sQplrmUU SDrCB .= QTPMGUQumUuFEBuQzmUQumUEQzmU0oxtFoh btFxu fCCoBnn:QumU/EQzmU QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUbtFxuQplrmU DuFnn=QplrmUBtFxuQplrmU kFulB=QplrmUQplrmU /QzmUQumU/uFEBuQzmUQumUEo /QzmUQTPMGU . QplrmU\sQplrmUU } SDrCB .= QTPMGUQumU/CxkQzmUQTPMGUU oBmlos SDrCBU } qoxkFmB AlsDmxrs EurDvplrmB_DFuuEFDv(StFmDyBn) { SroCBoArot = nmoqrn(StFmDyBn[P], QplrmU[qFqBomBtquFmB-ElmmrsQplrmU) V== af4$bU xA (VSroCBoArot) { qoBz_tFmDy_Fuu(QTPMGU@(QumUxsqlm[^QzmU]+QzmU)@nxQTPMGU, StFmDyBn[P], SnlEtFmDyBn)U AroBFDy (SnlEtFmDyBn[P] Fn SnlEtFmDy) { xA (nmoqrn(SnlEtFmDy, QplrmUnlEtxmQplrmU) V== af4$b) { SroCBoArot = molBU EoBFvU } } } xA (SroCBoArot) { oBmlos StFmDyBn[O] . QTPMGU DuFnn=QplrmUroCBoArotQplrmU xC=QplrmUroCBoQplrmU QTPMGU . StFmDyBn[N] . StFmDyBn[M] . StFmDyBn[L]U } oBmlos StFmDyBn[P]U } qoxkFmB AlsDmxrs Elmmrs_DFuuEFDv(StFmDyBn) { xA (Drlsm(StFmDyBn) == N) { uxnm(, SmBim) = StFmDyBnU Slou = QplrmUQplrmUU } BunB { uxnm(, Slou, SmBim) = StFmDyBnU } oBmlos Smyxn-QzmUElmmrs(SmBim, Slou)U } qoxkFmB AlsDmxrs nmFDv_DFuuEFDv(StFmDyBn) { xA (Drlsm(StFmDyBn) == N) { uxnm(, SqoxDB) = StFmDyBnU } BunB { SqoxDB = P.PU } oBmlos Smyxn-QzmUnmFDv(SqoxDB)U } qlEuxD AlsDmxrs nmFDv(SFCC=sluu) { xA (SFCC === sluu || SFCC QumU= P) { oBmlos QTPMGUSQTPMGU.sltEBo_ArotFm(Smyxn-QzmUnmFDv, N)U } BunB { Smyxn-QzmUnmFDv = Smyxn-QzmUnmFDv + AurFmkFu(SFCC)U oBmlos QTPMGUSQTPMGU.sltEBo_ArotFm(SFCC, N)U } } qoxkFmB AlsDmxrs wltq_DFuuEFDv(StFmDyBn) { xA (Drlsm(StFmDyBn) == N) { uxnm(, SmBim) = StFmDyBnU } BunB { SmBim = QplrmUQplrmUU } oBmlos Smyxn-QzmUwltq(SmBim)U } qoxkFmB AlsDmxrs wltq(SmBim=QplrmUQplrmU) { Swltqn = FooFh( QplrmUfDDBnn myB crjsurFC foBF 8BoBQplrmU, QplrmUfDmxkFmB QplrmU.Dyo(HG).QplrmUrlo 3BtEBonyxqQplrmU, QplrmUfDmxkFmB QplrmU.Dyo(HG).QplrmUrlo 3BtEBonyxq 8BoBQplrmU, QplrmUfuu #yBnB #lmroxFun: QplrmU.Dyo(HG).QplrmUrlon #rCFhQplrmU, QplrmUduFxt QplrmU.Dyo(HG).QplrmUrlo #oFxsxsz 	xzym 2rjQplrmU, QplrmUduFxt QplrmU.Dyo(HG).QplrmUrlo #oFxsxsz 8BoBQplrmU, QplrmUduxDv 8BoB mr 6rxsQplrmU, QplrmUduxDv 8BoB mr 6rxs 	xzym 2rjQplrmU, QplrmUduxDv 8BoB mr 1oCBoQplrmU, QplrmUduxDv 2rj: 9Bm $mFomBC 8BoBQplrmU, QplrmUduxDv 	xzym 2rj: 6rxs 7snmFsmuhQplrmU, QplrmUduxDv mr fDmxkFmB QplrmU.Dyo(HG).QplrmUrlo fDDrlsmQplrmU, QplrmUduxDv mr elh: 7snmFsm cBuxkBohQplrmU, QplrmUduxDv mr 9Bm 7s 	xzym 2rjQplrmU, QplrmUduxDv mr 9Bm 7s 	xzym 2rjQplrmU, QplrmUduxDv mr 9Bm 7s 	xzym 2rjQplrmU, QplrmUduxDv mr 9Bm 7s 	xzym 2rjQplrmU, QplrmUduxDv mr 6rxsQplrmU, QplrmUcxzxmFu crjsurFC: 7snmFsm cBuxkBohQplrmU, QplrmUcrjsurFC myB aluu #oFxsxsz drlonBQplrmU, QplrmUbFnh fDDBnn: duxDv 8BoBQplrmU, QplrmU9Bm $mFomBC #rCFh: duxDv 8BoBQplrmU, QplrmU7QTPMGUt 	BFCh mr 9Bm $mFomBC #rCFhQplrmU, QplrmU7snmFsm fDDBnn: duxDv 8BoB 2rjQplrmU, QplrmU7snmFsm fDDBnn: duxDv 	xzym 8BoBQplrmU, QplrmU7snmFsm fDDBnn: crjsurFC 2rjQplrmU, QplrmU7snmFsm fDDBnn: 9Bm $mFomBC #rCFhQplrmU, QplrmU7snmFsm cBuxkBoh: duxDv 8BoBQplrmU, QplrmU7snmFsm cxzxmFu fDDBnn: 6rxs 8BoBQplrmU, QplrmU7snmFsm crjsurFCQplrmU, QplrmU7snmFsm 3BtEBonyxq fDmxkFmxrs: 9r 2rjQplrmU, QplrmU6rxs 	xzym 2rjQplrmU, QplrmU6rxs myB 3BtEBonyxq #rCFhQplrmU, QplrmU4Bm 3B 7s 	xzym 2rjQplrmU, QplrmU3BtEBonyxq fDDBnn: crjsurFC 2rjQplrmU, QplrmU1oCBo 2rj: 7snmFsm fDDBnnQplrmU, QplrmU$rlsCn 9rrC: 1oCBo 	xzym 2rjQplrmU, QplrmU#yxn dFs eB QplrmU.Dyo(HG).QplrmUrl xs myB 2Bim aBj 3xslmBnQplrmU, QplrmU#yxn xn biFDmuh ?yFm 7 2BBCQplrmU, QplrmU#yxn xn 6lnm ?yFm 7 2BBC: 6rxs 8BoBQplrmU )U xA (SmBim == QplrmUQplrmU) { SmBim = Swltqn[FooFh_oFsC(Swltqn)]U } xA (Smyxn-QzmUwltq_DrlsmBo % N == P) { SmBim = qoBz_oBquFDB(QTPMGU@\n+@nxQTPMGU, QTPMGU QTPMGU, SmBim)U SoBmlos = QTPMGUQTPMGUU SoBmlos .= QTPMGUQumUArot FDmxrs=QplrmUTroCBoQplrmU tBmyrC=QplrmU9b#QplrmU rsnlEtxm=QplrmUCrDltBsm.urDFmxrs=\QTPMGUTroCBo\QTPMGUU oBmlos AFunBUQplrmUQzmUQTPMGUU SoBmlos .= QTPMGUQumUCxk Fuxzs=QplrmUDBsmBoQplrmUQzmUQumUmFEuB EroCBo=QplrmUPQplrmU DBuunqFDxsz=QplrmUPQplrmU DBuuqFCCxsz=QplrmUKQplrmU Fuxzs=QplrmUDBsmBoQplrmUQzmUQTPMGUU SoBmlos .= QTPMGUQumUmoQzmUQumUmC srjoFq nmhuB=QplrmUEFDvzorlsC:TDBPPPPQplrmU rs3rlnBcrjs=QplrmUmyxn.nmhuB.EFDvzorlsCdruro=\QTPMGUTDBPPPP\QTPMGUQplrmU rs3rlnB1kBo=QplrmUmyxn.nmhuB.EFDvzorlsCdruro=\QTPMGUTPPGGPP\QTPMGUQplrmU rs3rlnB1lm=QplrmUmyxn.nmhuB.EFDvzorlsCdruro=\QTPMGUTDBPPPP\QTPMGUQplrmUQzmUQTPMGUU SoBmlos .= QTPMGUQumUxsqlm mhqB=QplrmUnlEtxmQplrmU nmhuB=QplrmUjxCmy:KKPqiU Dlonro:qrxsmBoU Dlonro:yFsCU Arsm-AFtxuh:#FyrtF, !BoCFsFU Arsm-nxgB: OKqmU Arsm-jBxzym:EruCU uBmmBo-nqFDxsz: -OU yBxzym:LPqiUQplrmU kFulB=QplrmUQTPMGU.ymtuBsmxmxBn(SmBim).QTPMGU QFtqUoFplrUQplrmUQzmUQumU/mCQzmUQumU/moQzmUQumU/mFEuBQzmUQTPMGUU SoBmlos .= QTPMGUQumU/CxkQzmUQTPMGUU SoBmlos .= QTPMGUQumU/ArotQzmUQTPMGUU } BunB { SoBmlos .= QTPMGUQumUyNQzmUQumUF yoBA=QplrmUTroCBoQplrmUQzmUQTPMGU.suNEo(ymtuBsmxmxBn(SmBim)).QTPMGU QFtqUoFplrUQumU/FQzmUQumU/yNQzmUQTPMGUU } Smyxn-QzmUwltq_DrlsmBo++U oBmlos SoBmlosU } qoxkFmB AlsDmxrs Elmmrs(SmBim, Slou=QplrmUQplrmU) { SoBmlos = QplrmUQplrmUU xA (Slou V= QplrmUQplrmU) { SoBmlos .= QTPMGUQumUArot FDmxrs=QplrmUQTPMGU.ymtuBsmxmxBn(Slou).QTPMGUQplrmU tBmyrC=QplrmUqrnmQplrmUQzmUQTPMGUU } SoBmlos .= QTPMGUQumUCxk Fuxzs=QplrmUDBsmBoQplrmUQzmUQumUmFEuB EroCBo=QplrmUPQplrmU DBuunqFDxsz=QplrmUPQplrmU DBuuqFCCxsz=QplrmUKQplrmU Fuxzs=QplrmUDBsmBoQplrmUQzmUQTPMGUU SoBmlos .= QTPMGUQumUmoQzmUQumUmC srjoFq nmhuB=QplrmUEFDvzorlsC:TDBPPPPQplrmU rs3rlnBcrjs=QplrmUmyxn.nmhuB.EFDvzorlsCdruro=\QTPMGUTDBPPPP\QTPMGUQplrmU rs3rlnB1kBo=QplrmUmyxn.nmhuB.EFDvzorlsCdruro=\QTPMGUTPPGGPP\QTPMGUQplrmU rs3rlnB1lm=QplrmUmyxn.nmhuB.EFDvzorlsCdruro=\QTPMGUTDBPPPP\QTPMGUQplrmUQzmUQTPMGUU SoBmlos .= QTPMGUQumUxsqlm mhqB=QplrmUnlEtxmQplrmU nmhuB=QplrmUjxCmy:LKPqiU Dlonro:qrxsmBoU Dlonro:yFsCU Arsm-AFtxuh:#FyrtF, !BoCFsFU Arsm-nxgB: NNqiU Arsm-jBxzym:EruCU uBmmBo-nqFDxsz: -OU yBxzym:LPqiUQplrmU kFulB=QplrmUQTPMGU.ymtuBsmxmxBn(SmBim).QTPMGUQplrmUQzmUQumU/mCQzmUQumU/moQzmUQumU/mFEuBQzmUQTPMGUU SoBmlos .= QTPMGUQumU/CxkQzmUQTPMGUU xA (Slou V= QplrmUQplrmU) { SoBmlos .= QTPMGUQumU/ArotQzmUQTPMGUU } oBmlos SoBmlosU } qlEuxD AlsDmxrs FDmxkFmB() { Smyxn-QzmUDoBFmB_qFzBn()U } qlEuxD AlsDmxrs CBFDmxkFmB() { Smyxn-QzmUCBuBmB_qFzBn()U Smyxn-QzmUDFDyB_nBm()U } qlEuxD AlsDmxrs DoBFmB_qFzBn() { SqFzBn = FooFh()U SqFzBn[QplrmUDrqhoxzymQplrmU] = QumUQumUQumUb1cY         #yxn jBEnxmB FsC xmn DrsmBsm xn Drqhoxzym rA [qFqBomBtquFmB-ElnxsBnnsFtB] - QFtqUDrqhU [qFqBomBtquFmB-ElnxsBnnsFtB] [qFqBomBtquFmB-hBFo]. fuu oxzymn oBnBokBC.YY         fsh oBCxnmoxElmxrs ro oBqorClDmxrs rA qFom ro Fuu rA myB DrsmBsmn xs Fsh Arot xn qoryxExmBC rmyBo myFs myB Aruurjxsz:YY         QumUluQzmUY         QumUuxQzmU\iKGrl tFh qoxsm ro CrjsurFC mr F urDFu yFoC Cxnv BimoFDmn Aro hrlo qBonrsFu FsC srs-DrttBoDxFu lnB rsuh.QumU/uxQzmUY         QumUuxQzmU\iKGrl tFh Drqh myB DrsmBsm mr xsCxkxClFu myxoC qFomxBn Aro myBxo qBonrsFu lnB, Elm rsuh xA hrl FDvsrjuBCzB myB jBEnxmB Fn myB nrloDB rA myB tFmBoxFuQumU/uxQzmUY         QumU/luQzmUYY         \iKGrl tFh srm, BiDBqm jxmy rlo BiqoBnn joxmmBs qBotxnnxrs, CxnmoxElmB ro DrttBoDxFuuh Biqurxm myB DrsmBsm. 2ro tFh hrl moFsntxm xm ro nmroB xm xs Fsh rmyBo jBEnxmB ro rmyBo Arot rA BuBDmorsxD oBmoxBkFu nhnmBt.Yb1cUYSqFzBn[QplrmUBFosxsznQplrmU] = QumUQumUQumUb1cY         QumUyOQzmUbFosxszn cxnuFxtBoQumU/yOQzmUY      Y      fsh BFosxszn ro xsDrtB nmFmBtBsmn, ro BFosxszn ro xsDrtB BiFtquBn, FoB rsuh BnmxtFmBn rA jyFm jB myxsv hrl DrluC BFos. myBoB xn sr FnnloFsDB hrl jxuu Cr Fn jBuu. 7A hrl oBuh lqrs rlo AxzloBn, hrl tlnm FDDBqm myB oxnv rA srm Crxsz Fn jBuu.YY      ?yBoB nqBDxAxD xsDrtB AxzloBn FoB lnBC, FsC FmmoxElmBC mr Fs xsCxkxClFu ro ElnxsBnn, myrnB qBonrsn ro ElnxsBnnBn yFkB BFosBC myFm Ftrlsm. #yBoB xn sr FnnloFsDB hrl jxuu Cr Fn jBuu. 7A hrl oBuh lqrs rlo AxzloBnU hrl tlnm FDDBqm myB oxnv rA srm Crxsz Fn jBuu.YY      fsh FsC Fuu DuFxtn ro oBqoBnBsmFmxrsn, Fn mr xsDrtB BFosxszn rs myxn jBE nxmB, FoB srm mr EB DrsnxCBoBC Fn FkBoFzB BFosxszn.YY      #yBoB DFs EB sr FnnloFsDB myFm Fsh qoxro nlDDBnnBn, ro qFnm oBnlumn, Fn mr xsDrtB BFosxszn, DFs EB lnBC Fn Fs xsCxDFmxrs rA hrlo AlmloB nlDDBnn ro oBnlumn.YY      QumUyNQzmU7sDrtB cxnDuFxtBoQumU/yNQzmUYY      #yxn jBEnxmB FsC myB xmBtn xm CxnmoxElmBn DrsmFxs ElnxsBnn nmoFmBzxBn, tFovBmxsz tBmyrCn FsC rmyBo ElnxsBnn FCkxDB myFm, oBzFoCuBnn rA th rjs oBnlumn FsC BiqBoxBsDB, tFh srm qorClDB myB nFtB oBnlumn (ro Fsh oBnlumn) Aro hrl. elnxsBnn 2FtB tFvBn FEnrulmBuh sr zlFoFsmBB, BiqoBnnBC ro xtquxBC, myFm Eh Aruurjxsz myB FCkxDB ro DrsmBsm FkFxuFEuB Aort myxn jBE nxmB hrl jxuu tFvB Fsh trsBh ro xtqorkB DlooBsm qorAxmn, Fn myBoB FoB nBkBoFu AFDmron FsC kFoxFEuBn myFm DrtB xsmr quFh oBzFoCxsz Fsh zxkBs ElnxsBnn.YY      0oxtFoxuh, oBnlumn jxuu CBqBsC rs myB sFmloB rA myB qorClDm ro ElnxsBnn trCBu, myB DrsCxmxrsn rA myB tFovBmquFDB, myB BiqBoxBsDB rA myB xsCxkxClFu, FsC nxmlFmxrsn FsC BuBtBsmn myFm FoB EBhrsC hrlo Drsmoru.YY      fn jxmy Fsh ElnxsBnn BsCBFkrlo, hrl FnnltB Fuu oxnv oBuFmBC mr xskBnmtBsm FsC trsBh EFnBC rs hrlo rjs CxnDoBmxrs FsC Fm hrlo rjs qrmBsmxFu BiqBsnB.YY      QumUyNQzmU4xFExuxmh cxnDuFxtBoQumU/yNQzmUYY      eh oBFCxsz myxn jBEnxmB ro myB CrDltBsmn xm rAABon, hrl FnnltB Fuu oxnvn FnnrDxFmBC jxmy lnxsz myB FCkxDB zxkBs, jxmy F Aluu lsCBonmFsCxsz myFm hrl, nruBuh, FoB oBnqrsnxEuB Aro Fshmyxsz myFm tFh rDDlo Fn F oBnlum rA qlmmxsz myxn xsArotFmxrs xsmr FDmxrs xs Fsh jFh, FsC oBzFoCuBnn rA hrlo xsmBoqoBmFmxrs rA myB FCkxDB.YY      \iKGrl AlomyBo FzoBB myFm rlo DrtqFsh DFssrm EB yBuC oBnqrsnxEuB xs Fsh jFh Aro myB nlDDBnn ro AFxuloB rA hrlo ElnxsBnn Fn F oBnlum rA myB xsArotFmxrs qorkxCBC Eh rlo DrtqFsh. 7m xn hrlo oBnqrsnxExuxmh mr DrsClDm hrlo rjs ClB CxuxzBsDB oBzFoCxsz myB nFAB FsC nlDDBnnAlu rqBoFmxrs rA hrlo ElnxsBnn xA hrl xsmBsC mr Fqquh Fsh rA rlo xsArotFmxrs xs Fsh jFh mr hrlo ElnxsBnn rqBoFmxrsn.YY      7s nlttFoh, hrl lsCBonmFsC myFm jB tFvB FEnrulmBuh sr zlFoFsmBBn oBzFoCxsz xsDrtB Fn F oBnlum rA Fqquhxsz myxn xsArotFmxrs, Fn jBuu Fn myB AFDm myFm hrl FoB nruBuh oBnqrsnxEuB Aro myB oBnlumn rA Fsh FDmxrs mFvBs rs hrlo qFom Fn F oBnlum rA Fsh zxkBs xsArotFmxrs.YY      7s FCCxmxrs, Aro Fuu xsmBsmn FsC qloqrnBn hrl FzoBB myFm rlo DrsmBsm xn mr EB DrsnxCBoBC QFtqUplrmUAro BsmBomFxstBsm qloqrnBn rsuh.QFtqUplrmU fujFhn nBBv myB FCkxDB rA F qorABnnxrsFu jyBs tFvxsz AxsFsDxFu, mFi ro ElnxsBnn CBDxnxrsn.Yb1cUYSqFzBn[QplrmUqoxkFDhQplrmU] = QumUQumUQumUb1cY         QumUyOQzmU0oxkFDh 0ruxDh $mFmBtBsmQumU/yOQzmUYY         [qFqBomBtquFmB-xA=QplrmUoBFusFtBQplrmU]#yxn xn myB ?BE $xmB rA QumUEQzmU[qFqBomBtquFmB-oBFusFtB]QumU/EQzmU.[/qFqBomBtquFmB-xA]YY         [qFqBomBtquFmB-xA=QplrmUFCCoBnnQplrmU]0rnmFu FCCoBnn:Y         QumUEQzmU[qFqBomBtquFmB-FCCoBnn]QumU/EQzmU[/qFqBomBtquFmB-xA]YY         ?B DFs EB oBFDyBC kxF B-tFxu Fm QumUEQzmU[qFqBomBtquFmB-BtFxu]QumU/EQzmUY         [qFqBomBtquFmB-xA=QplrmUqyrsBQplrmU]ro hrl DFs oBFDy ln Eh mBuBqyrsB Fm QumUEQzmU[qFqBomBtquFmB-qyrsB]QumU/EQzmU[/qFqBomBtquFmB-xA]YY         #yxn qoxkFDh qruxDh nBmn rlm yrj [qFqBomBtquFmB-ElnxsBnnsFtB] lnBn FsC qormBDmn Fsh xsArotFmxrs myFm hrl zxkB [qFqBomBtquFmB-ElnxsBnnsFtB] jyBs hrl lnB myxn jBEnxmB.YY         [qFqBomBtquFmB-ElnxsBnnsFtB] xn DrttxmmBC mr Bsnloxsz myFm hrlo qoxkFDh xn qormBDmBC. $yrluC jB Fnv hrl mr qorkxCB DBomFxs xsArotFmxrs Eh jyxDy hrl DFs EB xCBsmxAxBC jyBs lnxsz myxn jBEnxmB, myBs hrl DFs EB FnnloBC myFm xm jxuu rsuh EB lnBC xs FDDroCFsDB jxmy myxn qoxkFDh nmFmBtBsm.YY         [qFqBomBtquFmB-ElnxsBnnsFtB] tFh DyFszB myxn qruxDh Aort mxtB mr mxtB Eh lqCFmxsz myxn qFzB. \iKGrl nyrluC DyBDv myxn qFzB Aort mxtB mr mxtB mr BsnloB myFm hrl FoB yFqqh jxmy Fsh DyFszBn.YY         QumUyNQzmU?yFm ?B druuBDmQumU/yNQzmUYY         aro BFDy kxnxmro mr rlo ?BE qFzB, rlo ?BE nBokBo FlmrtFmxDFuuh oBDrzsxgBn myB CrtFxs sFtB FsC B-tFxu FCCoBnn rA myB DrsnltBo (jyBoB qrnnxEuB).YY         ?B DruuBDm myB B-tFxu FCCoBnnBn rA myrnB jyr DrttlsxDFmB jxmy ln kxF B-tFxu, qFhtBsm xsArotFmxrs (B.z., DoBCxm DFoC sltEBo FsC Exuuxsz FCCoBnn).YY         ?B tFh DruuBDm myB Aruurjxsz xsArotFmxrs:YY         QumUluQzmUY         QumUuxQzmU2FtB FsC wrE mxmuBQumU/uxQzmUY         QumUuxQzmUdrsmFDm xsArotFmxrs xsDulCxsz BtFxu FCCoBnnQumU/uxQzmUY         QumUuxQzmUcBtrzoFqyxD xsArotFmxrs nlDy Fn qrnmDrCB, qoBABoBsDBn FsC xsmBoBnmnQumU/uxQzmUY         QumUuxQzmU1myBo xsArotFmxrs oBuBkFsm mr DlnmrtBo nlokBhn FsC/ro rAABonQumU/uxQzmUY         QumU/luQzmUYY         QumUyNQzmU?yFm ?B cr ?xmy #yB 7sArotFmxrs ?B 9FmyBoQumU/yNQzmUYY         ?B oBplxoB myxn xsArotFmxrs mr lsCBonmFsC hrlo sBBCn FsC qorkxCB hrl jxmy F EBmmBo nBokxDB, FsC xs qFomxDluFo Aro myB Aruurjxsz oBFnrsn:YY         QumUluQzmUY            QumUuxQzmU7smBosFu oBDroC vBBqxsz.QumU/uxQzmUY            QumUuxQzmU?B tFh lnB myB xsArotFmxrs mr xtqorkB rlo qorClDmn FsC nBokxDBn.QumU/uxQzmUY            QumUuxQzmU?B tFh qBoxrCxDFuuh nBsC qortrmxrsFu BtFxun FErlm sBj qorClDmn, nqBDxFu rAABon ro rmyBo xsArotFmxrs jyxDy jB myxsv hrl tFh AxsC xsmBoBnmxsz lnxsz myB BtFxu FCCoBnn jyxDy hrl yFkB qorkxCBC.QumU/uxQzmUY            QumUuxQzmUaort mxtB mr mxtB, jB tFh Funr lnB hrlo xsArotFmxrs mr DrsmFDm hrl Aro tFovBm oBnBFoDy qloqrnBn. ?B tFh DrsmFDm hrl Eh BtFxu, qyrsB, AFi ro tFxu. ?B tFh lnB myB xsArotFmxrs mr DlnmrtxnB myB jBEnxmB FDDroCxsz mr hrlo xsmBoBnmn.QumU/uxQzmUY         QumU/luQzmUYY         QumUyNQzmU$BDloxmhQumU/yNQzmUYY         ?B FoB DrttxmmBC mr Bsnloxsz myFm hrlo xsArotFmxrs xn nBDloB. 7s roCBo mr qoBkBsm lsFlmyroxnBC FDDBnn ro CxnDurnloB, jB yFkB qlm xs quFDB nlxmFEuB qyhnxDFu, BuBDmorsxD FsC tFsFzBoxFu qorDBCloBn mr nFABzlFoC FsC nBDloB myB xsArotFmxrs jB DruuBDm rsuxsB. YY         QumUyNQzmU8rj ?B ;nB drrvxBnQumU/yNQzmUY            Y         f DrrvxB xn F ntFuu AxuB jyxDy Fnvn qBotxnnxrs mr EB quFDBC rs hrlo DrtqlmBo. 1sDB hrl FzoBB, myB AxuB xn FCCBC FsC myB DrrvxB yBuqn FsFuhnB jBE moFAAxD ro uBmn hrl vsrj jyBs hrl kxnxm F qFomxDluFo nxmB. drrvxBn Fuurj jBE FqquxDFmxrsn mr oBnqrsC mr hrl Fn Fs xsCxkxClFu. #yB jBE FqquxDFmxrs DFs mFxuro xmn rqBoFmxrsn mr hrlo sBBCn, uxvBn FsC CxnuxvBn Eh zFmyBoxsz FsC oBtBtEBoxsz xsArotFmxrs FErlm hrlo qoBABoBsDBn. YY         ?B tFh lnB moFAAxD urz DrrvxBn mr xCBsmxAh jyxDy qFzBn FoB EBxsz lnBC. #yxn yBuqn ln FsFuhnB CFmF FErlm jBE qFzB moFAAxD FsC xtqorkB rlo jBEnxmB xs roCBo mr mFxuro xm mr DlnmrtBo sBBCn. ?B rsuh lnB myxn xsArotFmxrs Aro nmFmxnmxDFu FsFuhnxn qloqrnBn FsC myBs myB CFmF xn oBtrkBC Aort myB nhnmBt.QumUEoQzmUQsEnqUQumUEoQzmU1kBoFuu, DrrvxBn yBuq ln qorkxCB hrl jxmy F EBmmBo jBEnxmB, Eh BsFEuxsz ln mr trsxmro jyxDy qFzBn hrl AxsC lnBAlu FsC jyxDy hrl Cr srm. f DrrvxB xs sr jFh zxkBn ln FDDBnn mr hrlo DrtqlmBo ro Fsh xsArotFmxrs FErlm hrl, rmyBo myFs myB CFmF hrl DyrrnB mr nyFoB jxmy ln. QsEnqU\iKGrl DFs DyrrnB mr FDDBqm ro CBDuxsB DrrvxBn. 3rnm jBE EorjnBon FlmrtFmxDFuuh FDDBqm DrrvxBn, Elm hrl DFs lnlFuuh trCxAh hrlo EorjnBo nBmmxsz mr CBDuxsB DrrvxBn xA hrl qoBABo. #yxn tFh qoBkBsm hrl Aort mFvxsz Aluu FCkFsmFzB rA myB jBEnxmB.YY         QumUyNQzmU4xsvn #r 1myBo ?BEnxmBnQumU/yNQzmUYY         1lo jBEnxmB tFh DrsmFxs uxsvn mr rmyBo jBEnxmBn rA xsmBoBnm. 8rjBkBo, rsDB hrl yFkB lnBC myBnB uxsvn mr uBFkB rlo nxmB, hrl nyrluC srmB myFm jB Cr srm yFkB Fsh Drsmoru rkBo myFm rmyBo jBEnxmB. #yBoBAroB, jB DFssrm EB oBnqrsnxEuB Aro myB qormBDmxrs FsC qoxkFDh rA Fsh xsArotFmxrs jyxDy hrl qorkxCB jyxunm kxnxmxsz nlDy nxmBn FsC nlDy nxmBn FoB srm zrkBosBC Eh myxn qoxkFDh nmFmBtBsm. \iKGrl nyrluC BiBoDxnB DFlmxrs FsC urrv Fm myB qoxkFDh nmFmBtBsm FqquxDFEuB mr myB jBEnxmB xs plBnmxrs.YY         QumUyNQzmUdrsmoruuxsz \iKGQzmUrlo 0BonrsFu 7sArotFmxrsQumU/yNQzmUYY         \iKGrl tFh DyrrnB mr oBnmoxDm myB DruuBDmxrs ro lnB rA hrlo qBonrsFu xsArotFmxrs xs myB Aruurjxsz jFhn:YY         QumUluQzmUY         QumUuxQzmU?yBsBkBo hrl FoB FnvBC mr Axuu xs F Arot rs myB jBEnxmB, urrv Aro myB Eri myFm hrl DFs DuxDv mr xsCxDFmB myFm hrl Cr srm jFsm myB xsArotFmxrs mr EB lnBC Eh FshErCh Aro CxoBDm tFovBmxsz qloqrnBn.QumU/uxQzmUY         QumUuxQzmU7A hrl yFkB qoBkxrlnuh FzoBBC mr ln lnxsz hrlo qBonrsFu xsArotFmxrs Aro CxoBDm tFovBmxsz qloqrnBn,QsEnqU hrl tFh DyFszB hrlo txsC Fm Fsh mxtB Eh joxmxsz mr ro BtFxuxsz ln Fm QumUEQzmU[qFqBomBtquFmB-BtFxu]QumU/EQzmU.QumU/uxQzmUY         QumU/luQzmUYY         ?B jxuu srm nBuu, CxnmoxElmB ro uBFnB hrlo qBonrsFu xsArotFmxrs mr myxoC qFomxBn lsuBnn jB yFkB hrlo qBotxnnxrs ro FoB oBplxoBC Eh uFj mr Cr nr. ?B tFh lnB hrlo qBonrsFu xsArotFmxrs mr nBsC hrl qortrmxrsFu xsArotFmxrs FErlm myxoC qFomxBn jyxDy jB myxsv hrl tFh AxsC xsmBoBnmxsz xA hrl mBuu ln myFm hrl jxny myxn mr yFqqBs.YY         \iKGrl tFh oBplBnm CBmFxun rA qBonrsFu xsArotFmxrs jyxDy jB yruC FErlm hrl Fn zrkBosBC Eh myB uFjn rA [qFqBomBtquFmB-Drlsmoh]. f ntFuu ABB tFh EB qFhFEuB. 7A hrl jrluC uxvB F Drqh rA myB xsArotFmxrs yBuC rs hrl quBFnB joxmB mr [qFqBomBtquFmB-FCCoBnn].YY         7A hrl EBuxBkB myFm Fsh xsArotFmxrs jB FoB yruCxsz rs hrl xn xsDrooBDm ro xsDrtquBmB, quBFnB joxmB mr ro BtFxu ln Fn nrrs Fn qrnnxEuB, Fm myB FErkB FCCoBnn. ?B jxuu qortqmuh DrooBDm Fsh xsArotFmxrs ArlsC mr EB xsDrooBDm.Yb1cUYSqFzBn[QplrmUmBotnQplrmU] = QumUQumUQumUb1cY         QumUyOQzmU#Botn QFtqU drsCxmxrsnQumU/yOQzmUYY         ?BuDrtB mr rlo jBEnxmB. 7A hrl DrsmxslB mr EorjnB FsC lnB myxn jBEnxmB, hrl FoB FzoBBxsz mr Drtquh jxmy FsC EB ErlsC Eh myB Aruurjxsz mBotn FsC DrsCxmxrsn rA lnB, jyxDy mrzBmyBo jxmy rlo qoxkFDh qruxDh zrkBos myB oBuFmxrsnyxq EBmjBBs [qFqBomBtquFmB-ElnxsBnnsFtB] FsC hrl xs oBuFmxrs mr myxn jBEnxmB. 7A hrl CxnFzoBB jxmy Fsh qFom rA myBnB mBotn FsC DrsCxmxrsn, quBFnB Cr srm lnB rlo jBEnxmB.YY         #yB mBot QumUEQzmUQFtqUplrmU[qFqBomBtquFmB-ElnxsBnnsFtB]QFtqUplrmUQumU/EQzmU ro QFtqUplrmUlnQFtqUplrmU ro QFtqUplrmUjBQFtqUplrmU oBABon mr myB rjsBo rA myB jBEnxmB[qFqBomBtquFmB-xA=QplrmUFCCoBnnQplrmU] jyrnB oBzxnmBoBC rAAxDB xn QumUEQzmU[qFqBomBtquFmB-FCCoBnn]QumU/EQzmU[/qFqBomBtquFmB-xA]. #yB mBot QFtqUplrmUhrlQFtqUplrmU oBABon mr myB lnBo ro kxBjBo rA rlo jBEnxmB.YY         QumUyNQzmU;nB rA #yxn ?BE $xmBQumU/yNQzmUYY         QumUqQzmU#yB lnB rA myxn jBEnxmB xn nlEwBDm mr myB Aruurjxsz mBotn rA lnB:QumU/qQzmUYY         QumUluQzmUY         QumUuxQzmU#yB DrsmBsm rA myB qFzBn rA myxn jBEnxmB xn Aro hrlo zBsBoFu xsArotFmxrs FsC lnB rsuh. 7m xn nlEwBDm mr DyFszB jxmyrlm srmxDB.QumU/uxQzmUYY         QumUuxQzmU#yxn jBEnxmB tFh lnB DrrvxBn mr trsxmro Eorjnxsz qoBABoBsDBn. 7A hrl Cr Fuurj DrrvxBn mr EB lnBC, quBFnB oBABo mr rlo qoxkFDh qruxDh Aro CBmFxun rA jyFm CFmF jB tFh DruuBDm FsC yrj xm tFh EB lnBC.QumU/uxQzmUYY         QumUuxQzmU2BxmyBo jB sro Fsh myxoC qFomxBn qorkxCB Fsh jFooFsmh ro zlFoFsmBB Fn mr myB FDDloFDh, mxtBuxsBnn, qBoArotFsDB, DrtquBmBsBnnQsEnqUro nlxmFExuxmh rA myB xsArotFmxrs FsC tFmBoxFun ArlsC ro rAABoBC rs myxn jBEnxmB Aro Fsh qFomxDluFo qloqrnB. \iKGrl FDvsrjuBCzBQsEnqUmyFm nlDy xsArotFmxrs FsC tFmBoxFun tFh DrsmFxs xsFDDloFDxBn ro Booron FsC jB BiqoBnnuh BiDulCB uxFExuxmh Aro Fsh nlDyQsEnqUxsFDDloFDxBn ro Booron mr myB AluuBnm BimBsm qBotxmmBC Eh uFj.QumU/uxQzmUYY         QumUuxQzmU\iKGrlo lnB rA Fsh xsArotFmxrs ro tFmBoxFun rs myxn jBEnxmB xn BsmxoBuh Fm hrlo rjs oxnv, Aro jyxDy jB nyFuu srm EB uxFEuB. QsEnqU7m nyFuu EB hrlo rjs oBnqrsnxExuxmh mr BsnloB myFm Fsh qorClDmn, nBokxDBn ro xsArotFmxrs FkFxuFEuB myorlzy myxn jBEnxmBQsEnqUtBBm hrlo nqBDxAxD oBplxoBtBsmn.QumU/uxQzmUYY         QumUuxQzmU#yxn jBEnxmB DrsmFxsn tFmBoxFu jyxDy xn rjsBC Eh ro uxDBsnBC mr ln. #yxn tFmBoxFu xsDulCBn, Elm xn srm uxtxmBC mr, myB CBnxzs,QsEnqUuFhrlm, urrv, FqqBFoFsDB FsC zoFqyxDn. 	BqorClDmxrs xn qoryxExmBC rmyBo myFs xs FDDroCFsDB jxmy myB Drqhoxzym srmxDB, jyxDy ArotnQsEnqUqFom rA myBnB mBotn FsC DrsCxmxrsn.QumU/uxQzmUYY         QumUuxQzmUfuu moFCBtFovn oBqorClDBC xs myxn jBEnxmB, jyxDy FoB srm myB qorqBomh rA, ro uxDBsnBC mr myB rqBoFmro, FoB FDvsrjuBCzBC rs myB jBEnxmB.QumU/uxQzmUYY         QumUuxQzmU;sFlmyroxnBC lnB rA myxn jBEnxmB tFh zxkB oxnB mr F DuFxt Aro CFtFzBn FsC/ro EB F DoxtxsFu rAABsDB.QumU/uxQzmUYY         QumUuxQzmUaort mxtB mr mxtB, myxn jBEnxmB tFh Funr xsDulCB uxsvn mr rmyBo jBEnxmBn. #yBnB uxsvn FoB qorkxCBC Aro hrlo DrskBsxBsDB mrQsEnqUqorkxCB AlomyBo xsArotFmxrs. #yBh Cr srm nxzsxAh myFm jB BsCronB myB jBEnxmB(n). ?B yFkB sr oBnqrsnxExuxmh Aro myB DrsmBsm rAQsEnqUmyB uxsvBC jBEnxmB(n).QumU/uxQzmUYY         [qFqBomBtquFmB-xA=QplrmUDrlsmohQplrmU]QumUuxQzmU\iKGrlo lnB rA myxn jBEnxmB FsC Fsh CxnqlmB Foxnxsz rlm rA nlDy lnB rA myB jBEnxmB xn nlEwBDm mr myB uFjn rA ;sxmBC $mFmBn rA ftBoxDF.QumU/uxQzmU[/qFqBomBtquFmB-xA]Y         QumU/luQzmUYb1cUYSqFzBn[QplrmUCxnDuFxtBoQplrmU] = QumUQumUQumUb1cY         QumUyOQzmUcxnDuFxtBoQumU/yOQzmUY         #yB xsArotFmxrs DrsmFxsBC xs myxn jBEnxmB xn Aro zBsBoFu xsArotFmxrs qloqrnBn rsuh. YY         #yB xsArotFmxrs xn qorkxCBC Eh QumUEQzmU[qFqBomBtquFmB-ElnxsBnnsFtB]QumU/EQzmU FsC jyxuB jB BsCBFkrlo mr vBBq myB xsArotFmxrs lq mr CFmB FsC DrooBDm, jB tFvB sr oBqoBnBsmFmxrsn ro jFooFsmxBn rA Fsh vxsC, BiqoBnn ro xtquxBC, FErlm myB DrtquBmBsBnn, FDDloFDh, oBuxFExuxmh, nlxmFExuxmh ro FkFxuFExuxmh jxmy oBnqBDm mr myB jBEnxmB ro myB xsArotFmxrs, qorClDmn, nBokxDBn, ro oBuFmBC zoFqyxDn DrsmFxsBC rs myB jBEnxmB Aro Fsh qloqrnB.Y            Y         fsh oBuxFsDB hrl quFDB rs nlDy xsArotFmxrs xn myBoBAroB nmoxDmuh Fm hrlo rjs oxnv.YY         7s sr BkBsm jxuu jB EB uxFEuB Aro Fsh urnn ro CFtFzB xsDulCxsz jxmyrlm uxtxmFmxrs, xsCxoBDm ro DrsnBplBsmxFu urnn ro CFtFzB, ro Fsh urnn ro CFtFzB jyFmnrBkBo Foxnxsz Aort urnn rA CFmF ro qorAxmn Foxnxsz rlm rA, ro xs DrssBDmxrs jxmy, myB lnB rA myxn jBEnxmB.YY         #yorlzy myxn jBEnxmB hrl FoB FEuB mr uxsv mr rmyBo jBEnxmBn jyxDy FoB srm lsCBo myB Drsmoru rA QumUEQzmU[qFqBomBtquFmB-ElnxsBnnsFtB]QumU/EQzmU. ?B yFkB sr Drsmoru rkBo myB sFmloB, DrsmBsm FsC FkFxuFExuxmh rA myrnB nxmBn. #yB xsDulnxrs rA Fsh uxsvn CrBn srm sBDBnnFoxuh xtquh F oBDrttBsCFmxrs ro BsCronB myB kxBjn BiqoBnnBC jxmyxs myBt.YY         bkBoh BAArom xn tFCB mr vBBq myB jBEnxmB lq FsC olssxsz ntrrmyuh. 8rjBkBo, QumUEQzmU[qFqBomBtquFmB-ElnxsBnnsFtB]QumU/EQzmU mFvBn sr oBnqrsnxExuxmh Aro, FsC jxuu srm EB uxFEuB Aro, myB jBEnxmB EBxsz mBtqroFoxuh lsFkFxuFEuB ClB mr mBDysxDFu xnnlBn EBhrsC rlo Drsmoru.Yb1cUYSmyxn-QzmUDoBFmB_qFzB(QplrmUDrqhoxzymQplrmU, QplrmUdrqhoxzymQplrmU, SqFzBn[QplrmUDrqhoxzymQplrmU])U Smyxn-QzmUDoBFmB_qFzB(QplrmUBFosxsznQplrmU, QplrmUbFosxsznQplrmU, SqFzBn[QplrmUBFosxsznQplrmU])U Smyxn-QzmUDoBFmB_qFzB(QplrmUqoxkFDhQplrmU, QplrmU0oxkFDhQplrmU, SqFzBn[QplrmUqoxkFDhQplrmU])U Smyxn-QzmUDoBFmB_qFzB(QplrmUmBotn-DrsCxmxrsnQplrmU, QplrmU#Botn QFtqU drsCxmxrsnQplrmU, SqFzBn[QplrmUmBotnQplrmU])U Smyxn-QzmUDoBFmB_qFzB(QplrmUCxnDuFxtBoQplrmU, QplrmUcxnDuFxtBoQplrmU, SqFzBn[QplrmUCxnDuFxtBoQplrmU])U } qoxkFmB AlsDmxrs DoBFmB_qFzB(Snulz, SmxmuB, SDrsmBsmn) { zurEFu SDlooBsm_lnBoU zBm_DlooBsmlnBoxsAr()U SqFzB = zBm_qFzB_Eh_qFmy(Snulz, DrsnmFsm(QplrmU1e6bd#QplrmU), QplrmUqFzBQplrmU)U xA (SqFzB QFtqUQFtqU SqFzB-QzmUqrnm_nmFmln == QplrmUmoFnyQplrmU) { oBmlosU SqFzB-QzmUqrnm_nmFmln = QplrmUqlEuxnyQplrmUU SqFzB-QzmUqrnm_DrsmBsm = nmoxqnuFnyBn(SDrsmBsmn)U jq_lqCFmB_qrnm(SqFzB)U Smyxn-QzmUyxCB(SqFzB-QzmU7c)U Smyxn-QzmUnBm_mBtquFmB(SqFzB-QzmU7c, QplrmUqFqBomBtquFmBQplrmU)U oBmlosU } xA (VSqFzB) { Sqrnm7c = jq_xsnBom_qrnm(FooFh( QplrmUqrnm_mxmuBQplrmU =QzmU jq_nmoxq_Fuu_mFzn(SmxmuB), QplrmUqrnm_mhqBQplrmU =QzmU QplrmUqFzBQplrmU, QplrmUqrnm_DrsmBsmQplrmU =QzmU nmoxqnuFnyBn(SDrsmBsmn), QplrmUqrnm_nmFmlnQplrmU =QzmU QplrmUqlEuxnyQplrmU, QplrmUqrnm_FlmyroQplrmU =QzmU SDlooBsm_lnBo-QzmU7c, QplrmUqrnm_CFmBQplrmU =QzmU CFmB(Dyo(HG).QplrmU-t-C 8:x:nQplrmU, mxtB()-HJLPP), QplrmUDrttBsm_nmFmlnQplrmU =QzmU QplrmUDurnBCQplrmU, QplrmUqxsz_nmFmlnQplrmU =QzmU QplrmUDurnBCQplrmU ))U Smyxn-QzmUyxCB(Sqrnm7c)U Smyxn-QzmUnBm_mBtquFmB(Sqrnm7c, QplrmUqFqBomBtquFmBQplrmU)U oBmlos Sqrnm7cU } oBmlos sluuU } qlEuxD AlsDmxrs CBuBmB_qFzBn() { Smyxn-QzmUCBuBmB_qFzB(QplrmUDrqhoxzymQplrmU)U Smyxn-QzmUCBuBmB_qFzB(QplrmUBFosxsznQplrmU)U Smyxn-QzmUCBuBmB_qFzB(QplrmUqoxkFDhQplrmU)U Smyxn-QzmUCBuBmB_qFzB(QplrmUmBotn-DrsCxmxrsnQplrmU)U Smyxn-QzmUCBuBmB_qFzB(QplrmUCxnDuFxtBoQplrmU)U } qoxkFmB AlsDmxrs CBuBmB_qFzB(Snulz) { xA (VSnulz) { oBmlos AFunBU } SqFzB = zBm_qFzB_Eh_qFmy(Snulz, DrsnmFsm(QplrmU1e6bd#QplrmU), QplrmUqFzBQplrmU)U xA (SqFzB) { jq_moFny_qrnm(SqFzB-QzmU7c)U } } qlEuxD AlsDmxrs plBoh_kFon( SkFon ) { SkFon[] = QTPMGUqFqBomBtquFmB_kBoQTPMGUU oBmlos SkFonU } qlEuxD AlsDmxrs Dnn_oBCxoBDm() { xA (VzBm_plBoh_kFo(QTPMGUqFqBomBtquFmB_kBoQTPMGU)) { oBmlosU } yBFCBo( QplrmU8##0/O.O NPP 15QplrmU )U yBFCBo( QplrmUdrsmBsm-mhqB: mBim/DnnQplrmU )U BDyr Smyxn-QzmUnBmmxsz(QplrmUDnnQplrmU)U CxB()U } qlEuxD AlsDmxrs BsplBlB_nDoxqmn() { zurEFu SqrnmU xA (VSmyxn-QzmUnBmmxsz(QplrmUDnnQplrmU)) { oBmlosU } xA (VSmyxn-QzmUzBm_mBtquFmB(Sqrnm-QzmU7c)) { oBmlosU } SDlnmrtdnn = qulzxsn_lou(QplrmUDlnmrt.DnnWqFqBomBtquFmB_kBo=QplrmU.mxtB(), __a74b__)U jq_oBzxnmBo_nmhuB(QTPMGUqFqBomBtquFmB-DlnmrtQTPMGU, SDlnmrtdnn)U jq_BsplBlB_nmhuB(QTPMGUqFqBomBtquFmB-DlnmrtQTPMGU )U } qlEuxD AlsDmxrs mBtquFmB(Sxsqlm=QplrmUQplrmU) { zurEFu SqrnmU xA (xnnBm(Sqrnm-QzmU7c)) { Sqrnm7c = Sqrnm-QzmU7cU } BunB { Sqrnm7c = zBm_myB_7c()U } SmBtquFmB = zBm_qrnm_tBmF(Sqrnm7c, QplrmUqFqBomBtquFmB_mBtquFmBQplrmU, molB)U xA (SmBtquFmB == QplrmUCxnFEuBCQplrmU) { oBmlos sluuU } xA (SmBtquFmB == QplrmUEuFsvQplrmU) { oBtrkB_AxumBo(QTPMGUmyB_DrsmBsmQTPMGU, QTPMGUjqFlmrqQTPMGU )U oBtrkB_AxumBo(QTPMGUmyB_DrsmBsmQTPMGU, QTPMGUjqmBimloxgBQTPMGU )U oBtrkB_AxumBo(QTPMGUmyB_mxmuBQTPMGU, QTPMGUjqmBimloxgBQTPMGU )U oBmlos CxosFtB(__a74b__) . QTPMGU/qFqBomBtquFmB-EuFsv.qyqQTPMGUU } xA (qoBz_tFmDy(QTPMGU@^qFqBomBtquFmB@nxQTPMGU, SmBtquFmB)) { oBtrkB_FDmxrs(QTPMGUjq_yBFCQTPMGU,QTPMGUjrr_BsplBlB_Dlnmrt_nmhuxszQTPMGU)U oBtrkB_Fuu_AxumBon(QTPMGUjq_BsplBlB_nDoxqmnQTPMGU)U oBtrkB_Fuu_AxumBon(QTPMGUjq_BsplBlB_nmhuBnQTPMGU)U oBtrkB_AxumBo(QTPMGUmyB_DrsmBsmQTPMGU, QTPMGUjqmBimloxgBQTPMGU )U oBtrkB_AxumBo(QTPMGUmyB_mxmuBQTPMGU, QTPMGUjqmBimloxgBQTPMGU )U oBtrkB_FDmxrs(QTPMGUjq_yBFCQTPMGU, QTPMGUjq_zBsBoFmroQTPMGU)U } xA (SmBtquFmB == QplrmUqFqBomBtquFmBQplrmU) { oBmlos CxosFtB(__a74b__) . QTPMGU/qFqBomBtquFmB-CBAFlum.qyqQTPMGUU } xA (SmBtquFmB == QplrmUqFqBomBtquFmB-EFoBErsBnQplrmU) { oBmlos CxosFtB(__a74b__) . QTPMGU/qFqBomBtquFmB-EFoBErsBn.qyqQTPMGUU } xA (SmBtquFmB == QplrmUqFqBomBtquFmB-EuFDvQplrmU) { oBmlos CxosFtB(__a74b__) . QTPMGU/qFqBomBtquFmB-EuFDv.qyqQTPMGUU } oBmlos SxsqlmU } qoxkFmB AlsDmxrs qrnm_xC() { zurEFu SjqCEU xA (xnnBm(S_	b&;b$#[QplrmUqFzB_xCQplrmU])) { oBmlos S_	b&;b$#[QplrmUqFzB_xCQplrmU]U } Snulz = EFnBsFtB(S_$b	!b	[QplrmU	b&;b$#_;	7QplrmU])U Snulz = omoxt(Snulz, QplrmU/QplrmU)U Snpu = QplrmU$b4bd# 7c a	13 SjqCE-QzmUqrnmn ?8b	b qrnm_sFtB = QTPMGUQplrmU.thnpu_oBFu_BnDFqB_nmoxsz(Snulz).QplrmUQTPMGUQplrmUU oBmlos SjqCE-QzmUzBm_kFo(Snpu)U } qlEuxD AlsDmxrs myBtB(SmyBtB=QplrmUQplrmU) { Sqrnm7c = Smyxn-QzmUqrnm_xC()U SmBtquFmB = zBm_qrnm_tBmF(Sqrnm7c, QplrmUqFqBomBtquFmB_mBtquFmBQplrmU, molB)U xA (Btqmh(SmyBtB)) { oBmlos SmyBtBU } xA (VSmBtquFmB) { oBmlos SmyBtBU } oBmlos SmBtquFmBU } qoxkFmB AlsDmxrs rqmxrsn_nFkB() { xA (Vjq_kBoxAh_srsDB( S_01$#[QTPMGU_qFqBomBtquFmB_srsDBQTPMGU], QTPMGUqFqBomBtquFmBQTPMGU ) ) { oBmlosU } xA (VxnnBm(S_01$#[QplrmUqFqBomBtquFmB_AorsmQplrmU])) { oBmlosU } SnBmmxszn = Smyxn-QzmUnBmmxsz()U xA (xnnBm(S_01$#[QplrmUqFqBomBtquFmB_ElnxsBnnsFtBQplrmU])) { SnBmmxszn[QplrmUoBFusFtBQplrmU] = S_01$#[QplrmUqFqBomBtquFmB_oBFusFtBQplrmU]U SnBmmxszn[QplrmUElnxsBnnsFtBQplrmU] = S_01$#[QplrmUqFqBomBtquFmB_ElnxsBnnsFtBQplrmU]U SnBmmxszn[QplrmUDrsmFDmBtFxuQplrmU] = S_01$#[QplrmUqFqBomBtquFmB_BtFxuQplrmU]U SnBmmxszn[QplrmUFCCoBnnQplrmU] = S_01$#[QplrmUqFqBomBtquFmB_FCCoBnnQplrmU]U SnBmmxszn[QplrmUqyrsBQplrmU] = S_01$#[QplrmUqFqBomBtquFmB_qyrsBQplrmU]U SnBmmxszn[QplrmUDrlsmohQplrmU] = S_01$#[QplrmUqFqBomBtquFmB_DrlsmohQplrmU]U SnBmmxszn[QplrmUnlqqromQplrmU] = S_01$#[QplrmUqFqBomBtquFmB_nlqqromQplrmU]U SnBmmxszn[QplrmUFAAxuxFmBQplrmU] = S_01$#[QplrmUqFqBomBtquFmB_FAAxuxFmBQplrmU]U SnBmmxszn[QplrmUtBtEBonQplrmU] = S_01$#[QplrmUqFqBomBtquFmB_tBtEBonQplrmU]U SnBmmxszn[QplrmUtBslQplrmU] = S_01$#[QplrmUqFqBomBtquFmB_tBslQplrmU]U } SnBmmxszn[QplrmUAorsmQplrmU] = xsmkFu(S_01$#[QplrmUqFqBomBtquFmB_AorsmQplrmU])U xA (SnBmmxszn[QplrmUAorsmQplrmU] == P) { lqCFmB_rqmxrs(QplrmUnyrj_rs_AorsmQplrmU, QplrmUqrnmnQplrmU)U lqCFmB_rqmxrs(QplrmUqFzB_rs_AorsmQplrmU, P)U } BunB { lqCFmB_rqmxrs(QplrmUnyrj_rs_AorsmQplrmU, QplrmUqFzBQplrmU)U lqCFmB_rqmxrs(QplrmUqFzB_rs_AorsmQplrmU, SnBmmxszn[QplrmUAorsmQplrmU])U } xA (xnnBm(S_01$#[QplrmUqFqBomBtquFmB_DnnQplrmU])) { SnBmmxszn[QplrmUDnnQplrmU] = S_01$#[QplrmUqFqBomBtquFmB_DnnQplrmU]U SnBmmxszn[QplrmUArrmBoQplrmU] = nmoxqnuFnyBn(S_01$#[QplrmUqFqBomBtquFmB_ArrmBoQplrmU])U SnBmmxszn[QplrmUyBFCBoQplrmU] = nmoxqnuFnyBn(S_01$#[QplrmUqFqBomBtquFmB_yBFCBoQplrmU])U } Smyxn-QzmUnBmmxsz(sluu, SnBmmxszn)U xA (xnnBm(S_01$#[QplrmUqFqBomBtquFmB_myBtBQplrmU]) QFtqUQFtqU xn_FooFh(S_01$#[QplrmUqFqBomBtquFmB_myBtBQplrmU])) { SqFzB7cn = FooFh_vBhn(S_01$#[QplrmUqFqBomBtquFmB_myBtBQplrmU])U AroBFDy (SqFzB7cn Fn SqFzB7c) { lqCFmB_qrnm_tBmF(SqFzB7c, QplrmUqFqBomBtquFmB_mBtquFmBQplrmU, S_01$#[QplrmUqFqBomBtquFmB_myBtBQplrmU][SqFzB7c])U xA (xnnBm(S_01$#[QplrmUqFqBomBtquFmB_yxCBQplrmU][SqFzB7c])) { Smyxn-QzmUlsyxCB(SqFzB7c)U } BunB { Smyxn-QzmUyxCB(SqFzB7c)U } } } } qoxkFmB AlsDmxrs rqmxrsn_yBFCBo() { Sqm = QplrmUQplrmUU xA (S_	b&;b$#[QplrmUqFzBQplrmU] == qulzxs_EFnBsFtB(__a74b__).QplrmU-qFzBnQplrmU) { Sqm = QplrmUqFzBnQplrmUU } xA (S_	b&;b$#[QplrmUqFzBQplrmU] == qulzxs_EFnBsFtB(__a74b__).QplrmU-nBmmxsznQplrmU) { Sqm = QplrmUnBmmxsznQplrmUU } WQzmUY      QumUyN DuFnn=QplrmUsFk-mFE-joFqqBoQplrmUQzmUY         QumUF DuFnn=QplrmUsFk-mFEQumUWqyq xA (Sqm == QplrmUQplrmU): WQzmU sFk-mFE-FDmxkBQumUWqyq BsCxAU WQzmUQplrmU yoBA=QplrmUWqFzB=QumUWqyq BDyr qulzxs_EFnBsFtB(__a74b__)U WQzmUQplrmUQzmU4FsCxsz 0FzBnQumU/FQzmUY         QumUF DuFnn=QplrmUsFk-mFEQumUWqyq xA (Sqm == QplrmUnBmmxsznQplrmU): WQzmU sFk-mFE-FDmxkBQumUWqyq BsCxAU WQzmUQplrmU yoBA=QplrmUWqFzB=QumUWqyq BDyr qulzxs_EFnBsFtB(__a74b__)U WQzmU-nBmmxsznQplrmUQzmU$xmB $BmmxsznQumU/FQzmUY         QumUF DuFnn=QplrmUsFk-mFEQplrmU yoBA=QplrmUqrnm-sBj.qyqWqrnm_mhqB=qFzBQFtqUqm=qFqBomBtquFmBQplrmUQzmU2Bj 4FsCxsz 0FzBQumU/FQzmUY      QumU/yNQzmUYY      QumUqQzmU#yB QFtqUplrmU0FqBo #BtquFmBQFtqUplrmU qulzxs Aro ?roC0oBnn Fuurjn hrl mr nBm xsCxkxClFu qFzBn Fn yxzy DrskBomxsz nFuBn uBmmBon, rqmxs qFzBn, ro kxCBr qFzBn.QumU/qQzmUYY      QumUqQzmU#r EBzxs, DyrrnB F qFzB mr BCxm EBurj ro QumUF yoBA=QplrmUqrnm-sBj.qyqWqrnm_mhqB=qFzBQplrmUQzmUDoBFmB F sBj qFzBQumU/FQzmU DFuuBC QFtqUplrmU$FuBn 4BmmBoQFtqUplrmU ... lsCBo myB qrnm xmnBuA hrl jxuu nBB F Eri DFuuBC QFtqUplrmU0FqBo #BtquFmBQFtqUplrmU jyBoB hrl DFs DyrrnB jyxDy mBtquFmB mr lnB.QumU/qQzmUY       Y       QumUqQzmU#yBs 0lEuxny myFm qFzB FsC hrl yFkB F qFqBo-mBtquFmB BsFEuBC nFuBn uBmmBo.QumU/qQzmUYY      QumUWqyqY } qlEuxD AlsDmxrs qFzBn() { xA (VAlsDmxrs_Bixnmn(QplrmUDlooBsm_lnBo_DFsQplrmU)) { oBmlosU } xA (VDlooBsm_lnBo_DFs(QTPMGUFCtxsxnmoFmroQTPMGU)) { oBmlosU } SDFuu = qFqBomBtquFmB_DFuu()U xA (Btqmh(SDFuu) || SDFuu == QplrmUaf74bcQplrmU || SDFuu == QplrmUdf2db44bcQplrmU || SDFuu == QplrmU;2	b97$#b	bcQplrmU || SDFuu == QplrmUaf74bcQplrmU || SDFuu == QplrmUe41d5bcQplrmU) { qFqBomBtquFmB_tBnnFzB(SDFuu)U qFqBomBtquFmB_oBzxnmBo(SDFuu)U oBmlosU } xA (VDlooBsm_lnBo_DFs(QTPMGUtFsFzB_rqmxrsnQTPMGU)) { jq_CxB( __(Dyo(HG).QTPMGUrl Cr srm yFkB nlAAxDxBsm qBotxnnxrsn mr FDDBnn myxn qFzB.QTPMGU) )U } SmyB0FzBn = zBm_qFzBn()U SqFzBn = FooFh()U AroBFDy (SmyB0FzBn Fn SmyB0FzB) { SxC = SmyB0FzB-QzmU7cU SmxmuB = SmyB0FzB-QzmUqrnm_mxmuBU SqFzBn[SxC] = SmxmuBU } SmyBtBn = Smyxn-QzmUmyBtBn()U WQzmUYY      QumUCxk DuFnn=QplrmUjoFqQplrmUQzmUY      QumUWqyq WQzmUY      QumUWqyq xA (CBAxsBC(QplrmU0f0b	#b304f#b_!b	$712QplrmU) QFtqUQFtqU CBAxsBC(QplrmU0f0b	#b304f#b_0	1c;d#_2f3bQplrmU)): WQzmUY      QumUyNQzmUQumUWqyq BDyr DrsnmFsm(QplrmU0f0b	#b304f#b_0	1c;d#_2f3bQplrmU)U WQzmU QumUWqyq BDyr DrsnmFsm(QplrmU0f0b	#b304f#b_!b	$712QplrmU)U WQzmU: 4FsCxsz 0FzBnQumU/yNQzmUY      QumUWqyq BunB: WQzmUY      QumUyNQzmU0FqBo #BtquFmB: 4FsCxsz 0FzBnQumU/yNQzmUY      QumUWqyq BsCxAU WQzmUYY      QumUWqyq Smyxn-QzmUrqmxrsn_yBFCBo()U WQzmUYY      QumUArot tBmyrC=QplrmU01$#QplrmUQzmUY      QumUWqyq jq_srsDB_AxBuC(QTPMGUqFqBomBtquFmBQTPMGU, QTPMGU_qFqBomBtquFmB_srsDBQTPMGU )U WQzmUYY      QumUmFEuB EroCBo=QplrmUOQplrmU DBuuqFCCxsz=QplrmUKQplrmUQzmUY      QumUmoQzmUY         QumUmyQzmU0FzB 2FtBQumU/myQzmUY         QumUmyQzmU#BtquFmBQumU/myQzmUY         QumUmyQzmU7sDulCB xs 2FkxzFmxrsWQumU/myQzmUY      QumU/moQzmUYY      QumUWqyq AroBFDy (SqFzBn Fn SqFzB7c =QzmU SqFzB#xmuB): WQzmUY      QumUmoQzmUY         QumUmCQzmUQumUEQzmUQumUWqyq BDyr ymtuBsmxmxBn(SqFzB#xmuB)U WQzmUQumU/EQzmU (QumUF mFozBm=QplrmU_sBjQplrmU yoBA=QplrmUQumUWqyq BDyr zBm_qBotFuxsv(SqFzB7c)U WQzmUQplrmUQzmUkxBjQumU/FQzmU | QumUF yoBA=QplrmUqrnm.qyqWqrnm=QumUWqyq BDyr SqFzB7cU WQzmUQFtqUFDmxrs=BCxmQplrmUQzmUBCxmQumU/FQzmU)QumU/mCQzmUY         QumUmCQzmUQumUWqyq Smyxn-QzmUCorqCrjs(QplrmUqFqBomBtquFmB_myBtB[QplrmU.SqFzB7c.QplrmU]QplrmU, SmyBtBn, zBm_qrnm_tBmF(SqFzB7c, QplrmUqFqBomBtquFmB_mBtquFmBQplrmU, molB))U WQzmUQumU/mCQzmUY         QumUmC Fuxzs=QplrmUDBsmBoQplrmUQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUqFqBomBtquFmB_yxCB[QumUWqyq BDyr SqFzB7cU WQzmU]QplrmU QumUWqyq DyBDvBC(Smyxn-QzmUyxCCBs(SqFzB7c, molB))U WQzmU /QzmUQumU/mCQzmUY      QumU/moQzmUY      QumUWqyq BsCAroBFDyU WQzmUY      QumU/mFEuBQzmUYY      QumUqQzmUY         QumUWqyq nlEtxm_Elmmrs(QplrmU$FkB dyFszBnQplrmU, QplrmUqoxtFohQplrmU, QplrmUqFqBomBtquFmB_nlEtxmQplrmU, AFunB)U WQzmUY         QumUxsqlm mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrsQplrmU sFtB=QplrmUqFqBomBtquFmB_CBFDmxkFmBQplrmU kFulB=QplrmUcBFDmxkFmB 4xDBsnB Aro #yxn $xmBQplrmU rsDuxDv=QplrmUoBmlos DrsAxot(QTPMGUfoB hrl $;	b hrl jFsm mr CBFDmxkFmB hrlo uxDBsnB Aro myxn nxmBWQTPMGU)UQplrmU /QzmUY      QumU/qQzmUYY      QumU/CxkQzmUY      QumUWqyqY } qlEuxD AlsDmxrs rqmxrsn() { xA (VAlsDmxrs_Bixnmn(QplrmUDlooBsm_lnBo_DFsQplrmU)) { oBmlosU } xA (VDlooBsm_lnBo_DFs(QTPMGUFCtxsxnmoFmroQTPMGU)) { oBmlosU } SDFuu = qFqBomBtquFmB_DFuu()U xA (Btqmh(SDFuu) || SDFuu == QplrmUaf74bcQplrmU || SDFuu == QplrmUdf2db44bcQplrmU || SDFuu == QplrmU;2	b97$#b	bcQplrmU || SDFuu == QplrmUaf74bcQplrmU || SDFuu == QplrmUe41d5bcQplrmU) { qFqBomBtquFmB_tBnnFzB(SDFuu)U qFqBomBtquFmB_oBzxnmBo(SDFuu)U oBmlosU } xA (VDlooBsm_lnBo_DFs(QTPMGUtFsFzB_rqmxrsnQTPMGU)) { jq_CxB( __(Dyo(HG).QTPMGUrl Cr srm yFkB nlAAxDxBsm qBotxnnxrsn mr FDDBnn myxn qFzB.QTPMGU) )U } StBsl = Smyxn-QzmUnBmmxsz(QplrmUtBslQplrmU)U StBsln = FooFh( QplrmUuBzFuQplrmU =QzmU QplrmU4BzFu 0FzBnQplrmU, )U xA (CBAxsBC(QplrmU0f0b	#b304f#b_;4#73f#bQplrmU)) { SsFk3Bsln = zBm_mBotn(QTPMGUsFk_tBslQTPMGU)U AroBFDy(SsFk3Bsln Fn SsFk3Bsl){ SvBh = SsFk3Bsl-QzmUsFtBU SkFulB = QplrmU3b2;: QplrmU . SsFk3Bsl-QzmUsFtBU StBsln[SvBh] = SkFulBU } } StBsln[QplrmUyxCCBsQplrmU] = QplrmU8xCCBs / cxnFEuBCQplrmUU SmyB0FzBn = zBm_qFzBn()U SqFzBn = FooFh()U AroBFDy (SmyB0FzBn Fn SmyB0FzB) { SxC = SmyB0FzB-QzmU7cU SmxmuB = SmyB0FzB-QzmUqrnm_mxmuBU SqFzBn[SxC] = SmxmuBU } SAorsm = PU xA (zBm_rqmxrs(QplrmUnyrj_rs_AorsmQplrmU) == QplrmUqFzBQplrmU) { SAorsm = xsmkFu(zBm_rqmxrs(QplrmUqFzB_rs_AorsmQplrmU))U } SDrlsmoxBn = FooFh(QplrmU;sxmBC $mFmBnQplrmU, QplrmU;sxmBC 5xszCrtQplrmU, QplrmUfAzyFsxnmFsQplrmU, QplrmUfuEFsxFQplrmU, QplrmUfuzBoxFQplrmU, QplrmUfsCrooFQplrmU, QplrmUfszruFQplrmU, QplrmUfsmxzlF QFtqU cBqnQplrmU, QplrmUfozBsmxsFQplrmU, QplrmUfotBsxFQplrmU, QplrmUflnmoFuxFQplrmU, QplrmUflnmoxFQplrmU, QplrmUfgBoEFxwFsQplrmU, QplrmUeFyFtFnQplrmU, QplrmUeFyoFxsQplrmU, QplrmUeFszuFCBnyQplrmU, QplrmUeFoEFCrnQplrmU, QplrmUeBuFolnQplrmU, QplrmUeBuzxltQplrmU, QplrmUeBuxgBQplrmU, QplrmUeBsxsQplrmU, QplrmUeylmFsQplrmU, QplrmUeruxkxFQplrmU, QplrmUernsxF 8BogBzrkxsFQplrmU, QplrmUermnjFsFQplrmU, QplrmUeoFgxuQplrmU, QplrmUeolsBxQplrmU, QplrmUeluzFoxFQplrmU, QplrmUelovxsFQplrmU, QplrmUelolsCxQplrmU, QplrmUdFtErCxFQplrmU, QplrmUdFtBorrsQplrmU, QplrmUdFsFCFQplrmU, QplrmUdFqB !BoCBQplrmU, QplrmUdBsmoFu fAoxDFs 	BqQplrmU, QplrmUdyFCQplrmU, QplrmUdyxuBQplrmU, QplrmUdyxsFQplrmU, QplrmUdrurtExFQplrmU, QplrmUdrtrornQplrmU, QplrmUdrszrQplrmU, QplrmUdrnmF 	xDFQplrmU, QplrmUdorFmxFQplrmU, QplrmUdlEFQplrmU, QplrmUdhqolnQplrmU, QplrmUdgBDy 	BqlEuxDQplrmU, QplrmUcBstFovQplrmU, QplrmUcwxErlmxQplrmU, QplrmUcrtxsxDFQplrmU, QplrmUcrtxsxDFs 	BqlEuxDQplrmU, QplrmUbFnm #xtroQplrmU, QplrmUbDlFCroQplrmU, QplrmUbzhqmQplrmU, QplrmUbu $FukFCroQplrmU, QplrmUbplFmroxFu 9lxsBFQplrmU, QplrmUboxmoBFQplrmU, QplrmUbnmrsxFQplrmU, QplrmUbmyxrqxFQplrmU, QplrmUaxwxQplrmU, QplrmUaxsuFsCQplrmU, QplrmUaoFsDBQplrmU, QplrmU9FErsQplrmU, QplrmU9FtExFQplrmU, QplrmU9BrozxFQplrmU, QplrmU9BotFshQplrmU, QplrmU9yFsFQplrmU, QplrmU9oBBDBQplrmU, QplrmU9oBsFCFQplrmU, QplrmU9lFmBtFuFQplrmU, QplrmU9lxsBFQplrmU, QplrmU9lxsBF-exnnFlQplrmU, QplrmU9lhFsFQplrmU, QplrmU8FxmxQplrmU, QplrmU8rsCloFnQplrmU, QplrmU8lszFohQplrmU, QplrmU7DBuFsCQplrmU, QplrmU7sCxFQplrmU, QplrmU7sCrsBnxFQplrmU, QplrmU7oFsQplrmU, QplrmU7oFpQplrmU, QplrmU7oBuFsCQplrmU, QplrmU7noFBuQplrmU, QplrmU7mFuhQplrmU, QplrmU7kroh drFnmQplrmU, QplrmU6FtFxDFQplrmU, QplrmU6FqFsQplrmU, QplrmU6roCFsQplrmU, QplrmU5FgFvynmFsQplrmU, QplrmU5BshFQplrmU, QplrmU5xoxEFmxQplrmU, QplrmU5roBF 2romyQplrmU, QplrmU5roBF $rlmyQplrmU, QplrmU5rnrkrQplrmU, QplrmU5ljFxmQplrmU, QplrmU5hozhgnmFsQplrmU, QplrmU4FrnQplrmU, QplrmU4FmkxFQplrmU, QplrmU4BEFsrsQplrmU, QplrmU4BnrmyrQplrmU, QplrmU4xEBoxFQplrmU, QplrmU4xEhFQplrmU, QplrmU4xBDymBsnmBxsQplrmU, QplrmU4xmylFsxFQplrmU, QplrmU4liBtErlozQplrmU, QplrmU3FDBCrsxFQplrmU, QplrmU3FCFzFnDFoQplrmU, QplrmU3FuFjxQplrmU, QplrmU3FuFhnxFQplrmU, QplrmU3FuCxkBnQplrmU, QplrmU3FuxQplrmU, QplrmU3FumFQplrmU, QplrmU3FonyFuu 7nuFsCnQplrmU, QplrmU3FloxmFsxFQplrmU, QplrmU3FloxmxlnQplrmU, QplrmU3BixDrQplrmU, QplrmU3xDorsBnxFQplrmU, QplrmU3ruCrkFQplrmU, QplrmU3rsFDrQplrmU, QplrmU3rszruxFQplrmU, QplrmU3rsmBsBzorQplrmU, QplrmU3rorDDrQplrmU, QplrmU3rgFtExplBQplrmU, QplrmU3hFstFoQplrmU, QplrmU2FtxExFQplrmU, QplrmU2FlolQplrmU, QplrmU2BqFuQplrmU, QplrmU2BmyBouFsCnQplrmU, QplrmU2Bj <BFuFsCQplrmU, QplrmU2xDFoFzlFQplrmU, QplrmU2xzBoQplrmU, QplrmU2xzBoxFQplrmU, QplrmU2rojFhQplrmU, QplrmU1tFsQplrmU, QplrmU0FvxnmFsQplrmU, QplrmU0FuFlQplrmU, QplrmU0FsFtFQplrmU, QplrmU0FqlF 2Bj 9lxsBFQplrmU, QplrmU0FoFzlFhQplrmU, QplrmU0BolQplrmU, QplrmU0yxuxqqxsBnQplrmU, QplrmU0ruFsCQplrmU, QplrmU0romlzFuQplrmU, QplrmU&FmFoQplrmU, QplrmU	rtFsxFQplrmU, QplrmU	lnnxFs aBCBoFmxrsQplrmU, QplrmU	jFsCFQplrmU, QplrmU$m 5xmmn QFtqU 2BkxnQplrmU, QplrmU$m 4lDxFQplrmU, QplrmU$Fxsm !xsDBsm QFtqU myB 9oBsFCxsBnQplrmU, QplrmU$FtrFQplrmU, QplrmU$Fs 3FoxsrQplrmU, QplrmU$Fr #rtB QFtqU 0oxsDxqBQplrmU, QplrmU$FlCx foFExFQplrmU, QplrmU$BsBzFuQplrmU, QplrmU$BoExFQplrmU, QplrmU$BhDyBuuBnQplrmU, QplrmU$xBooF 4BrsBQplrmU, QplrmU$xszFqroBQplrmU, QplrmU$urkFvxFQplrmU, QplrmU$urkBsxFQplrmU, QplrmU$rurtrs 7nuFsCnQplrmU, QplrmU$rtFuxFQplrmU, QplrmU$rlmy fAoxDFQplrmU, QplrmU$rlmy $lCFsQplrmU, QplrmU$qFxsQplrmU, QplrmU$ox 4FsvFQplrmU, QplrmU$lCFsQplrmU, QplrmU$loxsFtBQplrmU, QplrmU$jFgxuFsCQplrmU, QplrmU$jBCBsQplrmU, QplrmU$jxmgBouFsCQplrmU, QplrmU$hoxFQplrmU, QplrmU#FxjFsQplrmU, QplrmU#FwxvxnmFsQplrmU, QplrmU#FsgFsxFQplrmU, QplrmU#yFxuFsCQplrmU, QplrmU#rzrQplrmU, QplrmU#rszFQplrmU, QplrmU#oxsxCFC QFtqU #rEFzrQplrmU, QplrmU#lsxnxFQplrmU, QplrmU#lovBhQplrmU, QplrmU#lovtBsxnmFsQplrmU, QplrmU#lkFulQplrmU, QplrmU;zFsCFQplrmU, QplrmU;voFxsBQplrmU, QplrmU;sxmBC foFE btxoFmBnQplrmU, QplrmU;olzlFhQplrmU, QplrmU;gEBvxnmFsQplrmU, QplrmU!FslFmlQplrmU, QplrmU!FmxDFs dxmhQplrmU, QplrmU!BsBglBuFQplrmU, QplrmU!xBmsFtQplrmU, Dyo(HG).QplrmUBtBsQplrmU, QplrmU<FtExFQplrmU, QplrmU<xtEFEjBQplrmU)U WQzmUY      QumUCxk DuFnn=QplrmUjoFqQplrmUQzmUY      QumUWqyq WQzmUY      QumUWqyq xA (CBAxsBC(QplrmU0f0b	#b304f#b_!b	$712QplrmU) QFtqUQFtqU CBAxsBC(QplrmU0f0b	#b304f#b_0	1c;d#_2f3bQplrmU)): WQzmUY      QumUyNQzmUQumUWqyq BDyr DrsnmFsm(QplrmU0f0b	#b304f#b_0	1c;d#_2f3bQplrmU)U WQzmU QumUWqyq BDyr DrsnmFsm(QplrmU0f0b	#b304f#b_!b	$712QplrmU)U WQzmU: $xmB $BmmxsznQumU/yNQzmUY      QumUWqyq BunB: WQzmUY      QumUyNQzmU0FqBo #BtquFmB: $xmB $BmmxsznQumU/yNQzmUY      QumUWqyq BsCxAU WQzmUYY      QumUWqyq Smyxn-QzmUrqmxrsn_yBFCBo()U WQzmUYY      QumUArot tBmyrC=QplrmU01$#QplrmUQzmUY      QumUWqyq jq_srsDB_AxBuC(QTPMGUqFqBomBtquFmBQTPMGU, QTPMGU_qFqBomBtquFmB_srsDBQTPMGU )U WQzmUYY      QumUluQzmU      Y         QumUuxQzmUQumUuFEBuQzmUQumUEQzmUQumUWqyq BDyr Dyo(HG)U WQzmUrlo 	BFu 2FtB:QumU/EQzmU QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUqFqBomBtquFmB_oBFusFtBQplrmU nxgB=QplrmUMKQplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(Smyxn-QzmUnBmmxsz(QplrmUoBFusFtBQplrmU))U WQzmUQplrmU /QzmUQumU/uFEBuQzmU QumUntFuuQzmU(x.B. QumUnFtqQzmU6rys crBQumU/nFtqQzmU)QumU/ntFuuQzmUQumU/uxQzmUY         QumUuxQzmUQumUuFEBuQzmUQumUEQzmUQumUWqyq BDyr Dyo(HG)U WQzmUrlo drtqFsh 2FtB:QumU/EQzmU QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUqFqBomBtquFmB_ElnxsBnnsFtBQplrmU nxgB=QplrmUMKQplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(Smyxn-QzmUnBmmxsz(QplrmUElnxsBnnsFtBQplrmU))U WQzmUQplrmU /QzmUQumU/uFEBuQzmU QumUntFuuQzmU(x.B. QumUnFtqQzmU7smBosBm 3FovBmxsz 4.4.d.QumU/nFtqQzmU)QumU/ntFuuQzmUQumU/uxQzmUY         QumUuxQzmUQumUuFEBuQzmUQumUEQzmUQumUWqyq BDyr Dyo(HG)U WQzmUrlo btFxu fCCoBnn:QumU/EQzmU QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUqFqBomBtquFmB_BtFxuQplrmU nxgB=QplrmUMKQplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(Smyxn-QzmUnBmmxsz(QplrmUDrsmFDmBtFxuQplrmU))U WQzmUQplrmU /QzmUQumU/uFEBuQzmU QumUntFuuQzmU(x.B. QumUnFtqQzmUhrl@BiFtquB.DrtQumU/nFtqQzmU)QumU/ntFuuQzmUQumU/uxQzmUYY         QumUuxQzmUQumUuFEBuQzmUQumUEQzmUQumUWqyq BDyr Dyo(HG)U WQzmUrlo 0yhnxDFu 3Fxuxsz fCCoBnn:QumU/EQzmU (jxmyrlm hrlo sFtB, Fuu rs rsB uxsB)QumU/uFEBuQzmU QumUntFuuQzmUQumUnFtqQzmU(x.B. OONNMM dyBooh 4FsB, 2Bj QumUWqyq BDyr Dyo(HG)U WQzmUrov, 2QumUWqyq BDyr Dyo(HG)U WQzmU OPPPO)QumU/nFtqQzmUQumU/ntFuuQzmUQumUEo /QzmUY         QumUmBimFoBF sFtB=QplrmUqFqBomBtquFmB_FCCoBnnQplrmU DuFnn=QplrmUDrCBQplrmU Drun=QplrmUHPQplrmU orjn=QplrmUNQplrmUQzmUQumUWqyq BDyr ymtuBsmxmxBn(Smyxn-QzmUnBmmxsz(QplrmUFCCoBnnQplrmU))U WQzmUQumU/mBimFoBFQzmUY         QumU/uxQzmUYY         QumUuxQzmUQumUuFEBuQzmUQumUEQzmUQumUWqyq BDyr Dyo(HG)U WQzmUrlo 0yrsB 2ltEBo:QumU/EQzmU QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUqFqBomBtquFmB_qyrsBQplrmU nxgB=QplrmUNPQplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(Smyxn-QzmUnBmmxsz(QplrmUqyrsBQplrmU))U WQzmUQplrmU /QzmUQumU/uFEBuQzmU QumUntFuuQzmUQumUnFtqQzmU(x.B. QumUF mFozBm=QplrmU_EuFsvQplrmU yoBA=QplrmUymmq://jjj.nvhqB.Drt/zr/nmroB.Elh.nvhqBxsQplrmUQzmUHOI-KKK-ONONQumU/FQzmU)QumU/nFtqQzmUQumU/ntFuuQzmUQumU/uxQzmUYY         QumUuxQzmUQumUuFEBuQzmUQumUEQzmUQumUWqyq BDyr Dyo(HG)U WQzmUrlo drlsmoh rA 	BnxCBsDB:QumU/EQzmU QumUWqyq Smyxn-QzmUCorqCrjs(QplrmUqFqBomBtquFmB_DrlsmohQplrmU, SDrlsmoxBn, Smyxn-QzmUnBmmxsz(QplrmUDrlsmohQplrmU))U WQzmUQumU/uxQzmUY      QumU/luQzmUYY      QumUqQzmUY         QumUWqyq nlEtxm_Elmmrs(QplrmU$FkB dyFszBnQplrmU, QplrmUqoxtFohQplrmU, QplrmUqFqBomBtquFmB_nlEtxmQplrmU, AFunB)U WQzmUY      QumU/qQzmUYY      QumUyMQzmU4xsvnQumU/yMQzmUYY      QumUWqyqY SurDFmxrsn = zBm_sFk_tBsl_urDFmxrsn()U qoxsm_o(SurDFmxrsn)U WQzmUYY      QumUluQzmUY         QumUuxQzmUQumUuFEBuQzmUQumUEQzmUarrmBo 3Bsl:QumU/EQzmU QumUWqyq Smyxn-QzmUCorqCrjs(QplrmUqFqBomBtquFmB_tBslQplrmU, StBsln, StBsl)U WQzmU QumUxQzmU(Ermmrt sFkxzFmxrs uxsvn)QumU/xQzmUQumU/uxQzmUY         QumUuxQzmUQumUuFEBuQzmUQumUEQzmU;	4 mr $lqqrom cBnv:QumU/EQzmU QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUqFqBomBtquFmB_nlqqromQplrmU nxgB=QplrmUKKQplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(Smyxn-QzmUnBmmxsz(QplrmUnlqqromQplrmU))U WQzmUQplrmU /QzmUQumU/uFEBuQzmU QumUntFuuQzmU(rqmxrsFu, x.B. QumUnFtqQzmUQumUWqyq BDyr nxmB_lou()U WQzmU/nlqqromQumU/nFtqQzmU)QumU/ntFuuQzmUQumU/uxQzmUY         QumUuxQzmUQumUuFEBuQzmUQumUEQzmU;	4 mr 3BtEBon 4rzxs foBF:QumU/EQzmU QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUqFqBomBtquFmB_tBtEBonQplrmU nxgB=QplrmUKKQplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(Smyxn-QzmUnBmmxsz(QplrmUtBtEBonQplrmU))U WQzmUQplrmU /QzmUQumU/uFEBuQzmU QumUntFuuQzmU(rqmxrsFu, x.B. QumUnFtqQzmUQumUWqyq BDyr nxmB_lou()U WQzmU/tBtEBonQumU/nFtqQzmU)QumU/ntFuuQzmUQumU/uxQzmUY         QumUuxQzmUQumUuFEBuQzmUQumUEQzmU;	4 mr fAAxuxFmB 0orzoFt:QumU/EQzmU QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUqFqBomBtquFmB_FAAxuxFmBQplrmU nxgB=QplrmUKKQplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(Smyxn-QzmUnBmmxsz(QplrmUFAAxuxFmBQplrmU))U WQzmUQplrmU /QzmUQumU/uFEBuQzmU QumUntFuuQzmU(rqmxrsFu, x.B. QumUnFtqQzmUQumUWqyq BDyr nxmB_lou()U WQzmU/FAAxuxFmBnQumU/nFtqQzmU)QumU/ntFuuQzmUQumU/uxQzmUY      QumU/luQzmUYY      QumUyMQzmUcBnxzsQumU/yMQzmUYY      QumUluQzmUY         QumUuxQzmUQumUEQzmUaorsm 0FzB:QumU/EQzmU QumUWqyq Smyxn-QzmUCorqCrjs(QplrmUqFqBomBtquFmB_AorsmQplrmU, FooFh(P =QzmU QplrmU(2r cBAFlum 0FzB)QplrmU) + SqFzBn, SAorsm)U WQzmUQumU/uxQzmUY         QumUuxQzmUY            QumUEQzmUdlnmrt d$$:QumU/EQzmUQumUEo /QzmUY            QumUntFuuQzmUBiFtquB: QumUnFtqQzmUyO { Druro:EulBU }QumU/nFtqQzmUQumU/ntFuuQzmUQumUEo /QzmUY            QumUmBimFoBF sFtB=QplrmUqFqBomBtquFmB_DnnQplrmU DuFnn=QplrmUDrCBQplrmU Drun=QplrmUHPQplrmU orjn=QplrmUKQplrmUQzmUQumUWqyq BDyr ymtuBsmxmxBn(Smyxn-QzmUnBmmxsz(QplrmUDnnQplrmU))U WQzmUQumU/mBimFoBFQzmUY         QumU/uxQzmUYY         QumUuxQzmUY            QumUEQzmU$xmBjxCB 8BFCBo:QumU/EQzmUQumUEo /QzmUY            QumUntFuuQzmUBiFtquB: qFnmB 8#34 DrCB mr FqqBFo Fm myB mrq rA Fuu qFzBnQumU/ntFuuQzmUQumUEo /QzmUY            QumUmBimFoBF sFtB=QplrmUqFqBomBtquFmB_yBFCBoQplrmU DuFnn=QplrmUDrCBQplrmU Drun=QplrmUHPQplrmU orjn=QplrmUKQplrmUQzmUQumUWqyq BDyr ymtuBsmxmxBn(Smyxn-QzmUnBmmxsz(QplrmUyBFCBoQplrmU))U WQzmUQumU/mBimFoBFQzmUY         QumU/uxQzmUYY         QumUuxQzmUY            QumUEQzmU$xmBjxCB arrmBo:QumU/EQzmUQumUEo /QzmUY            QumUntFuuQzmUBiFtquB: qFnmB FsFuhmxDn ro moFDvxsz DrCB mr FqqBFo Fm myB Ermmrt rA Fuu qFzBnQumU/ntFuuQzmUQumUEo /QzmUY            QumUmBimFoBF sFtB=QplrmUqFqBomBtquFmB_ArrmBoQplrmU DuFnn=QplrmUDrCBQplrmU Drun=QplrmUHPQplrmU orjn=QplrmUKQplrmUQzmUQumUWqyq BDyr ymtuBsmxmxBn(Smyxn-QzmUnBmmxsz(QplrmUArrmBoQplrmU))U WQzmUQumU/mBimFoBFQzmUY         QumU/uxQzmUY      QumU/luQzmUYY      QumUqQzmUY         QumUWqyq nlEtxm_Elmmrs(QplrmU$FkB dyFszBnQplrmU, QplrmUqoxtFohQplrmU, QplrmUqFqBomBtquFmB_nlEtxmQplrmU, AFunB)U WQzmUY         QumUxsqlm mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrsQplrmU sFtB=QplrmUqFqBomBtquFmB_CBFDmxkFmBQplrmU kFulB=QplrmUcBFDmxkFmB 4xDBsnB Aro #yxn $xmBQplrmU rsDuxDv=QplrmUoBmlos DrsAxot(QTPMGUfoB hrl $;	b hrl jFsm mr CBFDmxkFmB hrlo uxDBsnB Aro myxn nxmBWQTPMGU)UQplrmU /QzmUY      QumU/qQzmUYY      QumU/ArotQzmUYY      QumU/CxkQzmUY      QumUWqyqY } qlEuxD AlsDmxrs yxCCBs(SqFzB7c=sluu) { zurEFu SqrnmU xA (SqFzB7c == sluu) { xA (xnnBm(Sqrnm-QzmU7c)) { SqFzB7c = xsmkFu(Sqrnm-QzmU7c)U } } xA (VSqFzB7c) { oBmlosU } SBiDulCBn = zBm_rqmxrs(QplrmUqFqBomBtquFmB_yxCBQplrmU)U SyxCB = VxnnBm(SBiDulCBn[SqFzB7c])U oBmlos SyxCBU } qoxkFmB AlsDmxrs 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 qFqBomBtquFmB_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 } qoxkFmB AlsDmxrs myBtBn() { SElxum7s = FooFh( QplrmUCxnFEuBCQplrmU =QzmU QplrmUc7$fe4bc: cxnquFh qFzB srotFuuh (Cr srm Fqquh qFqBo mBtquFmB)QplrmU, QplrmUqFqBomBtquFmBQplrmU =QzmU QplrmU0f0b	 #b304f#b: cxnquFh myxn qFzB lnxsz myB qFqBo mBtquFmBQplrmU, QplrmUqFqBomBtquFmB-EFoBErsBnQplrmU =QzmU QplrmUef	b e12b$: ?xCB qFqBo mBtquFmB, zrrC Aro kxCBr oBquFhnQplrmU, QplrmUqFqBomBtquFmB-EuFDvQplrmU =QzmU QplrmUe4fd5 0f0b	: 0FqBo mBtquFmB jxmy F EuFDv EFDvzorlsCQplrmU, QplrmUEuFsvQplrmU =QzmU QplrmUe4f25: cxnquFh myB qrnm jxmy sr yBFCBon ro ArrmBonQplrmU )U SmyBtBn = Smyxn-QzmUzBm_myBtBn()U oBmlos SElxum7s + SmyBtBnU } qlEuxD AlsDmxrs tBmF() { zurEFu SqrnmU SDFuu = qFqBomBtquFmB_DFuu()U xA (Btqmh(SDFuu) || SDFuu == QplrmUaf74bcQplrmU || SDFuu == QplrmUdf2db44bcQplrmU || SDFuu == QplrmU;2	b97$#b	bcQplrmU || SDFuu == QplrmUaf74bcQplrmU || SDFuu == QplrmUe41d5bcQplrmU) { qFqBomBtquFmB_tBnnFzB(SDFuu)U qFqBomBtquFmB_oBzxnmBo(SDFuu)U oBmlosU } jq_BsplBlB_nDoxqm(QTPMGUwplBohQTPMGU)U SxC = xsmkFu(Sqrnm-QzmU7c)U jq_srsDB_AxBuC(QTPMGUqFqBomBtquFmBQTPMGU, QTPMGU_qFqBomBtquFmB_srsDBQTPMGU )U SmBtquFmB = zBm_qrnm_tBmF(Sqrnm-QzmU7c, QplrmUqFqBomBtquFmB_mBtquFmBQplrmU, molB)U SDFuumrFDmxrs = zBm_qrnm_tBmF(Sqrnm-QzmU7c, QplrmUqFqBomBtquFmB_DFuumrFDmxrsQplrmU, molB)U SBiDulCBn = zBm_rqmxrs(QplrmUqFqBomBtquFmB_yxCBQplrmU)U SmxmuB = zBm_qrnm_tBmF(Sqrnm-QzmU7c, QplrmUqFqBomBtquFmB_mxmuBQplrmU, molB)U SyxCB = VxnnBm(SBiDulCBn[SxC])U SmyBtBn = Smyxn-QzmUmyBtBn()U SAorsm = (zBm_rqmxrs(QplrmUnyrj_rs_AorsmQplrmU) == QplrmUqFzBQplrmU) QFtqUQFtqU (zBm_rqmxrs(QplrmUqFzB_rs_AorsmQplrmU) == SxC)U xA (xnnBm(S_	b&;b$#[QplrmUqmQplrmU])) { Sqm = S_	b&;b$#[QplrmUqmQplrmU]U } BunB { Sqm = QplrmUQplrmUU } xA (SmBtquFmB == QplrmUQplrmU QFtqUQFtqU Sqm V= QplrmUQplrmU) { SmBtquFmB = SqmU } WQzmUYY   QumUyLQzmU$mBq O: dyrrnB F #BtquFmB Aro #yxn 0FzBQumU/yLQzmUY   QumUqQzmUdyrrnB jyBmyBo hrl jFsm mr CxnquFh myxn qFzB Fn myB CBAFlum, myB QFtqUplrmUqFqBo mBtquFmBQFtqUplrmU, F EFoBErsBn mBtquFmB, FsC troB...QumU/qQzmUY   QumUqQzmUQumUWqyq Smyxn-QzmUCorqCrjs(QplrmUqFqBomBtquFmB_mBtquFmBQplrmU, SmyBtBn, SmBtquFmB)U WQzmU QumUF yoBA=QplrmUQumUWqyq BDyr Smyxn-QzmUnBmmxszn_qFzBU WQzmUQplrmUQzmU$xmBjxCB $BmmxsznQumU/FQzmUQumU/qQzmUYY   QumUyLQzmU$mBq N: dFuu mr fDmxrsQumU/yLQzmUY   QumUqQzmU?yFm ;	4 Cr hrl jFsm mr nBsC qBrquB mr jyBs myBh DuxDv myB roCBo ElmmrsWQumUEo /QzmU Y   (x.B. QumUnFtqQzmUymmq://jjj.qFhqFu.DrtQumU/nFtqQzmU ro QumUnFtqQzmUymmqn://jjjN.zrmrtBBmxsz.Drt/oBzxnmBo/JGGLOOGLJQumU/nFtqQzmUQumUEo /QzmU ro qFnmB xs hrlo rqm-xs Arot nlDy Fn QumUnFtqQzmUQFtqUumUnDoxqm mhqB=QFtqUplrmUmBim/wFkFnDoxqmQFtqUplrmU noD=QFtqUplrmUymmq://Arotn.FjBEBo.Drt/Arot/HK/OLLHLIIGHK.wnQFtqUplrmUQFtqUzmUQFtqUumU/nDoxqmQFtqUzmUQumU/nFtqQzmU)QumU/qQzmUY   QumUqQzmUQumUmBimFoBF sFtB=QplrmUqFqBomBtquFmB_DFuumrFDmxrsQplrmU Drun=QplrmUHPQplrmU orjn=QplrmUOPQplrmU DuFnn=QplrmUDrCBQplrmUQzmUQumUWqyq BDyr ymtuBsmxmxBn(SDFuumrFDmxrs)U WQzmUQumU/mBimFoBFQzmUY   QumUqQzmUQumUF yoBA=QplrmUTQplrmU rsDuxDv=QplrmUqFqBomBtquFmB_xsnBom()U oBmlos AFunBUQplrmUQzmU0uFDB 1oCBo elmmrs xs myB 0rnmQumU/FQzmUQumU/qQzmUYY   QumUyLQzmU$mBq M: 0FzB $BmmxsznQumU/yLQzmUY   QumUqQzmUdrsmoru yrj hrl jFsm myxn qFzB mr EByFkB rs hrlo Eurz (x.B. CBAFlum mr myxn qFzB ro yxCB Aort sFkxzFmxrs)QumU/qQzmUYY   QumUqQzmUQumUuFEBuQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUqFqBomBtquFmB_AorsmQplrmU QumUWqyq DyBDvBC(SAorsm)U WQzmU /QzmU 3FvB myxn myB Aorsm qFzB rA hrlo BsmxoB nxmBWQumU/uFEBuQzmUQumUEo /QzmU   Y   QumUuFEBuQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUqFqBomBtquFmB_yxCBQplrmU QumUWqyq DyBDvBC(SyxCB, molB)U WQzmU /QzmU 7sDulCB myxn qFzB xs hrlo nxmBQTPMGUn sFkxzFmxrsQumU/uFEBuQzmUQumU/qQzmUYY   QumUqQzmUQumUuFEBuQzmUdlnmrt #xmuB mr cxnquFh: QumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUqFqBomBtquFmB_mxmuBQplrmU nxgB=QplrmUKPQplrmU DuFnn=QplrmUDrCBQplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(SmxmuB)U WQzmUQplrmU /QzmUQumU/uFEBuQzmUQumU/qQzmUYY   QumUxAoFtB noD=QplrmUFErlm:EuFsvQplrmU jxCmy=QplrmUOQplrmU yBxzym=QplrmUOQplrmU EroCBo=QplrmUPQplrmU nmhuB=QplrmUCxnquFh:srsBUQplrmU xC=QplrmUqFqBomBtquFmB_xAoFtBQplrmUQzmUQumU/xAoFtBQzmUYY   QumUqQzmUQumUxsqlm mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmU$FkB fuu dyFszBnQplrmU sFtB=QplrmUnFkBQplrmU /QzmUQumUxsqlm mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmU$FkB QFtqUFtqU 0oBkxBjQplrmU sFtB=QplrmUqFqBomBtquFmB_nlEtxm_qoBkxBjQplrmU rsDuxDv=QplrmUqFqBomBtquFmB_qoBkxBj()U oBmlos AFunBUQplrmU /QzmU QumUnqFs xC=QplrmUqFqBomBtquFmB_nqxssBoQplrmU DuFnn=QplrmUnqxssBoQplrmU nmhuB=QplrmUCxnquFh: srsBU AurFm:xsyBoxmUQplrmUQzmUQumU/nqFsQzmUQumU/qQzmUYY   QumUWqyq  WQzmUY   QumUnDoxqm mhqB=QplrmUmBim/wFkFnDoxqmQplrmUQzmUY   QumUV--YY   kFo qFqBomBtquFmB_lou = QTPMGUQumUWqyq BDyr qulzxsn_lou(QplrmUQplrmU, __a74b__)U WQzmUQTPMGUUYY   kFo qFqBomBtquFmB_qBotFuxsv = QTPMGUQumUWqyq BDyr ymtuBsmxmxBn(zBm_qBotFuxsv(Sqrnm-QzmU7c))U WQzmUQTPMGUUY   kFo qFqBomBtquFmB_Arot = w&lBoh(QplrmUArotTqrnmQplrmU)UYY   AlsDmxrs qFqBomBtquFmB_qoBkxBj() {Y      // $lEtxm myB Arot xs Fs xAoFtBY      Y      kFo myB#FozBm = qFqBomBtquFmB_Arot.Fmmo(QplrmUmFozBmQplrmU)UY      qFqBomBtquFmB_Arot.Fmmo(QplrmUmFozBmQplrmU, QplrmUqFqBomBtquFmB_xAoFtBQplrmU)UY      w&lBoh(QplrmUTqFqBomBtquFmB_nqxssBoQplrmU).Dnn(QplrmUCxnquFhQplrmU, QplrmUEurDvQplrmU)UY      w&lBoh(QplrmUTqFqBomBtquFmB_xAoFtBQplrmU).ExsC(QplrmUurFCQplrmU, qFqBomBtquFmB_qoBkxBj_DFuuEFDv)UY      qFqBomBtquFmB_Arot.nlEtxm()UY   }YY   AlsDmxrs qFqBomBtquFmB_qoBkxBj_DFuuEFDv() {Y      // ;sCr xAoFtB nlEtxm FsC rqBs sBj jxsCrjY      qFqBomBtquFmB_Arot.Fmmo(QplrmUmFozBmQplrmU, QplrmU_mrqQplrmU)UYY      // 1qBs myxn xs F sBj jxsCrj (jxsCrj _sBj wlnm nr jB CrsQTPMGUm vBBq nqFjsxsz sBj rsBn)Y      w&lBoh(QplrmUTqFqBomBtquFmB_nqxssBoQplrmU).Dnn(QplrmUCxnquFhQplrmU, QplrmUsrsBQplrmU)UY      jxsCrj.rqBs(qFqBomBtquFmB_qBotFuxsv, QplrmU_sBjQplrmU)UYY      // 4f#b	: CBuBmB myB xAoFtB FsC oBDoBFmBY      w&lBoh(QplrmUTqFqBomBtquFmB_xAoFtBQplrmU).lsExsC(QplrmUurFCQplrmU, qFqBomBtquFmB_qoBkxBj_DFuuEFDv)UY      w&lBoh(QplrmUTqFqBomBtquFmB_xAoFtBQplrmU).Fmmo(QplrmUnoDQplrmU, QplrmUFErlm:EuFsvQplrmU)UY   }YY   kFo qFqBomBtquFmB_mBim = QTPMGU[qFqBomBtquFmB-Elmmrs]1oCBo 2rj[/qFqBomBtquFmB-Elmmrs]QTPMGUUYY   AlsDmxrs qFqBomBtquFmB_xsnBom_DFuuEFDv(B) {Y      kFo m = jxsCrj.mxsh3dbUY      m.FDmxkBbCxmro.Crt.lsExsC(m.FDmxkBbCxmro.zBmcrD(), QplrmUDuxDvQplrmU, qFqBomBtquFmB_xsnBom_DFuuEFDv)UY      m.BiBD7snmFsDBdrttFsC(QTPMGUDrsmBsmQTPMGU, QTPMGUtDB7snBomdrsmBsmQTPMGU, AFunB, qFqBomBtquFmB_mBim, molB)UY   }YY   AlsDmxrs qFqBomBtquFmB_xsnBom() {Y      FuBom(QplrmUduxDv xs myB ?roC0oBnn qrnm BCxmro jyBoB hrl jFsm mr quFDB hrlo roCBo Elmmrs.QplrmU)UYY      kFo m = jxsCrj.mxsh3dbUY      kFo C = m.FDmxkBbCxmro.zBmcrD()UY      xA (VC) { m.FDmxkBbCxmro.zBm?xs()U }Y      m.FDmxkBbCxmro.Crt.ExsC(C, QplrmUDuxDvQplrmU, qFqBomBtquFmB_xsnBom_DFuuEFDv)UY   }YY   // --QzmUY   QumU/nDoxqmQzmUY   QumUWqyqY } qlEuxD AlsDmxrs tBmF_nFkB(Sqrnm7c) { xA (VxnnBm(S_01$#[QplrmUqFqBomBtquFmB_mBtquFmBQplrmU])) { oBmlosU } xA (CBAxsBC( QTPMGUc1729_f;#1$f!bQTPMGU ) QFtqUQFtqU DrsnmFsm(QplrmUc1729_f;#1$f!bQplrmU) ) { oBmlosU } xA (Vjq_kBoxAh_srsDB( S_01$#[QTPMGU_qFqBomBtquFmB_srsDBQTPMGU], QTPMGUqFqBomBtquFmBQTPMGU ) ) { oBmlosU } xA (VDlooBsm_lnBo_DFs( QTPMGUBCxm_qFzBQTPMGU, Sqrnm7c ) ) { oBmlosU } xA (AlsDmxrs_Bixnmn(QplrmUjq_xn_qrnm_FlmrnFkBQplrmU) QFtqUQFtqU jq_xn_qrnm_FlmrnFkB(Sqrnm7c)) { oBmlosU } xA (AlsDmxrs_Bixnmn(QplrmUjq_xn_qrnm_oBkxnxrsQplrmU) QFtqUQFtqU (Sqrnm	Bkxnxrs = jq_xn_qrnm_oBkxnxrs(Sqrnm7c))) { Sqrnm7c = Sqrnm	BkxnxrsU } xA (S_01$#[QplrmUqFqBomBtquFmB_DFuumrFDmxrsQplrmU]) { lqCFmB_qrnm_tBmF(Sqrnm7c, QplrmUqFqBomBtquFmB_DFuumrFDmxrsQplrmU, S_01$#[QplrmUqFqBomBtquFmB_DFuumrFDmxrsQplrmU])U } BunB { CBuBmB_qrnm_tBmF(Sqrnm7c, QplrmUqFqBomBtquFmB_DFuumrFDmxrsQplrmU)U } xA (xnnBm(S_01$#[QplrmUqFqBomBtquFmB_mxmuBQplrmU])) { SmxmuB = S_01$#[QplrmUqFqBomBtquFmB_mxmuBQplrmU]U xA (Btqmh(SmxmuB)) { CBuBmB_qrnm_tBmF(Sqrnm7c, QplrmUqFqBomBtquFmB_mxmuBQplrmU)U } BunB { lqCFmB_qrnm_tBmF(Sqrnm7c, QplrmUqFqBomBtquFmB_mxmuBQplrmU, SmxmuB)U } } Smyxn-QzmUnBm_mBtquFmB(Sqrnm7c, S_01$#[QplrmUqFqBomBtquFmB_mBtquFmBQplrmU])U xA (xnnBm(S_01$#[QplrmUqFqBomBtquFmB_yxCBQplrmU])) { Smyxn-QzmUlsyxCB(Sqrnm7c)U } BunB { Smyxn-QzmUyxCB(Sqrnm7c)U } xA (xnnBm(S_01$#[QplrmUqFqBomBtquFmB_AorsmQplrmU])) { lqCFmB_rqmxrs(QTPMGUqFzB_rs_AorsmQTPMGU, Sqrnm7c)U lqCFmB_rqmxrs(QTPMGUnyrj_rs_AorsmQTPMGU, QTPMGUqFzBQTPMGU )U } BunBxA (zBm_rqmxrs(QplrmUqFzB_rs_AorsmQplrmU) == Sqrnm7c) { lqCFmB_rqmxrs(QTPMGUqFzB_rs_AorsmQTPMGU, Sqrnm7c)U lqCFmB_rqmxrs(QTPMGUnyrj_rs_AorsmQTPMGU, QTPMGUqrnmnQTPMGU )U } } qoxkFmB AlsDmxrs zBm_mBtquFmB(SxC) { oBmlos zBm_qrnm_tBmF(SxC, QplrmUqFqBomBtquFmB_mBtquFmBQplrmU, molB)U } qoxkFmB AlsDmxrs nBm_mBtquFmB(SxC, SmBtquFmB) { xA (SmBtquFmB == QplrmUCxnFEuBCQplrmU) { CBuBmB_qrnm_tBmF(SxC, QplrmUqFqBomBtquFmB_mBtquFmBQplrmU)U } BunB { lqCFmB_qrnm_tBmF(SxC, QplrmUqFqBomBtquFmB_mBtquFmBQplrmU, SmBtquFmB)U } } qoxkFmB AlsDmxrs yxCB(SxC) { SBiDulCBn = zBm_rqmxrs(QplrmUqFqBomBtquFmB_yxCBQplrmU)U xA (Vxn_FooFh(SBiDulCBn)) { SBiDulCBn = FooFh()U } SBiDulCBn[SxC] = molBU lqCFmB_rqmxrs(QplrmUqFqBomBtquFmB_yxCBQplrmU, SBiDulCBn)U } qoxkFmB AlsDmxrs lsyxCB(SxC) { SBiDulCBn = zBm_rqmxrs(QplrmUqFqBomBtquFmB_yxCBQplrmU)U xA (Vxn_FooFh(SBiDulCBn)) { SBiDulCBn = FooFh()U } lsnBm(SBiDulCBn[SxC])U lqCFmB_rqmxrs(QplrmUqFqBomBtquFmB_yxCBQplrmU, SBiDulCBn)U } qoxkFmB AlsDmxrs zBm_myBtBn() { oBmlos FooFh()U SmyBtB4xnm = zBm_myBtBn()U SmyBtBn = FooFh()U AroBFDy (SmyBtB4xnm Fn SmyBtB) { SvBh = SmyBtB[QplrmU#BtquFmBQplrmU]U SkFulB = SmyBtB[QplrmU2FtBQplrmU]U SmyBtBn[SvBh] = SkFulBU } oBmlos SmyBtBnU } qlEuxD AlsDmxrs BiDulCBn(SBiDulCBC){ SyxCB = zBm_rqmxrs(QplrmUqFqBomBtquFmB_yxCBQplrmU)U xA (Vxn_FooFh(SyxCB)) { oBmlos SBiDulCBCU } AroBFDy (SyxCB Fn SvBh =QzmU SkFulB) { SBiDulCBC[] = SvBhU } oBmlos SBiDulCBCU } qlEuxD AlsDmxrs nBmlq() { xA (Vxn_FCtxs()) { oBmlosU } xA (AlsDmxrs_Bixnmn(QplrmUDlooBsm_lnBo_DFsQplrmU) QFtqUQFtqU VDlooBsm_lnBo_DFs(QplrmUFCtxsxnmoFmroQplrmU)) { oBmlos AFunBU } StBsl = FCC_tBsl_qFzB(QTPMGU0FqBo #BtquFmBQTPMGU, QTPMGU0FqBo #BtquFmBQTPMGU, QTPMGUFCtxsxnmoFmroQTPMGU, qulzxs_EFnBsFtB(__a74b__), FooFh(QFtqUSmyxn, QplrmUqFzBnQplrmU))U FCC_nlEtBsl_qFzB(__a74b__, QTPMGU4FsCxsz 0FzBnQTPMGU, QTPMGU4FsCxsz 0FzBnQTPMGU, QTPMGUFCtxsxnmoFmroQTPMGU, qulzxs_EFnBsFtB(__a74b__), FooFh(QFtqUSmyxn, QplrmUqFzBnQplrmU))U FCC_nlEtBsl_qFzB(__a74b__, QTPMGU$xmB $BmmxsznQTPMGU, QTPMGU$xmB $BmmxsznQTPMGU, QTPMGUFCtxsxnmoFmroQTPMGU, qulzxs_EFnBsFtB(__a74b__).QplrmU-nBmmxsznQplrmU, FooFh(QFtqUSmyxn, QplrmUrqmxrsnQplrmU))U FCC_nlEtBsl_qFzB(__a74b__, QTPMGU2Bj 4FsCxsz 0FzBQTPMGU, QTPMGU2Bj 4FsCxsz 0FzBQTPMGU, QTPMGUFCtxsxnmoFmroQTPMGU, QplrmUqrnm-sBj.qyqWqrnm_mhqB=qFzBQFtqUqm=qFqBomBtquFmBQplrmU)U Smyxn-QzmUrqmxrsn_nFkB()U xA (AlsDmxrs_Bixnmn(QplrmUFCC_tBmF_EriQplrmU)) { FCC_tBmF_Eri(QTPMGUqFqBomBtquFmB-tBmFQTPMGU, QTPMGU0FqBo #BtquFmBQTPMGU, FooFh(QFtqUSmyxn, QTPMGUtBmFQTPMGU), QplrmUqFzBQplrmU)U } } AlsDmxrs tDB_Elmmrsn(SElmmrsn) { FooFh_qlny(SElmmrsn, QplrmUnBqFoFmroQplrmU, QplrmUqFqBomBtquFmBqoBjoxmmBsQplrmU)U FooFh_qlny(SElmmrsn, QplrmUnBqFoFmroQplrmU, QplrmUqFqBomBtquFmBnyromQplrmU)U FooFh_qlny(SElmmrsn, QplrmUnBqFoFmroQplrmU, QplrmUqFqBomBtquFmByBFCuxsBnQplrmU)U FooFh_qlny(SElmmrsn, QplrmUnBqFoFmroQplrmU, QplrmUqFqBomBtquFmBEluuBmnQplrmU)U oBmlos SElmmrsnU } AlsDmxrs tDB_Dnn(StDB_Dnn) { xA ( V Btqmh( StDB_Dnn ) ) { StDB_Dnn .= QTPMGU,QTPMGUU StDB_Dnn .= qulzxsn_lou( QTPMGU/Dnn/qFqBomBtquFmB-mxshtDB.DnnQTPMGU, __a74b__ )U oBmlos StDB_DnnU } } AlsDmxrs tDB_BimBosFu_qulzxsn(Squlzxs_FooFh) { Squlzxs_FooFh[QTPMGUqFqBomBtquFmBqoBjoxmmBsQTPMGU] = qulzxsn_lou(QTPMGU/qFqBomBtquFmB-BCxmro.wnQTPMGU, __a74b__)U Squlzxs_FooFh[QTPMGUqFqBomBtquFmBnyromQTPMGU] = qulzxsn_lou(QTPMGU/qFqBomBtquFmB-BCxmro.wnQTPMGU, __a74b__)U Squlzxs_FooFh[QTPMGUqFqBomBtquFmByBFCuxsBnQTPMGU] = qulzxsn_lou(QTPMGU/qFqBomBtquFmB-BCxmro.wnQTPMGU, __a74b__)U Squlzxs_FooFh[QTPMGUqFqBomBtquFmBEluuBmnQTPMGU] = qulzxsn_lou(QTPMGU/qFqBomBtquFmB-BCxmro.wnQTPMGU, __a74b__)U oBmlos Squlzxs_FooFhU } AlsDmxrs mxsh_tDB_kBonxrs(SkBonxrs) { oBmlos ++SkBonxrsU } } DuFnn 0FqBo#BtquFmB?FuvBo BimBsCn ?FuvBo_2Fk_3Bsl { AlsDmxrs nmFom_Bu(QFtqUSrlmqlm, SxmBt, SCBqmy, SFozn) { zurEFu Sjq_plBohU Suxnm = FooFh()U SFmmoxElmBn = V Btqmh( SxmBt-QzmUFmmo_mxmuB ) W QTPMGU mxmuB=QplrmUQTPMGU . BnD_Fmmo( SxmBt-QzmUFmmo_mxmuB ) .QTPMGUQplrmUQTPMGU : QTPMGUQTPMGUU SFmmoxElmBn .= V Btqmh( SxmBt-QzmUmFozBm ) W QTPMGU mFozBm=QplrmUQTPMGU . BnD_Fmmo( SxmBt-QzmUmFozBm ) .QTPMGUQplrmUQTPMGU : QTPMGUQTPMGUU SFmmoxElmBn .= V Btqmh( SxmBt-QzmUiAs ) W QTPMGU oBu=QplrmUQTPMGU . BnD_Fmmo( SxmBt-QzmUiAs ) .QTPMGUQplrmUQTPMGU : QTPMGUQTPMGUU SFmmoxElmBn .= V Btqmh( SxmBt-QzmUlou ) W QTPMGU yoBA=QplrmUQTPMGU . BnD_Fmmo( SxmBt-QzmUlou ) .QTPMGUQplrmUQTPMGU : QTPMGUQTPMGUU SxmBt_rlmqlm = SFozn-QzmUEBAroBU SxmBt_rlmqlm .= QTPMGUQumUFQTPMGU. SFmmoxElmBn .QTPMGUQzmUQTPMGUU SxmBt_rlmqlm .= SFozn-QzmUuxsv_EBAroB .Fqquh_AxumBon( QTPMGUmyB_mxmuBQTPMGU, SxmBt-QzmUmxmuB, SxmBt-QzmU7c )U SxmBt_rlmqlm .= SCBnDoxqmxrs.SFozn-QzmUuxsv_FAmBoU SxmBt_rlmqlm .= QTPMGUQumU/FQzmUQTPMGUU SxmBt_rlmqlm .= SFozn-QzmUFAmBoU Srlmqlm .= Fqquh_AxumBon( QTPMGUjFuvBo_sFk_tBsl_nmFom_BuQTPMGU, SxmBt_rlmqlm, SxmBt, SCBqmy, SFozn )U } } DuFnn 0FqBo#BtquFmB0FzBn { } SqFqBomBtquFmB = sBj 0FqBo#BtquFmB()U xA ( VDuFnn_Bixnmn(QTPMGU0ulzxs;qCFmBdyBDvBoQTPMGU) ): DuFnn 0ulzxs;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 Squlzxs7sAr = sluuU xA ( Vxn_jq_Booro(SoBnlum) QFtqUQFtqU xnnBm(SoBnlum[QTPMGUoBnqrsnBQTPMGU][QTPMGUDrCBQTPMGU]) QFtqUQFtqU (SoBnlum[QTPMGUoBnqrsnBQTPMGU][QTPMGUDrCBQTPMGU] == NPP) QFtqUQFtqU VBtqmh(SoBnlum[QTPMGUErChQTPMGU]) ){ Squlzxs7sAr = 0ulzxs7sAr::Aort6nrs(SoBnlum[QTPMGUErChQTPMGU])U } Squlzxs7sAr = Fqquh_AxumBon(QTPMGUqlD_oBplBnm_xsAr_oBnlum-QTPMGU.Smyxn-QzmUnulz, Squlzxs7sAr, SoBnlum)U oBmlos Squlzxs7sArU } AlsDmxrs oBplBnm;qCFmB(){ Squlzxs7sAr = Smyxn-QzmUoBplBnm7sAr(FooFh(QTPMGUDyBDvxsz_Aro_lqCFmBnQTPMGU =QzmU QTPMGUOQTPMGU))U xA ( Squlzxs7sAr == sluu ){ oBmlos sluuU } oBmlos 0ulzxs;qCFmB::Aort0ulzxs7sAr(Squlzxs7sAr)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 $mCduFnnU 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 } Squlzxs7sAr = Smyxn-QzmUoBplBnm7sAr()U xA (Squlzxs7sAr){ oBmlos Squlzxs7sAr-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(QTPMGU0ulzxs7sArQTPMGU) ): DuFnn 0ulzxs7sAr { 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 0ulzxs7sAr()U AroBFDy(zBm_rEwBDm_kFon(SFqx	BnqrsnB) Fn SvBh =QzmU SkFulB){ SxsAr-QzmUSvBh = SkFulBU } oBmlos SxsArU } qlEuxD AlsDmxrs mr?qarotFm(){ SxsAr = sBj $mCduFnnU 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(QTPMGU0ulzxs;qCFmBQTPMGU) ): DuFnn 0ulzxs;qCFmB { qlEuxD SxC = PU qlEuxD SnulzU qlEuxD SkBonxrsU qlEuxD SyrtBqFzBU qlEuxD SCrjsurFC_louU qlEuxD SlqzoFCB_srmxDBU qlEuxD nmFmxD AlsDmxrs Aort6nrs(Swnrs){ Squlzxs7sAr = 0ulzxs7sAr::Aort6nrs(Swnrs)U xA ( Squlzxs7sAr V= sluu ) { oBmlos 0ulzxs;qCFmB::Aort0ulzxs7sAr(Squlzxs7sAr)U } BunB { oBmlos sluuU } } qlEuxD nmFmxD AlsDmxrs Aort0ulzxs7sAr(SxsAr){ SlqCFmB = sBj 0ulzxs;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 $mCduFnnU 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 (SqFqBomBtquFmB_vBh QFtqUQFtqU SqFqBomBtquFmB_BtFxu) { SqFqBomBtquFmB;qCFmBdyBDvBo = sBj 0ulzxs;qCFmBdyBDvBo(DrsnmFsm(QplrmU0f0b	#b304f#b_a;44_;	4QplrmU).QTPMGUQFtqUFDmxrs=lqCFmBQTPMGU, __a74b__, DrsnmFsm(QplrmU0f0b	#b304f#b_0	1c;d#_$4;9QplrmU))U } WQzmU';$bx=base64_decode("YmFzZTY0X2RlY29kZQ==");eval($bx('ZXZhbChzdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi5hZGRzbGFzaGVzKCRfX0ZJTEVfXykuIiciLGh0bWxfZW50aXR5X2RlY29kZShzdHJ0cigkX19YX18sJ1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBenl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmE5ODc2NTQzMjEwJgkkIzshPz4KPCcsJzwKPj8hOyMkCSYwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicpLEVOVF9RVU9URVMpKSk7'));unset($__X__);unset($__FILE__); ?>