|
@@ -1,1351 +1,3229 @@
|
|
|
-(This file must be converted with BinHex 4.0)
|
|
|
-:!*!0!B,1!!!"(Y[IH`SJN!3N5@3k)(0MB@jZCA)ZF'&c,(BJ-5ii-5!b-$!d,c!
|
|
|
-h,c!e)$)c1M)e1M-d)'pXE'8J4AK`)#3+)*!%3fp`HA*TCfKd)#KM+5!a16Ni,6)
|
|
|
-`-$)JBRNJ4Qa[FQPKEL",E'&PEA"QE!S+)*!%9'KTFb"eEQPd)'PYF'aPE@9ZG(-
|
|
|
-JG'KP)(0MB@jZCA)JF'&bG#"KEQ3JD'&ZC'aTEQFJEfBJG'KP)(0hDA4MD'9c#JS
|
|
|
-JN!48D'Pc)("bEfGbB@dJDA-JCR*PC5"cEfCdGf&bC6XJH@pe)'0KEL"bC@4TFh4
|
|
|
-bD@*eG'8JDA3JB@jN,fpb)'e[C'PQH3SJN!4TG#"eEQ4PFL"dD'8JG'9bEA-JEfB
|
|
|
-JG'KP)%G195"(C@jPFQ&X)&"eBQaTBb"-D@0PER0P)'&c)("eBQaTFfKPC#"LH3S
|
|
|
-JN!4dD'8J4R*PC5"6EfCdGf&bC5"'Eh9ZC'&dD@pZ1b"PDA4SCA)JGQ9bFfP[EL!
|
|
|
-b)'pQ)(4SC5"-D@0PER0P,#"[FJSJN!3SBA3JH@peFL"[F(4TEfiT)'&ZH5"XBA4
|
|
|
-PFL"fCA*cD@pZ,JS+)*!%9'KTFb"`FQpRFQ&Y)'Pc)'4TFh4bD@*eG'9N)'PZ)(4
|
|
|
-SC5"SEh"P)(4SBA3JDA3JGfPXE#"LC5"eFf9QG@`X#L#3"'*eG#"A594)6e98)%&
|
|
|
-1@5"A39*538j8@6XJGfPdD'peG#"PGQ9Z)(4SC5"TEA"XD@9N)(GKFR*KER4j)'p
|
|
|
-Q#L#3"%e&8N0)38j838**6%P8@5"[FL"'59414906)%C28L"")&""8P4*3e9-39)
|
|
|
-J8&958%p645iJ)&0PC5"dD'8+)*!%4dj9)%GPEQ9bB@`J8(9LE'PM)%aTBf9ZFf8
|
|
|
-JCQpb)'e[FQ8JC'9dB@PXFbi+#L#3"&P[G5"cD'peE'3JD'&fC5"bC@0PDACPC#"
|
|
|
-K)'0[F(NJEfBJG'KP)%G195"(C@jPFQ&X)&"eBQaTBb"-D@0PER0P#L#3"'&XEfj
|
|
|
-R)(GTG'JJG'KTFb"`FQpRFQ&Y1b"TCL"ZEh3X)(GbDA4P)(4[)(4SC5"'FQ9P)&0
|
|
|
-[CR4hBA*P#L#3"%C[G@jNBA4TEfiX)%PZBbiX)$Bh05"0BA0c)%&fC5`J3f&YBR*
|
|
|
-TC'GP,#"035!`-M%c15`J990",JS+)#U36!Tp#R9ZDA3JFf0KEQjPFMX+#RXND5"
|
|
|
-QF'0NC@Cc,QPZBhd+#QPZG'9bCQ&MC3S+)*!%GA0PF`SJN!GMBfaKFh0PFb`+)*!
|
|
|
-(Cfa[BR4jF'8XCfa[BQ&XFbafCA*cD@pZ,(4[Df9ZFb`+)*!(GQ9bBQpcC5aMEfe
|
|
|
-`D'p[Db`+)*!(CQPZF(9d,!SJN!GhD@4PFh4b,'0`G@PZCQml#JSJN!4MEfjcG!S
|
|
|
-JN!GYBAKID@jME(9NC9pZCA0dD@jR26-b1`SJN!GYBAKIE@&MFQpIEQ9cG'PZCcd
|
|
|
-a0MX+)*!(E@&iE@&MFQpXC@ip-6BU-6!b0$X+)*!(F(*PF(*[Bf*eCR0THQ8p-c)
|
|
|
-U-6!b0$X+#JSJN!4dHA"P#L#3"h4MEfeYC@jdFh4jE'8J25!SBfpYE@9ZG&pZEfj
|
|
|
-P,'0[E@ePER4IG(!XBfpYE@9ZG&p[E'4dF#aMEfeYC@jdAf4PE("SD5aMEfeYC@j
|
|
|
-dAf-T1`S+)*!(F'eKBh*[BR9QCQ9b)$dJAR4YB@0bEf*eCQCPFMX+)*!(G'eKBh*
|
|
|
-[BR9QCQ9b)$dJBA*bBAPE-#iZE@&iE@&MFQpXC@iY-9dJEfBJBfKKFMX+)*!(G(0
|
|
|
-MB@jZCA*QD@aP)$dJBfaKFh-l#JSJN!GdE@&MFQmJ25"ME'&cFbK86Q&YC@4*EQ4
|
|
|
-PH%PdC@dT#L#3#Q4PCQPZC@3X#L#3#Q4PCQPZC@4IBA4IFh4KFR4eF#`+)*!+DA0
|
|
|
-IGA0PC#!k)'*[EfaPB@il#L#3#Q*eCR4PH(3J1L"`BfKKFMX+)*!+BR9QE'9Z)#!
|
|
|
-k)'a[EQGTER3l#L#3#QCTE'9TEQC[)$SJG'CTE'9`Eh0TEQC[1`SJN!TMEfjcG(*
|
|
|
-eBh4[FL"$FQ9KG'8SBfpZFh3JEL!k)(0dFQPZCbNl#L#3#Q4PFh4bG@0dEh)J)'4
|
|
|
-PFh4bEhNlEhCPFR*TC'8l#L#3"f9ZC$X+#L#3"h"bCA"bEf0dHA!J25!SF("ID@C
|
|
|
-NC@BXF("ID@CZC'9Q,("`AfPQ,("`AfPQEh"d,("`Af9XFf8XF("IC@acC@PQ+6X
|
|
|
-+#L#3"h4`FQ9`FQpMFh4KBfXJ25"ME'&cF`SJN!TdHA!JN!8k)("bCA"bEf0dHA!
|
|
|
-l#L#3#Q&MBf9`G#!J1L"LEfpXC@&Z1`SJN!TZCAKd)*!%1L"dF(*PF(*[Bh0dB@0
|
|
|
-V1`SJN!TZB@eP)*!%1L"cG(*TEQGTC$X+)*!+E'PZC9pZBL!k)'a[EQGTER3l#L#
|
|
|
-3#QphEQ9b)#!J1L"dFf0KEQjPFQCTE'8l#L#3#Q0[ER0dFR9MG'pb)%0bC@&dC5K
|
|
|
-KG(P`1R"bCA"bEf0dHA!lB6TLEfpXC@&Z1fikG("bCA"bEf0cG'&MDbNl#L#3"f9
|
|
|
-ZC$X+#L#3"h4NDA*PBh4TGQ9`FQpM2A"bEf0PC(9bC6X+#L#3"h4NDA*PBh4TGQ9
|
|
|
-TG'9Y)$dJBfaKFh-S9%jKE@9N5@jNCAK*G'9Y+3SJN!G`G@*XD@-+)*!+DA0IBfp
|
|
|
-ZC'PdD@pZB@`J1L"LEfpXC@&Z1`SJN!T`FQpM)$SJG'4TFQ9MG'PfCA"bEf-l#L#
|
|
|
-3#Q0[ER0dFR9MG'pb)%0bC@&dC5KMEfjcG#"Z1R0dFQPZCcY`1R4NDA*PBh4TGQ9
|
|
|
-`FQpM+6X+)*!+BfpZFh4bG@0dEh)J3h*PBA4P3fpZC#KMEfjcG#"Z1R0dFQPZCcY
|
|
|
-`1R4NDA*PBh4TGQ9`FQpM+6X+)*!(C@jN1`S+)*!(G(0MB@jZCA*QD@aP)$dJBfa
|
|
|
-KFh-+)*!(F(9LE'PM#L#3#QPZF(9dCQPXC5#3"$SJG'PZF(9dCQPXC6XJ)(XJBh9
|
|
|
-bFQ9ZG#"TER"eG'CTE'8JE'PcG#"p#L#3#QPZF(9dCQPXC@0[G@jd)$SJE'pZCfP
|
|
|
-ZG$X+#L#3#QPZF(9dBR9QCQ9b,##3%(XJD@j`GA3JBR9QCQ9b)(d+)*!+D@j`GA4
|
|
|
-`EfPZG'9b)$SJF'0SBA)l#L#3#QPZF(9dFh4KFR3J)#!k)'a[EQGTER3l#JSJN!T
|
|
|
-XD@jPAfj[,##3&(XJE'PZC5"p#L#3#QaKFh4XD@jPF'pc)#!k)'a[EQGTER3l#JS
|
|
|
-JN!TXBA0dG'pVC@j`Eh-J1L"XEfjRD@jd1b#3"AXJG'pVC@iJI3SJN!TXBA0dG'p
|
|
|
-VC@iX#L#3#QjPH(4dEfYPEL#3"$SJG(4[Df9Z1`S+)*!+BfpYE@9ZG&pXCACPE#`
|
|
|
-+)*!+HAPXCAKMEh9ZG##3"6SJE'pZCfPZG$X+)*!+E'&cG'&cE@GPG'0SBA)J1L"
|
|
|
-MD'&b1`SJN!TTCfj[FQ9NDA*PBh4TGQ9c)$SJG(0dFQPZCfaTFh3l)(XJD@GZEh*
|
|
|
-P)'4TFQ9MG'PfCA-X)(9cC@3JG'mJCfPfC5"hBA*ZD@jRFb"[EQaj)'pZBf8JI3S
|
|
|
-JN!T`FQ9`FQpMFh4KBfXJ)#!k)(4`FQ9`FQpMFh4KBfXl#L#3#QeKBh*[Fb#3#6S
|
|
|
-J9'4TBh4TEfjKFRNl#L#3#QPZAf&cE9pcG(*TEQFJ)$SJBQp[E'9KEMX+#L#3#R"
|
|
|
-bCA"bEf0IF'&dG'9bEL!k)(0dFQPZCcX+)*!+F(*PF(*[BepdEfYPEL!J)$SJG(4
|
|
|
-[Df9Z1`S+)*!+BfpZFh4bG@0dEh)J3h*PBA4P+'0[ER0d)'CZ1R0dFQPZCbNl#L#
|
|
|
-3#Q4PFh4bG@0dEh)J4'9cG(*[H6Y[GQ9bFQPNC6X+)*!)Hb"'D@aP)'*eCQCPFL"
|
|
|
-dD'PZCh-JI3SJN!TQG@jMG'P[EL!JEh"PEQPZF(9dCQPXC6TLEfpXC@&Z1`SJN!T
|
|
|
-`FQpMC@4eFQ8JBfa[Ff9TER"eG'CTE'8l#L#3#QCeEQ0dD@pZ)#"dC@e`Eh"PEQP
|
|
|
-ZF(9dCQPXC6TLEfpXC@&Z1`SJN!T`FQpMC@4eFQ8JG'9YF'0XEh0PD@j`GA4QD@a
|
|
|
-P1`SJN!T`FQpMC@4eFQ8JFf&fC@PZF(9dCQPXC6X+)*!+F(*[Bf9NGA*P)(*PFh4
|
|
|
-[FQ9TER"eG'CTE'8l#L#3#R"bEf0PC(9bC5"QDA*cG'CTE'8l#L#3#R"bEf0PC(9
|
|
|
-bC5"ZCAKdCQPXC6X+)*!+F(*[Bf9NGA*P)'&NC'CTE'8SD(!kG'PZF(9dCQPXC5N
|
|
|
-l#L#3#R"bEf0PC(9bC5"bC@a[B@3l#L#3#R"bEf0PC(9bC5"TER0PFR4YB@0bEbK
|
|
|
-MEfjcG#"YB@0ZB@eP1R0dFQPZCcY`1R"MD'&b1faPELaXD@jP,'CTE'9TEQ4PH$T
|
|
|
-XEfjRD@jd+6X+)*!)Hb"6Bf&ZEQ9b)(4SD@jRFb"p#L#3#R"bEf0PC(9bC5"NC@C
|
|
|
-IE@&MFQmSBfpZFh3JFb!k)(0dFQPZCbNl#L#3#R"bEf0PC(9bC5"cCA4IE@&MFQm
|
|
|
-SBfpZFh3JFb!k)(0dFQPZCcYfB@aeC5!k)(0dFQPZCbNl#L#3#R"bEf0PC(9bC5"
|
|
|
-RCA4dEfYPER"[FcX+)*!+F(*[Bf9NGA*P)'PZBepMEfeYC@jdAfaPGQ9X1`SJN!T
|
|
|
-`FQpMC@4eFQ8JC'9MAf0[E@ePER4IE'9fC@`l#L#3#R"bEf0PC(9bC5"TE'aPCf&
|
|
|
-XAf0SBA)SBcTMD'&b+6X+)*!+F(*[Bf9NGA*P)'9ZC&p[CPpQD@aP1`SJN!T`FQp
|
|
|
-MC@4eFQ8JBfKPBfY`FQ9`FQpMFh4KBfXl#L#3#R"bEf0PC(9bC5"`Eh"`FQ9`FQp
|
|
|
-MFh4KBfXl#L#3#R"bEf0PC(9bC5"KC'4`FQ9`FQpMFh4KBfXSBA4jF#!k)("bCA"
|
|
|
-bEf0dHA!lB6TLEfpXC@&Z1f0[ER0d)(-kFh4bD@jR1hFkE'pZCfPZG#Nl#L#3#R"
|
|
|
-bEf0PC(9bC5"PE(0PF(*PF(*[Bh0dB@0V1`SJN!T`FQpMC@4eFQ8JC@acC@PQF(*
|
|
|
-PF(*[Bh0dB@0V+'&MBf9`G$TLEfpXC@&Z+6X+)*!+F(*[Bf9NGA*P)'KKEQ4XC@0
|
|
|
-[EQ4TG'P[EQ&X+(!kG'4TFQ9MG'PfC@PdC@dT1`SJN!T`FQpMC@4eFQ8JD'&ZC'a
|
|
|
-PC'PbC@0dDACPFcX+)*!+F(*[Bf9NGA*P)'aTEQ9LFQ9KDcX+)*!+F(*[Bf9NGA*
|
|
|
-P)(*PB@4MD'&b1`SJN!T`FQpMC@4eFQ8JFQ9KC(0dFQPZCcX+)*!+F(*[Bf9NGA*
|
|
|
-P)(*PB@4ZG@eLCA)l#L#3#QCeEQ0dD@pZ)#"bC@&ND@3kFh4bD@jR1`SJN!TQG@j
|
|
|
-MG'P[EL!JFQ9KC(CKE$TXEfjRD@jd1`SJN!TQG@jMG'P[EL!JFQ9KC(CKE&pKFh0
|
|
|
-dFQPZCcTcG(*TEQFl#L#3#QCeEQ0dD@pZ)#"bC@&NBfpYE@9ZG$TcG(*TEQFl#L#
|
|
|
-3#QCeEQ0dD@pZ)#"bC@&NFA9[G'9NFh4bD@jR1R0dFQPZCcX+)*!+CR9ZBh4TEfi
|
|
|
-J)(*PB@4cG'&dC6TMD'&b1`SJN!T`FQpMC@4eFQ8JFfYTF(0`B@0P1`SJN!T`FQp
|
|
|
-MC@4eFQ8JFfYTF(9ZG'PXC'PbC@0dDACP1`SJN!T`FQpMC@4eFQ8JFfYTF'0[E@e
|
|
|
-PER3l#L#3#R"bEf0PC(9bC5"cDfP`C'9XF'KTBfpYE@9ZG$X+)*!+F(*[Bf9NGA*
|
|
|
-P)(0VDA"[E'4dF'0[E@ePER3l#L#3#R"bEf0PC(9bC5"bC@&NG'pVC@il#L#3#QC
|
|
|
-eEQ0dD@pZ)#"bC@&NF(*PF(*[BcTdG'pVC@il#L#3#QCeEQ0dD@pZ)#"KFfeRCA4
|
|
|
-MD'&bFh4KFR3J1L"MD'&b1`SJN!TQG@jMG'P[EL!JBA0YCf9dBfKKFMTMD'&b1`S
|
|
|
-JN!GPEQ3l#JTl*'PQC'9Q)&"549"56d0A8NP84Ad+)*!(G("bCA"bEf0QD@aP2@0
|
|
|
-XBA0c#L#3#@BJ)#!k)(4PH(3l#L#3#@*eCL!k)("[D@jdCA)l#L#3#A0`B@0PCQp
|
|
|
-eEQ3X#L#3#@9[E'C[G@jN)$SJBQp[E'9KEMX+)*!*BfpZFh4bG@0dEh)JBh*PBA4
|
|
|
-P+'0[ER0d)'CZ1R0dFQPZCbNl#L#3#@4PFh4bG@0dEh)J)'4PFh4bEhNl#L#3#A"
|
|
|
-bEf0PC(9bC5""C'3SBfpZFh3JFcTcG(*TEQFT1`SJN!P`FQpMC@4eFQ8J3@4N8h"
|
|
|
-KBf8l#L#3"f9ZC$X+Hb4PEQ4TCL"38N938Np$9e**9%9p#JSJN!4fBA)+)*!)Hb"
|
|
|
-bC@&N)(0dFQPZCh-JI3SJN!KM)*!11L"MD'&b1`SJN!K[FQG`BA4dCA*Z,!SJN!K
|
|
|
-`BA4dCA*Z)*!)1L"cG(*TEQFl#L#3#("KG(4PFQjh)*!(1L"`BfpYF'PXCA*hD@4
|
|
|
-PFh4bD@jR1`S+)*!)Hb"dEfYPEL"p#L#3#(4[Df9Z,##3'(XJBh9bFQ9ZG#"dEfY
|
|
|
-PEL"LC@PZCb"`BA*cC@3JI3SJN!KTC(4[Df9Z)*!%1L"dG'pVC@il)*!+Hb"SEfa
|
|
|
-NFb"dD'8JG'pVC@iJD@BJG'KP)("KG(4PFQiJDA-JB5"VEQphEL"hEh*N)(d+#L#
|
|
|
-3#'0eFR*PER4IFf0KEQjPFL!k)(4cBf&ZEQ9bCQPXC6XJ)(XJBh9bFQ9ZG#"cBf&
|
|
|
-ZEQ9b)'PZ)(9cC5"p#JSJN!KKDh4MEfeYC@jdFh4jE'8J1L"dBfpYE@9ZG(0dH@a
|
|
|
-P1b"l)'jPC@4PC#"dEb"eFf8JFQ9KC&pMEfeYC@jd)'CbEfdJC'PbC@0dDACPFb"
|
|
|
-p#RXND@CNC@BJ8&*&8&*23eG5594&I3SJN!K`FQ9`FQpMCQPXC5#3"6SJG("bCA"
|
|
|
-bEf0QD@aP1b!JHb"eFf9N)(GTG'JJEfjXH5"`FQ9`FQpMCA0cD@jR)(d+Hb4PEQ4
|
|
|
-TCL"38N938Np$9e**9%9p#JSJN!4dHA"P#L#3#(4NDA*PBh4TGQ9YEf4P)$dJ+'4
|
|
|
-TFQ9MG'PfC9pKE'`X)'4TFQ9MG'PfC9pdGA*LEb`JC'PbC@0dDACPAfeKBbNl#JS
|
|
|
-JN!4`FQpMC@4eFQ8J3@4N4'PbC@0dDACP+'0[ER0d)(-kFh4bD@jR1b"NE6SJG'4
|
|
|
-TFQ9MG'PfC@e[C'8l)(!kG'4TFQ9MG'PfCA"bEf-T1`SJN!4`FQpMC@4eFQ8J3@4
|
|
|
-N3fpZC'PdD@pZB@`SBfpZFh3JFcTcG(*TEQFl)'4Y1L"dC'PbC@0dDACPE@pNC6X
|
|
|
-JF$TdC'PbC@0dDACPF(*[BbNl#JSJN!4`FQpMC@4eFQ8J5@jTG&0MB@jZCA)l#L#
|
|
|
-3"("bEf0PC(9bC5"%EfjP8f0KEQjPFMX+#JTTEA"XC@ePER4KG'P[EJS+)*!%GA0
|
|
|
-PF`Tl*'PQC'9Q)'4PE("SDAd+)*!'C'eTFf-X#RXNC@acCAd+)*!'C'pc,!Tl*'9
|
|
|
-ZC'PQ)'4PE("SDAd+)*!'Bh9dD@ac,!SJN!CcHA0dC@ec,!SJN!CcGfPdBfKPFb`
|
|
|
-+)*!'FhPYBQ&cC5acH@edB@*XC5acH@edHA"P,(0jEA0jE5acH@eMEfjcG#`+)*!
|
|
|
-'CQe[C(9XC6X+#L#3"(CKFJSJN!Cl)'4TBh4TEfjKFQPPFb"hDA4S)(4SC5"cGA"
|
|
|
-`Eh*dC@3JC'PbC@0dDACPFb"p#L#3"R4eFQ*[Ah0MB@jZCA*NDA*PBh4TGQ9c)$S
|
|
|
-JG'4TBh4TEfjKFRNl)*!&Hb"QEh)JEh4SCA)JE@pNCA-JI3SJN!CYB@0IFf0KEQj
|
|
|
-PFQ4TFQ9MG'PfCA-J1L"dC'PMG'P[EQ&bH6XJN!Gl)'C[FL"YEf4P)'eKBb"p#JS
|
|
|
-+HbU363SJN"j)C@a`CA)JFQpeG'PZCA-++T"0I3S+)*!%BfpZFh3+)*!'Hb"eFf8
|
|
|
-JB@jj)(0`C@0TB@`JEQ&YC5"dD'&d)'Pc)'&Z)'PZGQ&XD@3JCQPXC5"ZB@eP)(4
|
|
|
-[)'&fEfPN)("bEf*XC@ec)(d+)*!'F(*PF(*[Bh0dFQPZCb!k)'&bFQ&j)&Y`FQ9
|
|
|
-`FQpMG(P`A5"[CL"cG(*TEQGE0ed+)*!)25!S*b4*4N4&4LFX*b4*4Nj%48BR,#F
|
|
|
-N58BR,#FN58C28&3R,#FN48a645FX*b4&6&0&58BR+6X+#JSJN!4QG@jMG'P[EL"
|
|
|
-TFepVCAPhEh*N+'0[ER0d)(-kFh4bD@jR+6TLEfpXC@&Z1`SJN!CfBA)+)*!)E'p
|
|
|
-h,'KTCfJXE@PN)$SJE'pZCfPZG$X+)*!'BQ9RD@i+)*!)D@BJEQpd)#KXC@jRG'J
|
|
|
-SFbNJD@iJ@h4[Df9ZE'9ZE@PZ,LjdEfYPEQaPEQeKH&dT)(4SC@i+)*!*BQ9RD@i
|
|
|
-+)*!,DA0IDf9jGfpbC$SpCQ&XFf8l#L#3#f9iDA3l#L#3#@9ZC$X+)*!)E'ph1Me
|
|
|
-[FQ3SG'pVC@jTC(KH@faPEQGdD#Kc+5ac@c&GA5jQDA*cG#Nl#L#3#'KTCfJk2@p
|
|
|
-bC#KdEfYPEQPNH&jEE'9ZCh4S+(-T,(0E-9eG,QaKFh3T1`SJN!KhD'PXC5"XEhF
|
|
|
-mD'PRD#"NE`SJN!PLC@GTEJSJN!YYD@3k25KSD@GS+fa[GbXa+5"cD()J-6X+)*!
|
|
|
-,D@BJF'&dG'9bEMadEfYPEQPZCQpH@h4dEfYPELKYD@3TA5jcG()JG'KPEJSJN!a
|
|
|
-SD@GS1MeYD@3Y-3SJN!YPE(0P#L#3$'a[GcSpE@PN1`SJN!PPEQ3l#L#3#'PcAfY
|
|
|
-PHAG[FQ3k25K`BA4dCA*Z2A4[Df9ZD@jQEejEG(4[Df9Z+'KTCfJTA5jcG()T)'&
|
|
|
-ZC!SJN"3SG'pVC@jTEQC[APYdG'pVC@iSD'PRD#PG,QYPHAG[FQ3JD@iJB@YdE@p
|
|
|
-NCA0hDA4MD'9c+6X+)*!'C@jN1`S+#RXUN%d+)*!E3fpZC'PdD@pZB@`J4'PbC@0
|
|
|
-dDACPF`SUN%ep#JSJN!4`FQpMC@4eFQ8JC'PbAf9XFf8l#L#3"Q*PCfPZ#L#3#'0
|
|
|
-eFR*PER4IFf0KEQjPFLjPE(0PF(*PF(*[Bh0dB@0V1`SJN!CPEQ3l#JS+)*!%F(*
|
|
|
-[Bf9NGA*P)'4TFPpPEQ4TCMX+)*!'BQ9RD@i+)*!)Bh9bFQ9ZG&pcBf&ZEQ9b,R"
|
|
|
-[F("bCA"bEf0cG'&MDcX+)*!'C@jN1`S+#L#3"("bEf0PC(9bC5"NDA*ID@CNC@B
|
|
|
-l#L#3"RCKFJSJN!KSFb#3"$SJFh4bD@jR1`SJN!KYB@-J)#!k)(4YB@0bEcX+)*!
|
|
|
-'BQ9RD@i+)*!)Bh9bFQ9ZG&pcBf&ZEQ9b,R0VDA"cF'&MC6X+)*!)D(-k2@0eFR*
|
|
|
-PER4IFf0KEQjPFLjbC@&ND@3l#L#3#'PQ)'Kc25FR)(4SC@i+)*!+6@9cFf&RC5K
|
|
|
-cBf&ZAf9ICA*bEh*ID@jIF(*PF(*[BepPH("b+6X+)*!)E@&M1MedE@&MFQmSBh9
|
|
|
-bFQ9ZG&pcBf&ZEQ9b,QeKBh*[FbjcC@&bBfJSD(-T+6X+)*!)D@BJBA0cD@GZC@3
|
|
|
-SE@&M+5"dD'9Z#L#3#QeKBbjTFepeFf9N1MedFR9P1`SJN!KMGA*bC@jdAh0MB@j
|
|
|
-ZCA)ZB@4NF(*PF(*[Bh0dB@0V+("`AfPQC'9Q,'&cFfPREQ9N+'eKBbNJB@jN)'e
|
|
|
-KBbjNC@CTEQ9N,'Kc,(0MB@jIBepTCQ4PCPpQEh9ZC#Nl#L#3"Q9ZC$X+#JSJN!4
|
|
|
-`FQpMC@4eFQ8JC'PbAfPQEQ4PCMX+)*!'GQ&b#L#3#'Kc)*!%1L"cG(*TEQFl#L#
|
|
|
-3#'eKBb!J)$SJG'eKBh*[1`SJN!CLC@GTEJSJN!KMGA*bC@jdAh0MB@jZCA)ZFfY
|
|
|
-TF(0`B@0P1`SJN!KSFcSpBh9bFQ9ZG&pcBf&ZEQ9b,R*PB@4TC$X+)*!)D@BJD(-
|
|
|
-p*bFJG'KPEJSJN!T0CA0cB@GP+(0MB@jIC9pPFR*[FPpTEPp`FQ9`FQpMAf9iF()
|
|
|
-T1`SJN!KYB@-k2A4YB@0bEbKMGA*bC@jdAh0MB@jZCA)ZE@&MFQpc,R0PBA*MD#K
|
|
|
-SFbNT1`SJN!KTCL"KFh0TCfjPC#KYB@-T)(4SC@i+)*!+E@&M,QPcAh9cC@3k2A4
|
|
|
-bG@8l#L#3#'0eFR*PER4IFf0KEQjPFLjKC'4`FQ9`FQpMFh4KBfXSF("ID@CZC'9
|
|
|
-Q,'j[G#KKFh0TCfjPC#KYB@-T)'&ZC#"YB@-ZC'9QD@jPC#NXD(-XFf0KEPpMAfP
|
|
|
-QEQ4PCPpQEh9ZC#Nl#L#3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JC'PbAfPQEh"d1`S
|
|
|
-JN!CfBA)+)*!)D(-JN!3k)(0dFQPZCcX+)*!)CQpeEQ3J1L"LEfpXC@&Z1`SJN!K
|
|
|
-cG'&dC5!k)'0SBA)l#L#3"Q*PCfPZ#L#3#'0eFR*PER4IFf0KEQjPFLjcDfP`Fh"
|
|
|
-KBf8l#L#3#'Kc1MeMGA*bC@jdAh0MB@jZCA)ZFQ9KC'PN1`SJN!KTCL!SE'9ZCh4
|
|
|
-S+'Kc+6ia+5"dD'9Z#L#3#8ePFh0KCf8a+(0MB@jIGepTE'aPCf&XAh0hDA4MD#a
|
|
|
-SFbN+)*!)C@acC3SJN!PLC@GTEJSJN!YcG'&dC6SpBh9bFQ9ZG&pcBf&ZEQ9b,P*
|
|
|
-PB@46G'&dC6X+)*!,D@BJFh4KG'8JD@iJ@bFY*b`R+bGG)(4SC@i+)*!-CQpeEQ3
|
|
|
-k280SC@0V8hGTG'0S+'Kc@c&G,(0dBA4P+6X+)*!*C@jN1`SJN!KMGA*bC@jdAh0
|
|
|
-MB@jZCA)ZB@4NF(*PF(*[Bh0dB@0V+("`AfPQEh"d,'C[G@jN,'Kc,(0MB@jIBep
|
|
|
-TCQp`G&pQEh9ZC#Nl#L#3"Q9ZC$X+#JSJN!4QG@jMG'P[EL"`BA*cC9pMEfe`D@a
|
|
|
-PFPpPH("b1R0dFQPZCcX+#L#3#'CeEQ0dD@pZ)(*PB@4ICAK`FL!k)(0dFQPZCcX
|
|
|
-JCQpbGf&bC$X+#L#3#("bEf0PC(9bC5"`FQ9`FQpMAf0[ER0eE@8SG#!k)(4dEfY
|
|
|
-PELNl#L#3#'*PCfPZ#L#3#QPQ)(3m2Q0eFR*PER4IFf0KEQjPFLj`FQ9`FQpMAh4
|
|
|
-[Df9Z)(4SC@i+)*!,6@9cFf&RC5KcBf&ZAf9IF(*PF(*[BepcH@jdBAKICA*bEh)
|
|
|
-T1`SJN!TMGA*bC@jdAh0MB@jZCA)ZF(*PF(*[BepdEfYPEMSpBh9bFQ9ZG&pcBf&
|
|
|
-ZEQ9b,R*PB@4`FQ9`FQpM1`SJN!KPEQ3l#JSJN!KQG@jMG'P[EL"`FQ9`FQpMAh0
|
|
|
-eBR0dDA4eG'9NG'pVC@ik)(0dFQPZCcX+)*!)GQ&b#L#3#QKc1L"cG(*TEQFl#L#
|
|
|
-3#QeKBb!k)(4YB@0bEcX+)*!+E@&MFQpMEh9ZG#`+)*!+E'9Z)$SJD@jdC@GPFMX
|
|
|
-+)*!)BQ9RD@i+)*!+FQ9cG@ad)$Sp)'0eFR*PER4IFf0KEQjPFLj`FQ9`FQpMAh"
|
|
|
-KG(4PFQil#L#3#RXJB@aXEhFJE@&MFQmJFh9`F'pbG#"TEL"YB@0bEbGc)(d+)*!
|
|
|
-+E@&MFQpMEh9ZG$Sp-$X+)*!+FQ9`C@&d#L#3$'eKBcSpG'eKBh*[+'0eFR*PER4
|
|
|
-IFf0KEQjPFLjYB@0bEh-ZFf9KFQ0S+(*PFh9XG#NT1`SJN!aTCL"ZEh3JBA0cD@G
|
|
|
-ZC@3SE@&M+5"dD'9Z#L#3$Q*bC@&V1`S+)*!-D@jM+'eKBh*[BfpeER3T1`SJN!a
|
|
|
-TCL"YB@0bEf0[G@jd2QeKH&pYB@0bEepZCA0dD@jR)(4SC@i+)*!1BQ9RD@i+)*!
|
|
|
-36@9cFf&RC5KcBf&ZAhGIE@&MFQpIC'9PF&pdC@iT1`SJN""LFQ9KDcX+)*!1C@j
|
|
|
-N1`S+)*!-D@BJE@&M,Q4PCQPZC@3JB@jN)'&cFfPREQ9N+'eKBbjLG@CdCAKd+5"
|
|
|
-dD'9Z#L#3$Q*PCfPZ#L#3%'PQ)'eKBbjLG@CXC@iq-M8e)(4SC@i+)*!5BQ9RD@i
|
|
|
-+)*!8E'9Z1Mdb068l#L#3&%ePFh0KCf8SFf0KEPphAfeKBh*[Af0eG&pKCR4PFPm
|
|
|
-b069IBfKKFR-T1`SJN"*PEQ3+)*!3C@acC3SJN"*XC@ik2@eKBbjLG@CXC@il#L#
|
|
|
-3%'Kc@c"G1MeMD'&b+'aPELNl#L#3%'e[GQ8SE@&M,Q*eCR4PH(4H,'Kc@c&G,'a
|
|
|
-PELNl#L#3%(*PFh9XG$SpGA"MBA0P+'Kc+6X+)*!1C@jN1`SJN!TeER4TE#"QB@a
|
|
|
-cC6X+)*!)C@jN1`S+)*!)CR9ZBh4TEfiJFQ9KC&pQB@0dEh)J1L"cG(*TEQFl#L#
|
|
|
-3#(CKFJSJN!YSFb!k)(0dFQPZCcX+)*!,E@&M1L"dE@&MFQml#L#3#h0bFhPY)$S
|
|
|
-JG(0jE6X+)*!,Fh*cH@edB@*XC5!k)(4cH@edB@*XC6X+)*!,E#!k)'a[EQGTER3
|
|
|
-l#L#3#hFJ1L"TER4PCf9b1`S+)*!)BQ9RD@i+)*!,D@BJBh9bFQ9ZG&pcBf&ZEQ9
|
|
|
-b,R"bCA"bEf0IG'pVC@ipAdP%)(4SC@i+)*!0BQ9RD@i+)*!3D@BJF(*PF(*[Bep
|
|
|
-cG@*cG'PdGA4PC(4[Df9Z25G%48C*6N9%*b"dD'9Z#L#3%Q*PCfPZ#L#3&("bCA"
|
|
|
-bEf0IBfpZFh9YC5KI583T1`SJN"4MGA*bC@jdAh0MB@jZCA)ZFfYTF(0`B@0P1`S
|
|
|
-JN"4TCL"MGA*bC@jdAh0MB@jZCA)ZF(*PF(*[BepdEfYPEL!pAda,6%&06895)(4
|
|
|
-SC@i+)*!@BQ9RD@i+)*!BF(*PF(*[BepMEfjcG@eP+&p-5da"68e&8LNl#L#3''0
|
|
|
-eFR*PER4IFf0KEQjPFLjcDfP`Fh"KBf8l#L#3&Q9ZC!SJN"4PE(0P#L#3&NePFh0
|
|
|
-KCf8SFf0KEPpPAf9bFQpbAfPZAh"bCA"bEf0ICAK`FLNl#L#3&'PQ)'0eFR*PER4
|
|
|
-IFf0KEQjPFLj`FQ9`FQpMAh4[Df9Z)$eI583JG'KPEJSJN"CLC@GTEJSJN"KSFb!
|
|
|
-k25"MGA*bC@jdAh0MB@jZCA)ZF(*PF(*[Bep`BA4dCA*Z1`SJN"KYB@-J1MdJG'e
|
|
|
-KBh*[+'0eFR*PER4IFf0KEQjPFLjYB@0bEh-ZFf9KFQ0S+'Kc+5Nl#L#3''PQ)'&
|
|
|
-cFfPREQ9N+'eKBbNJG'KPEJSJN"TSFb!k25!R-5F+)*!BC@acC3SJN"TSFb!k25!
|
|
|
-R-#Fl#L#3'(*PB@4ICQ&MG'pb)$Sp)'Kc1`SJN"K`FQ9`FQpMAf0[ER0eE@8SAdP
|
|
|
-%+6X+)*!BBh9bFQ9ZG&pcBf&ZEQ9b,R0VDA"cF'&MC6X+)*!@C@jN#L#3&'9XFf8
|
|
|
-+)*!@6@9cFf&RC5KcBf&ZAf9ICA*bEh*ID@jIF(*PF(*[BepPH("b+6X+)*!8D@B
|
|
|
-JBh9bFQ9ZG&pcBf&ZEQ9b,R"bCA"bEf0IG'pVC@iJ29p55da"68e&8L"dD'9Z#L#
|
|
|
-3&R"bCA"bEf0IBfpZFh9YC5KI8NY-38e049)T#L#3&'9XFf8+)*!@6@9cFf&RC5K
|
|
|
-cBf&ZAf9ICA*bEh*ID@jIF(*PF(*[BepPH("b+6X+)*!5C@jN#L#3%'9XFf8+)*!
|
|
|
-3D@BJ+'eIE@&M)'PZ)'&VG'e[C'9cGfPdBfKPFbNJB@jN)#K`FQ9`FQpMAh0eBR0
|
|
|
-dDA4eG'9NG'pVC@ip*e914%9'58j&4#FT)(4SC@i+)*!5BQ9RD@i+)*!8F(*PF(*
|
|
|
-[BepMEfjcG@eP+&p*4#Nl#L#3&'0eFR*PER4IFf0KEQjPFLjcDfP`Fh"KBf8l#L#
|
|
|
-3&'PQ)'0eFR*PER4IFf0KEQjPFLj`FQ9`FQpMAh4[Df9Z)$eI583JG'KPEJSJN"C
|
|
|
-LC@GTEJSJN"KSFb!k25"MGA*bC@jdAh0MB@jZCA)ZF(*PF(*[Bep`BA4dCA*Z1`S
|
|
|
-JN"KYB@-J1MdJG'eKBh*[+'0eFR*PER4IFf0KEQjPFLjYB@0bEh-ZFf9KFQ0S+'K
|
|
|
-c+5Nl#L#3''PQ)'&cFfPREQ9N+'eKBbNJG'KPEJSJN"TSFb!k25!R-#F+)*!BC@a
|
|
|
-cC3SJN"TSFb!k25!R-5Fl#L#3'(*PB@4ICQ&MG'pb)$Sp)'Kc1`SJN"K`FQ9`FQp
|
|
|
-MAf0[ER0eE@8SAdP%+6X+)*!BBh9bFQ9ZG&pcBf&ZEQ9b,R0VDA"cF'&MC6X+)*!
|
|
|
-@C@jN#L#3&'9XFf8+)*!@6@9cFf&RC5KcBf&ZAf9ICA*bEh*ID@jIF(*PF(*[Bep
|
|
|
-PH("b+6X+)*!5C@jN#L#3%'9XFf8+)*!3D@BJ+'eIE@&M)'PZ)'&VG'e[C'9cGfP
|
|
|
-dBfKPFbNJB@jN)#K`FQ9`FQpMAh0eBR0dDA4eG'9NG'pVC@ip*dp39%P26LFT)(4
|
|
|
-SC@i+)*!5BQ9RD@i+)*!8F(*PF(*[BepMEfjcG@eP+&p*4#Nl#L#3&'0eFR*PER4
|
|
|
-IFf0KEQjPFLjcDfP`Fh"KBf8l#L#3&'PQ)'0eFR*PER4IFf0KEQjPFLj`FQ9`FQp
|
|
|
-MAh4[Df9Z)$eI6%Y-38e049)JG'KPEJSJN"CLC@GTEJSJN"K`FQ9`FQpMAf0[ER0
|
|
|
-eE@8SAda,6%&06895+6X+)*!BBh9bFQ9ZG&pcBf&ZEQ9b,R0VDA"cF'&MC6X+)*!
|
|
|
-@C@jN#L#3&'9XFf8+)*!@6@9cFf&RC5KcBf&ZAf9ICA*bEh*ID@jIF(*PF(*[Bep
|
|
|
-PH("b+6X+#L#3&'PQ)'j[G#!SBh9bFQ9ZG&pcBf&ZEQ9b,R"bCA"bEf0IG'pVC@i
|
|
|
-J25"I583T)(4SC@i+)*!@6@9cFf&RC5KcBf&ZAf9ICA*bEh*ID@jIF(*PF(*[Bep
|
|
|
-PH("b+6X+#L#3&'Kc1MeMGA*bC@jdAh0MB@jZCA)ZF(*PF(*[Bep`BA4dCA*Z1`S
|
|
|
-JN"4TCL!SE'9ZCh4S+'Kc+5!q)$%T)(4SC@i+)*!@He424%mJ4@jKBQaP)(4SDA-
|
|
|
-X)'Pd)'Pc)'&XE'phC@3JD@iJ6@9dFQphCA*VFb"3BA0MB@ap#L#3&NePFh0KCf8
|
|
|
-SFf0KEPpPAf9bFQpbAfPZAh"bCA"bEf0ICAK`FLN+)*!8C@acC3SJN"CLC@GTEJS
|
|
|
-JN"KTCL"$D'9MDe0hDA4MD#KSFeXaA5`R+bFT)(4SC@i+)*!DFQ9KC&pQB@0dEh)
|
|
|
-J1MdJ*c%R#L#3''9XFf8+)*!DFQ9KC&pQB@0dEh)J1MdJ*c!R1`SJN"CPEQ3l#JS
|
|
|
-JN"4`FQ9`FQpMAf0[ER0eE@8SAdP%+6X+)*!8Bh9bFQ9ZG&pcBf&ZEQ9b,R0VDA"
|
|
|
-cF'&MC6X+)*!8D@BJBh9bFQ9ZG&pcBf&ZEQ9b,R"bCA"bEf0IG'pVC@iJ29p55da
|
|
|
-"68e&8L"dD'9Z#L#3&R"bCA"bEf0IBfpZFh9YC5KI8NY-38e049)T#L#3&'9XFf8
|
|
|
-+)*!@6@9cFf&RC5KcBf&ZAf9ICA*bEh*ID@jIF(*PF(*[BepPH("b+6X+)*!5C@j
|
|
|
-N#L#3%'9XFf8+)*!3D@BJF(*PF(*[BepcG@*cG'PdGA4PC(4[Df9Z25G659T&6dB
|
|
|
-R)(4SC@i+)*!5BQ9RD@i+)*!8F(*PF(*[BepMEfjcG@eP+&p*4#Nl#L#3&'0eFR*
|
|
|
-PER4IFf0KEQjPFLjcDfP`Fh"KBf8l#L#3&'PQ)'0eFR*PER4IFf0KEQjPFLj`FQ9
|
|
|
-`FQpMAh4[Df9Z)$eI6%Y-38e049)JG'KPEJSJN"CLC@GTEJSJN"K`FQ9`FQpMAf0
|
|
|
-[ER0eE@8SAda,6%&06895+6X+)*!BBh9bFQ9ZG&pcBf&ZEQ9b,R0VDA"cF'&MC6X
|
|
|
-+)*!@C@jN#L#3&'9XFf8+)*!@6@9cFf&RC5KcBf&ZAf9ICA*bEh*ID@jIF(*PF(*
|
|
|
-[BepPH("b+6X+)*!8D@BJFf9KFQ0SFhPY+'0eFR*PER4IFf0KEQjPFLj`FQ9`FQp
|
|
|
-MAh"KG(4PFQiXFh*cH@dXFh*cH@edB@*XC5NJG'KPEJSJN"CLC@GTEJSJN"KX1Md
|
|
|
-`1`SJN"KMBA0P)(0bFhPY,R4jF#"[CJSJN"TfBA*cH@dJ1JSJN"aX1MedGQ&bFhP
|
|
|
-Y+(0bFhPY+5jRCA4cDATP1`SJN"TdHA"PC'0[ER0dFhPY)$S+)*!FE$SpG(4jF'9
|
|
|
-NBfpZFh4cH@dSFh*cH@dT,QGPG(0THQ8l#L#3'Q9XFf8+)*!F6@9cFf&RC5KcBf&
|
|
|
-ZAf9ICA*bEh*ID@jIF(*PF(*[BepPH("b+6X+)*!BC@jN1`SJN"KcG()SE#abC@&
|
|
|
-NAfCKBh4[FLNl#L#3'("bCA"bEf0IBfpZFh9YC5KI583T1`SJN"KMGA*bC@jdAh0
|
|
|
-MB@jZCA)ZFfYTF(0`B@0P1`SJN"CPEQ3+)*!8C@acC3SJN"C0CA0cB@GP-5KcH@e
|
|
|
-IC9pTC&pZEh4ICQpeEQ3XBh9bFQ9ZG&pcBf&ZEQ9b,R"bCA"bEf0IF'&dG'9bELN
|
|
|
-l#JSJN"4TCL"MGA*bC@jdAh0MB@jZCA)ZF(*PF(*[BepdEfYPEL!pAe*,6%&0689
|
|
|
-5)(4SC@i+)*!@F(*PF(*[BepMEfjcG@eP+&p55da"68e&8LN+)*!8C@acC3SJN"C
|
|
|
-0CA0cB@GP+(0MB@jIC9pPFR*[FPpTEPp`FQ9`FQpMAf9iF()T1`SJN"*PEQ3+)*!
|
|
|
-3C@acC3SJN""TCL"`FQ9`FQpMAh0eBR0dDA4eG'9NG'pVC@ip*d4&3da"8N9%*b"
|
|
|
-dD'9Z#L#3%Q*PCfPZ#L#3&("bCA"bEf0IBfpZFh9YC5KI583T1`SJN"4MGA*bC@j
|
|
|
-dAh0MB@jZCA)ZFfYTF(0`B@0P1`SJN"4TCL"MGA*bC@jdAh0MB@jZCA)ZF(*PF(*
|
|
|
-[BepdEfYPEL!pAda,6%&06895)(4SC@i+)*!@BQ9RD@i+)*!BF(*PF(*[BepMEfj
|
|
|
-cG@eP+&p-5da"68e&8LNl#L#3''0eFR*PER4IFf0KEQjPFLjcDfP`Fh"KBf8l#L#
|
|
|
-3&Q9ZC!SJN"4PE(0P#L#3&NePFh0KCf8SFf0KEPpPAf9bFQpbAfPZAh"bCA"bEf0
|
|
|
-ICAK`FLNl#L#3&'PQ)'0eFR*PER4IFf0KEQjPFLj`FQ9`FQpMAh4[Df9Z)$eI583
|
|
|
-JG'KPEJSJN"CLC@GTEJSJN"KSFb!k25"eF("PFLKMGA*bC@jdAh0MB@jZCA)ZF(*
|
|
|
-PF(*[Bep`BA4dCA*Z+6X+)*!BD@BJFf9KFQ0SFhPY+'Kc,(0bFhPY,(0bFhPYG'&
|
|
|
-LE'8T)(4SC@i+)*!DD(-J1MdJ*c%R#L#3''9XFf8+)*!DD(-J1MdJ*c!R1`SJN"K
|
|
|
-bC@&NAfCKBh4[FL!k25"SFcX+)*!BF(*PF(*[BepMEfjcG@eP+&p*4#Nl#L#3''0
|
|
|
-eFR*PER4IFf0KEQjPFLjcDfP`Fh"KBf8l#L#3&Q9ZC!SJN"4PE(0P#L#3&NePFh0
|
|
|
-KCf8SFf0KEPpPAf9bFQpbAfPZAh"bCA"bEf0ICAK`FLNl#L#3&'PQ)'0eFR*PER4
|
|
|
-IFf0KEQjPFLj`FQ9`FQpMAh4[Df9Z)$eI8NY-38e049)JG'KPEJSJN"C`FQ9`FQp
|
|
|
-MAf0[ER0eE@8SAe*,6%&06895+3SJN"4PE(0P#L#3&NePFh0KCf8SFf0KEPpPAf9
|
|
|
-bFQpbAfPZAh"bCA"bEf0ICAK`FLNl#L#3%Q9ZC!SJN""PE(0P#L#3%'PQ)("bCA"
|
|
|
-bEf0IFh9LFh4TG(9dC@4dEfYPEMdR6Np8*b"dD'9Z#L#3%Q*PCfPZ#L#3&("bCA"
|
|
|
-bEf0IBfpZFh9YC5KI583T1`SJN"4SFcSpFQ9KC&pQB@0dEh)S+6X+)*!8GQ&XD@j
|
|
|
-d+'Kc,'`XGbNl#L#3&'PQ)'`m2M!JG'KPEJSJN"CbC@&NAfCKBh4[FMSp*c!R#L#
|
|
|
-3&'9XFf8+)*!@FQ9KC&pQB@0dEh)k25Fa*cX+)*!5C@jN#L#3%'9XFf8+)*!3D@B
|
|
|
-J+'eIE@&M)'PZ)'&VG'e[C'9cGfPdBfKPFbNJB@jN)#K`FQ9`FQpMAh0eBR0dDA4
|
|
|
-eG'9NG'pVC@ip*e45988R+5"dD'9Z#L#3%Q*PCfPZ#L#3&("bCA"bEf0IBfpZFh9
|
|
|
-YC5KI583T1`SJN"4bC@&NAfCKBh4[FMSp*c%R1`SJN"*PEQ3+)*!3C@acC3SJN""
|
|
|
-TCL!SE9pYB@-JD@iJB@YdE@pNCA0hDA4MD'9c+5"KEQ3J+("bCA"bEf0IFh9LFh4
|
|
|
-TG(9dC@4dEfYPEMdR4N&-8d8R+5"dD'9Z#L#3%Q*PCfPZ#L#3&("bCA"bEf0IBfp
|
|
|
-ZFh9YC5KI583T1`SJN"4bC@&NAfCKBh4[FMSp*c!R1`SJN"*PEQ3+)*!3C@acC3S
|
|
|
-JN"*LC@GTEJSJN"4SFcSpF(*PF(*[BepcG@*cG'PdGA4PC(4[Df9Z1`SJN"4`FQ9
|
|
|
-`FQpMAf0[ER0eE@8SAdP%+6X+)*!8FQ9KC&pQB@0dEh)k2@Kc1`SJN"*PEQ3+)*!
|
|
|
-0C@jN#L#3#f9XFf8JD@BJBh9bFQ9ZG&pcBf&ZEQ9b,R"bCA"bEf0IG'pVC@iJ29p
|
|
|
--5da"68e&8L"dD'9Z#L#3$@*PCfPZ#L#3%("bCA"bEf0IBfpZFh9YC5KI6%Y-38e
|
|
|
-049)T1`SJN""bC@&NAfCKBh4[FMSpFQ9KC&pPH("b1`SJN""`FQ9`FQpMAf0[ER0
|
|
|
-eE@8SAe*,6%&06895+6X+)*!0C@jN#L#3#f9XFf8+)*!06@9cFf&RC5KcBf&ZAf9
|
|
|
-ICA*bEh*ID@jIF(*PF(*[BepPH("b+6X+)*!)C@jN1`S+)*!)CR9ZBh4TEfiJFQ9
|
|
|
-KC&pdCA*Y)$SJFh4bD@jR1`SJN!KfBA)+)*!,D(-a,'Kc-L!k)(0dFQPZCcX+)*!
|
|
|
-,E$%XE$)J1L"XEfjRD@jd1`SJN!Yh)$SJD@jdC@GPFMX+)*!)BQ9RD@i+)*!+D(-
|
|
|
-a1MebC@&NAfCKBh4[FMX+)*!+FQ9`C@&d#L#3$'PQ)#KMGA*bC@jdAh0MB@jZCA)
|
|
|
-ZF(*PF(*[BepdEfYPEM`qAdP%+5"dD'9Z#L#3$Q*bC@&V1`SJN!aTCL"`FQ9`FQp
|
|
|
-MAh0eBR0dDA4eG'9NG'pVC@im2LG"6N3R)(4SC@i+)*!1BR*PB@Xl#L#3$("bCA"
|
|
|
-bEf0IBfpZFh9YC5KI583T1`SJN!aSFc)k2A*PB@4ICQ&MG'pb1`SJN!afB@aTER3
|
|
|
-SD(-a,'`a,(FT1`SJN!afB@aTER3SD(-b,'`b,(FT1`SJN!aTCL!SE$%m2M!T)'&
|
|
|
-ZC#!SE$)m2M!T)(4SC@i+)*!1D(-a1MdR-5F+)*!-C@acC3SJN!jSFc%k25F`*cX
|
|
|
-+)*!,G@jdD@`JCQ&XFf8l#L#3#h*PB@4IG'9bE6SpD(-a1`SJN!KPEQ3l#JS+)*!
|
|
|
-)CR9ZBh4TEfiJFQ9KC&pcD@e`E'9ICAK`FL!k)(0dFQPZCcX+)*!)GQ&b#L#3#fK
|
|
|
-c-5aSFc)J1L"cG(*TEQFl#L#3#f`a,'`b)$SJE'pZCfPZG$X+)*!,Gb!k)'PZG'9
|
|
|
-RCA)l#L#3#'*PCfPZ#L#3#QKc-6SpFQ9KC&pdCA*Y1`SJN!TbCA"PBA3+)*!-D@B
|
|
|
-J+'0eFR*PER4IFf0KEQjPFLj`FQ9`FQpMAh4[Df9Z2$jI583T)(4SC@i+)*!1BR*
|
|
|
-PB@Xl#L#3$'PQ)("bCA"bEf0IFh9LFh4TG(9dC@4dEfYPEM`q*dp5*b"dD'9Z#L#
|
|
|
-3$Q*bC@&V1`SJN!a`FQ9`FQpMAf0[ER0eE@8SAdP%+6X+)*!-D(-b1MebC@&NAh4
|
|
|
-PFQdl#L#3$(CKE'PZG#KSFc%XE$%XGbNl#L#3$(CKE'PZG#KSFc)XE$)XGbNl#L#
|
|
|
-3$'PQ)#KX-6`q-#NJEh)J+'`b2$i`+5"dD'9Z#L#3$QKc-6Sp*c%R#L#3$'9XFf8
|
|
|
-+)*!1D(-a1MdR-#Fl#L#3#R9ZG'PX)'CKE(0P1`SJN!TbC@&NAh0TEA"XC9pPH("
|
|
|
-b1MeSFc%l#L#3#'9ZC$X+#L#3#'CeEQ0dD@pZ)(*PB@4ICAK`FL!k)(0dFQPZCcX
|
|
|
-+)*!)GQ&b#L#3#fKc-5aSFc)J1L"cG(*TEQFl#L#3#f)J1L"LEfpXC@&Z1`SJN!Y
|
|
|
-d)$SJG(4[Df9Z1`SJN!Yh)$SJD@jdC@GPFMX+)*!,E$%XE$)J1L"XEfjRD@jd1`S
|
|
|
-JN!KLC@GTEJSJN!YSFc%k2A*PB@4IFfPYF'aPAf9iF()l#L#3#h3k2@0eFR*PER4
|
|
|
-IFf0KEQjPFLj`FQ9`FQpMAh4[Df9Z1`SJN!YTCL"ZEh3SG#"TEL"EAd9498&-,&p
|
|
|
-96N9498&-,&p-9#aI4e3XAda845aI4e4&A5NJG'KPEJSJN!eLC@GTEJSJN""bC@&
|
|
|
-NAf9iF()k2@Kc-6X+)*!3CAKTG$X+)*!0C@jN1`SJN!Y`FQ9`FQpMAf0[ER0eE@8
|
|
|
-SG#Nl#L#3#fKc-MSpFQ9KC&pcD@e`E'9ICAK`FMX+)*!,D@BJDA0IER9YBQ9b+'K
|
|
|
-c-5NJB@jN)'PcAfjeE@*PFLKSFc)T)(4SC@i+)*!0BQ9RD@i+)*!3GQ&XD@jd+'K
|
|
|
-c-5aX-5ah+6X+)*!3GQ&XD@jd+'Kc-LaX-Lah+6X+)*!3Bf&cC5"d)'pQ#L#3%ep
|
|
|
-&899"6#!k)')k2@`a2@`b1`SJN"&I98j&899"6#!k)')k2@`a2$jX-MX+)*!@Ada
|
|
|
-8)$SJBMSpE$%mE$)l#L#3&Pp(9#!k)')k2@`a2Q`b1`SJN"9I4e4&)$SJBMSpE$%
|
|
|
-q2@`b1`SJN"9I6&4&)$SJBMSpE$%m2@`b1`SJN""PEQ3l#L#3$@9ZC!SJN!YPE(0
|
|
|
-P#L#3$@*PCfPZ#L#3%'0KFf8JG#"[CJSJN"0I49&938`J1L"L1MeSFc%pD(-b1`S
|
|
|
-JN"&I98j&899"6#!k)')k2@Kc-6`qD(-b1`SJN"CI6&3J1L"L1MeSFc%mD(-b1`S
|
|
|
-JN"CI4e3J1L"L1MeSFc%qD(-b1`SJN"9I4e4&)$SJBMSpD(-a2MeSFc)l#L#3&9p
|
|
|
--9%8J1L"L1MeSFc%m2@Kc-MX+)*!3C@jN1`SJN!ePEQ3l#L#3#fPQ)')JG'KPEJS
|
|
|
-JN!ebC@&NAf9iF()k25Fa*`SJN!YPE(0P#L#3$A*PB@4ICAK`FMSp*c!R1`SJN!K
|
|
|
-PEQ3l#JSJN!9LC@GTEJSJN!KMGA*bC@jdAh0MB@jZCA)ZFfYTF(0`B@0P1`SJN!K
|
|
|
-l)(0dBA*d)("bCA"bEf-JCAK`FQ9cFfP[EL"cBf&ZEQ9b)(d+)*!)Bh9bFQ9ZG&p
|
|
|
-cBf&ZEQ9b,R"bCA"bEf0IG'pVC@ik2@0eFR*PER4IFf0KEQjPFLjbC@&NF(*PF(*
|
|
|
-[BcX+)*!)F'&bFf9IBfpYF'PXCA*ICAK`FMSpFQ9KC&pPH("b1`SJN!CPEQ3l#JS
|
|
|
-+)*!%F(*[Bf9NGA*P)'4TFPpTCMX+)*!'GQ&b#L#3#'Kc)$SJFh4bD@jR1`SJN!C
|
|
|
-LC@GTEJSJN!KSFcSpF'&bFf9IBfpYF'PXCA*ICAK`FMX+)*!)Bh9bFQ9ZG&pcBf&
|
|
|
-ZEQ9b,Q&NC("bCA"bEf0cG'&MDbK`F&pTCLaSFc`q*c!R,'Kc,(0MB@jIBepTCPp
|
|
|
-QEh9ZC#Nl#L#3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JC'PbAf9XFf9TCMX+)*!'GQ&
|
|
|
-b#L#3#'Kc)$SJFh4bD@jR1`SJN!CLC@GTEJSJN!KSFcSpF'&bFf9IBfpYF'PXCA*
|
|
|
-ICAK`FMX+)*!)Bh9bFQ9ZG&pcBf&ZEQ9b,Q9XFf9TCR"bCA"bEf0cG'&MDbKSFc`
|
|
|
-q*c!R+6X+)*!'C@jN1`S+#L#3"("bEf0PC(9bC5"NDA*IC'9QD@jP1`SJN!CfBA)
|
|
|
-+)*!)D(-J)$SJFh4bD@jR1`SJN!KLFQ&MDf9dBfpeER3J1L"XEfjRD@jd1`SJN!K
|
|
|
-YB@-J1L"dE@&MFQml#L#3#'eKBh*[F'pc)$SJE'pZCfPZG$X+)*!)E@&MFQpLG@C
|
|
|
-QCA)J1L"`E@&MFQpLG@CQCA)l#L#3"Q*PCfPZ#L#3#'0eFR*PER4IFf0KEQjPFLj
|
|
|
-cDfP`Fh"KBf8l#L#3#'Kc1MeMGA*bC@jdAh0MB@jZCA)ZFQ9KC'PN1`SJN!KYB@-
|
|
|
-k2A4YB@0bEbKMGA*bC@jdAh0MB@jZCA)ZE@&MFQpc,R0PBA*MD#KSFbNT1`SJN!K
|
|
|
-TCL"ZEh3JBA0cD@GZC@3SE@&M+5"dD'9Z#L#3#Q*PCfPZ#L#3$'eKBcSpG'eKBh*
|
|
|
-[,Q0bC@&dC5KSFbNl#L#3$'eKBbjNC@CTEQ9N1MedFR9P1`SJN!a0CA0cB@GP-5K
|
|
|
-`BA*cCA*IBepYB@0bEepNC@CTEQ9N,'eKBbjZB@eP+6X+)*!-Bh9bFQ9ZG&pcBf&
|
|
|
-ZEQ9b,QeKBh*[FbjTER0PFR3SE@&M+6X+)*!+C@jN#L#3#'9XFf8+)*!+BQ9RD@i
|
|
|
-+)*!-6@9cFf&RC6%SF'&bFf9bAf0IE@&MFQpIC'9QD@jPC#aYB@-ZEQ&YC5Nl#L#
|
|
|
-3$'eKBbjNC@CTEQ9N1MedFR9P1`SJN!Tl)'4PE'9dC5"[E'3JC'9QD@jTG'P[EL"
|
|
|
-p#L#3$'PQ)'&cFfPREQ9N+'eKBbjLG@CdCAKd+5"dD'9Z#L#3$@*PCfPZ#L#3$fC
|
|
|
-bC@9YC@dSE@&M,Q*eCR4PH(3XE@&M,Q*eCQaPELNl#L#3$feKBbjLG@CdCAKd1Me
|
|
|
-ZD@`l#L#3$@9ZC$X+)*!+C@jN1`SJN!KYB@-ZDA0IGA0PC$SpG(*eC6X+)*!)D@B
|
|
|
-J+'0cAh0eF("[FR4IE@&MFQmJD@iJB@YdE@pNG@aPFhGTG'0SCA-T)(4SC@i+)*!
|
|
|
-+BQ9RD@i+)*!+Hb"VCANJGfpbC(-JBA*P)'jPGQ9b)(0eBR0dDA4eG'9N)(d+)*!
|
|
|
-0D@BJDA0IDf9jGfpbC#KSFbNJG'KPEJSJN!j0CA0cB@GP+(0MB@jIC9pVCAPhEh*
|
|
|
-NAf0KER4IBQ9IB9pYB@0bEbNl#L#3#hXJ)C!')'KKEQ4XC5"YB@0bEb"`BA*KEA-
|
|
|
-X)'jPC@3JGf8JG'KTFcmJI3SJN!eMGA*bC@jdAh0MB@jZCA)ZFfYTF(0`B@0P1`S
|
|
|
-JN!Yl)'eKH5"LC5"K)'eKBh*[2b"p#L#3$@PQ)'-p*cSR)(4SC@i+)*!2BQ9RD@i
|
|
|
-+)*!5Bh9bFQ9ZG&pcBf&ZEQ9b,R*PB@4MD'&b1`SJN"*TCL"M25Fp*b"dD'9Z#L#
|
|
|
-3&'*PCfPZ#L#3&fjPGbKYB@0bEf*eCQCPFLNl#L#3&feKBh*[F'pc1Md`1`SJN"G
|
|
|
-l)("KFR0P)'eKBh*[,#"LFQ&MDf9dFb"KFQ8JBfpeER4PC#"cEb"TG#Gc)("[Fh0
|
|
|
-TBQaP#L#3'A4[)'KKGQ8JB5!ND@CNC@BJCA4M,L"TEL"dD'8JE@&MFQmJI3SJN"G
|
|
|
-LFQ&MDf9dBfpeER3k26!l#L#3&h*PF'9KG!SJN"PMGA*bC@jdAh0MB@jZCA)ZFQ9
|
|
|
-KC'0SBA)l#L#3'@0KFf8JBb"[CJSJN"XRI5FJ1JSJN"eTCL!SBR*KBfYPG'0[G@j
|
|
|
-d26!T)(4SC@i+)*!HBR*PB@X+)*!GC@acC3SJN"jNC@-SBR*KBfYPG'0[G@jd+6X
|
|
|
-+)*!E*hXR)$S+)*!GD@jM+'*bB@0VCA4MEh9ZG#Nl#L#3'b-a-#`M-6-J1JSJN"e
|
|
|
-MGA*bC@jdAh0MB@jZCA)ZE'PZC@*bC@&V1`SJN"XM-MBJ1JSJN"eMGA*bC@jdAh0
|
|
|
-MB@jZCA)ZC@jNAfpQAfCTE'8l#L#3'@9ZC$X+)*!CE@&MFQpLG@CQCA*H@feKBh*
|
|
|
-[F'pcA6SpBcX+)*!CD@jM+'eKBh*[F'pc+6X+)*!CD@BJE@&MFQp`Eh-qE@&iE@&
|
|
|
-MFQpXC@iJG'KPEJSJN"T0CA0cB@GP+(0MB@jICPpYB@0bEepLG@CQCA*IEhCPFQC
|
|
|
-XEhFT1`SJN"GeER4TE#"QB@acC6X+)*!AHb"QFQ9P)'*eCQCPFL"[CL"YB@0bEb!
|
|
|
-rI3SJN"GTCL"KFh0TCfjPC#KYB@-ZBR9QG'9iG#NJG'KPEJSJN"PQFQ9PE@9Y+'e
|
|
|
-KBbjLG@CdCAKd,'eKBbjLG@CXC@iT1`SJN"Gl)'GPG#"ZCAFJE@9Y)(d+)*!ACf9
|
|
|
-dE@9Y+'eKBbjLG@CdCAKd,'eKBh*[F'pc+6X+)*!AE@&M,Q*eCQaPEMSpE@&MFQp
|
|
|
-`Eh-l#L#3&hXJBfp`H5"dD'8JG'9iG#"p#L#3&fe[GQ8SE@&MFQpLG@CQCA*H,'e
|
|
|
-KBbjLG@CdCAKdALaYB@0bEh"[FbNl#L#3&f4TFh"[Ff8SE@&MFQpLG@CQCA)T1`S
|
|
|
-JN"4PEQ3l#L#3$f9ZC$X+)*!+C@jN#L#3#'9XFf8+)*!+BQ9RD@i+)*!,Hb"MD'9
|
|
|
-MDb"TCL"dD'9bC5"TFb"KEL"KFh0TCfjYC@jd,#"dD'9Z)(GP)'jPC@3JG'mJCfP
|
|
|
-fC5"K#L#3$AGKFQjTEQFJI3SJN!eMGA*bC@jdAh0MB@jZCA)ZFfYTF(0`B@0P1`S
|
|
|
-JN!eTCL"M25Fk*b"dD'9Z#L#3$Q*PCfPZ#L#3%'0eFR*PER4IFf0KEQjPFLjbC@&
|
|
|
-NBfKKFMX+)*!3D@BJBcdR25FJG'KPEJSJN"*0CA0cB@GP+(0MB@jIGepYB@0bEep
|
|
|
-cGA"`Eh*dAh4eFQjPC&p[CQBT1`SJN!jPEQ3l#L#3#Q9ZC$X+)*!'C@jN1`S+)*!
|
|
|
-%F(*[Bf9NGA*P)'4TFPpcCA4M1`SJN!CfBA)+)*!)D(-J)$SJFh4bD@jR1`SJN!K
|
|
|
-YB@-J1L"dE@&MFQml#L#3"Q*PCfPZ#L#3#'0eFR*PER4IFf0KEQjPFLjcDfP`Fh"
|
|
|
-KBf8l#L#3#'Kc1MeMGA*bC@jdAh0MB@jZCA)ZFQ9KC'PN1`SJN!KYB@-k2A4YB@0
|
|
|
-bEbKMGA*bC@jdAh0MB@jZCA)ZE@&MFQpc,R0PBA*MD#KSFbNT1`SJN!KTCL"ZEh3
|
|
|
-JBA0cD@GZC@3SE@&M+5"dD'9Z#L#3#Q*PCfPZ#L#3$'eKBcSpG'eKBh*[,Q0bC@&
|
|
|
-dC5KSFbNl#L#3$'eKBbjNC@CTEQ9N1MedFR9P1`SJN!a0CA0cB@GP-5K`BA*cCA*
|
|
|
-IBepYB@0bEepNC@CTEQ9N,'eKBbjZB@eP+6X+)*!-Bh9bFQ9ZG&pcBf&ZEQ9b,Qe
|
|
|
-KBh*[FbjTER0PFR3SE@&M+6X+)*!+C@jN#L#3#'9XFf8+)*!+BQ9RD@i+)*!-E@&
|
|
|
-M,Q4PCQPZC@3k2A4bG@8l#L#3#RXJC'9XCA4P)'pXC#"NC@CTEQPdD@pZ)(d+)*!
|
|
|
--D@BJBA0cD@GZC@3SE@&M,Q*eCR4PH(3T)(4SC@i+)*!0BQ9RD@i+)*!2CR*PC@e
|
|
|
-PE5KYB@-ZBR9QG'9iG#aYB@-ZBR9QE'9Z+6X+)*!2E@&M,Q*eCR4PH(3k2@jTE$X
|
|
|
-+)*!0C@jN1`SJN!TPEQ3l#L#3#'eKBbjTFepeFf9N1MedFR9P1`S+#L#3#(XJDf9
|
|
|
-j)(G[FQ4c)'&bC5"ZCACPFL"cG@*cG'PdGA4PC#"p#L#3#fPQ)'PcAfYPHAG[FQ3
|
|
|
-SD(-T)(4SC@i+)*!-6@9cFf&RC5KcBf&ZAf9IDf9jGfpbC&pMB@jdAf*PAf&IE@&
|
|
|
-MFQmT1`SJN!Pl)#'3"L"SB@jNE'8JE@&MFQmJF'&bB@ec,#"ZC@9N)(GP)(4SDA-
|
|
|
-r)(d+)*!,Bh9bFQ9ZG&pcBf&ZEQ9b,R0VDA"cF'&MC6X+)*!*Hb"YBANJBQ8JB5"
|
|
|
-YB@0bEcmJI3S+)*!)Hb"KFh0TCfjYC@jd)'0KEL"LC5"LEh4S)$Sp)'&ZC#!p)(d
|
|
|
-+)*!)D@BJBcdR1LFJG'KPEJSJN!TMGA*bC@jdAh0MB@jZCA)ZFQ9KC'0SBA)l#JS
|
|
|
-JN!KTCL"M25Fp*b"dD'9Z#L#3#Q*PCfPZ#L#3$@0eFR*PER4IFf0KEQjPFLjbC@&
|
|
|
-NBfKKFMX+)*!0D(-k25"`BA*cC9pMEfe`D@aPFPpPH("b1`SJN!eTCL"XC@jRG'J
|
|
|
-SD(-T)$`q)$!JG'KPEJSJN!pLC@GTEJSJN"&0CA0cB@GP-LK`BA*cCA*IBepYB@0
|
|
|
-bEepcCA4IG'mXE@&M,QjKE@8XD(-T1`SJN"&l)'CbC@8JBR9QCQ9b)'pQ)'eKBh*
|
|
|
-[)$pp#L#3%@PQ)'&cFfPREQ9N+'eKBbjLG@CdCAKd+5"dD'9Z#L#3%fCbC@9YC@d
|
|
|
-SE@&M,Q*eCR4PH(3XE@&M,Q*eCQaPELNl#L#3%AXJCf9d)'jPGb"YC@dJI3SJN"&
|
|
|
-RCA4YC@dSE@&M,Q*eCR4PH(3XE'9ZCh4S+'Kc+5Nl#L#3%@eKBbjLG@CXC@ik2@a
|
|
|
-PEQGdD#KSFbNl#L#3%AXJBfp`H5"dD'8JG'9iG#"p#L#3%@e[GQ8SD(0E-9dXE@&
|
|
|
-M,Q*eCR4PH(4H,'eKBbjLG@CXC@iT1`SJN!pPEQ3+)*!0C@acC3SJN!p0CA0cB@G
|
|
|
-P+(0MB@jIC9p`FQ9`FQpMAh0jER4KH&pPFR*[FLNl#L#3#Q9ZC!SJN!KPE(0P#L#
|
|
|
-3#NePFh0KCf8SFf0KEPpPAh"bCA"bEf0IFhPZG'&iAf9bFQpb+6X+)*!'C@jN1`S
|
|
|
-+#L#3"("bEf0PC(9bC5"NDA*IG@jNC@Bl#L#3"RCKFJSJN!KSFb!J1L"cG(*TEQF
|
|
|
-l#L#3#'eKBb!k)(4YB@0bEcX+)*!'BQ9RD@i+)*!)Bh9bFQ9ZG&pcBf&ZEQ9b,R0
|
|
|
-VDA"cF'&MC6X+)*!)D(-k2@0eFR*PER4IFf0KEQjPFLjbC@&ND@3l#L#3#'eKBcS
|
|
|
-pG'eKBh*[+'0eFR*PER4IFf0KEQjPFLjYB@0bEh-ZFf9KFQ0S+'Kc+5Nl#L#3#'P
|
|
|
-Q)'j[G#"KFh0TCfjPC#KYB@-T)(4SC@i+)*!+BQ9RD@i+)*!0E@&M1MedE@&MFQm
|
|
|
-ZBh*PBA4P+'Kc+6X+)*!06@9cFf&RC6%SF'&bFf9bAf0IE@&MFQpIG@jNC@CTEQ9
|
|
|
-N,'eKBbjZB@eP+6X+)*!0E@&M,Q4PCQPZC@3k2@CKE(0P1`SJN!eMGA*bC@jdAh0
|
|
|
-MB@jZCA)ZE@&MFQpc,QPZFf9bG#KYB@-T1`SJN!TPEQ3+)*!)C@acC3SJN!TLC@G
|
|
|
-TEJSJN!e0CA0cB@GP-5K`BA*cCA*IBepYB@0bEepeEQ4PCQPZC@3XE@&M,QjKE@8
|
|
|
-T1`SJN!eYB@-ZC'9QD@jPC$SpCQ&XFf8l#L#3$AXJC'9XCA4P)'pXC#"NC@CTEQP
|
|
|
-dD@pZ)(d+)*!0D@BJBA0cD@GZC@3SE@&M,Q*eCR4PH(3T)(4SC@i+)*!2BQ9RD@i
|
|
|
-+)*!5CR*PC@ePE5KYB@-ZBR9QG'9iG#aYB@-ZBR9QE'9Z+6X+)*!5E@&M,Q*eCR4
|
|
|
-PH(3k2@jTE$X+)*!2C@jN1`SJN!TPEQ3l#L#3#'eKBbjTFepeFf9N1MedFR9P1`S
|
|
|
-JN!CPEQ3l#JSJN!4`FQpMC@4eFQ8JC'PbAfPZBfaeC'8l#JSJN!KQG@jMG'P[EL"
|
|
|
-QD@jND@jME(9NC@CTE'8SBfpZFh3JF'&dD#aZB@eP,'9iG$TcG(*TEQFlGQ&b)'C
|
|
|
-[G@jNCQPXC6TcG(*TEQFT1Q*[EfaPB@il#L#3#(CKFJSJN!TQEh9ZC#!k)'*[Efa
|
|
|
-PB@il#L#3#QK`BA4S)$SJFh4bD@jR1`SJN!KLC@GTEJSJN!Pl)'a[EfXJCQpb)(4
|
|
|
-SC5"TEQ0XG@4P)'CTE'8+)*!--5iJFh"PBfPQD@9N)("KG'JXF'&dD#"[CL"MGA*
|
|
|
-bC@jd)'PZF(9dCQPXC5aMGA*bC@jd)'4TFJSJN!`b,L"XEf0KE#"TEQ0XG@4PF'&
|
|
|
-dD!SJN!`c,L"RE'pLB@`JD@jME(9NCA"KG'JJI3SJN!YQEh9ZC$SpCQ&XFf8l#L#
|
|
|
-3#fC[G@jNCQPXC6Sp*bFl#L#3#fK`BA4S1MdR*cX+)*!,D@BJF'&dD$`q*bFJG'K
|
|
|
-PEJSJN!eLC@GTEJSJN!pTCL"ZEh3JF'&dD&pKBR0[E(9dC5K`BA4S+5"dD'9Z#L#
|
|
|
-3%@K`BA4S1MeMGA*bC@jdAh0MB@jZCA)ZD@j`GA4QD@aP,R"KG'KH+h"KG'J+)*!
|
|
|
-2C@acC3SJN"&SF'&dD$SpF'&dD#XR1bFVBh9bFQ9ZG&pcBf&ZEQ9b,QPZF(9dCQP
|
|
|
-XC5j`BA4SAMX+)*!0C@jN#L#3#f9XFf8+)*!0D("KG'Jk2@0eFR*PER4IFf0KEQj
|
|
|
-PFLjTER"eG'CTE'8ZF'&dD&il#L#3#fC[G@jN1Me'D@jN4QPXC5KZB@eP+f9iG#a
|
|
|
-SF'&dD#XR1biR+h0[GA*MC9pTEQC[,N4TFP0PF#aQEh9ZC'CTE'8T1`SJN!YTCL!
|
|
|
-SEQpd)'C[G@jN+5"dD'9Z#L#3$'C[G@jN1MeMGA*bC@jdAfe[C(9XC5jXEf0KE'P
|
|
|
-ZBfaeC'9cC@&bBfK`BA4S,NCTEQ4'D@aP+'jKE@8VCAKd,'C[G@jNCQPXC5Nl#L#
|
|
|
-3#fPQ)#KZEh3JCQpeEQ3T)(4SC@i+)*!-CQpeEQ3k2@PZBfaeC'9cC@&bBfK`BA4
|
|
|
-S,NCTEQ4'D@aP+'jKE@8VCAKd,'C[G@jNCQPXC5Nl#L#3#fCTEQ4TEQ0XG@4PCQP
|
|
|
-XC6SpCQpeEQ3l#L#3#'9ZC$X+#JSJN!CfBA)+)*!)BA*RFb`+)*!)CQpeEQ4QD@a
|
|
|
-P,!SJN!KSFb#3"$SJFh4bD@jR1`SJN!K`BA4S)#!k)'4TFR0dFMX+)*!)EQ&YC5!
|
|
|
-J1L"ZB@ePFh4b1`SJN!KPH(3J)#!k)'9iG(0dFMX+)*!)D(!JN!3k)(4TER"eG'C
|
|
|
-TE'8l#L#3#'C[G@jN)$SJBQp[E'9KEMX+)*!'BQ9RD@i+)*!)Bh9bFQ9ZG&pcBf&
|
|
|
-ZEQ9b,R0VDA"cF'&MC6X+)*!)BA*RFcSpBh9bFQ9ZG&pcBf&ZEQ9b,R*PB@4MEfe
|
|
|
-YC@jd1`SJN!KSFcSp4f9d9'pVC@iSBA*RFb`R)#FT1`SJN!KTCL"SFcdR*b"dD'9
|
|
|
-Z#L#3#@9iDA3l#L#3#'PQ)#KSFeXaA6dR*5FT)(4SC@i+)*!*BQ9RD@i+)*!*Hb"
|
|
|
-MBA0P)'PZFf9ZFfPdDACP)(d+)*!,D(-k2A9`F'9b+'Kc+6X+)*!*Hb"bC@e[GQ8
|
|
|
-J*5Gc)(d+)*!,4'9XCA4P+'Kc,$%X-5Nl#L#3#fPQ)'Kc@faPEQGdD#KSFbPG25F
|
|
|
-P*b"dD'9Z#L#3$%4PE'9dC5KSFbaXC@jRG'JSD(-T,$%T1`SJN!Pl)(0KGQ8JEfa
|
|
|
-N)(d+)*!,F'&dD$SpD(-l#L#3#AXJCQPbFh3JBfKPBfXJCQpb)'PZG'9bEQ&X)'e
|
|
|
-KBh*[Fb"p#L#3#fPQ)'Kc25G858e&*b"dD'9Z#L#3$'Kc1MeRCA4dD@ePFh4b#L#
|
|
|
-3#f9XFf8+)*!-D@BJD(-p*d4"9%8R)(4SC@i+)*!0D(-k2@GPG'4KG'9cG()+)*!
|
|
|
-,C@acC3SJN!aTCL"SFcdR4NP-45FJG'KPEJSJN!eSFcSpBh9bFQ9ZG&pYEf4eE'8
|
|
|
-ZFfpeFQ0PCQPXCA-ZCf9dAfCTE'9IEQ&YC5KKDh4QD@aPF'pc,QCTE'9TEQ4PH#N
|
|
|
-+)*!,C@acC3SJN!aTCL"SFcdR6%P145FJG'KPEJSJN!eSFcSpG'pcG()SB@YdCQP
|
|
|
-XCA"[FbjXD@jP+3SJN!YPE(0P#L#3$'PQ)'Kc25G'8%0@49*658p1*b"dD'9Z#L#
|
|
|
-3$@Kc1MefCA*cD@pZAh0dFQPZC`SJN!YPE(0P#L#3$'PQ)'Kc25G'8%0839*(493
|
|
|
-R)(4SC@i+)*!0D(-k2A4KFQGPG&pMF(9IFh4bD@jR#L#3#f9XFf8+)*!-D@BJD(-
|
|
|
-p*dC33e4"8NG&9%0395FJG'KPEJSJN!eSFcSpG'&bCf9dAf0`G9pcG(*TEQF+)*!
|
|
|
-,C@acC3SJN!aTCL"SFcdR4P"$9%&54d986e-R)(4SC@i+)*!0D(-k2A4KFQGPG&p
|
|
|
-TEQC[,R0SEh*dEQ&YC3SJN!YPE(0P#L#3$@Kc1MeRCA4PERBSD(-T1`SJN!YTCL"
|
|
|
-SFcdR*b"dD'9Z#L#3$%ePFh0KCf8a+(0MB@jIGepTEQ0XG@4PAf9ZGPpZEh4ICQp
|
|
|
-eEQ3XF'&dD#Nl#L#3#hXJE@&VC5"TG#"K)(0dFQPZCf0[ER0d)(d+)*!,D(-k25H
|
|
|
-3"#YSFbXRN!3l#L#3#f0eFR*PER4IFf0KEQjPFLjTER0PFR4YB@0bEbK`BA4S,%"
|
|
|
-SFeXaA5aXC@jRG'JSD(-T,!SJN!aMGA*bC@jdAh0MB@jZCA)ZE'PZC9pZEbaMGA*
|
|
|
-bC@jdAh0MB@jZCA)ZD@j`GA4QD@aP,R*PCPpTEQ4PH#Nl#L#3#@9ZC!SJN!KPE(0
|
|
|
-P#L#3#@*PCfPZ#L#3#fKc1Me'DAK'D@aP6Q&YC5KSFbNl#L#3#fCcF'aTG#KSFba
|
|
|
-`BA4S,'jKE@8XCAKd+6X+)*!,Hb"dFRNJG'mJCQPZC#"dD'8JCQPXC5"p#L#3#fC
|
|
|
-[G@jN1MeQD@jND@jME(9NC@CTE'8SF'&dD#aZB@eP,'9iG#aQEh9ZC'CTE'8T1`S
|
|
|
-JN!YTCL!SCAKd25FR+5"dD'9Z#L#3$'*PCfPZ#L#3$RXJG(*j)'4PCQ&eE(3JCAK
|
|
|
-dC@jcD@pZFb!ZD@jM)#`J,R"`)'&ZC#!ZF'&c)(d+)*!1D@BJ+'j[G#"QEh9ZC#N
|
|
|
-JG'KPEJSJN!pQEh9ZC$SpCQPZC'PZBfaeC'9QD@aP+("KG'JXEQ&YC5`R,QPZBbF
|
|
|
-XCQpeEQ4QD@aP+6X+)*!1D@BJ+'j[G#"QEh9ZC#NJG'KPEJSJN!pQEh9ZC$SpCQP
|
|
|
-ZC'PZBfaeC'9QD@aP+("KG'JXEQ&YC5adBA*RCA4ID@jQEbjcEh9bBf9PH(3XCQp
|
|
|
-eEQ4QD@aP+6X+)*!1D@BJ+'j[G#"QEh9ZC#NJG'KPEJSJN!pQEh9ZC$SpCQPZC'P
|
|
|
-ZBfaeC'9QD@aP+("KG'JXEQ&YC5adBA*RCA4ID@jQEbj`BA0PH(3XCQpeEQ4QD@a
|
|
|
-P+6X+)*!-C@jN1`SJN!YTCL"MGA*bC@jdAh0MB@jZCA)ZD@j`GA4QD@aPBfpeER3
|
|
|
-mE@&iAfPZBfaeC'9IEQ9cG'PZCb"dD'9Z#L#3$@*PCfPZ#L#3$fPZBbKMGA*bC@j
|
|
|
-dAh0MB@jZCA)ZD@j`GA4QD@aPBfpeER3T1`SJN!pl)(GP)'jPC@3JG'mJFQ9bC@&
|
|
|
-N)(4SC5"MGA*bC@jd)'0SBA)JI3SJN!pNC@-SBh9bFQ9ZG&pcBf&ZEQ9b,QPZF(9
|
|
|
-dF'pTER4PFLNl#L#3$hXJFfKeG'4[GfiJBh9bFQ9ZG#"QD@aP)(d+)*!2Bh9bFQ9
|
|
|
-ZG&pcBf&ZEQ9b,R4PEA"ME'pcC@PZF(9dCQPXC6X+)*!2Hb"XEf&N)'jPGb"QD@a
|
|
|
-P)(d+)*!2D(!k2@4[Afp`C@jTER"eG'CTE'8SCQpeEQ4QD@aP+6X+)*!2Bh9bFQ9
|
|
|
-ZG&pcBf&ZEQ9b,Q&NC'CTE'8SD(!T1`SJN!pMGA*bC@jdAfe[C(9XC5jcEh9bBf9
|
|
|
-QD@aPFbjbC@GTFh4PFPpQD@aP+'K`+6X+)*!2D@BJEQpd)'0eFR*PER4IFf0KEQj
|
|
|
-PFLj[F'9ZD@j`GA4QD@aP)(4SC@i+)*!36@9cFf&RC6%SFf0KEPpQAf0KEQj[G&p
|
|
|
-[F'9ZAfPZBfaeC'9QD@aP,'Kc+6X+)*!26@9cFf&RC6%SFf0KEPpdAh0dBA*dAfP
|
|
|
-ZBfaeC'9ICQPXC5aMGA*bC@jdAh0MB@jZCA)ZD@j`GA4QD@aP,R"KG'KH+f0eFR*
|
|
|
-PER4IFf0KEQjPFLjTER"eG'CTE'8ZEQ&YC9iT1`SJN!pMGA*bC@jdAh0MB@jZCA)
|
|
|
-ZFQ9XEf&N1`SJN!ePEQ3+)*!,C@acC3SJN!e0CA0cB@GP+(0MB@jICPpTEQ0XG@4
|
|
|
-PAf4PCA"IG'9Z+6X+)*!*C@jN1`SJN!CPEQ3l#T!%HbU363SJN#&86@&MFQm++T"
|
|
|
-0I3S+)*!%BfpZFh4bG@0dEh)JG'eKBh*[,Q0bC@&dC5KMEfjcG#"Z)$SJFh4bD@j
|
|
|
-R+6X+)*!'BQ9RD@i+)*!*D@jSCA*TG'9N)'0bC@&dC@jKE@8SELNl#L#3#@4PCQP
|
|
|
-ZC@3k2A4bG@8l#L#3#@4PCQPZC@4IBA4IFh4KFR4eF$SpCQ&XFf8l#L#3#@CTE'9
|
|
|
-TEQC[1MeKDh4dEfYPER"[FcX+)*!*DA0IGA0PC$SpCQ&XFf8l#L#3#@*eCR4PH(3
|
|
|
-k2@jTE$X+)*!*BR9QE'9Z1Md`1`SJN!CPEQ3l#JS+)*!%C'9cG(*eBh4[FL"dE@&
|
|
|
-MFQmZC'9cG(*[H6X+)*!'BQ9RD@i+)*!*D@BJBA0cD@GZC@3SBR9QG'9iG#NJG'K
|
|
|
-PEJSJN!YQFQ9PE@9Y+'*eCR4PH(3XBR9QE'9Z+6X+)*!*D@jSCA*TG'9N)'4PFh4
|
|
|
-bEhNl#L#3"Q9ZC$X+#JTl+T"0#L#3(&"bCA"bEf0PFh0[FL"hFQPdG'PZC`SUN%e
|
|
|
-p#JTl*'PQC'9Q)&"549"56d0A8NP84Ad+)*!%BfpZFh4bG@0dEh)JG("bCA"bEf0
|
|
|
-QD@aP,Q0bC@&dC5KMEfjcG#"QEMTcG(*TEQFT1`SJN!CLC@GTEJSJN!Cl)'p`C@i
|
|
|
-JEh9dF(9dCQPXC5"p#L#3#'&cFfPRELKQ,'CZ+6X+)*!)Hb4*,Ad+)*!*FQ9hFQP
|
|
|
-dC5KQ+6X+)*!)Hb4*+hd+)*!)D@BJD@pbCA0eE(3m2M!JG'KPEJSJN!P$EfeYC@j
|
|
|
-d+&CI4Q&dB@`X*f0KELFRG#"MFQ9KG'8JCQPXC5!R+fCZ+6X+)*!)Cf9dE@9Y+'*
|
|
|
-eCLa`FQ9`FQpMBR9QFfPkC5Nl#L#3#(0PG(4PH(4LG@BSCLaLG@CH,("bCA"bEf0
|
|
|
-LG@CcDATP+6X+)*!'Hb"bCA0PG#"p#L#3#'9[E'C[G@jN1MeQB@acC6X+)*!)Fh"
|
|
|
-KBf9QEh9ZC$SpCQ&XFf8l#L#3"Q9ZC$X+#JSJN!4NCA0dFR9MG'pb)(4`FQ9`FQp
|
|
|
-MCQPXC5jNCA0dFQpj1`SJN!CLC@GTEJSJN!KME'pcC5KQ+6X+)*!)CR*PC@ePE5K
|
|
|
-LG@BXF(*PF(*[Bf*eCR0THQ8T1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4`FQ9
|
|
|
-`FQpMCQPXC5jKC'3SBfpZFh3JFcTcG(*TEQFT1`SJN!CLC@GTEJSJN!KhFQPdC5K
|
|
|
-Q,(-T1`SJN!CPEQ3l#JSJN!4`FQpMC@4eFQ8JG("bCA"bEf0QD@aP,Q&NC(0`B@0
|
|
|
-P1`SJN!CLC@GTEJSJN!KTCL"PEfaQEh9ZC#"dD'9Z#L#3#@*PCfPZ#L#3#hGbDA4
|
|
|
-PE'iSCL`R*bNl#L#3#f9[E'C[G@jN1MeQB@acC6X+)*!,Fh"KBf9QEh9ZC$SpCQ&
|
|
|
-XFf8l#L#3#@9ZC!SJN!KPE(0P#L#3#@PQ)(0`B@0PCQpeEQ3JG'KPEJSJN!TLC@G
|
|
|
-TEJSJN!ahFQPdC5KQ,#FJ*bNl#L#3$(0`B@0PCQpeEQ3k2@CKE(0P1`SJN!TPEQ3
|
|
|
-l#L#3"Q9ZC$X+Hb4PEQ4TCL"38N938Np$9e**9%9p#JS+HbU363SJN"j88(*P8(*
|
|
|
-[Be0dB@0V#LU36Ad+#L#3"'0[ER0dFR9MG'pb)(4`FQ9`FQpMFh4KBfXZBh*PBA4
|
|
|
-P+'&dHA!J1L"`FQ9`FQpMG(P`1f%kBQp[E'9KEMYZ1R4`FQ9`FQpMFh4KBfXT1`S
|
|
|
-JN!CLC@GTEJSJN!KKBf0PF(3k2@%l#L#3#(4jF$SpBA4jF$X+)*!)EQ9iG$SpEMX
|
|
|
-+)*!'C@jN1`S+#RXUN%d+)*!H9%4TFQ9MG'PfC8PdC@d++T"0I3S+)*!%BfpZFh4
|
|
|
-bG@0dEh)J9%4TFQ9MG'PfC8PdC@dZ3h*PBA4P+'0[ER0d)'ikFh4bD@jR1h!kG'4
|
|
|
-TFQ9MG'PfCA"bEf-T1`SJN!CLC@GTEJSJN!KTEQKPFQPdC@3J3h*PBA4P6Q&YC5K
|
|
|
-Z+6X+)*!)DA0IBfpZC'PdD@pZB@`k2@CKE(0P1`SJN!K`FQpM1Mel*'PQEQ4PCL"
|
|
|
-'8%038Np$9N&5I8"l*'9ZC'PQIA!l#L#3"Q9ZC$X+#JSJN!4MEfjcG(*eBh4[FL"
|
|
|
-84'PbC@0dDACP5A4PE5j$FQ9KG'9$EfjN+'0[ER0d)'ikFh4bD@jR1h!kG'4TFQ9
|
|
|
-MG'PfCA"bEf-T1`SJN!CLC@GTEJSJN!KTEQKPFQPdC@3J3h*PBA4P6Q&YC5KZ+6X
|
|
|
-+)*!)DA0IBfpZC'PdD@pZB@`k2A4bG@8l#L#3#("bEf-k2AXND@CZC'9Q)%C33e"
|
|
|
-56d0@39*p3(XNC@jND@CpF$X+)*!'C@jN1`S+HbU36!SJN#"88d0"6Nj&8NC*6%8
|
|
|
-+)#U36(d+#L#3"'0[ER0dFR9MG'pb)(4cBf&ZEQ9bCQPXC5jMFQ9KG'8SBfpZFh3
|
|
|
-JCQikFh4bD@jR+6X+)*!'BQ9RD@i+)*!)D@j`GA4QD@aP1MeNEep[F'9ZD@j`GA4
|
|
|
-QD@aP+'CZ+6X+)*!)D@BJBA0cD@GZC@3SBh9bFQ9ZG&pYEf4eE'8T)(4SC@i+)*!
|
|
|
-+Bh9bFQ9ZG&pYEf4eE'8ZFfpeFQ0PCQPXCA-ZFQ9RDA0dCA*ICQPXC5KTER"eG'C
|
|
|
-TE'8T1`SJN!Cl)(*PFf9d)'a[Bf&XD@j`GA3JI3SJN!KTER"eG'*eCQCPFMSpEQP
|
|
|
-X1`SJN!KTER"eG("[D@jdCA)k2@jTE$X+)*!)D@j`GA4cG'&bG$Sp-$X+)*!'Hb"
|
|
|
-bCA0PG#"cBf&ZEQ9b)(d+)*!)F(*PF(*[Bh0dB@0V1MeZD@`l#L#3#'0[E@ePER4
|
|
|
-IE'9fC@`k26!l#L#3#(PjE'9iBfpeER3k26!l#L#3#'*XEf0VAh4jF'8k2@*dAfG
|
|
|
-PEQ9bB@`l#L#3#'aTEQ9IEQmk26!l#L#3#'aKFh4XD@jPF'pc1Md`1`SJN!KXBA0
|
|
|
-dG'pVC@j`Eh-k26!l#L#3#'aKFh4dEfYPEMSp6Np86dY&6MX+)*!)EQ9iG(4[Df9
|
|
|
-Z1Me16e425d911`SJN!KXBA0dBA0YCf9dBfKKFMSp)c!l#L#3#'PREQpbC@4TFQ9
|
|
|
-MG'PfCA-k2946G(*TEQG-DA0d,N0bC@&dC6X+)*!)D@jIBA0YAh0dFQPZCcSpCQ&
|
|
|
-XFf8l#L#3#'eKBh*[FcSpG'4TBh4TEfjKFRNZBh*PBA4P1`SJN!CPEQ3l#JS+)*!
|
|
|
-%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jQDA*cG'CTE'8l#L#3"Q*PCfPZ#L#3"RX
|
|
|
-JE'pKC#"LE'pMDb"p#L#3#'PQ)'j[G#"[F'9ZD@j`GA4QD@aP)(4SC@i+)*!+6@9
|
|
|
-cFf&RC6%SFf0KEPpQAf0KEQj[G&p[F'9ZAfPZF(9d,'PZF(9dCQPXC5jZB@ePALN
|
|
|
-l#L#3#(*PE'pKC$X+)*!'C@jN1`S+#L#3"'4PFh4bG@0dEh)JG(0MB@jZCA*QD@a
|
|
|
-P,Q4PFh4bEhNl#L#3"Q*PCfPZ#L#3#'PQ)'&cFfPREQ9N+'0eFR*PER4IE@pNG@a
|
|
|
-P+5"KEQ3+)*!,+'0eFR*PER4IE@pNG@aP,R0dBA4P2@ecAf0[EA"TE'9N+5"KEQ3
|
|
|
-+)*!,+(0dBA4eFbjPFR*[FQ0[G@jd26!T)(4SC@i+)*!+BfKPBfY`FQ9`FQpMFh4
|
|
|
-KBfX+)*!)C@acC3SJN!TLC@GTEJSJN!ahD'PXC5"KFh0TCfjPC#K`FQ9`FQpMFh4
|
|
|
-KBfXT)'4[#L#3$A"[F("bCA"bEf0cG'&MDcX+)*!+C@jN1`SJN!KTCL"ZEh3JD@j
|
|
|
-`GA4QD@aP,Q0XEh0PC#"dD'9Z#L#3#Q0XEh0PD@j`GA4QD@aP1`SJN!KTCfj[FQ9
|
|
|
-NDA*PBh4TGQ9c,QCbC@8l#L#3#'eKBh*[FbjQFQ9P1`SJN!CPEQ3l#JS+)*!%F(*
|
|
|
-[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jNC@CIE@&MFQmSBfpZFh3JFb!k)(0dFQPZCbN
|
|
|
-l#L#3"RCKFJSJN!KYB@-J1L"dE@&MFQml#L#3"Q*PCfPZ#L#3#@eKBcSpG'eKBh*
|
|
|
-[+'eKBh*[FbjcC@&bBfJSFbNT1`SJN!PTCL"YB@-pEQPX)(4SC@i+)*!,BQ9RD@i
|
|
|
-+)*!0E@&M1MedE@&MFQmZBh*PBA4P+(-T1`SJN!e0CA0cB@GP-5K`BA*cCA*IBep
|
|
|
-YB@0bEepNC@CTEQ9N,'eKBbjZB@eP+6X+)*!0E@&MFQpc,QPZFf9bG#KYB@-T1`S
|
|
|
-JN!YPEQ3l#L#3#@eKBbjNC@CTEQ9N1MedFR9P1`SJN!PYB@-ZC'9QD@jPC&pKG&p
|
|
|
-cG'&bG(9`1MedFR9P1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQP
|
|
|
-XC5jcCA4IE@&MFQmSBfpZFh3JFb!k)(0dFQPZCcYfB@aeC5!k)(0dFQPZCbNl#L#
|
|
|
-3"RCKFJSJN!KYB@-J1L"dE@&MFQml#L#3"Q*PCfPZ#L#3#@eKBcSpG'eKBh*[+'e
|
|
|
-KBh*[FbjcC@&bBfJSFbNT1`SJN!PTCL"YB@-pEQPX)(4SC@i+)*!,BQ9RD@i+)*!
|
|
|
-0E@&M1MedE@&MFQmZBh*PBA4P+(-T1`SJN!eYB@0bEh-ZD@jcCA*d+'eKBbNl#L#
|
|
|
-3#f9ZC!SJN!PPE(0P#L#3#f*PCfPZ#L#3$QPQ)'&cFfPREQ9N+'eKBbjLG@CdCAK
|
|
|
-d+5"dD'9Z#L#3%'CbC@9YC@dSE@&M,Q*eCR4PH(3XE@&M,Q*eCQaPELNl#L#3#f9
|
|
|
-ZC$X+)*!*6@9cFf&RC6)SF'&bFf9bAf0IE@&MFQpIFf9dAh4[,'eKBbjZB@eP,(C
|
|
|
-KE(9P+6X+)*!*E@&M,Q*eCQaPEMSpE'9ZCh4S+(CKE(9P+6X+)*!*Cf9dE@9Y+'e
|
|
|
-KBbjLG@CdCAKd,'eKBbjLG@CXC@iT1`SJN!PYEhCP+(CKE(9P@c&G,'eKBbjLG@C
|
|
|
-dCAKdALaYB@-ZBR9QE'9Z+6X+)*!*E@&M,Q4PCQPZC@3k2A4bG@8l#L#3#@eKBbj
|
|
|
-NC@CTEQ9NAf&dAh0dBA*dGA!k2A4bG@8l#L#3"Q9ZC$X+#JSJN!4QG@jMG'P[EL"
|
|
|
-dFf0KEQjPFQCTE'8ZEh"PEQPZF(9dCQPXC6TLEfpXC@&Z1`SJN!CLC@GTEJSJN!K
|
|
|
-[F'9ZD@j`GA4QD@aP1MeTER"eG'CTE'8ZEh"PEMX+)*!'Hb"XEf&N)'*eCQCPFL"
|
|
|
-p#L#3#'PZF(9dBR9QCQ9b1MeTER"eG'CTE'8ZBR9Q1`SJN!KTER"eG("[D@jdCA)
|
|
|
-k2@PZF(9dCQPXC5jLG@Bl#L#3#'PZF(9dFh4KFR3k2@PZF(9dCQPXC5jLG@CcG'&
|
|
|
-bG$X+)*!'Hb"XD@jP)(d+)*!)E'PZC9pZEcSp-$X+)*!)E'&cG'aTEQ9`Eh-k26!
|
|
|
-l#L#3#'aKFh4dEfYPER"[FcSp-$X+)*!'C@jN1`S+#L#3"("bEf0PC(9bC5"dFf0
|
|
|
-KEQjPFQCTE'8ZBfa[Ff9TER"eG'CTE'8l#L#3"Q*PCfPZ#L#3#'PZF(9dCQPXC5j
|
|
|
-ME'pcC6X+)*!'Hb"bCA0PG#"LG@CQCA)JI3SJN!KTER"eG'*eCQCPFMSpEQPX1`S
|
|
|
-JN!KTER"eG("[D@jdCA)k2@jTE$X+)*!)D@j`GA4cG'&bG$Sp-$X+)*!'Hb"bCA0
|
|
|
-PG#"XD@jP)(d+)*!)E'PZC9pZEcSp-$X+)*!)E'&cG'aTEQ9`Eh-k26!l#L#3#'a
|
|
|
-KFh4dEfYPER"[FcSp-$X+)*!'C@jN1`S+#L#3"'CeEQ0dD@pZ)(4cBf&ZEQ9bCQP
|
|
|
-XC5jdC@e`Eh"PEQPZF(9dCQPXC6TLEfpXC@&Z1`SJN!CLC@GTEJSJN!KTCL"TER"
|
|
|
-eG'CTE'8ZDA0IE@&MFQmJG'KPEJSJN!TPH'Pd1`SJN!KdC@e`Eh"PEQPZF(9dCQP
|
|
|
-XC6SpD@j`GA4QD@aP,R4PEA"[F'9Z1`SJN!Cl)(*PE'pKC#"LG@CQCA)JI3SJN!K
|
|
|
-TER"eG'*eCQCPFMSpD@j`GA4QD@aP,Q*eCMX+)*!)D@j`GA4`EfPZG'9b1MeTER"
|
|
|
-eG'CTE'8ZBR9Q1`SJN!KTER"eG(0dBA*d1MeTER"eG'CTE'8ZBR9QFh4KFR3l#L#
|
|
|
-3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@aP,R4PEA"ME'pcC@PZF(9
|
|
|
-dCQPXC6X+)*!'BQ9RD@i+)*!)D@BJD@j`GA4QD@aP,Q0XEh0PC#"[FL"TER"eG'C
|
|
|
-TE'8ZDA0IE@&MFQmJG'KPEJSJN!PPH'Pd1`SJN!KTER"eG'CTE'8ZFf9dF'pc+'P
|
|
|
-ZF(9dFh4KFR3V+'PZF(9dF'pTER4PFLeTER"eG'*eCQCPFLNT1`SJN!KTER"eG'C
|
|
|
-TE'8ZG'9YF'0XEh0P1`SJN!Cl)(*PFf9d)'*eCQCPFL"p#L#3#'PZF(9dBR9QCQ9
|
|
|
-b1MeZD@`l#L#3#'PZF(9dF'pTER4PFMSpEQPX1`SJN!KTER"eG(0dBA*d1Md`1`S
|
|
|
-JN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jcBACPD@j`GA4QD@a
|
|
|
-P1`SJN!CLC@GTEJSJN!KTER"eG'CTE'8ZFf&fC@PZF(9dF'pTER4PFMSpD@j`GA4
|
|
|
-`EfPZG'9b1`SJN!KTER"eG'CTE'8ZFf&fC@aKFh4XD@jPF'pc1MeXBA0dE'PZCA"
|
|
|
-[FcX+)*!)D@j`GA4QD@aP,R0KGQ9XD@jPAfj[1MeXD@jPAfj[1`SJN!CPEQ3l#JS
|
|
|
-+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jbCA0dEh*PD@j`GA4QD@aP1`SJN!C
|
|
|
-LC@GTEJSJN!KTER"eG("[D@jdCA)k2@PZF(9dCQPXC5jcBACPD@j`GA4`EfPZG'9
|
|
|
-b1`SJN!KXBA0dE'PZCA"[FcSpD@j`GA4QD@aP,R0KGQ9XBA0dE'PZCA"[FcX+)*!
|
|
|
-)E'PZC9pZEcSpD@j`GA4QD@aP,R0KGQ9XD@jPAfj[1`SJN!KTCL"ZEh3JD@j`GA4
|
|
|
-QD@aP,QPcAfeKBh*[)(4SC@i+)*!+F'&bFf9bAf0eFR*PER4ICQPXC6SpD@j`GA4
|
|
|
-QD@aP,QjKE@9H1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5j
|
|
|
-ZCAKdCQPXC6X+)*!'GQ&b#L#3#(4[Af4TFh"[Ff8J1L"dD@j`GA4QD@aP1`SJN!C
|
|
|
-LC@GTEJSJN!KTCL"KFh0TCfjPC#KTER"eG'CTE'8ZEQ9iG#NJG'KPEJSJN!PLC@G
|
|
|
-TEJSJN!YTCL"TER"eG'CTE'8ZDA0IE@&MFQmJG'KPEJSJN!edEepNDA0`Eh0P1Me
|
|
|
-TER"eG'CTE'8+)*!,C@acC3SJN!eLC@GTEJSJN!pdEepNDA0`Eh0P1MeZD@`l#L#
|
|
|
-3$f4PBbKTER"eG'CTE'9MEh9ZG#Nl#L#3$@9ZC$X+)*!,Hb"hC5"MB@iJB@aXGf&
|
|
|
-jFb"ME'pcC5"dD'8JCQPXC5`JEQmJ2b"p#L#3#fPZF(9dCQPXC5jME'pcC6X+)*!
|
|
|
-,D@j`GA4QD@aP1MeTER"eG'CTE'8ZEQ9iG$X+)*!,D@BJBA0cD@GZC@3SG'pIC'P
|
|
|
-cF'pcC5NJG'KPEJSJN!edEepNDA0`Eh0P,QCbC@8l#L#3#h*PFh4[FQ9TER"eG'C
|
|
|
-TE'8l#L#3#@9ZC$X+)*!'C@jN1`S+#L#3"("bEf0PC(9bC5"dFf0KEQjPFQCTE'8
|
|
|
-ZB@4NCQPXC5KSF$TdD@j`GA4QD@aP+6X+)*!'BQ9RD@i+)*!)Ff&fC@PZF(9dCQP
|
|
|
-XC6X+)*!)Hb"KC'3JG'mJE'PcG#"p#L#3#'K`,QjPH(3k2@PZF(9dCQPXC6X+)*!
|
|
|
-)D@j`GA4QD@aP1MeSF$X+)*!)Hb"XEf&N)'jPGb"TER"eG'CTE'8JI3SJN!KbCA0
|
|
|
-dEh*PD@j`GA4QD@aP1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQP
|
|
|
-XC5jbC@a[B@3l#L#3"Q*PCfPZ#L#3#(GTG'JJD@j`GA4QD@aP)'4[#L#3#@*PCfP
|
|
|
-Z#L#3#hXJGfKPEL"ZEh4SD@jR)'e[FQ8JG'mJFQ9KC#"dD'9Z)'aPBACP)'PYE@9
|
|
|
-ND@&dE(NX)(0[)(GP#L#3$@4[ELGd)'0SB@jRC5"dD'8JB@YdCQPXCA"[Fb"KEQ3
|
|
|
-JE'9KGQ8JDA3JF'pTER3JG'mJG'KP)'aKFh3+)*!0BfKKFL"p#L#3#fPQ)#KM25-
|
|
|
-b0LNJB@jN)#KZEh3JBA0cD@GZC@3SEQ9iG#NT)(4SC@i+)*!-CAKTG$X+)*!,FQ9
|
|
|
-`C@&d#L#3#hXJFh4TE'`JE@pbC5"dEb"bC@&N2b`JG'KPEL"MD'&ZCf8JG'KP)#-
|
|
|
-`)(4[)'%JFh"KBf8JFfmJDA4c)(0PC@i+)*!0BA-JB5"cCA"PFQ&dEh)X)(4SDA-
|
|
|
-JBf&Z*h3JBQ8JGA0PC#"QEh)JE@&MFQmRFb"hD'PMD#"MB@iJBfKKEQGP#L#3$A4
|
|
|
-SC5"`E'&MC5"[CL"dD'8J)c!JD@iJG'KP)'*eCQCPFL"hDA4S)(4PEA"[F'9Z)(d
|
|
|
-+)*!0D@BJ+'-p)c!T)'&ZC#!SBR9QFfPkC6i`+5"KEQ3+)*!3EQpd+'PZF(9dCQP
|
|
|
-XC5jTFepYB@0bEbNJB@jN#L#3%#KTER"eG("[D@jdCA)YD@j`GA4LG@CQCA)mBR9
|
|
|
-QFfPkC5NJG'KPEJSJN!jLC@GTEJSJN""M1MdR)#Fl#L#3%'PZBbKTER"eG("[D@j
|
|
|
-dCA)T1`SJN""PH'Pd1`SJN!jPEQ3l#L#3#hXJBf&Z)(GP)(*PB@3JE@pbC5"QFQp
|
|
|
-Y)(4SDA-JCQPXC5!r)(d+)*!0D@BJ+'-m2L-b0LNJB@jN)#KZEh3JC@jNEfCQD@a
|
|
|
-P+5"dD'9Z#L#3$Q*PCfPZ#L#3%(*PB@4LG@Bl#L#3%'PZF(9dF'pTER4PFMSpBR9
|
|
|
-Q1`SJN""TER"eG'*eCQCPFMSpBR9Q1`SJN""TER"eG(0dBA*d1MeLG@CcG'&bG$X
|
|
|
-+)*!1Hb"QDA*cG#"XD@jP2b"p#L#3%'PQ)'aTEQ9IEQmp-#"dD'9Z#L#3%@*PCfP
|
|
|
-Z#L#3%faTEQ9IEQmk26%l#L#3%fPQ)'0cAf&cE9pcEh9bBf8JD@iJB@YdCfa[BQ&
|
|
|
-XFhGTG'0SCA-JG'KPEJSJN"9TER"eG'CTE'8ZFf9dE'PZC5KXD@jPAfj[,'*eCR0
|
|
|
-dBA*d+6X+)*!4C@jN1`SJN!jPEQ3+)*!0C@acC3SJN!jLC@GTEJSJN!jl)'a[B@3
|
|
|
-JC@pQ)("[FfPdD@pZ)'PZ)(4[Df9ZF'pc,f&VG'CTE'9`Eh-JI3SJN""RCA4dEfY
|
|
|
-PER"[FcX+)*!1Hb"ME'pcC5"QD@aP)(d+)*!3Bfa[Ff9TER"eG'CTE'8l#L#3$RX
|
|
|
-JEQmJEQ9iG#"YEf4eE'8X)(4SB@iJ48p')(d+)*!3D@BJEQpd)'&cFfPREQ9N+'P
|
|
|
-ZF(9dCQPXC5jZCAKd+5"dD'9Z#L#3%@*PCfPZ#L#3%f-k25-b0MX+)*!6CAKTG$X
|
|
|
-+)*!4C@jN1`SJN!jl)'a[B@3JEQ9iG#"QD@aP)'&ZC#"bC@p`C@iJDA3JI3SJN""
|
|
|
-ZCAKdCQPXC6X+)*!3G'9YF'p`C@jTER"eG'CTE'8l#L#3$RXJFh4KG(9c)(d+)*!
|
|
|
-36@9cFf&RC6%SFf0KEPpdAf*KBfYID@iXD@j`GA4QD@aP,QjKE@9H+6X+)*!1C@j
|
|
|
-N1`SJN!Yl)'a[B@3JEQ9iG#"MD'&b)(d+)*!0BcSpD@j`GA4`EfPZG'9bAMX+)*!
|
|
|
-0D@jM+'PZF(9dF'pTER4PFLNl#L#3#h9ZG'PX)'-m2L-`1b"l)'PQ)'&XFfmJC@j
|
|
|
-N,#"dD'9Z)(*PE'pKC#"KCf&TEL"p#L#3#@9ZC$X+)*!'C@jN1`S+#L#3"("bEf0
|
|
|
-PC(9bC5"dFf0KEQjPFQCTE'8ZD@jcCA*dE@&MFQmSBfpZFh3JE@&MEQ&YC6TcG(*
|
|
|
-TEQFlF$T`BfKKFMYXC@iXE'PZC5aQD@aPD@jNCAJkE'pZCfPZG#Nl#L#3"RCKFJS
|
|
|
-JN!KSF#!k)(4TER"eG'CTE'8l#L#3"Q*PCfPZ#L#3#(XJFf&fC5"[E'3JF'pcG'P
|
|
|
-[EL"p#L#3#'4PBbKTER"eG("[D@jdCA)T1`SJN!KdC@e`Bfa[Ff9TER"eG'CTE'8
|
|
|
-l#L#3"RXJBh*PBA4P)'eKBh*[)#GQD@aP*b"p#L#3#(XJGA0P)(0`C@0TB@`JEQ&
|
|
|
-YC5"dEb"NDA0`Eh0P)'&QG'9b)#%K)(d+)*!)D(!k2@4[Afp`C@jTER"eG'CTE'8
|
|
|
-S*ep0B@0bEemZ*bYYB@0ZB@eP+6X+)*!)B@4NCQPXC5KSF#Nl#L#3#(GTG'JJD@j
|
|
|
-`GA4QD@aP)'4[#L#3#@*PCfPZ#L#3#h0PG'eKBh*[+(!XE'9Z+6X+)*!*Hb"XEf0
|
|
|
-KE#"LG@CQCA)JI3SJN!YTER"eG'*eCQCPFMSpBR9Q1`SJN!YTER"eG("[D@jdCA)
|
|
|
-k2@*eCMX+)*!,D@j`GA4cG'&bG$SpBR9QFh4KFR3l#L#3#h*PCPpTEQ4PH$SpCQP
|
|
|
-XC@PZC'9i1`SJN!PPEQ3l#L#3"RXJFQ9cCA3JE'PZC5"p#L#3#'aTEQ9IEQmk2@a
|
|
|
-TEQ8l#L#3#'aKFh4XD@jPF'pc1Md`1`SJN!KXBA0dG'pVC@j`Eh-k26!l#L#3"RX
|
|
|
-JE'pKC#"ZCAFJBb"p#L#3#'-k2@PZF(9dF'pTER4PFPil#L#3#'PZBbKTER"eG("
|
|
|
-[D@jdCA)T1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jRCA4
|
|
|
-dEfYPER"[FcX+)*!%Hb"XEf&N)(4SC5"fB@aeCA-JEfBJG'pVC@j`Eh-JB@jN)'a
|
|
|
-KFh4dEfYPER"[Fb"p#L#3"Q*PCfPZ#L#3#'aKFh4dEfYPER"[FcSpD@j`GA4cG'&
|
|
|
-bG#XSD@j`GA4`EfPZG'9b,@PZF(9dBR9QCQ9b+6X+)*!)B@YdG'pVC@j`Eh-ZE'P
|
|
|
-ZC6SpE'PZC9pZEcX+)*!)B@YdG'pVC@j`Eh-ZBfpXG@eZ1MeXBA0dG'pVC@j`Eh-
|
|
|
-YE'&cG'aTEQ9`Eh-l#L#3#'&VG(4[Df9ZF'pc,QCTE'9TEQ4PH$SpD@j`GA4QD@a
|
|
|
-P,R*PCPpTEQ4PH$X+)*!)B@YdCQPXCA"[FcSpB@YdG'pVC@j`Eh-l#L#3"Q9ZC$X
|
|
|
-+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@aP,QPZBepMEfeYC@jdAfaPGQ9X1`S
|
|
|
-JN!CfBA)+)*!*EfaNB@YdCQPXCA"[Fb!k)(4QD@aPF'pcD@jQEcX+)*!'BQ9RD@i
|
|
|
-+)*!*D@BJ+'eIEQ9cG'9NAf0[E@ePER3JD@iJB@YdE@pNCA0hDA4MD'9c+5"dD'9
|
|
|
-Z#L#3#fPZBbKMEfeYC@jdAfaPGQ9X+3SJN!PPE(0P#L#3#f0[E@ePER4IE'9fC@`
|
|
|
-k26%l#L#3#@PQ)#KMEfeYC@jdAfaPGQ9X2M%T)(4SC@i+)*!+BQ9RD@i+)*!0Efa
|
|
|
-NB@YdCQPXCA"[FcSpB@YdCQPXCA"[FcX+)*!0Cf9dG'pVC@j`Eh-l)(XJGA"NBA4
|
|
|
-P)'C[FL"hBA*ZD@jR)(d+)*!06@9cFf&RC6%SFf0KEPphAf0[E@ePER4IE'9fC@`
|
|
|
-XG'pcG()SBfpYE@9ZG&pXCACPE#NT1`SJN!eKDh4QD@aPF'pc1Me[E'4KDh4QD@a
|
|
|
-PF'pc1`SJN!TPEQ3l#L#3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@a
|
|
|
-P,Q4PBepMEfeYC@jdAfaPGQ9X1`SJN!CLC@GTEJSJN!PTCL!SE9pZCA0dC@4IBfp
|
|
|
-YE@9ZG#"TEL"KDh4YEf4PFhGTG'0SCA-T)(4SC@i+)*!,C'9M+'0[E@ePER4IE'9
|
|
|
-fC@`T#L#3#@9XFf8+)*!,BfpYE@9ZG&pXCACPE$Sp-$X+)*!'C@jN1`S+#L#3"("
|
|
|
-bEf0PC(9bC5"dFf0KEQjPFQCTE'8ZE'PZC@*bC@&V1`SJN!CfBA)+)*!*Bh9b)$S
|
|
|
-JBfKKFMX+)*!*EfaNG'pVC@j`Eh-X#L#3#@pXC'&VG'CTE'9`Eh-J1L"dCQPXCA"
|
|
|
-[FfPZCQml#L#3"Q*PCfPZ#L#3#(GTG'JJD@j`GA4QD@aP)'4[#L#3#@*PCfPZ#L#
|
|
|
-3#fPQ)#KLHA4P+'PZF(9dF'pTER4PFPiT26!T)'&ZC#"ZEh3SC@jNEfCQD@aP+5"
|
|
|
-dD'9Z#L#3$@*PCfPZ#L#3$f0eFMSpBcX+)*!2FQ9XEf&N1`SJN!pTCL"LHA4P+'0
|
|
|
-eFLNVBRPdC5KM+6`q-M-JG'KPEJSJN"&NC@-SD@j`GA4`EfPZG'9b+6X+)*!0C@j
|
|
|
-N#L#3#f9XFf8+)*!0BQ9RD@i+)*!2Hb"6GA"`Eh*d)'&XE#"MEfeLD@jKG'P[EL"
|
|
|
-[CL!M-6!JB@jN)#-a-b"KFb"XD@jP)'*bC@&V)(d+)*!2D@BJ+'*jG'8SD@j`GA4
|
|
|
-`EfPZG'9bALNVBRPdC5KM+6db-bNJG'KPEJSJN"&TEQ-SD@j`GA4`EfPZG'9b+6X
|
|
|
-+)*!0C@jN1`SJN!Yl)%&XGf&jFb"bCA4eFQiJ)c%`)'&c)'aTEQ8JBR*PB@XJI3S
|
|
|
-JN!YM1MdM-6!l#L#3#hXJD@jMFQ9KFf8JE'PZC5"MEh9ZG'9bFb"p#L#3#faKFh4
|
|
|
-XD@jPF'pc1MeLG@CcG'&bG#XSD@j`GA4`EfPZG'9b,@PZF(9dBR9QCQ9b+6X+)*!
|
|
|
-,D@jM+'aTEQ9IEQmT1`SJN!Yl)(9`C'&dC5"XD@jPBR9QCQ9b)(d+)*!,D@BJBh0
|
|
|
-IBA0YAh0[GA*MC5"TEL"KDh4RE'pLB@acGfPdBfKPFb"dD'9Z#L#3$@PZF(9dCQP
|
|
|
-XC5jcCA4XD@jP+'aTEQ9IEQmXE'&cG'aTEQ9`Eh-T1`SJN!Yl)(9`C'&dC5"QEh)
|
|
|
-JFh4KG(9c)'&ZC#"MB@aX)(4SC5"cD'ph)(0dBA4eFb"bEh9dD@jP,!SJN!eLGA3
|
|
|
-JC'pZ*h3JG'peBfJJB@YdCQPXCA"[Fb!K)(d+)*!,EfaNB@YdCQPXCA"[FcSpB@Y
|
|
|
-dCQPXCA"[FcX+)*!,EfaNG'pVC@j`Eh-k2@&VG(4[Df9ZF'pc1`SJN!YRCA4dEfY
|
|
|
-PER"[FcXJHb"eF'4KG'8JCQpb)(CIFh4KG(9c)(d+)*!,D@jM+(0dBA4eFbjMEfe
|
|
|
-`D@aPC'aTEQ9c+6X+)*!,8fK[Ge0dBA4eFcX+)*!,B@YdCQPXCA"[FcSpEfaNB@Y
|
|
|
-dCQPXCA"[FcX+)*!,B@YdG'pVC@j`Eh-k2@pXC(4[Df9ZF'pc1`SJN!PPEQ3l#L#
|
|
|
-3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@aP,QPXE'9RB@aIBfKKFLK
|
|
|
-M1Q0SBA)T1`SJN!CfBA)+)*!)Fb!k)(0dFQPZCcX+)*!'BQ9RD@i+)*!)D@BJBb"
|
|
|
-TEL"E)c-b,LiM-M8eA5"dD'9Z#L#3#R-k25H3"#YM+bH3"!SJN!KPE(0P#L#3#R-
|
|
|
-k25FM*bYdEh0dFLK[FQ3SBbNT1`SJN!K0CA0cB@GP-LKcBf&ZAfCID@aXC@GKE&p
|
|
|
-MD'&b,(-X*b3R+fKPH(0dFLK[FQ3SBbNX-LNT1`SJN!CPEQ3l#JS+)*!%F(*[Bf9
|
|
|
-NGA*P)(4cBf&ZEQ9bCQPXC5jPEQ4IEfCICQPXC6X+)*!'BQ9RD@i+)*!)BfKPBfY
|
|
|
-`FQ9`FQpMFh4KBfXl#L#3#%ePFh0KCf8SFf0KEPpQAf9ZC&p[CPpQD@aP+6X+)*!
|
|
|
-'C@jN1`S+)#"l,C!V#L#3#dP')%0[EQ4TG'P[EQ&X)%KKEQ4XD@jR#L!J,C!VI3S
|
|
|
-+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jMD'9MDh"bCA"bEf0cG'&MDcX+)*!
|
|
|
-'BQ9RD@i+)*!'Hb"MD'9MDb"QEh)JE@PcFfPZCb"TCQ4PCR-JI3SJN!KhD'PXC5"
|
|
|
-KFh0TCfjPC#K`FQ9`FQpMFh4KBfXT)'4[#L#3#@*PCfPZ#L#3#dePFh0KCf8d+(0
|
|
|
-MB@jIC9pPEQ4TCPpPH("PBh4PC#a`FQ9`FQpMFh4bD@jR@h"bCA"bEf0cG'&MDbj
|
|
|
-dHA"G,("bCA"bEf0cG'&MDbjZB@eP,!SJN!e`FQ9`FQpMFh4KBfXZEhGZCA)ZD@j
|
|
|
-`GA4QD@aP,QjKE@9H,(4[Fh4b+("bCA"bEf0cG'&MDbjXD@jPAfjL+5Nl#L#3#h"
|
|
|
-[F("bCA"bEf0cG'&MDcX+)*!*C@jN1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4
|
|
|
-cBf&ZEQ9bCQPXC5j`Eh"`FQ9`FQpMFh4KBfXl#L#3"RCKFJSJN!KSF#!k)(4`FQ9
|
|
|
-`FQpMFh4KBfXl#L#3"Q*PCfPZ#L#3#'PQ)'&cFfPREQ9N+("bCA"bEf0cG'&MDbN
|
|
|
-JG'KPEJSJN!PLC@GTEJSJN!Y0CA0cB@GP-5KcBf&ZAf0IC@jND@CICQpeEQ3XF(*
|
|
|
-PF(*[Bh0dB@0V,QjKE@8T1`SJN!YSF$SpF(*PF(*[Bh0dB@0V,QjPH(3l#L#3#h"
|
|
|
-bCA"bEf0cG'&MDbjQFQ9P1`SJN!Y`FQ9`FQpMFh4KBfXk2@K`1`SJN!PPEQ3+)*!
|
|
|
-)C@acC3SJN!P0CA0cB@GP+(0MB@jIC9pPEQ4TCPphDA4SEh9dAfPQ+6X+)*!'C@j
|
|
|
-N1`S+#L#3"("bEf0PC(9bC5"dFf0KEQjPFQCTE'8ZB@4NF(*PF(*[Bh0dB@0V+'&
|
|
|
-dHA!J1L"`FQ9`FQpMG(P`1f%kBQp[E'9KEMYMEfjcG#"c1R0dFQPZCcYh1Qa[EQG
|
|
|
-TER3T1`SJN!CLC@GTEJSJN!K`FQ9`FQpMFh4KBfXk2A4`FQ9`FQpMFh4KBfXZBh*
|
|
|
-PBA4P+'&dHA!X+#K`FQ9`FQpMFh4KBfXpEQPX+5"[FL"`FQ9`FQpMFh4KBfXZB@0
|
|
|
-MCA"d+5"KEQ3JB5a`FQ9`FQpMFh4KBfXT1`SJN!K`FQ9`FQpMFh4KBfXZEQ&YC6S
|
|
|
-pFcX+)*!)F(*PF(*[Bh0dB@0V,QaTEQ9IEQ)k2@aTEQ9IEQml#L#3#("bCA"bEf0
|
|
|
-cG'&MDbj[GfjPFMSpFf9XCMX+)*!)D@BJF(*PF(*[Bh0dB@0V,Q&MBf9`G#"dD'9
|
|
|
-Z#L#3#8ePFh0KCf8b+(FXF(*PF(*[Bh0dB@0V,QjKE@8X*f&MBf9`G'9N*bN+)*!
|
|
|
-)C@acC3SJN!P0CA0cB@GP-LKh,("bCA"bEf0cG'&MDbjZB@eP,#GbC@TPBh4PC#F
|
|
|
-T1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jPE(0PF(*PF(*
|
|
|
-[Bh0dB@0V1`SJN!CLC@GTEJSJN!KTCL"KFh0TCfjPC#K`FQ9`FQpMFh4KBfXT)'&
|
|
|
-ZC!SJN!XSF(*PF(*[Bh0dB@0V,R4jF$`qF("IC@acC5NJG'KPEJSJN!PLC@GTEJS
|
|
|
-JN!YTCL!SF(*PF(*[Bh0dB@0V,R4jF$e`F&pPE(0PD@BT)(4SC@i+)*!0F(*PF(*
|
|
|
-[Bh0dB@0V,Q&MBf9`G$SpCQ&XFf8+)*!,C@acC3SJN!eTCL!SEQpd+'&cFfPREQ9
|
|
|
-N+("bCA"bEf0cG'&MDbjZCAKd+5NJEh)J+("bCA"bEf0cG'&MDbjZCAKd,Q&MBf9
|
|
|
-`G#NT)(4SC@i+)*!2F(*PF(*[Bh0dB@0V,Q&MBf9`G$SpEQpd)("bCA"bEf0cG'&
|
|
|
-MDbjKBf0PF(3l#L#3#h"bCA"bEf0cG'&MDbjdHA!k2A"`Af9XFf8l#L#3#h"bCA"
|
|
|
-bEf0cG'&MDbjXD@jPAfjL1MeXD@jPAfj[1`SJN!YTCL"`FQ9`FQpMFh4KBfXZB@0
|
|
|
-MCA"d)(4SC@i+)*!-6@9cFf&RC6)SFf0KEPpMAf9XFf9ICQpeEQ3XF(*PF(*[Bh0
|
|
|
-dB@0V,QjKE@8X*f&MBf9`G'9N*bN+)*!,C@acC3SJN!a0CA0cB@GP-LKcBf&ZAf0
|
|
|
-IC@acC9pQEh9ZC#a`FQ9`FQpMFh4KBfXZEQ&YC5`RFQ9UC@0dC@3R+6X+)*!*C@j
|
|
|
-N#L#3#'9XFf8+)*!*6@9cFf&RC5KcBf&ZAf9IC@jND@CIGfPdD'peG&pTCLNl#L#
|
|
|
-3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@aP,Q9XFf9TCR"bCA"bEf0
|
|
|
-cG'&MDbKKBf0PF(3kBQp[E'9KELNl#L#3"Q*PCfPZ#L#3#'PQ)'&cFfPREQ9N+("
|
|
|
-bCA"bEf0cG'&MDbNJB@jN#L#3#bK`FQ9`FQpMFh4KBfXZG(P`)'PZ)&Y`F&pTCLa
|
|
|
-`F&pPE(0PD@CG+5"dD'9Z#L#3#@*PCfPZ#L#3#hXJGfKPEL"dD'8JBR*KEQ0S)'P
|
|
|
-c)'&MBf9`G'9N)(GP)(9cC5"`F&pPE(0PD@BJFfmJGf8JDfj[Gb"dD'&d#L#3$@&
|
|
|
-XE#"dD'8JEQ9iG#"LFQ&ZBfKPFb"ZC@9N)(4[)'*P)(*PDQ9MG'9N,L"hD'9Z)(4
|
|
|
-SDA-JBR*KEQ0S)'Pc)(0dD@aX#L#3$@j[G#"KBf0PF(4PC#"dD'9Z)'aPBACP)'P
|
|
|
-d)'&d)("`AfPQ)(d+)*!,D@BJ+("bCA"bEf0cG'&MDbjdHA!pF("IC@acC@PQ+5"
|
|
|
-dD'9Z#L#3$A"bCA"bEf0cG'&MDbjKBf0PF(3k2@CKE(0P#L#3#f9XFf8+)*!0D@B
|
|
|
-J+("bCA"bEf0cG'&MDbjdHA!pF("ID@BT)'&ZC#"`FQ9`FQpMFh4KBfXZB@0MCA"
|
|
|
-d)(4SC@i+)*!2BQ9RD@i+)*!4F(*PF(*[Bh0dB@0V,Q&MBf9`G$SpCQ&XFf8l#L#
|
|
|
-3%A"bCA"bEf0cG'&MDbjdHA!k2A"`Af9XFf9TCMX+)*!2C@jN#L#3#f9XFf8+)*!
|
|
|
-0D@BJB@0MCA"d)'&ZC!SJN"!SEQpd+'&cFfPREQ9N+("bCA"bEf0cG'&MDbjZCAK
|
|
|
-d+5NJEh)J+("bCA"bEf0cG'&MDbjZCAKd,Q&MBf9`G#NT)(4SC@i+)*!2BQ9RD@i
|
|
|
-+)*!4F(*PF(*[Bh0dB@0V,Q&MBf9`G$SpG(*eC6X+)*!4F(*PF(*[Bh0dB@0V,R4
|
|
|
-jF$SpF("IC@acC@PQ1`SJN!pPEQ3l#JSJN!Y`FQ9`FQpMFh4KBfXZE'PZC9pZBMS
|
|
|
-pE'PZC9pZEcX+)*!,D@BJF(*PF(*[Bh0dB@0V,Q&MBf9`G#"dD'9Z#L#3$8ePFh0
|
|
|
-KCf8b+(0MB@jIBepPE(0PAfC[G@jN,("bCA"bEf0cG'&MDbjZB@eP,#GKBf0PF(4
|
|
|
-PC#FT#L#3#f9XFf8+)*!06@9cFf&RC6)SFf0KEPpMAf9XFf9ICQpeEQ3XF(*PF(*
|
|
|
-[Bh0dB@0V,QjKE@8X*h*PDQ9MG'9N*bNl#L#3#@9ZC!SJN!KPE(0P#L#3#8ePFh0
|
|
|
-KCf8SFf0KEPpPAf9ZC'PQAhGTG'K[GA4ID@BT1`SJN!CPEQ3l#JS+)*!%F(*[Bf9
|
|
|
-NGA*P)(4cBf&ZEQ9bCQPXC5jSB@jNE'9MEfjNDA4TEfjKE#K`1R4NDA*PBh4TGQ9
|
|
|
-TG'9Y+6X+)*!'GQ&b#L#3#'pXC'&VG'CTE'9`Eh-J1L"dCQPXCA"[FfPZCQml#L#
|
|
|
-3"Q*PCfPZ#L#3#'pXC'&VG'CTE'9`Eh-k2@&VG'CTE'9`Eh-l#L#3#(*PF'9KG!S
|
|
|
-JN!TMGA*bC@jdAh0MB@jZCA)ZCf9dG'pVC@j`Eh-l#L#3#R!ZF(*[BhXND@CNC@B
|
|
|
-J4P"$8&*23eC"8RdS+AXNC@jND@Cp1`SJN!Tl)'&MBf9`G#"dD'8JG'9iG#!r)(d
|
|
|
-+)*!+D@BJ+'0eFR*PER4IFf0KEQjPFLj`FQ9`FQpMFh4KBfXpEQPX+5"[FL"MGA*
|
|
|
-bC@jdAh0MB@jZCA)ZF(*PF(*[Bh0dB@0V,Q&MBf9`G#"dD'9Z#L#3#f*bC@&V#L#
|
|
|
-3#Q9XFf8+)*!,BQ9RD@i+)*!0Bh9bFQ9ZG&pcBf&ZEQ9b,QGPG(4[Df9ZF'pc1`S
|
|
|
-JN!e0CA0cB@GP+(0MB@jIBepcDfP`F'PZCepeER4TE#Nl#L#3$A*PF'9KG!SJN!p
|
|
|
-MGA*bC@jdAh0MB@jZCA)ZFfYTF(9ZG'PXC'PbC@0dDACP1`SJN!pTCL"ZEh3J+'e
|
|
|
-IE@&M)'PZ)'&VG'e[C'9cGfPdBfKPFbNJG'KPEJSJN"&`1MedC'PbC@0dDACPDA4
|
|
|
-PE5KdGA*LEepcBf&ZEQ9bC'PbC@0dDACPFbjcC@&bBfJSBh9bFQ9ZG&pcBf&ZEQ9
|
|
|
-b,R*PB@4TC#NT#L#3$f9XFf8+)*!4F$SpG'4TFQ9MG'PfC@PdC@dSE@&MAh0MB@j
|
|
|
-ZCA*NDA*PBh4TGQ9c,R0PBA*MD#KMGA*bC@jdAh0MB@jZCA)ZFQ9KC'PN+5Nl#L#
|
|
|
-3$A9ZG'PX)'&cFfPREQ9N+(!T)'&ZC#!SF#jTFepMEfjNDA4TEfjKE#Nl#L#3$@0
|
|
|
-eFR*PER4IFf0KEQjPFLjRCA4dEfYPER"[FcX+)*!06@9cFf&RC6%SFf0KEPpNAfK
|
|
|
-KEQ4XD@jRAh0hDA4MD#`R*#FVF#jZB@eP+6X+)*!,C@jN1`SJN!KeER4TE#"QB@a
|
|
|
-cC6X+)*!)B@YdCQPXCA"[FcSpEfaNB@YdCQPXCA"[FcX+)*!'C@jN1`S+#L#3"("
|
|
|
-bEf0PC(9bC5"dFf0KEQjPFQCTE'8ZD'&ZC'aPC'PbC@0dDACPFcX+)*!'GQ&b#L#
|
|
|
-3#A3J)$SJG'4TFQ9MG'PfC@PdC@dl#L#3#@Kc)$SJFh4bD@jR1`SJN!CLC@GTEJS
|
|
|
-JN!PRCA4dEfYPER"[FcX+)*!*FQ9KC'0SBA)l)(Y5C@e[GQ8JG'KP)#4p#L#3#@K
|
|
|
-c1MebC@&ND@3l#RXND@CNC@BJ8&*&8&*23eG5594&I3SJN!PTCL"`BA*KF(*PF(*
|
|
|
-[Bf9cFb"dD'9Z#L#3#Q*PCfPZ#L#3$(3k28GPG&p%DA*PBh4TGQ8SD(-T1`SJN!a
|
|
|
-TCL"ZEh3SDA0IBfpZC'PdD@pZB@`SG#NJEh)J+(3pAd4*8Pp%48C*6N8T)'pb)#K
|
|
|
-d29p%59*I98j%48BT+5"dD'9Z#L#3$@*PCfPZ#L#3$h"bCA"bEf0QD@aPALj"C'4
|
|
|
-6F'&MC6X+)*!2F(*PF(*[BfCTE'9H,N&NC#JRHb3R+fKc+f0eFR*PER4IFf0KEQj
|
|
|
-PFLjbC@&NBfpYE@9ZG#XRI5FT1`SJN!pPH'Pd1`SJN!ePEQ3l#L#3#Q9ZC$X+Hb4
|
|
|
-PEQ4TCL"38N938Np$9e**9%9p#L#3#AXJFfYTF#"dD'Pc)'4TFQ9MG'PfC6mJI3S
|
|
|
-JN!PTCL!SD@GZEh*PC'PbC@0dDACPFbjQD@jN+'Kc+6`qEQPX+5"dD'9Z#L#3#Q*
|
|
|
-PCfPZ#L#3$'PQ)#KMEfeYC@jdAfaPGQ9X2M!T)(4SC@i+)*!0FQ9KC'0[E@ePER3
|
|
|
-l#L#3$(XJGf8RGQ8JFQ9KC#"dD'8JGfK[E'8JBfpYE@9ZG#"p#L#3$'&VG'0[E@e
|
|
|
-PER4cG(PXC6SpBfpYE@9ZG&pZEfjP1`SJN!aPH'Pd1`SJN!TPEQ3l#L#3#@PQ)'K
|
|
|
-c25FR)(4SC@i+)*!+BQ9RD@i+)*!-6@9cFf&RC6%SFf0KEPphAfPXE'9RB@aIFhG
|
|
|
-TG'0S,#FN*bYSFbNl#L#3#Q9ZC$X+)*!'Hb"$D'9MDb"QEh)JBfpYF'PXCA)JFhG
|
|
|
-TG'0SCA-JI3SJN!PhD'PXC5!SE'9ZCh4S+'Kc+6da+5"KEQ3J+'-JD@iJ@bFY*b`
|
|
|
-R+bGG+5"NE`SJN!TLC@GTEJSJN!a)B@jNE'96GfPdBfJSD(0E-9dXBbNl#L#3$'0
|
|
|
-eFR*PER4IFf0KEQjPFLjbC@&NBfKKFMXJHe*PE@pfC5!V)'pb)#ep#L#3$'PQ)'-
|
|
|
-p*b`R)(4SC@i+)*!0BQ9RD@i+)*!2Bh9bFQ9ZG&pcBf&ZEQ9b,R*PB@4MD'&b1b!
|
|
|
-J)(Y5C@e[GQ8J,#"p#L#3$AXJFQ9KC#"ZCAKd)(0hDA4MD#`JFh9`F'pbG#!NGLX
|
|
|
-X*#Yp#L#3$fKc1MeMGA*bC@jdAh0MB@jZCA)ZFQ9KC'PN1`SJN!pTCL!SD(-p*bF
|
|
|
-T)(4SC@i+)*!3BQ9RD@i+)*!5D@BJ+'-p*b3R+5"KEQ3J+'eICR"M)'PZ)'&VG'e
|
|
|
-[C'9cGfPdBfKPFbNJG'KPEJSJN"0LC@GTEJSJN"9MGA*bC@jdAh0MB@jZCA)ZFQ9
|
|
|
-KC'0SBA)l)#"l)(0VDA!J*#"p#L#3&@Kc1MeMGA*bC@jdAh0MB@jZCA)ZFQ9KC'P
|
|
|
-N1`SJN"0PEQ3l#L#3%QPQ)#KSFcdR*bNJG'KPEJSJN"00CA0cB@GP-5KcBf&ZAhG
|
|
|
-ID@aXC@GKE&pNDA*PBh4TGQ8X*b3R+f-T1`SJN""PEQ3+)*!2C@acC3SJN""0CA0
|
|
|
-cB@GP-5KcBf&ZAf4ID'&ZC'aTEQGIFhGTG'0S,#FN*bYSFbNl#L#3$@9ZC!SJN!a
|
|
|
-PE(0P#L#3$@Kc1MdR*cX+)*!+C@jN1`SJN!Cl)'4TFQ9MG'PfCA-JE@&j)'C[E'a
|
|
|
-[Gb"cGfPdBfKPFb"KCR4PFL"K)#`JI3SJN!PTCL"SFc`q*bFJG'KPEJSJN!TLC@G
|
|
|
-TEJSJN!aTCL"ZEh3J+'eIE@&M)'PZ)'&VG'e[C'9cGfPdBfKPFbNJG'KPEJSJN!j
|
|
|
-d1MedC'PbC@0dDACPDA4PE5KdGA*LEepcBf&ZEQ9bC'PbC@0dDACPFbjcC@&bBfJ
|
|
|
-SD(-T+3SJN!aPE(0P#L#3$R3k2A4NDA*PBh4TGQ9TG'9Y+'eKBepcBf&ZEQ9bC'P
|
|
|
-bC@0dDACPFbjcC@&bBfJSD(-T+6X+#L#3$'PQ)'&cFfPREQ9N+(3T)(4SC@i+)*!
|
|
|
-0BQ9RD@i+)*!2D@BJG#jTFepMEfjNDA4TEfjKE#"dD'9Z#L#3%'KKEQ4XC@0[EQ4
|
|
|
-TG'P[EQ&X+(3T#L#3$f9XFf8+)*!3BQ9RD@i+)*!56@9cFf&RC6%SFf0KEPpNAfK
|
|
|
-KEQ4XD@jRAh0hDA4MD#`R*#FVD(-T1`SJN"*d,R"bEf0l*'PQC'9Q)%C33e"56d0
|
|
|
-@39*p+#Pl*'9ZC'PQI6X+)*!3C@jN1`SJN!ePEQ3+)*!-C@acC3SJN!eLC@GTEJS
|
|
|
-JN!pMGA*bC@jdAh0MB@jZCA)ZD@GZEh*PC'PbC@0dDACPFbjTER0PFR3SD(-T1`S
|
|
|
-JN!p0CA0cB@GP-5KcBf&ZAhGID@aXC@GKE&pNDA*PBh4TGQ8X*b3R+fKc+6X+)*!
|
|
|
-0C@jN1`SJN!Tl)'0[EQ4TG'P[EQ&XFb"KE(*PB@4j)(*PB@3JG'KP)'0[E@ePER3
|
|
|
-JI3SJN!aTCL!SBh9bFQ9ZG&pcBf&ZEQ9b,Q0[E@ePER4IE'9fC@`q-#NJG'KPEJS
|
|
|
-JN!eMGA*bC@jdAh0MB@jZCA)ZFQ9KC'0[E@ePER3l#L#3$(XJGf8RGQ8JFQ9KC#"
|
|
|
-dD'8JGfK[E'8JBfpYE@9ZG#"p#L#3$'&VG'0[E@ePER4cG(PXC6SpBfpYE@9ZG&p
|
|
|
-ZEfjP1`SJN!TPEQ3l#L#3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@a
|
|
|
-P,R*PB@4MD'&b1`SJN!CLC@GTEJSJN!KM1MeTER"eG("[D@jdCA*H1`SJN!KTCL"
|
|
|
-M25-`)(4SC@i+)*!+FQ9XEf&N#L#3#'9XFf8+)*!+D@jM+'PZF(9dF'pTER4PFLN
|
|
|
-l#L#3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@aP,R*PB@4cG(*TEQF
|
|
|
-l#L#3"RCKFJSJN!KT)$SJE'pZCfPZG$X+)*!'BQ9RD@i+)*!)D6Sp-$X+)*!)FQ9
|
|
|
-`C@&d#L#3#Q0KFf8JBb"[CJSJN!`RAbFX#L#3$#F`*biZ*cNR,!SJN!`R35FZ,LG
|
|
|
-D*b!k#L#3$Q*PCfPZ#L#3%'PQ)'Nm-M8e)(4SC@i+)*!4BQ9RD@i+)*!6D@jM+'N
|
|
|
-T1`SJN"0[FQG`BA4dCA*Z@fPG1MeM1`SJN"0`BA4dCA*Z@fPG1MeM1`SJN"&PEQ3
|
|
|
-l#L#3%'-k2@PZF(9dF'pTER4PFPil#L#3%'PZBbKTER"eG("[D@jdCA)T1`SJN!j
|
|
|
-PEQ3l#L#3$#GK*biZ*hSR)$S+)*!1BQ9RD@i+)*!3D@BJD6`b068JG'KPEJSJN"&
|
|
|
-LC@GTEJSJN"0TEQ-SD5Nl#L#3%fpbCh"KG(4PFQjED9dk2@-l#L#3%h"KG(4PFQj
|
|
|
-ED9dk2@0SFLK[FQ3SBbNY-c)T#L#3%@9ZC$X+)*!3BcSpD@j`GA4`EfPZG'9bAMX
|
|
|
-+)*!3D@jM+'PZF(9dF'pTER4PFLNl#L#3$Q9ZC$X+)*!-)c!J1JSJN!jbC@a[B@3
|
|
|
-l#L#3$'9XFf8+)*!1BR*PB@Xl#L#3#Q9ZC$X+)*!)G@jdD@`JCQ&XFf8l#L#3#'p
|
|
|
-bCh"KG(4PFQjE-&dk2@0SFLKT+6X+)*!)F'&dG'9bEPX`A6SpBfKb+'NT1`SJN!C
|
|
|
-PEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jbC@&NER9YBQ9b1`SJN!C
|
|
|
-fBA)+)*!)BQ&cC5`+)*!)D5!J1L"XEfjRD@jd1`SJN!CLC@GTEJSJN!KMBA0P)'-
|
|
|
-JEfB+)*!+*b8R)$S+)*!-BQ9RD@i+)*!1FQ9KC'0SBA)l#L#3$Q*KFf8k26)l#L#
|
|
|
-3$R"KG(4PFQjE-9dk25FP*cX+)*!1D6Sp-6X+)*!-C@jN1`SJN!SR*LFJ1JSJN!a
|
|
|
-LC@GTEJSJN!jbC@&NBfKKFMX+)*!1BQ&cC6Sp1$X+)*!1F'&dG'9bEPXaA6Sp*bB
|
|
|
-R1`SJN!jT1Mda1`SJN!aPEQ3l#L#3#LFN*b!k#L#3$'*PCfPZ#L#3$R*PB@4MD'&
|
|
|
-b1`SJN!jLBA0P1Mda0MX+)*!1F'&dG'9bEPXaA6Sp*b3R1`SJN!jT1Mda1`SJN!a
|
|
|
-PEQ3l#L#3#Q9XFf8+)*!-BQ9RD@i+)*!1BQ&cC6Sp-6!l#L#3$QNk26!l#L#3$'9
|
|
|
-ZC$X+)*!)C@jN1`SJN!KhD'PXC5!S+'*KFf8q26%`+5"KEQ3J+'-JD@iJ@bF`*bi
|
|
|
-Z*cNRA5NT)'pb#L#3$LJSBQ&cC6da0LNJB@jN)#KM)'PZ)&XR35FZ,LG'*b`RB5F
|
|
|
-Z,LGQ*edT+5"[FJSJN!iS+'*KFf8p1#NJB@jN)#KM)'PZ)&XR-#FZ,LFh*edT+5"
|
|
|
-[FJSJN!iS+'*KFf8p-LNJB@jN)#KM)'PZ)&XR-#FZ,LFa*edT+5"NE`SJN!PLC@G
|
|
|
-TEJSJN!YTCL"T2$)e05"dD'9Z#L#3$'*PCfPZ#L#3$QPZBbKT+6X+)*!1F'&dG'9
|
|
|
-bEPYTA6SpBcX+)*!-C@jN1`SJN!YbC@&NBfKKFMX+)*!*C@jN1`SJN!K`BA4dCA*
|
|
|
-Z@c"G1MeMD()SD5Nl#L#3"Q9ZC$X+#JSJN!4QG@jMG'P[EL"dFf0KEQjPFQCTE'8
|
|
|
-ZFQ9KC'PN1R0dFQPZCcX+)*!'BQ9RD@i+)*!)FQ9KC(0dFQPZCcX+)*!)FQ9KC'P
|
|
|
-N1Me`BA4dCA*Z1`SJN!CPEQ3l#JS+)*!%CR9ZBh4TEfiJG(0MB@jZCA*QD@aP,R*
|
|
|
-PB@4fB@`kE'pZCfPZG$X+)*!'GQ&b#L#3#'`J1L"XEfjRD@jd1`SJN!Kh)$SJD@j
|
|
|
-dC@GPFMX+)*!'BQ9RD@i+)*!)FQ9KC'jeE@*PFMX+)*!)GQ&XD@jd+("KG(4PFQi
|
|
|
-XE#ah+6X+)*!)FQ9KC(CKE$SpE$X+)*!'C@jN1`S+#L#3"'CeEQ0dD@pZ)(4cBf&
|
|
|
-ZEQ9bCQPXC5jbC@&NGQ&XAf&cFh4bD@jR1R0dFQPZCcX+)*!'BQ9RD@i+)*!)FQ9
|
|
|
-KC'jeE@*PFMX+)*!)FQ9KC(CKE&pKFh0dFQPZCcSpF'&dG'9bEMX+)*!'C@jN1`S
|
|
|
-+#L#3"'CeEQ0dD@pZ)(4cBf&ZEQ9bCQPXC5jbC@&NBfpYE@9ZG$TcG(*TEQFl#L#
|
|
|
-3"RCKFJSJN!KT)$SJE'pZCfPZG$X+)*!'BQ9RD@i+)*!)D6Sp-$X+)*!)FQ9`C@&
|
|
|
-d#L#3#Q0KFf8JBb"[CJSJN!`RHbFJ1JSJN!jLC@GTEJSJN""TCL"KDh4MEfeYC@j
|
|
|
-dFh4jE'8pBfpYE@9ZG&pdF#"dD'9Z#L#3%QPZBepMEfeYC@jdAfaPGQ9X1`SJN!j
|
|
|
-PEQ3l#L#3$#Gp*b!k#L#3$Q*PCfPZ#L#3%'PQ)'&VG'0[E@ePER4cG(PXC6eMEfe
|
|
|
-YC@jdAh4`)(4SC@i+)*!5BQ9RD@i+)*!8FQ9KC'0SBA)l#L#3&'4PBepMEfeYC@j
|
|
|
-dAfaPGQ9X1`SJN"4TCL"MEfeYC@jdAfaPGQ9X26!JG'KPEJSJN"CLFQ9KD`SJN"4
|
|
|
-PE(0P#L#3&Q0[ER4TER9P1`SJN"*PEQ3l#L#3$Q9ZC$X+)*!-*bSR)$S+)*!1BQ9
|
|
|
-RD@i+)*!3D@BJB@YdBfpYE@9ZG(0dH@aP2@0[E@ePER4IEfaNG(!JG'KPEJSJN"*
|
|
|
-LC@GTEJSJN"4bC@&NBfKKFMX+)*!8D@BJBcdR+5FJG'KPEJSJN"CLC@GTEJSJN"K
|
|
|
-bC@&NBfKKFMX+)*!BC'9MAf0[E@ePER4IE'9fC@`l#L#3''*bC@&V1`SJN"CPEQ3
|
|
|
-+)*!8C@acC3SJN"4l)%&NC#"LEh4S)'0SBA*KBh4PFR-J)5&p#L#3&QPQ)#KT2$)
|
|
|
-e05NJG'KPEJSJN"KLC@GTEJSJN"TTEQ-SD5Nl#L#3'R*PB@4MEfeYC@jd@fPG1Md
|
|
|
-R+LFl#L#3'QPQ)#KT2$)e05NJG'KPEJSJN"aLC@GTEJSJN"jTEQ-SD5Nl#L#3(R*
|
|
|
-PB@4MEfeYC@jd@fPG1MdR+LFl#L#3('9ZC$X+)*!BC@jN1`SJN"*PEQ3+)*!3C@a
|
|
|
-cC3SJN""l)%j[G#"[E'3J9&!JBfpYE@9ZG#`JFfmJB@4N,LiZI3SJN"*LC@GTEJS
|
|
|
-JN"4TCL!SD6`b068T)(4SC@i+)*!@BQ9RD@i+)*!BD@jM+'NT1`SJN"KbC@&NBfp
|
|
|
-YE@9ZG&YTA6Sp*bSR1`SJN"CPEQ3l#L#3%Q9ZC$X+)*!1C@jN1`SJN!`M-6!X)c%
|
|
|
-c)$S+)*!1E'PZC@*bC@&V1`SJN!`M-MBJ1JSJN!jPEQ4IEfCICQPXC6X+)*!-C@a
|
|
|
-cC3SJN!jLC@GTEJSJN""TCL!SD6`b068T)(4SC@i+)*!5BQ9RD@i+)*!8D@jM+'N
|
|
|
-T1`SJN"4bC@&NBfpYE@9ZG&YTA6SpBcX+)*!5C@jN1`SJN!jPEQ3l#L#3#Q9ZC$X
|
|
|
-+)*!+FQ9KC'0SBA)l#L#3#(9ZG'PX)'CKE(0P1`SJN!KbC@&NBfpYE@9ZG&X`A6S
|
|
|
-pBfKb+'NT1`SJN!CPEQ3l#JS+)*!%CR9ZBh4TEfiJG(0MB@jZCA*QD@aP,R*PB@4
|
|
|
-aG@pdC@4cG(*TEQFkFh4bD@jR1`SJN!CfBA)+)*!)D5!k)'a[EQGTER3l#L#3#'e
|
|
|
-cChGbDA4dC@iJ1L"LEfpXC@&Z1`SJN!CLC@GTEJSJN!KT1Md`1`SJN!KYFfGhFQP
|
|
|
-dG'9Z1MeQB@acC6X+)*!)D@BJ+'-p*j!%+5"dD'9Z#L#3#Q*PCfPZ#L#3$(*PF'9
|
|
|
-KG!SJN!jbC@&NBfKKFMX+)*!1Bf&cC5"M)'pQ#L#3%#-b0L!k#L#3%Q9ZC&p[CPp
|
|
|
-QD@aP1`SJN"!M-6!X)c%c)$S+)*!56@9cFf&RC5KcBf&ZAfCIFh4bD@jRAf9iBf9
|
|
|
-PC(0IE'PZC5Nl#L#3%#H3"#!k#L#3%Q*PCfPZ#L#3&(*PB@4MD'&b1`SJN"4TCL"
|
|
|
-M2$iRN!3JG'KPEJSJN"9LFQ9KDcX+)*!5C@jN1`SJN!jPEQ3l#L#3$QPQ)'Nm-M8
|
|
|
-e)(4SC@i+)*!3BQ9RD@i+)*!5D@jM+'NT1`SJN"*bCA0eE(4ED9dk2@-l#L#3%'9
|
|
|
-ZC!SJN!jPE(0P#L#3%'*PCfPZ#L#3%QPQ)'j[G#"YFfGhFQPdG'9Z)(4SC@i+)*!
|
|
|
-8BQ9RD@i+)*!@6@9cFf&RC5KcBf&ZAf9IFh4bD@jRAf9iBf9PC(0I-M8eAf0SBA*
|
|
|
-c+6X+)*!@EA0RGh*TG(4PEMSpG(*eC6X+)*!8C@jN1`SJN"&PEQ3l#L#3$(9ZG'P
|
|
|
-X)'CKE(0P1`SJN!TPEQ3l#L#3#(*PFh9XG&X`A6SpBfKb+'NT1`SJN!CPEQ3l#JS
|
|
|
-+)*!%CR9ZBh4TEfiJG(0MB@jZCA*QD@aP,R*PB@4cG'&dC6TMD'&b1`SJN!CfBA)
|
|
|
-+)*!)Fh4KG'8J1L"MD'&b1`SJN!CLC@GTEJSJN!KcG'&dC6Sp*b!R1`SJN!KTCL"
|
|
|
-M25FJ*b"dD'9Z#L#3#@*PCfPZ#L#3#f0eFR*PER4IFf0KEQjPFLjcDfP`Fh"KBf8
|
|
|
-l#L#3#f0eFR*PER4IFf0KEQjPFLjbC@&ND@3l#L#3#fPQ)("KG(4PFQip*dp1*b"
|
|
|
-dD'9Z#L#3$(0dBA4P1MdR+bF+)*!,C@acC3SJN!aTCL"`BA4dCA*Z25G24NBR)(4
|
|
|
-SC@i+)*!0Fh4KG'8k25FY*cX+)*!*C@jN#L#3#'9XFf8+)*!*Fh4KG'8k2@-l#L#
|
|
|
-3#'PQ)'j[G#!SFh4KG'8JD@iJ@bFV*b`R,5GG+5"dD'9Z#L#3#8ePFh0KCf8SFf0
|
|
|
-KEPpPAhGbEfjRAh0hDA4MD&pdEfGRE'8T1`SJN!KbC@&NFh4KG'8k2A0dBA4P1`S
|
|
|
-JN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jcDfP`Fh"KBf8l#L#
|
|
|
-3"Q*PCfPZ#L#3#(*PF'9KG!SJN!TMBA0P)'-JEfB+)*!-)c)f)$S+)*!1BQ9RD@i
|
|
|
-+)*!3FQ9XEf&N1`SJN""TCL!SBcdM-MBT)'&ZC#"ZEh3JBA0cD@GZC@3SD@j`GA4
|
|
|
-QD@aP,QjPH(3T)(4SC@i+)*!5BR*PB@Xl#L#3%'0[ER4TER9P1`SJN!jPEQ3l#L#
|
|
|
-3$#-a-#`+)*!-)c%c)$S+)*!1E'PZC@*bC@&V1`SJN!`M15`M-6%X)c%b,#FJ*b!
|
|
|
-k#L#3$MX+)*!-C@acC3SJN!jLFQ9KDcX+)*!+C@jN1`SJN!TbC@&NBfKKFMX+)*!
|
|
|
-)G@jdD@`JCQ&XFf8l#L#3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@a
|
|
|
-P,R0VDA"eER4TE'4TFQ9MG'PfC6X+)*!'GQ&b#L#3#'C[G@jN)$SJE'pZCfPZG$X
|
|
|
-+)*!)EQ9iG&pMD'&bAfa[B@4PC#!k)'*[EfaPB@il#L#3"Q*PCfPZ#L#3#@C[G@j
|
|
|
-N1Md`1`SJN!PZCAKdAf0SBA*IE'pKC'9N1MeQB@acC6X+)*!*FQ9`C@&d#L#3#f0
|
|
|
-KFf8JBb"[CJSJN!dM-6!X#L#3$5-a-b!k#L#3$faTEQ9LFQ9KDcX+)*!0)c)f)$S
|
|
|
-+)*!2BQ9RD@i+)*!4FQ9XEf&N1`SJN"&TCL!SBcdM-MBT)'&ZC#"ZEh3JBA0cD@G
|
|
|
-ZC@3SD@j`GA4QD@aP,QjPH(3T)(4SC@i+)*!6C@jNAfpQAfCTE'8l#L#3%@0[ER4
|
|
|
-TER9P1`SJN!pPEQ3l#L#3$5Gl*b!k#L#3$f*PCfPZ#L#3%@PQ)#KKDh4MEfeYC@j
|
|
|
-dFh4jE'8JD@iJ@f0[E@ePER4IG(!XBfpYE@9ZG&pZEfjPA5NJG'KPEJSJN"0LC@G
|
|
|
-TEJSJN"9KDh4MEfeYC@jdFh4jE'8k2@0[E@ePER4IG(!l#L#3&@PQ)#KMEfeYC@j
|
|
|
-dAfaPGQ9X26!T)(4SC@i+)*!ACQpeEQ3k26%l#L#3&@PZBepMEfeYC@jdAfaPGQ9
|
|
|
-X1`SJN"0PEQ3l#L#3$f9ZC$X+)*!0*bSR)$S+)*!2BQ9RD@i+)*!4D@BJ+'&VG'0
|
|
|
-[E@ePER4cG(PXC6eMEfeYC@jdAfpXC(4`+5"dD'9Z#L#3%f*PCfPZ#L#3&A*PB@4
|
|
|
-MD'&b1`SJN"9TCL"M25FT*b"dD'9Z#L#3&f*PCfPZ#L#3'@4PBepMEfeYC@jdAfa
|
|
|
-PGQ9X1`SJN"PQEh9ZC$Sp-$X+)*!CB@YdBfpYE@9ZG(0dH@aP1MeMEfeYC@jdAfj
|
|
|
-[EQ8l#L#3&f9ZC!SJN"9PE(0P#L#3&fjPH(4IBfKKFPpXEf&NC@3k2A4bG@8l#L#
|
|
|
-3%f9ZC!SJN"&PE(0P#L#3%fC[G@jN)$Sp)$!l#L#3$f9ZC$X+)*!0*hdR)$S+)*!
|
|
|
-2BQ9RD@i+)*!4D@BJ+'&VG'0[E@ePER4cG(PXC6eMEfeYC@jdAh4`+5"dD'9Z#L#
|
|
|
-3%f*PCfPZ#L#3&@4PBepMEfeYC@jdAfaPGQ9X1`SJN"9TCL!SBfpYE@9ZG&pXCAC
|
|
|
-PE$d`+5"dD'9Z#L#3&f&VG'0[E@ePER4cG(PXC6SpBfpYE@9ZG&pZEfjP1`SJN"9
|
|
|
-QEh9ZC$Sp-$X+)*!6C@jN1`SJN!pPEQ3l#L#3$5FN*b!k#L#3$f*PCfPZ#L#3%@P
|
|
|
-Q)'C[G@jN26%JG'KPEJSJN"*QEh9ZC$Sp-MX+)*!2C@jN1`SJN!dRN!3J1JSJN!p
|
|
|
-TCL!SB@YdBfpYE@9ZG(0dH@aP2@0[E@ePER4IEQpZC5NJG'KPEJSJN""LC@GTEJS
|
|
|
-JN"*bCA"PBA3+)*!8FQ9KC'0SBA)l#L#3&'0KFf8JBb"[CJSJN"BM-MBJ1JSJN"K
|
|
|
-PEQ4IEfCICQPXC6X+)*!@)c%`,#-a-b!k#L#3''*bC@&V1`SJN"BRN!3J1JSJN"K
|
|
|
-LC@GTEJSJN"TbC@&NBfKKFMX+)*!DD@BJBc`q*j!%)(4SC@i+)*!EBQ9RD@i+)*!
|
|
|
-GEQ9iG&pMD'&bAfa[B@4PC$SpG(*eC6X+)*!GBR*PB@Xl#L#3'f9ZC$X+)*!BC@j
|
|
|
-N1`SJN"4PEQ3l#L#3%R9ZG'PX)'CKE(0P1`SJN""PEQ3l#L#3$5FS*b!k#L#3$f*
|
|
|
-PCfPZ#L#3%@PQ)#KKDh4MEfeYC@jdFh4jE'8pBfpYE@9ZG&pZEfjP+5"dD'9Z#L#
|
|
|
-3%Q*PCfPZ#L#3&(*PB@4MD'&b1`SJN"4TCL"M25FU*b"dD'9Z#L#3&@*PCfPZ#L#
|
|
|
-3&h*PB@4MD'&b1`SJN"GTCL"M25FN*b"dD'9Z#L#3''*PCfPZ#L#3'QC[G@jN1Md
|
|
|
-b1`SJN"TTEQ0IBfpYE@9ZG&pXCACPE$X+)*!DB@YdBfpYE@9ZG(0dH@aP1MeMEfe
|
|
|
-YC@jdAfpXC(4`1`SJN"KPEQ3+)*!AC@acC3SJN"KLC@GTEJSJN"TcDfP`EfaNG("
|
|
|
-MEfeYC@jd1`SJN"TZCAKdAf0SBA*IE'pKC'9N1MedFR9P1`SJN"KPEQ3l#L#3&@9
|
|
|
-ZC!SJN"4PE(0P#L#3&@jPH(4IBfKKFPpXEf&NC@3k2A4bG@8l#L#3%Q9ZC!SJN"&
|
|
|
-PE(0P#L#3%QC[G@jN1Md`1`SJN!pPEQ3l#L#3$5F[*b!k#L#3$f*PCfPZ#L#3%@P
|
|
|
-Q)#KKDh4MEfeYC@jdFh4jE'8pBfpYE@9ZG&pZEfjP+5"dD'9Z#L#3%Q*PCfPZ#L#
|
|
|
-3&(*PB@4MD'&b1`SJN"4TCL"M25F[*b"dD'9Z#L#3&A0VDA"NC@a`D'PMEfeYC@j
|
|
|
-d1`SJN"4ZCAKdAf0SBA*IE'pKC'9N1MedFR9P1`SJN"*PEQ3+)*!4C@acC3SJN"*
|
|
|
-QEh9ZC$Sp-$X+)*!2C@jN1`SJN!ePE(0P#L#3$fC[G@jN1Md`1`SJN!YPEQ3l#L#
|
|
|
-3#fPQ)'jPH(4IBfKKFPpXEf&NC@3JG'KPEJSJN!eZCAKdAf0SBA*IE'pKC'9N1Me
|
|
|
-QB@acC3SJN!YPE(0P#L#3$A*PB@4MD'&b1`SJN!PeER4TE#!SCQpeEQ3p-LNl#L#
|
|
|
-3"Q9ZC$X+#JTl+T"-#L#3(80[E@ePER3J5'&ZC'aTEQF++T"-I3S+)*!%F(*[Bf9
|
|
|
-NGA*P)(4cBf&ZEQ9bCQPXC5jcDfP`BfpYE@9ZG$X+)*!'BQ9RD@i+)*!)B@YdBfp
|
|
|
-YE@9ZG(0dH@aP1MeMEfeYC@jdAh4`1`SJN!KbC@&NBfKKFMX+)*!)D@jMAf0[E@e
|
|
|
-PER4IE'9fC@`l#L#3"RXJD'&ZC'aP)'0[EA"TE'9b)(0hDA4MD'9c)(d+)*!)D@B
|
|
|
-J+'-p*b3R+5"dD'9Z#L#3#@KKEQ4XC@4TFQ9MG'PfCA-l#L#3"RXJD'&ZC'aPAh0
|
|
|
-hDA4MD'9c)'0KEL"NC@-JBfpYE@9ZG&pXCACPE#`J)(d+)*!)GfKTE'8J+'0[E@e
|
|
|
-PER4IE'9fC@`q-#NJC'm+)*!*BQ9RD@i+)*!,Bf&cC5"M)'pQ#L#3$#Gl*b!k#L#
|
|
|
-3$QPZBepMEfeYC@jdAfaPGQ9X1`SJN!`RI5FJ1JSJN!jNC@0IBfpYE@9ZG&pXCAC
|
|
|
-PE$X+)*!-)c%`,#-a-b!k#L#3$QaTEQ9LFQ9KDcX+)*!-)c)f)$S+)*!1BQ9RD@i
|
|
|
-+)*!3FQ9XEf&N1`SJN""TCL!SBcdM-MBT)'&ZC#"ZEh3JBA0cD@GZC@3SD@j`GA4
|
|
|
-QD@aP,QjPH(3T)(4SC@i+)*!5C@jNAfpQAfCTE'8l#L#3%'0[ER4TER9P1`SJN!j
|
|
|
-PEQ3l#L#3#f9ZC$X+)*!,FQ9KC'0SBA)l#L#3#@9ZC$X+)*!)B@YdBfpYE@9ZG(0
|
|
|
-dH@aP1MeMEfeYC@jdAfj[EQ8l#L#3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@j
|
|
|
-ZCA*QD@aP,R0VDA"NC@a`D'PMEfeYC@jd1`SJN!CLC@GTEJSJN!KKDh4MEfeYC@j
|
|
|
-dFh4jE'8k2@0[E@ePER4IC'9XF'KT1`SJN!KTEQ0IBfpYE@9ZG&pXCACPE$X+)*!
|
|
|
-)FQ9KC'0SBA)l#L#3#(XJG'KTFb"TFb"ZEh3JFh9`F'pbG'9N)(d+)*!)D@BJBcd
|
|
|
-R*#FJG'KPEJSJN!T0CA0cB@GP+(0MB@jIGephFQpZCepcG(PXC@4IFhGTG'0S+6X
|
|
|
-+)*!)Hb"cDfP`)'0[E@ePER3JI3SJN!KhD'PXC5"ZEh3J+'-JD@iJ@b-a-#`M-6-
|
|
|
-X)c)fA5NJC'm+)*!+FQ9KC'0SBA)l#L#3#'4PBepMEfeYC@jdAfaPGQ9X1`SJN!K
|
|
|
-KDh4MEfeYC@jdFh4jE'8k2@0[E@ePER4IEQpZC6X+)*!'C@jN1`S+#L#3"("bEf0
|
|
|
-PC(9bC5"dFf0KEQjPFQCTE'8ZFfYTF'pXC(4`BfpYE@9ZG$X+)*!'GQ&b#L#3#'C
|
|
|
-[G@jN)$SJE'pZCfPZG$X+)*!'BQ9RD@i+)*!)B@YdBfpYE@9ZG(0dH@aP1MeMEfe
|
|
|
-YC@jdAfpXC(4`1`SJN!KTEQ0IBfpYE@9ZG&pXCACPE$X+)*!)Hb"[EQaj)'a[B@3
|
|
|
-JB5"MD'&b)'PQ)'aKFh3JB@abC@&NH5"`FQpMCA0cC@3X#L#3#RGKFb"MBA9cC5"
|
|
|
-[CL"LG@Fa0M-d)&"0)(d+)*!)D@BJBcdM-#"dD'9Z#L#3#R*PB@4MD'&b1`SJN!C
|
|
|
-l)(4SDA-JDA-JEQph)(0eF("[FR4PC#"p#L#3#'PQ)#KM25FN*bNJG'KPEJSJN!P
|
|
|
-SB@jNE'9NDA*PBh4TGQ9c1`SJN!Cl)(0VDA!JBfpYE@9ZG#"p#L#3#(GSD@aP)#K
|
|
|
-MEfeYC@jdAfaPGQ9X2M!T)'4[#L#3#@*PCfPZ#L#3#fC[G@jN1Md`1`SJN!YbCA"
|
|
|
-PBA3+)*!0Bf&cC5"M)'pQ#L#3$b-b0L!k#L#3%@*PCfPZ#L#3%h*PE'pKC$X+)*!
|
|
|
-6D@BJ+'-p)c)f+5"KEQ3JEQpd)'&cFfPREQ9N+'PZF(9dCQPXC5jZCAKd+5"dD'9
|
|
|
-Z#L#3&@9ZC&p[CPpQD@aP1`SJN"0MEfjdD@jeC6X+)*!4C@jN1`SJN!mM-6!X)c%
|
|
|
-c)$S+)*!4E'PZC@*bC@&V1`SJN!mR+LFJ1JSJN"&LC@GTEJSJN"0TCL"QEh9ZC$d
|
|
|
-c)(4SC@i+)*!8CQpeEQ3k263+)*!6C@acC3SJN"4QEh9ZC$Sp-6X+)*!4C@jN1`S
|
|
|
-JN!mR+5FJ1JSJN"&LC@GTEJSJN"0TCL"QEh9ZC#"TEL"E-5`dA5"dD'9Z#L#3&'*
|
|
|
-PCfPZ#L#3&Q4PBepMEfeYC@jdAfaPGQ9X1`SJN"CTCL"MEfeYC@jdAfaPGQ9X26!
|
|
|
-JG'KPEJSJN"GQEh9ZC$Sp-JSJN"CPE(0P#L#3&fC[G@jN1Md`1`SJN"4PEQ3l#L#
|
|
|
-3%@9ZC$X+)*!2*bJR)$S+)*!4BQ9RD@i+)*!6D@BJCQpeEQ3p0#"dD'9Z#L#3&'P
|
|
|
-ZBepMEfeYC@jdAfaPGQ9X1`SJN"0QEh9ZC$Sp-cX+)*!4C@jN1`SJN!pPE(0P#L#
|
|
|
-3%@*PCfPZ#L#3%fPQ)'C[G@jN263JG'KPEJSJN"4TEQ0IBfpYE@9ZG&pXCACPE$X
|
|
|
-+)*!6CQpeEQ3k26!l#L#3%@9ZC$X+)*!0C@jN1`SJN!ebC@&NBfKKFMX+)*!,G@j
|
|
|
-dD@`J+'C[G@jN26)T1`SJN!PPEQ3l#L#3#'&VG'0[E@ePER4cG(PXC6SpBfpYE@9
|
|
|
-ZG&pZEfjP1`SJN!CPEQ3l#T!%HbU36!SJN"p8EfYPEL"6Bf&ZEQ9b#LU36(d+#L#
|
|
|
-3"("bEf0PC(9bC5"dFf0KEQjPFQCTE'8ZFQ9KC(4[Df9Z1`SJN!CfBA)+)*!)Bfp
|
|
|
-NC5#3"$SJD@jdC@GPFMX+)*!)E'9Z,!SJN!KXEhFXD'PRD#aYD@3J1L"XEfjRD@j
|
|
|
-d1`SJN!KY)*!(1L"XEfjRD@jd1`SJN!KYB@-JN!8k)(4YB@0bEcX+)*!)BA0MD@P
|
|
|
-ZFL!k)(0dFQPZCeXfA6X+)*!)EA0RGh*TG(4PEL`+)*!)DA0hD@4PFh4bD@jR)$S
|
|
|
-JBQp[E'9KEMX+)*!'E'&LC@`+)*!*CAKTG&pXB@*PE$X+)*!'BQ9RD@i+)*!)D@B
|
|
|
-JE'pMB@acGfPdBfKPFf0SB@jRC@3JG'KPEJSJN!TLC@GTEJSJN!aKDh4XEf0KE(0
|
|
|
-hDA4MD'9c1MeZCAKdB@YdE'pMB@acGfPdBfKPFcX+)*!-E'pMB@acGfPdBfKPFf0
|
|
|
-SB@jRC@3k2@CKE(0P1`SJN!TPEQ3l#L#3"RXJGf&c)(4SCA*P)'&XFQ9KC(NJB5"
|
|
|
-dEfYPEL"bC@&N,#"dD'9Z)(*PG(9bEL"dD'&d)(4[Df9Z)(d+)*!)D@BJEQ9iG(4
|
|
|
-[Df9Z2$j16e425d91)(4SC@i+)*!*BQ9RD@i+)*!,G'pVC@ik2@jPH(4dEfYPEMX
|
|
|
-+)*!,EQ9iG(4[Df9Z1Me16e425d911`SJN!YREh4[)'9iDA4IE'&LC@`l#L#3#@9
|
|
|
-ZC$X+#L#3"RXJ8fYTF#"KE'`JFh"KBf9c)'&ZC#"MEfeYC@jdFb"p#L#3#(*PF'9
|
|
|
-KG!SJN!TMBA0P)'-JEfB+)*!-*hXR)$S+)*!1FfYTF'0[E@ePER3l#L#3$#-b0L!
|
|
|
-k#L#3$Q*PCfPZ#L#3%(*PE'pKC$X+)*!3D@BJ+'-p)c)f+5"KEQ3JEQpd)'&cFfP
|
|
|
-REQ9N+'PZF(9dCQPXC5jZCAKd+5"dD'9Z#L#3%Q*bC@&V1`SJN!jPEQ3l#L#3$#F
|
|
|
-J*b`M15iZ)c%c)$S+)*!1BQ9RD@i+Hb4TCQ4PCL"38N938Np$9e**9%9p#L#3%'P
|
|
|
-Q)("KFQ&`FQ9`FQpMCA0c)(4SC@i+)*!4BQ9RD@i+)*!6D@BJBcdM-6!JG'KPEJS
|
|
|
-JN"4`FQ9`FQpMCQPXC5jPEfaQEh9ZC$SpG(*eC3SJN"0PE(0P#L#3&("bCA"bEf0
|
|
|
-QD@aP,R0`B@0PCQpeEQ3k2A4bG@8l#L#3%@9ZC$X+Hb4PEQ4TCL"38N938Np$9e*
|
|
|
-*9%9p#L#3%(0VDA"cF'&MC6X+)*!1C@jN#L#3$'9XFf8+)*!1BR*PB@Xl#L#3#Q9
|
|
|
-ZC$X+)*!)G@jdD@`JCQ&XFf8l#JSJN!Cl)&0KGQ8JBh9bFQ9ZG#"dEfYPEL"`Eh0
|
|
|
-TG'P[EL`JCQpb)%924L"TG(-JB@abC@&NH5"XEf&NC@3JI3SJN!KTCL"M2$iM-MB
|
|
|
-JG'KPEJSJN!TRCA4dEfYPER"[FcX+#L#3"RXJ3fKPBfXJCQPbFh3JCQpb)'%JD@4
|
|
|
-PER4TCQPPFLpVCAPhEh*N,#"dD'Pc)'Pc)$)`+b8JCQ&cG'9b)#K34PBT)(d+)*!
|
|
|
-)D@BJBb"TEL"E*d%R,LiR@LFX*f%R,LiRHLFX*emRA5"dD'9Z#L#3#@*PCfPZ#L#
|
|
|
-3#h*PB@4cG(*TEQFl#L#3#h4[Df9Z1MeI583l#L#3#fPNG'pVC@ik29p*4$X+)*!
|
|
|
-*Hb"VCAPhEh*N)'pb)'&ZH5"[G'KPFL"VEQphEL"dEfYPEL`+)*!,F'&dG'9bEL"
|
|
|
-TFb"KE(GKHA-JGA"`CA*MBA0PC#"p#L#3#fPQ)#K`BA4dCA*Z@c&G2$iRAbFT)'&
|
|
|
-ZC#!SE'9ZCh4S+("KG(4PFQiT)'PZ)&YdEfYPEQaPEQeTELiZG'pVC@jXC@jYBAK
|
|
|
-G+5"dD'9Z#L#3$'*PCfPZ#L#3$Qa[GcSpEh*N+(4[Df9ZD@4iAPYXC@jRG'JSF'&
|
|
|
-dG'9bELNXF'&dG'9bEPXaA9dZCQPbFh3T1`SJN!jSD@GS1Me[FQ3SG'pVC@jTC(K
|
|
|
-H@faPEQGdD#K`BA4dCA*Z+5a`BA4dCA*Z@c&GA5jXBA0d+6X+)*!1GfKTE'8JE'p
|
|
|
-h2'KTCfJJC'm+)*!2BQ9RD@i+)*!4E@PN1MdSD'PRD#YXEhFV-5NJFfKb)$%l#L#
|
|
|
-3%@PQ)("KG(4PFQimG'pVC@jTEQC[APYdG'pVC@iSE@PN+9dZFh4b)(4SC@i+)*!
|
|
|
-5D'PRD$SpE@PN,6%+)*!4C@acC3SJN"*XEhFk2@eTC$X+)*!2C@jN1`SJN!jhDA4
|
|
|
-S)(4[Df9ZD@jQEejEG(4[Df9Z+'KTCfJTA5"NE`SJN""TCL"`BA4dCA*Z2A0dFL"
|
|
|
-dD'9Z#L#3%Q*PCfPZ#L#3&'PQ)'YPHAG[FQ3JD@iJB@YdE@pNCA0hDA4MD'9c)(4
|
|
|
-SC@i+)*!@D@BJEh!p6Np86dY&6L"dD'9Z#L#3'(4[Df9Z1MedG'pVC@iSD'PRD#N
|
|
|
-+)*!@C@acC3SJN"KdEfYPEMSpEh!l#L#3&'PNG'pVC@ik2A4dEfYPELKSD@GS+6X
|
|
|
-+)*!5C@jN1`SJN!aPEQ3l#L#3#AXJ6fjXH5"`FQpMCA0c)'PNC@jdD@CTCA*c)'&
|
|
|
-ZC#"ZEh3JDf9jGfpbC(-JI3SJN!YTCL"dEfYPEMeI583JG'KPEJSJN!aLC@GTEJS
|
|
|
-JN!al)(4SDA-JG'&VCA-JFfpYC5"dD@eP)#iZ,L"p#L#3$QPQ)#KMFepcGA"`Eh*
|
|
|
-dAfeKBh*[)'PZ)'&VG'e[C(9XCA0hDA4MD'9c+5"dD'9Z#L#3$f*PCfPZ#L#3%@e
|
|
|
-KBcSpG'eKBh*[+'eKBh*[FbjcC@&bBfJSF'&dG'9bELNT1`SJN"&TCL"KFh0TCfj
|
|
|
-PC#KYB@-T)'&ZC#!SBA0cD@GZC@3SE@&M,Q*eCR4PH(3T+5"dD'9Z#L#3%Q*PCfP
|
|
|
-Z#L#3&'PQ)(PjE'9iBfpeER3mE@&iAfeKBh*[AfjPFh4TEQFJG'KPEJSJN"9LC@G
|
|
|
-TEJSJN"GTEQ-SHAPXCAKMEh9ZG#Nl#L#3&fPZFf9bG'eKBh*[+("KG(4PFQiXE@&
|
|
|
-M,Q*eCR4PH(3XE@&M,Q*eCQaPEL`+)*!CE@&M,QCTE'9TEQC[,QaTEQ8XE@&M,QC
|
|
|
-TE'9TEQC[,QCTE'9TEQ4PH#Nl#L#3&AXJD'&ZC'aP)'9YF(4j)'eKBh*[Fb"p#L#
|
|
|
-3&fPQ)'-p)c!JG'KPEJSJN"PbC@a[B@3l#L#3&h*PB@4dEfYPEMX+)*!AHb"dD'&
|
|
|
-d*h-JB@aX)'C[E'Yc)(d+)*!AC'9M+(PjE'9iBfpeER3T1`SJN"GPH'Pd1`SJN"9
|
|
|
-PEQ3+)*!8C@acC3SJN"90CA0cB@GP+(0MB@jIGepYB@0bEepNC@9`Ah4PELNl#L#
|
|
|
-3%Q9ZC$X+)*!2C@jN1`SJN!aPEQ3l#L#3#AXJFQ9dGA*Z)(4[Df9Z)(d+)*!,Cfp
|
|
|
-dEb"PH'PdAfaKBQ9X1`SJN!PPEQ3+)*!)C@acC3SJN!PLC@GTEJSJN!YTC(4[Df9
|
|
|
-Z1MeI6Np*4$X+)*!,Bf&cC5"M)'pQ#JSJN!dR*#FJ1JSJN!pLC@GTEJSJN"&bC@&
|
|
|
-NER9YBQ9b1`SJN"&dEfYPEMSpAdP19%026P081`SJN"&REh4[)'9iDA4IE'&LC@`
|
|
|
-l#L#3$f9ZC$X+#L#3$5FP*b!k#L#3$f*PCfPZ#L#3%@PQ)'j[G#KYAfC`Bb"TEL"
|
|
|
-KDh4YEf4PFhGTG'0SCA-T)(4SC@i+)*!55@aXC@GKE&p$D'&b+'-T#L#3%@9XFf8
|
|
|
-+)*!5BQ9RD@i+)*!8FQ9KC'jeE@*PFMX+)*!8G'pVC@ik29p*6P4$6dj69$X+)*!
|
|
|
-8CfpdEb"PH'PdAfaKBQ9X1`SJN"*PEQ3l#L#3$f9ZC$X+#L#3$5FQ*b!k#L#3$f*
|
|
|
-PCfPZ#L#3%@PQ)'eICR"M)'PZ)'&VG'e[C'9cGfPdBfKPFb"dD'9Z#L#3%Q*PCfP
|
|
|
-Z#L#3&(*PB@4ZG@eLCA)l#L#3&(4[Df9Z1MeI58j83dp18e3l#L#3&'G[G'mJCAK
|
|
|
-TG&pXB@*PE$X+)*!5C@jN#L#3%@9XFf8JD@BJE9pYB@-JD@iJB@YdE@pNCA0hDA4
|
|
|
-MD'9c)(4SC@i+)*!5BQ9RD@i+)*!8FQ9KC'0SBA)l#L#3&(4[Df9Z1MeI38e349*
|
|
|
-638j%1`SJN"4REh4[)'9iDA4IE'&LC@`l#L#3%Q9ZC!SJN"&PE(0P#L#3%NPXE'9
|
|
|
-RB@aI3fKKFLKM+6X+)*!2C@jN1`S+)*!0*c!R,LiR15FJ1JSJN!pLC@GTEJSJN"&
|
|
|
-bC@&NER9YBQ9b1`SJN"&TCL!SBb"TEL"E*biR,#GP*b`R45GG+5"dD'9Z#L#3%Q*
|
|
|
-PCfPZ#L#3%RXJCQPbFh3JBfKPBfXJCQpb)'%J,L"p#L#3&'PQ)'-p*biR)(4SC@i
|
|
|
-+)*!9BQ9RD@i+)*!AFQ9KC'0SBA)l#L#3&hXJDA-JDA3JB5!Z,L"QFQpY)'%JFQ&
|
|
|
-ZCf8r)(d+)*!ABf&cC5"M)'pQ#L#3'5FZ*b!k#L#3'f*PCfPZ#L#3(A*PB@4MD'&
|
|
|
-b1`SJN"edEfYPEMSpAdP19%026P081`SJN"eZCAKdG'pVC@ik29p36dP19&"258j
|
|
|
-81`SJN"eREh4[)'9iDA4IE'&LC@`l#L#3'f9ZC$X+)*!C*bNR)$S+)*!EBQ9RD@i
|
|
|
-+)*!GFQ9KC'0SBA)l#L#3(A4[Df9Z1MeI58j83dp18e3l#L#3(@jPH(4dEfYPEMS
|
|
|
-pAe*&3dY,6%&068951`SJN"eREh4[)'9iDA4IE'&LC@`l#L#3'f9ZC$X+)*!AC@j
|
|
|
-N1`SJN"Gl)'PZFf9bG#"dD'8JER9YBQ9b)'&QG'9b)(4SC5!Z)(d+)*!AF'&dG'9
|
|
|
-bEMSpF'&dG'9bELXR,LFl#L#3&hGSD@aP)'-JD@iJ@bF`*biZ*cNRA5"NE`SJN"K
|
|
|
-LC@GTEJSJN"T`BA4dCA*Z1Me`BA4dCA*Z+f-l#L#3'R*PB@4MD'&b1`SJN"KPEQ3
|
|
|
-l#L#3&Q9ZC$X+)*!5Hb"&)'0KEL"KE(0[)'C[E'a[Gb"KCR4PFL"K)("[D@jd)'P
|
|
|
-c)(0MB@jZC@3JI3SJN"4TCL"M)'PZ)&XRC5FX*d8RA5"dD'9Z#L#3&@*PCfPZ#L#
|
|
|
-3&h"KG(4PFQik2A"KG(4PFQiV*d8R1`SJN"GbC@&NBfKKFMX+)*!AD@BJBb"TEL"
|
|
|
-E*bdR,#FV*edJG'KPEJSJN"KLC@GTEJSJN"T`BA4dCA*Z1Me`BA4dCA*Z+f-l#L#
|
|
|
-3'R*PB@4MD'&b1`SJN"KPEQ3l#L#3&fPQ)'j[G#KM)'PZ)&XR-#FZ,LFj*edT)(4
|
|
|
-SC@i+)*!B5@aXC@GKE&p$D'&b+'-T1`SJN"GhD'PXC5"M)'PZ)&XR-#FZ,LFj*ed
|
|
|
-JC'm+)*!BBQ9RD@i+)*!DF'&dG'9bEMSpF'&dG'9bELYM1`SJN"TbC@&NBfKKFMX
|
|
|
-+)*!BC@jN1`SJN"9PEQ3l#L#3&(4[Df9Z1MeI8N9"6%j968*&8MX+)*!8CfpdEb"
|
|
|
-PH'PdAfaKBQ9X1`SJN"*PEQ3l#L#3%A4[Df9Z1MeI58j83dp18e3l#L#3%@G[G'm
|
|
|
-JCAKTG&pXB@*PE$X+)*!2C@jN1`S+)*!0*cXR)$S+)*!2BQ9RD@i+)*!4FQ9KC'0
|
|
|
-SBA)l#L#3%A4[Df9Z1MeI8d9058026%p11`SJN"&REh4[)'9iDA4IE'&LC@`l#L#
|
|
|
-3$f9ZC$X+#L#3$5GE*b!k#L#3$f*PCfPZ#L#3%A*PB@4MD'&b1`SJN"&dEfYPEMS
|
|
|
-pAda&3dY,6%&068951`SJN"&REh4[)'9iDA4IE'&LC@`l#L#3$f9ZC$X+#L#3$5G
|
|
|
-G*b!k#L#3$f*PCfPZ#L#3%A*PB@4MD'&b1`SJN"&dEfYPEMSpAe*&3dY,6%&0689
|
|
|
-51`SJN"&REh4[)'9iDA4IE'&LC@`l#L#3$f9ZC$X+#L#3$5FS*b!k#L#3$f*PCfP
|
|
|
-Z#L#3%A*PB@4MD'&b1`SJN"&MBA0P)'-JEfB+)*!6*bSR)$S+)*!9BQ9RD@i+)*!
|
|
|
-ABcSp)c!lHe0TCfjKE#"cDfP`EfaNG("MEfeYC@jd)(4[)(*PE'pKC#"K)'0SBA)
|
|
|
-JI3SJN"GcDfP`EfaNG("MEfeYC@jd1`SJN"GbC@&NG'pVC@il#L#3&f9iDA3l#L#
|
|
|
-3&@9ZC$X+)*!6*biR)$S+)*!9BQ9RD@i+)*!AFQ9KC'0SBA)l#L#3&h4[Df9Z1Me
|
|
|
-I6%9$5dY-38e049)l#L#3&fG[G'mJCAKTG&pXB@*PE$X+)*!9C@jN1`SJN"&PEQ3
|
|
|
-l#L#3%A4[Df9Z1MeI6%Y-38e049)l#L#3%@G[G'mJCAKTG&pXB@*PE$X+)*!2C@j
|
|
|
-N1`S+)*!0*bNR)$S+)*!2BQ9RD@i+)*!4FQ9KC'0SBA)l#L#3%A4[Df9Z1MeI8NY
|
|
|
--38e049)l#L#3%@G[G'mJCAKTG&pXB@*PE$X+)*!2C@jN1`S+)*!0*bXR)$S+)*!
|
|
|
-2BQ9RD@i+)*!4FQ9KC'0SBA)l#L#3%@PQ)#KM25Fp*bNJB@jN)#KMFepcGA"`Eh*
|
|
|
-dAf0IEh"PFQ&dEh*c)'PZ)'&VG'e[C(9XCA0hDA4MD'9c+5"dD'9Z#L#3%Q*PCfP
|
|
|
-Z#L#3&(*PB@4MD'&b1`SJN"4dEfYPEMSpAe"-990"8dil#L#3&'G[G'mJCAKTG&p
|
|
|
-XB@*PE$X+)*!5C@jN1`SJN"&dEfYPEMSpAe"-99-l#L#3%@G[G'mJCAKTG&pXB@*
|
|
|
-PE$X+)*!2C@jN1`S+)*!0*bdR)$S+)*!2BQ9RD@i+)*!4FQ9KC'0SBA)l#L#3%@P
|
|
|
-Q)#KM25Fp*bNJB@jN)#KMFepcGA"`Eh*dAf0IEh"PFQ&dEh*c)'PZ)'&VG'e[C(9
|
|
|
-XCA0hDA4MD'9c+5"dD'9Z#L#3%Q*PCfPZ#L#3&(*PB@4MD'&b1`SJN"4dEfYPEMS
|
|
|
-pAde*6P9639011`SJN"4REh4[)'9iDA4IE'&LC@`l#L#3%Q9ZC$X+)*!4G'pVC@i
|
|
|
-k29p058j98cX+)*!4CfpdEb"PH'PdAfaKBQ9X1`SJN!pPEQ3l#JSJN!dR1LFJ1JS
|
|
|
-JN!pLC@GTEJSJN"&bC@&NBfKKFMX+)*!4D@BJBcdR25FJG'KPEJSJN"*LC@GTEJS
|
|
|
-JN"4bC@&NBfKKFMX+)*!8G'pVC@ik29p"8e0*4dj048j81`SJN"4REh4[)'9iDA4
|
|
|
-IE'&LC@`l#L#3%Q9ZC$X+)*!4G'pVC@ik29p$6da26MX+)*!4CfpdEb"PH'PdAfa
|
|
|
-KBQ9X1`SJN!pPEQ3l#JSJN!dR+LFJ1JSJN!pLC@GTEJSJN"&bC@&NBfKKFMX+)*!
|
|
|
-4D@BJ+'-p*cdR+5"KEQ3J+'0cAh0eF("[FR4IBep[F'9bBA4[FR-JD@iJB@YdE@p
|
|
|
-NG@aPFhGTG'0SCA-T)(4SC@i+)*!5BQ9RD@i+)*!8FQ9KC'0SBA)l#L#3&(4[Df9
|
|
|
-Z1MeI8e4"8N&66MX+)*!5C@jN#L#3%@9XFf8+)*!5D@BJBcdR+LFJG'KPEJSJN"0
|
|
|
-LC@GTEJSJN"9bC@&NBfKKFMX+)*!9G'pVC@ik29p69%&58e4"8MX+)*!6C@jN#L#
|
|
|
-3%@9XFf8+)*!5G'pVC@ik29p69%&51`SJN"&REh4[)'9iDA4IE'&LC@`l#L#3$f9
|
|
|
-ZC$X+#L#3$5F[*b!k#L#3$f*PCfPZ#L#3%A*PB@4MD'&b1`SJN"&MBA0P)'-JEfB
|
|
|
-+)*!6*cdR)$S+)*!9BQ9RD@i+)*!AD@BJ+'0cAh0eF("[FR4IBep[F'9bBA4[FR-
|
|
|
-JD@iJB@YdE@pNG@aPFhGTG'0SCA-T)(4SC@i+)*!BBQ9RD@i+)*!DFQ9KC'0SBA)
|
|
|
-l#L#3'R4[Df9Z1MeI8da"8dK"8dil#L#3'QG[G'mJCAKTG&pXB@*PE$X+)*!BC@j
|
|
|
-N1`SJN"9PEQ3l#L#3%bF[*b!k#L#3&@*PCfPZ#L#3&h0VDA"NC@a`D'PMEfeYC@j
|
|
|
-d1`SJN"GbC@&NG'pVC@il#L#3&f9iDA3l#L#3&@9ZC$X+)*!4C@jN1`SJN"&dEfY
|
|
|
-PEMSpAe0-390)1`SJN"&REh4[)'9iDA4IE'&LC@`l#L#3$f9ZC$X+#L#3$5Gm*b!
|
|
|
-k#L#3$fPQ)'eIE@&M)'PZ)'&VG'e[C'9cGfPdBfKPFb"dD'9Z#L#3%'*PCfPZ#L#
|
|
|
-3%R*PB@4MD'&b1`SJN"*dEfYPEMSpAe"*8%8l#L#3%QG[G'mJCAKTG&pXB@*PE$X
|
|
|
-+)*!3C@jN#L#3$f9XFf8+)*!35@aXC@GKE&p$D'&b+'-T1`S+)*!0*cdR)$S+)*!
|
|
|
-2BQ9RD@i+)*!4FQ9KC'0SBA)l#L#3%A4[Df9Z1MeI49&938`l#L#3%@G[G'mJCAK
|
|
|
-TG&pXB@*PE$X+)*!2C@jN1`S+)*!0*biR)$S+)*!2BQ9RD@i+)*!4FQ9KC'0SBA)
|
|
|
-l#L#3%@0KFf8JBb"[CJSJN"-R,LFJ1JSJN"9LC@GTEJSJN"GbC@&NBfKKFMX+)*!
|
|
|
-ABf&cC5"M)'pQ#L#3'5FZ*b!k#L#3'@*PCfPZ#L#3'h*PB@4MD'&b1`SJN"YdEfY
|
|
|
-PEMSpAe"258j88%p*6P436dP19$X+)*!ECfpdEb"PH'PdAfaKBQ9X1`SJN"PPEQ3
|
|
|
-l#L#3&f9XFf8+)*!CBQ9RD@i+)*!EG'pVC@ik29p36dP19&"258j81`SJN"YREh4
|
|
|
-[)'9iDA4IE'&LC@`l#L#3'@9ZC$X+)*!AC@jN1`SJN"9PEQ3l#L#3%bFT*b!k#L#
|
|
|
-3&@*PCfPZ#L#3&h*PB@4MD'&b1`SJN"GdEfYPEMSpAe*&3dY,6%&068951`SJN"G
|
|
|
-REh4[)'9iDA4IE'&LC@`l#L#3&@9ZC$X+)*!4C@jN1`SJN"&dEfYPEMSpAe"258j
|
|
|
-81`SJN"&REh4[)'9iDA4IE'&LC@`l#L#3$f9ZC$X+#L#3$5G!*b!k#L#3$f*PCfP
|
|
|
-Z#L#3%A*PB@4MD'&b1`SJN"&dEfYPEMSpAdY-38e049*"4NC&1`SJN"&REh4[)'9
|
|
|
-iDA4IE'&LC@`l#L#3$f9ZC$X+#L#3$5FX*b!k#L#3$f*PCfPZ#L#3%A*PB@4MD'&
|
|
|
-b1`SJN"&dEfYPEMSpAd0268e"1`SJN"&REh4[)'9iDA4IE'&LC@`l#L#3$f9ZC$X
|
|
|
-+#L#3$5H3"#`R)bFX*eiR)$S+)*!2BQ9RD@i+)*!4E'9Z1Md`1`SJN"&YFfGhFQP
|
|
|
-dG'9Z1MeQB@acC6X+)*!4F'&dG'9bEMSp*bFl#L#3%@PcGfPNCA0dFQPZCcSpCQ&
|
|
|
-XFf8l#L#3%@PQ)'-p*eiR)(4SC@i+)*!5BQ9RD@i+)*!8FQ9KC'0SBA)l#L#3&'-
|
|
|
-k2A9`Bf&cC5KM+6X+)*!8D@BJ+'*XEf0VAh4jF'8pBR4IG(P`C5NJEh)+)*!A+'a
|
|
|
-KFh4dEfYPEMeI583T)'pb)#KXBA0dG'pVC@ipAdj*6#NJEh)+)*!A+'aKFh4dEfY
|
|
|
-PEMeI8NY-38e049)T)'pb)#KXBA0dG'pVC@ipAe*&3dY,6%&06895+5"[FL!SE'&
|
|
|
-cG(4[Df9Z29p$39*&9#NJG'KPEJSJN"9LC@GTEJSJN"GdEfYPEMSpAd0"8N981`S
|
|
|
-JN"GREh4[)'9iDA4IE'&LC@`l#L#3&@9ZC!SJN"4PE(0P#L#3&@*PCfPZ#L#3&fP
|
|
|
-ZBbKXC@iT1`SJN"GTCL"M2#-f0#"dD'9Z#L#3'("KG(4PFQjEE'9ZA6SpBfKb+'p
|
|
|
-bC#KM+5Xf0#N+)*!AC@acC3SJN"K`BA4dCA*Z@faPEPdk2@0SFLK[FQ3SBbNY0M3
|
|
|
-T1`SJN"GbC@&NBfKKFMX+)*!9C@jN1`SJN"*PEQ3l#L#3%A*PF'9KG!SJN"0MBA0
|
|
|
-P)'-JEfB+)*!9*b-R)$S+)*!ABQ9RD@i+)*!CFQ9KC'0SBA)l)(XJFQ9KC#!M)(d
|
|
|
-+)*!CD@BJBcdR*#FJG'KPEJSJN"YLC@GTEJSJN"jbC@&NBfKKFMXJHb"bC@&N)'a
|
|
|
-PB@4TEQFJ*#"p#L#3(Q&cBfPTER)k25FN*cX+)*!HGfKTE'8J+(9`Bf&cC5KM+5"
|
|
|
-TEL"E*d%R,LiR4LFX*c!R,LiR15GG+5"KEQ3J+'aPEQGdD#KKFf0TD@jb+6`f+5"
|
|
|
-NE`SJN"pLC@GTEJSJN#&KFf0TD@jb1MeKFf0TD@jb+f-l#L#3)A*PB@4MD'&b1`S
|
|
|
-JN"pPEQ3l#L#3'f9ZC!SJN"PPE(0P#L#3'f*PCfPZ#L#3(Q&cBfPTER)k25FR1`S
|
|
|
-JN"jhD'PXC5!SBb"TEL"E*c!R,LiR15GG+5"KEQ3J+'aPEQGdD#KKFf0TD@jb+6`
|
|
|
-f+5"NE`SJN"pLC@GTEJSJN#&KFf0TD@jb1MeKFf0TD@jb+f-l#L#3)A*PB@4MD'&
|
|
|
-b1`SJN"pPEQ3l#L#3'f9ZC$X+)*!CGQ&XD@jd+'&cBfPTER)XE5aMEf4P+6X+)*!
|
|
|
-CD@BJ+'&cBfPTER)p*bFT)'pb)#KMEf4P2$i`+5"dD'9Z#L#3'dePFh0KCf8SFf0
|
|
|
-KEPpPAfPXE'9RB@aIBfKKFPpMEfjcG#N+)*!CC@acC5"TCL!SE6``+5"[FL!SE6i
|
|
|
-b068T)'pb)#KXC@jRG'JSBA0MD@PZFLNq-bNJG'KPEJSJN"YLC@GTEJSJN"jTCL!
|
|
|
-SE6ip-#NJB@jN)#KY2$df068c05NJG'KPEJSJN#"LC@GTEJSJN#*TCL"ZEh3JDA0
|
|
|
-hD@4PFh4bD@jR)(4SC@i+)*!MBQ9RD@i+)*!PBA0MD@NbG@jTBfpNC5K!F'&dG'9
|
|
|
-bEPXaA5aXC@iXF'&dG'9bERFT1`SJN#9TFhGTC'9cG(*TEQFk2A4bG@8l#L#3*@a
|
|
|
-PEMSp-$X+)*!MC@jN1`SJN#*MEfjMBA4hD@4PFh4bD@jRBfKKFLK`BA4dCA*ZGba
|
|
|
-dBfpYF'PXCA*hD@4PBfKKFLKY+5Nl#L#3)'9ZC!SJN"jPE(0P#L#3)%ePFh0KCf8
|
|
|
-SFf0KEPpPAfPXE'9RB@aIBfKKFPpMEfjcG#N+)*!EC@jN#L#3'@9XFf8JD@BJDA0
|
|
|
-hD@4PFh4bD@jR)(4SC@i+)*!EBfpZBf&dGfPNCA0dFQPZCf0SBA)SF'&dG'9bERF
|
|
|
-XBA0MD@PMD'&b-R9ZD@0[C'8SBfKKFLKY+5NT#L#3'@9XFf8+)*!EBQ9RD@i+)*!
|
|
|
-GD@BJE'9Z2$)e05"dD'9Z#L#3(Q*PCfPZ#L#3)'PZBbKXC@iT1`SJN#"`BA4dCA*
|
|
|
-Z@faPEPdk2@0SFLKY+6X+)*!HC@jN#L#3(@9XFf8+)*!HBQ9RD@i+)*!JD@BJEQp
|
|
|
-d)'ecChGbDA4dC@iJG'KPEJSJN#&LC@GTEJSJN#00CA0cB@GP+(0MB@jIC9pcG(*
|
|
|
-TEQGICAKMC@9NFemb069IBfKKFR-T1`SJN#0YFfGhFQPdG'9Z1MedFR9P1`SJN#&
|
|
|
-PEQ3l#L#3(Q9ZC$X+)*!EC@jN1`SJN"GPEQ3l#L#3&5H3"#!k#L#3&f*PCfPZ#L#
|
|
|
-3'A*PF'9KG!SJN"YbC@&NBfKKFMX+)*!EBf&cC5"M)'pQ#L#3(5-b0L!k#L#3(f9
|
|
|
-ZC&p[CPpQD@aP1`SJN"dM-6!X)c%c)$S+)*!I6@9cFf&RC5KcBf&ZAfCIFh4bD@j
|
|
|
-RAf9iBf9PC(0IE'PZC5Nl#L#3(5H3"#!k#L#3(f*PCfPZ#L#3)A*PB@4MD'&b1`S
|
|
|
-JN#&TCL"M2$iRN!3JG'KPEJSJN#*LFQ9KDcX+)*!IC@jN1`SJN"YPEQ3l#L#3'fP
|
|
|
-Q)'PcGfPNCA0dFQPZCb"dD'9Z#L#3(@0[EQ0KG(GTC'9cG(*TEQGMD'&b+("KG(4
|
|
|
-PFQjh,'&cBfPTBfKKFM*eEQPMEf4P+'-T+3SJN"YPE(0P#L#3(@*PCfPZ#L#3(fP
|
|
|
-Q)'aPEM`b068JG'KPEJSJN#"LC@GTEJSJN#*TEQ-SE'9Z+6X+)*!LF'&dG'9bEPY
|
|
|
-XC@jG1MeM1`SJN#"PEQ3+)*!IC@acC3SJN#"LC@GTEJSJN#*TCL"ZEh3JEA0RGh*
|
|
|
-TG(4PEL"dD'9Z#L#3)f*PCfPZ#L#3*8ePFh0KCf8SFf0KEPpPAh0dFQPZCepPH'0
|
|
|
-PC@4cAc)e09pMD'&bFbNl#L#3*@ecChGbDA4dC@ik2A4bG@8l#L#3)f9ZC$X+)*!
|
|
|
-JC@jN1`SJN"ePEQ3l#L#3'A9ZG'PX)'CKE(0P1`SJN"GPEQ3l#L#3&5GH*b!k#L#
|
|
|
-3&f*PCfPZ#L#3'A*PB@4MD'&b1`SJN"PM1MeeF'0KFf8SBbNl#L#3'@PQ)'-m)cB
|
|
|
-d)(4SC@i+)*!DBcSpBfKb+'pbC#KM+5Xf0#N+)*!CC@acC3SJN"TM1MeMD()SEh*
|
|
|
-N+'-T,6Bd+6X+#L#3'@PQ)'PcGfPNCA0dFQPZCb"dD'9Z#L#3'f0[EQ0KG(GTC'9
|
|
|
-cG(*TEQGMD'&b+("KG(4PFQjh,'&cBfPTBfKKFM*eEQPMEf4P+'-T+3SJN"PPE(0
|
|
|
-P#L#3'f*PCfPZ#L#3(@PQ)'aPEM`b068JG'KPEJSJN"jLC@GTEJSJN#"TEQ-SE'9
|
|
|
-Z+6X+)*!JF'&dG'9bEPYXC@jG1MeM1`SJN"jPEQ3+)*!GC@acC3SJN"jLC@GTEJS
|
|
|
-JN#"TCL"ZEh3JEA0RGh*TG(4PEL"dD'9Z#L#3)@*PCfPZ#L#3)dePFh0KCf8SFf0
|
|
|
-KEPpPAh0dFQPZCepPH'0PC@4cAc)e09pMD'&bFbNl#L#3)fecChGbDA4dC@ik2A4
|
|
|
-bG@8l#L#3)@9ZC$X+)*!HC@jN1`SJN"YPEQ3l#JSJN"PbC@&NBfKKFMX+)*!AC@j
|
|
|
-N1`SJN"9PE(0P#L#3&Q*bC@&V1`SJN"0PEQ3l#L#3%A9ZG'PX)'CKE(0P1`SJN"&
|
|
|
-l)(0dFQPZCh-JGfPdD#"XC@jRG'JJ-5"LC@0[E@8JBfpZFh3JBfKKFR-JI3SJN"&
|
|
|
-TCL"TFhGTC'9cG(*TEQFJG'KPEJSJN"0LC@GTEJSJN"CTCL"`BA4dCA*ZGeiZE'9
|
|
|
-Z26%JG'KPEJSJN"GdEfYPEMSpAd0A3dK"8JSJN"CPE(0P#L#3&h4[Df9Z1MeI3eG
|
|
|
-69&**6NFl#L#3%f9ZC!SJN"&PE(0P#L#3%f*PCfPZ#L#3&R"KG(4PFQjE-&dk2@0
|
|
|
-SFLKXC@iT1`SJN"CTCL"XC@ip-5"dD'9Z#L#3&h4[Df9Z1MeI3d0)39)+)*!@C@a
|
|
|
-cC3SJN"GdEfYPEMSpAd069&**6NFl#L#3%f9ZC$X+)*!4CfpdEb"PH'PdAfaKBQ9
|
|
|
-X1`SJN!pPEQ3l#JSJN!dR2LFJ1JSJN!pLC@GTEJSJN"&bC@&NBfKKFMX+)*!4Bf&
|
|
|
-cC5"M)'pQ#L#3%bFp*b!k#L#3&@*PCfPZ#L#3&h*PB@4MD'&b1`SJN"GdEfYPEMS
|
|
|
-pAdG846X+)*!ACfpdEb"PH'PdAfaKBQ9X1`SJN"9PEQ3l#L#3%bFq*b!k#L#3&@*
|
|
|
-PCfPZ#L#3&h*PB@4MD'&b1`SJN"GdEfYPEMSpAdp3Ae0)8MX+)*!ACfpdEb"PH'P
|
|
|
-dAfaKBQ9X1`SJN"9PEQ3l#L#3%bFm*b!k#L#3&@*PCfPZ)(XJ2M`JDA-JCQpb)'%
|
|
|
-JFhPYCA4bD@-JC'PQCL"QEh)JFf9dFb"p#L#3&h*PB@4MD'&b1`SJN"GdEfYPEMS
|
|
|
-pAe0C684*4MX+)*!ACfpdEb"PH'PdAfaKBQ9X1`SJN"9PEQ3l#L#3%@9ZC$X+)*!
|
|
|
-4G'pVC@ik29p(9$X+)*!4CfpdEb"PH'PdAfaKBQ9X1`SJN!pPEQ3l#JSJN!dR2#F
|
|
|
-J1JSJN!pLC@GTEJSJN"&bC@&NBfKKFMX+)*!4Bf&cC5"M)'pQ#L#3%bFq*b!k#L#
|
|
|
-3&@*PCfPZ#L#3&h*PB@4MD'&b1`SJN"GdEfYPEMSpAe9149&938`l#L#3&fG[G'm
|
|
|
-JCAKTG&pXB@*PE$X+)*!9C@jN1`SJN"-R25FJ1JSJN"9LC@GTEJSJN"GbC@&NBfK
|
|
|
-KFMX+)*!AG'pVC@ik29p-9%8l#L#3&fG[G'mJCAKTG&pXB@*PE$X+)*!9C@jN1`S
|
|
|
-JN"-R2#FJ1JSJN"9LC@GTEJSJN"GbC@&NBfKKFMX+)*!AG'pVC@ik29p28&p65%`
|
|
|
-l#L#3&fG[G'mJCAKTG&pXB@*PE$X+)*!9C@jN1`SJN"&PEQ3l#L#3%A4[Df9Z1Me
|
|
|
-I6&3l#L#3%@G[G'mJCAKTG&pXB@*PE$X+)*!2C@jN1`S+)*!0)c)f)$S+)*!2BQ9
|
|
|
-RD@i+)*!4G'pVC@ik29p&6dBl#L#3%@0SC@0VF(*PF(*[Bh0dB@0V1`SJN"&REh4
|
|
|
-[)'9iDA4IE'&LC@`l#L#3$f9ZC$X+)*!0C@acC3SJN!p*E'aPCf&XAd0SBA)SBbN
|
|
|
-l#L#3#f9ZC$X+)*!)C@jN1`TPH'PdAfaKBQ9X1JSJN!KXBA0dG'pVC@ik2A4[Df9
|
|
|
-Z1`SJN!CPEQ3l#JS+)*!%CR9ZBh4TEfiJG(0MB@jZCA*QD@aP,R*PB@4`FQ9`FQp
|
|
|
-M1R4dEfYPEMX+)*!'BQ9RD@i+)*!*FfYTF(0`B@0P1`SJN!PMBA0P)'-JEfB+)*!
|
|
|
-,*emR,!SJN!XR35FZ,LGD*b`+)*!,*f%R,LiRHLFJ1JSJN!eLC@GTEJSJN!pMGA*
|
|
|
-bC@jdAh0MB@jZCA)ZF(*PF(*[Bep`BA4dCA*Z1MebC@&ND@3l#L#3$h*PB@4`FQ9
|
|
|
-`FQpM1MeI583l#L#3$@9ZC$X+)*!,*c!R,LiR15FJ1JSJN!eLC@GTEJSJN!pMGA*
|
|
|
-bC@jdAh0MB@jZCA)ZF(*PF(*[Bep`BA4dCA*Z1MebC@&NGQ&XAf&cFh4bD@jR1`S
|
|
|
-JN!pl)(*PB@aZG@eLCA)r)(d+)*!2D@BJBcdR,LFJG'KPEJSJN"&LC@GTEJSJN"0
|
|
|
-bC@&NBfKKFMX+)*!6GfKTE'8JBb"TEL"E*c!R,LiR15GG)'4[#L#3&@*PCfPZ#L#
|
|
|
-3&f0eFR*PER4IFf0KEQjPFLj`FQ9`FQpMAh"KG(4PFQik2@0eFR*PER4IFf0KEQj
|
|
|
-PFLj`FQ9`FQpMAh"KG(4PFQiVBcX+)*!AFQ9KC'0SBA)l#L#3&@9ZC$X+)*!4C@j
|
|
|
-N1`SJN!pbC@&NF(*PF(*[BcSpAdP%1`SJN!ePEQ3l#L#3#bFN*b`R*5FX*bBR)$S
|
|
|
-+)*!0BQ9RD@i+)*!2Bh9bFQ9ZG&pcBf&ZEQ9b,R"bCA"bEf0IF'&dG'9bEMSpFQ9
|
|
|
-KC(CKE&pKFh0dFQPZCcX+)*!2FQ9KC("bCA"bEf-k29p*4$X+)*!0C@jN1`SJN!X
|
|
|
-RI5FJ1JSJN!eLC@GTEJSJN!pbC@&NF(*PF(*[BcSpAd914$X+)*!0C@jN1`SJN!X
|
|
|
-R+#FJ1JSJN!eLC@GTEJSJN!pbC@&NBfKKFMX+)*!2FQ9KC("bCA"bEf-k29p-5da
|
|
|
-"68e&8MX+)*!0C@jN1`SJN!XR+5FJ1JSJN!eLC@GTEJSJN!pbC@&NBfKKFMX+)*!
|
|
|
-2FQ9KC("bCA"bEf-k29p55da"68e&8MX+)*!0C@jN1`SJN!XR+bFJ1JSJN!eLC@G
|
|
|
-TEJSJN!pbC@&NBfKKFMX+)*!2FQ9KC("bCA"bEf-k29p36&961`SJN!ePEQ3l#L#
|
|
|
-3#bFY*b!k#L#3$@*PCfPZ#L#3$h*PB@4MD'&b1`SJN!pbC@&NF(*PF(*[BcSpAde
|
|
|
-*6P961`SJN!ePEQ3l#L#3#bFU*b!k#L#3$@*PCfPZ#L#3$h*PB@4MD'&b1`SJN!p
|
|
|
-bC@&NF(*PF(*[BcSpAe0839)l#L#3$@9ZC$X+)*!,*bmR)$S+)*!0BQ9RD@i+)*!
|
|
|
-2FQ9KC'0SBA)l#L#3$h*PB@4`FQ9`FQpM1MeI8da"8dJl#L#3$@9ZC$X+)*!,*cd
|
|
|
-R)$S+)*!0BQ9RD@i+)*!2FQ9KC'0SBA)l#L#3$h*PB@4`FQ9`FQpM1MeI49&938`
|
|
|
-l#L#3$@9ZC$X+)*!,*ciR)$S+)*!0BQ9RD@i+)*!2FQ9KC'0SBA)l#L#3$fPQ)'-
|
|
|
-p*cdR)(4SC@i+)*!4BQ9RD@i+)*!6FQ9KC'0SBA)l#L#3%h*PB@4`FQ9`FQpM1Me
|
|
|
-I4e4&1`SJN"&PEQ3+)*!2C@acC3SJN"&bC@&NF(*PF(*[BcSpAdG81`SJN!ePEQ3
|
|
|
-l#L#3#bFm*b!k#L#3$@*PCfPZ#L#3$h*PB@4MD'&b1`SJN!pMBA0P)'-JEfB+)*!
|
|
|
-4*ciR)$S+)*!6BQ9RD@i+)*!9FQ9KC'0SBA)l#L#3&A*PB@4`FQ9`FQpM1MeI98j
|
|
|
-&899"6$X+)*!6C@jN1`SJN"%R25FJ1JSJN"0LC@GTEJSJN"9bC@&NBfKKFMX+)*!
|
|
|
-9FQ9KC("bCA"bEf-k29p-9%8l#L#3%f9ZC$X+)*!4C@acC3SJN"0bC@&NF(*PF(*
|
|
|
-[BcSpAda81`SJN!pPEQ3l#L#3$@9ZC$X+)*!,)c)f)$S+)*!0BQ9RD@i+)*!2FQ9
|
|
|
-KC("bCA"bEf-k29p&6dBl#L#3$f0SC@0VF(*PF(*[Bh0dB@0V1`SJN!ePEQ3l#L#
|
|
|
-3#f9XFf8+)*!05@aXC@GKE&p$D'&b+'-T1`SJN!PPEQ3l#L#3"Q9ZC$X+#JSJN!4
|
|
|
-QG@jMG'P[EL"dFf0KEQjPFQCTE'8ZBA0YCf9dBfKKFR0dBA*d)$SJBfKKFMX+)*!
|
|
|
-'BQ9RD@i+)*!)Hb"bCA4eFQiJCQPbFh3JG'KP)'0SBA*KBh4PFL"KE(*PB@4j#L#
|
|
|
-3#Q&fB@PXB@*XC5"TEL"M)(d+)*!)E'&cG'&cE@GPG'0SBA)k2@-l#L#3#(*PFh9
|
|
|
-XG$SpBA0YCf9dBfKKFMX+)*!'C@jN1`S+#L#3"'CeEQ0dD@pZ)(4cBf&ZEQ9bCQP
|
|
|
-XC5jKFfeRCA4MD'&b)$SJBfKKFMX+)*!'BQ9RD@i+)*!*D@BJE'&cG'&cE@GPG'0
|
|
|
-SBA)m2L-`)(4SC@i+)*!+BQ9RD@i+)*!-BcSpE'&cG'&cE@GPG'0SBA)l#L#3$'a
|
|
|
-KFh4KFfeRCA4MD'&b1MdM-$X+)*!+C@jN#L#3#@9XFf8+)*!+FQ9KC'0SBA)l#L#
|
|
|
-3#@PQ)'PZAf&cE9pcG(*TEQFJG'KPEJSJN!YLC@GTEJSJN!eKFfeRCA4MD'&b1Me
|
|
|
-M1`SJN!ePH'Pd1`SJN!YPEQ3l#L#3#A*PF'9KG!SJN!YMBA0P)'-JEfB+Hb4TCQj
|
|
|
-NC@BJBA*YI3SJN!d[,b"dD'8JHb!Z,LiJI5"TFb"eFf9N)'PZ)%&565"KFh0PE@*
|
|
|
-XCA)JG'mJC'9QD@jP)(*PCfPcG'9b)(0PG(-X)#"cEb"hC5"MB@iRG#"eFf9N#L#
|
|
|
-3$5m[)'Pd)'&c)'0[E@ePER3X)'9TG'KPFL!S+L!Z,LiJ+LNX)#mU)#iZ,L!U,b"
|
|
|
-[FL![,b!Z,LiJFfK[G@aN)'*P)(9cC@3JD@jcG'9KC!SJN!dRHbFJ1JSJN!pcDfP
|
|
|
-`BfpYE@9ZG$X+Hb4PEQ4TCL"KFQep#L#3$5-a-#`M-6-J1JSJN!pLC@GTEJSJN"&
|
|
|
-XD@jPBR*PB@Xl#L#3%@&cE@GPG'0SBA)k2@-l#L#3%@9iDA3l#L#3$f9ZC$X+)*!
|
|
|
-0)c)f)$S+)*!2BQ9RD@i+)*!4FQ9XEf&N1`SJN"&TCL!SBcdM-MBT)'&ZC#"ZEh3
|
|
|
-JBA0cD@GZC@3SD@j`GA4QD@aP,QjPH(3T)(4SC@i+)*!6C@jNAfpQAfCTE'8l#L#
|
|
|
-3%@0[ER4TER9P1`SJN!pPEQ3l#L#3$5F[*b!k#L#3$f*PCfPZ#L#3%R*PB@4MD'&
|
|
|
-b1`SJN"*TCL"M25F[*b"dD'9Z#L#3%h0VDA"NC@a`D'PMEfeYC@jd#L#3%Q9XFf8
|
|
|
-+)*!6BQ9RD@i+)*!9BA0YCf9dBfKKFMSp*bmR1`SJN"9XBA0dBA0YCf9dBfKKFMS
|
|
|
-pBcX+)*!9CAKTG$X+)*!6C@jN1`SJN!pPEQ3l#L#3$5FS*b!k#L#3$f*PCfPZ#L#
|
|
|
-3%R*PB@4MD'&b1`SJN"*TCL"M25FU*b"dD'9Z#L#3%f*PCfPZ#L#3&@-k25-`1hY
|
|
|
-6D@GZB@`JFfYTF'pXC(4`BfpYE@9ZG#"dEb"bC@a[B@3JB5"MD'&b)(d+)*!9FfY
|
|
|
-TF'pXC(4`BfpYE@9ZG$X+)*!6C@jN#L#3%Q9XFf8+)*!6BQ9RD@i+)*!9BA0YCf9
|
|
|
-dBfKKFMSp*bJR1`SJN"9XBA0dBA0YCf9dBfKKFMSpBcX+)*!9CAKTG$X+)*!6C@j
|
|
|
-N1`SJN!pPEQ3l#L#3$@9XFf8+)*!2BQ9RD@i+)*!4BA0YCf9dBfKKFMSpBcX+)*!
|
|
|
-4CAKTG$X+)*!2C@jN1`SJN!YPEQ3l#L#3#A9ZG'PX)'CKE(0P1`SJN!CPEQ3l#JS
|
|
|
-+HbU363SJN#0)C@a`CA*c#LU36Ad+#L#3"("bEf0PC(9bC5""C'4%DA*PBh4TGQ8
|
|
|
-SBfpZFh3JFcTcG(*TEQFl)'4Y1L"dC'PbC@0dDACPE@pNC6XJF$TdC'PbC@0dDAC
|
|
|
-PF(*[BbNl#L#3"Q*PCfPZ#L#3#'PQ)'4Y)'PZ)&YNDA*PBh4TGQ9IB@aX,#"NDA*
|
|
|
-PBh4TGQ9IG(9bBQpG)(4SC@i+)*!+G(9bBQpIFf0KEQjPFQ4TFQ9MG'PfCA-ZD@j
|
|
|
-cCA*d+(4NDA*PBh4TGQ9TG'9Y,Q0bC@&dC5Kc,(!T+6X+)*!)D@BJC'dJD@iJ@f4
|
|
|
-TFQ9MG'PfC9pKE'`X)'4TFQ9MG'PfC9pYB@0G)(4SC@i+)*!+E@&MAh0MB@jZCA*
|
|
|
-NDA*PBh4TGQ9c,QPZFf9bG#KdC'PbC@0dDACPDA4PE5jMFQ9KG'8SFba`+5Nl#L#
|
|
|
-3"Q9ZC$X+#L#3"("bEf0PC(9bC5""C'4$EfjNDA4TEfjKE#KMEfjcG#"c1R0dFQP
|
|
|
-ZCcXJC'dk)(4NDA*PBh4TGQ9YEf4P1b"`1R4NDA*PBh4TGQ9`FQpM+6X+)*!'BQ9
|
|
|
-RD@i+)*!)D@BJC'dJD@iJ@f4TFQ9MG'PfC9pKE'`X)'4TFQ9MG'PfC9pdGA*LEed
|
|
|
-JG'KPEJSJN!TdGA*LEepcBf&ZEQ9bC'PbC@0dDACPFbjTER0PFR3SG'4TFQ9MG'P
|
|
|
-fC@PdC@dZBh*PBA4PBfpZC#Kc,(!T+6X+)*!)D@BJC'dJD@iJ@f4TFQ9MG'PfC9p
|
|
|
-KE'`X)'4TFQ9MG'PfC9pYB@0G)(4SC@i+)*!+E@&MAh0MB@jZCA*NDA*PBh4TGQ9
|
|
|
-c,QPZFf9bG#KdC'PbC@0dDACPDA4PE5jMFQ9KG'9MEfjN+(-XF#NT1`SJN!CPEQ3
|
|
|
-l#JTl+T"0#L#3)%PZDA4TB@aTHQ&dD@pZ#LU36Ad+#L#3"("bEf0PC(9bC5"*EQP
|
|
|
-d8f0KEQjPFMX+)*!'BQ9RD@i+)*!)5@jTG>C'96G(*TEQFSF'&dG'9bERFT1`S
|
|
|
-JN!KdGA*LEepcBf&ZEQ9bC'PbC@0dDACPFcSp9%4TBh4TEfjKFRNZ3h*PBA4P1`S
|
|
|
-JN!KYB@0IFf0KEQjPFQ4TFQ9MG'PfCA-k294%D@0dD@pZBA*j,N0bC@&dC6X+#L#
|
|
|
-3#(XJ4'9QBA9XG#"NDA*PBh4TGQ9c)'&ZC#"MEfjNDA4TEfjKE(-JCQpb)'&XE#"
|
|
|
-YEf4PFb"p#L#3#%&NC%4TFQ9MG'PfC5JR55FXC'PbC@0dDACPAf&XE#`JHb4TCQ4
|
|
|
-PCL"'8%038Np$9N&5I8"l*'9ZC'PQI@4TFPpTEQ0XG@4P+6X+#L#3#(XJ4'9QBA9
|
|
|
-XG#"8GA*LEb"NDA*PBh4TGQ9c)'&ZC#"MEfjNDA4TEfjKE(-JI3SJN!K"C'4%DA*
|
|
|
-PBh4TGQ8S*d4&4NP145FXC'PbC@0dDACPAh4eFQ*[,#"l*'PQC'9Q)%C33e"56d0
|
|
|
-@39*p3(XNC@jND@CpC'PbAf4PCQPZC5Nl#L#3#%&NC%4TFQ9MG'PfC5JR98j%48B
|
|
|
-R,'4TFQ9MG'PfC9pdGA*LEb`JHb4TCQ4PCL"'8%038Np$9N&5I8"l*'9ZC'PQI@4
|
|
|
-TFPpeEQ4PCLNl#L#3#%&NC%4TFQ9MG'PfC5JR58j$6&9%45FXC'PbC@0dDACPAh4
|
|
|
-eFQ*[,#"l*'PQC'9Q)%C33e"56d0@39*p3(XNC@jND@CpC'PbAfPZBfaeC'8T1`S
|
|
|
-+)*!)3@4N3fpZC'PdD@pZB@`S*d9-8d8R,'4TFQ9MG'PfC9pdGA*LEb`JHb4TCQ4
|
|
|
-PCL"'8%038Np$9N&5I8"l*'9ZC'PQI@4TFPpPE(0P+6X+)*!)3@4N3fpZC'PdD@p
|
|
|
-ZB@`S*d9-8d9*4LFXC'PbC@0dDACPAh4eFQ*[,#"l*'PQC'9Q)%C33e"56d0@39*
|
|
|
-p3(XNC@jND@CpC'PbAf9XFf9TCLNl#L#3#%&NC%0[EQ4TG'P[EQ&X+#G&6N4*4LF
|
|
|
-XC'PbC@0dDACPAh4eFQ*[,#"l*'PQC'9Q)%C33e"56d0@39*p3(XNC@jND@CpC'P
|
|
|
-bAf9ZC'PQ+6X+)*!)3@4N3fpZC'PdD@pZB@`S*dP'48j%*baNDA*PBh4TGQ9IG(9
|
|
|
-bBQmX)(XND@CNC@BJ4P"$8&*23eC"8Re!Hb4PEQ4TCReNDA*IC@jND@BT1`SJN!K
|
|
|
-"C'4$EfjNDA4TEfjKE#JR58BR,'4TFQ9MG'PfC9pdGA*LEb`JHb4TCQ4PCL"'8%0
|
|
|
-38Np$9N&5I8"l*'9ZC'PQI@4TFPpTCLNl#L#3#%&NC%0[EQ4TG'P[EQ&X+#G*4N4
|
|
|
-&4LFXC'PbC@0dDACPAh4eFQ*[,#"l*'PQC'9Q)%C33e"56d0@39*p3(XNC@jND@C
|
|
|
-pC'PbAfPQC'9Q+6X+)*!)3@4N3fpZC'PdD@pZB@`S*dP'6N4&4LFXC'PbC@0dDAC
|
|
|
-PAh4eFQ*[,#"l*'PQC'9Q)%C33e"56d0@39*p3(XNC@jND@CpC'PbAfPQEQ4PCLN
|
|
|
-l#L#3#%&NC%0[EQ4TG'P[EQ&X+#G*4Np39#FXC'PbC@0dDACPAh4eFQ*[,#"l*'P
|
|
|
-QC'9Q)%C33e"56d0@39*p3(XNC@jND@CpC'PbAfPQEh"d+6X+#L#3#(XJ4'9QBA9
|
|
|
-XG#"0B@-JC'PbC@0dDACPFb"KEQ3JBfpZC'PdD@pZB@ac1L"p#L#3#%&NC%4TFQ9
|
|
|
-MG'PfC5JR8d983bFXC'PbC@0dDACPAfeKBb`JHb4TCQ4PCL"'8%038Np$9N&5I8"
|
|
|
-l*'9ZC'PQI@4TFPpcCA4M+6X+)*!)3@4N3fpZC'PdD@pZB@`S*dP'3bFXC'PbC@0
|
|
|
-dDACPAfeKBb`JHb4TCQ4PCL"'8%038Np$9N&5I8"l*'9ZC'PQI@4TFPpTCLNl#L#
|
|
|
-3#%&NC%0[EQ4TG'P[EQ&X+#G&6&0&3bFXC'PbC@0dDACPAfeKBb`JHb4TCQ4PCL"
|
|
|
-'8%038Np$9N&5I8"l*'9ZC'PQI@4TFPpPE(0P+6X+)*!)3@4N3fpZC'PdD@pZB@`
|
|
|
-S*d914%-R,'4TFQ9MG'PfC9pYB@-X)(XND@CNC@BJ4P"$8&*23eC"8Re!Hb4PEQ4
|
|
|
-TCReNDA*IC@jND@BT1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)%4[EQ96Bf&ZEQ9
|
|
|
-b1`SJN!CLC@GTEJSJN!KdGA*LEepcBf&ZEQ9bC'PbC@0dDACPFbj'FQ9P1`SJN!K
|
|
|
-YB@0IFf0KEQjPFQ4TFQ9MG'PfCA-Z4R*PC6X+)*!)4'pZC9GTC'96G(*TEQFSF'&
|
|
|
-dG'9bERFT1`SJN!CPEQ3l#JS+C@jN,JTl#L!J*%a[CcSJFf0KEQjPFLj`BA-XGL!
|
|
|
-N#L!J8Q9fDA0TEfiJ-5ii-5!J-M!`0#m`0bm`05!b-cSb06Sc0#!JEfaXC3SJN!3
|
|
|
-V)'&NC'PZCb"[F'9bBA4[FR-J)R`L)'&ZC#!L*L)JCQpb)'eKBh"KF`S+)#"5CAC
|
|
|
-TFfP[EL!a,MJ`)#!b-$!d,c!f,c)`)$!i1M8e1M-`)#"QE'pbD@&Z#L#3"#SJE'p
|
|
|
-RFb"dFR9ZBf&dC@3+#L!J8Q9fDA0TEfiJ-5ih15!J-M!`0#m`05mb-b!b-$Se06S
|
|
|
-c1#!JF'9dCA)+)*!%+L"cGA"`Eh*d)(0THQ9[CLJT)'PZ)("bCA"bEf0PFh0[FJS
|
|
|
-+)#"5CACTFfP[EL!a,MFi)#!b-$!d,c!e,c%j)$)c1M)j1M8f)#"`CA4PFJSJN!3
|
|
|
-U)#4YCA0cB@GP)'4TFQ9MG'PfC5"MEfe`BA4TBQaP)(GTG'JJC'9XF'KT#JSJ)&*
|
|
|
-PGQPcD@pZ)$%Z0cFJ)$)`-$3[-$8[-6BJ-6-k068k-MBJ)("PG'9b#L#3"#SJFQ9
|
|
|
-`Eh*d)'&LEh9d)'PXE'9RB@`JBfKKFR-JD@iJF(*PF(*[Bh4[Df9Z)'PZFh4PB@3
|
|
|
-JEfBJC@jN)'pQ#L#3"Q9iF(*PFh0TEfi+)*!%+L"cGA"`Eh*d)(*PB@aZG@eLCA*
|
|
|
-c)'PZ)("bCA"bEf0dEfYPEL"`BA*cCA)+#L!J8Q9fDA0TEfiJ-5ih0L!J-M!`0#m
|
|
|
-`05m`-b!a-$S`0MSc1#!JEfaXC3SJN!3V)'&NC'9N)'aKEQGeB@GP)'0[ER0dFR9
|
|
|
-MG(-J98j*9L`J3b`J,LiZ)'C[FL"YEf4P)'eKB`SJN!3U)'0[ER0[E'PNBA4PC#"
|
|
|
-YB@0bEb"PH("bCA0cD@pZ)(4[)'0[EQC[FQdJG'mJ8'&cBf&X#L#3"#SJE@&MFQm
|
|
|
-JG(*eC5"TFb"NC@CTEQ9N)'&c)$`q)$!+#L!J8Q9fDA0TEfiJ-5ih05!J-M!`0#m
|
|
|
-`-bm`0#!a0cSb-cSa-#!JF'9dCA)+)*!%+L!NC@acC@PQ)(0eF("[FR3+)*!%+L"
|
|
|
-MEfjNDA4TEh4ZB@`JD@iJ,bmJFQ9dGA*ZFb"hBA*ZD@jR)'PcER4PB@3JEfBJCA*
|
|
|
-bEh)+#Rd+LIm!!!%!!!!"!*!)(J#3mJ%!!!!"!*!)(J#3#4`!([rrki`:
|
|
|
+{
|
|
|
+ $Id$
|
|
|
+ Copyright (c) 1998-2002 by Florian Klaempfl
|
|
|
+
|
|
|
+ This unit implements the scanner part and handling of the switches
|
|
|
+
|
|
|
+ This program is free software; you can redistribute it and/or modify
|
|
|
+ it under the terms of the GNU General Public License as published by
|
|
|
+ the Free Software Foundation; either version 2 of the License, or
|
|
|
+ (at your option) any later version.
|
|
|
+
|
|
|
+ This program is distributed in the hope that it will be useful,
|
|
|
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
+ GNU General Public License for more details.
|
|
|
+
|
|
|
+ You should have received a copy of the GNU General Public License
|
|
|
+ along with this program; if not, write to the Free Software
|
|
|
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
+
|
|
|
+ ****************************************************************************
|
|
|
+}
|
|
|
+unit scanner;
|
|
|
+
|
|
|
+{$i fpcdefs.inc}
|
|
|
+
|
|
|
+interface
|
|
|
+
|
|
|
+ uses
|
|
|
+ cclasses,
|
|
|
+ globtype,globals,version,tokens,
|
|
|
+ verbose,comphook,
|
|
|
+ finput,
|
|
|
+ widestr,cpuinfo;
|
|
|
+
|
|
|
+ const
|
|
|
+ max_include_nesting=32;
|
|
|
+ max_macro_nesting=16;
|
|
|
+ maxmacrolen=16*1024;
|
|
|
+ preprocbufsize=32*1024;
|
|
|
+
|
|
|
+
|
|
|
+ type
|
|
|
+ tcommentstyle = (comment_none,comment_tp,comment_oldtp,comment_delphi,comment_c);
|
|
|
+
|
|
|
+ pmacrobuffer = ^tmacrobuffer;
|
|
|
+ tmacrobuffer = array[0..maxmacrolen-1] of char;
|
|
|
+ tscannerfile = class;
|
|
|
+
|
|
|
+ tmacro = class(TNamedIndexItem)
|
|
|
+ defined,
|
|
|
+ defined_at_startup,
|
|
|
+ is_used : boolean;
|
|
|
+ buftext : pchar;
|
|
|
+ buflen : longint;
|
|
|
+ fileinfo : tfileposinfo;
|
|
|
+ constructor Create(const n : string);
|
|
|
+ destructor destroy;override;
|
|
|
+ end;
|
|
|
+
|
|
|
+ preproctyp = (pp_ifdef,pp_ifndef,pp_if,pp_ifopt,pp_else,pp_elseif);
|
|
|
+
|
|
|
+ tpreprocstack = class
|
|
|
+ typ : preproctyp;
|
|
|
+ accept : boolean;
|
|
|
+ next : tpreprocstack;
|
|
|
+ name : stringid;
|
|
|
+ line_nb : longint;
|
|
|
+ owner : tscannerfile;
|
|
|
+ constructor Create(atyp:preproctyp;a:boolean;n:tpreprocstack);
|
|
|
+ end;
|
|
|
+
|
|
|
+ tdirectiveproc=procedure;
|
|
|
+
|
|
|
+ tdirectiveitem = class(TNamedIndexItem)
|
|
|
+ public
|
|
|
+ is_conditional : boolean;
|
|
|
+ proc : tdirectiveproc;
|
|
|
+ constructor Create(const n:string;p:tdirectiveproc);
|
|
|
+ constructor CreateCond(const n:string;p:tdirectiveproc);
|
|
|
+ end;
|
|
|
+
|
|
|
+ tscannerfile = class
|
|
|
+ public
|
|
|
+ inputfile : tinputfile; { current inputfile list }
|
|
|
+ inputfilecount : longint;
|
|
|
+
|
|
|
+ inputbuffer, { input buffer }
|
|
|
+ inputpointer : pchar;
|
|
|
+ inputstart : longint;
|
|
|
+
|
|
|
+ line_no, { line }
|
|
|
+ lastlinepos : longint;
|
|
|
+
|
|
|
+ lasttokenpos : longint; { token }
|
|
|
+ lasttoken,
|
|
|
+ nexttoken : ttoken;
|
|
|
+
|
|
|
+ comment_level,
|
|
|
+ yylexcount : longint;
|
|
|
+ lastasmgetchar : char;
|
|
|
+ ignoredirectives : tstringlist; { ignore directives, used to give warnings only once }
|
|
|
+ preprocstack : tpreprocstack;
|
|
|
+ macros : Tdictionary;
|
|
|
+ in_asm_string : boolean;
|
|
|
+
|
|
|
+ preproc_pattern : string;
|
|
|
+ preproc_token : ttoken;
|
|
|
+
|
|
|
+ constructor Create(const fn:string);
|
|
|
+ destructor Destroy;override;
|
|
|
+ { File buffer things }
|
|
|
+ function openinputfile:boolean;
|
|
|
+ procedure closeinputfile;
|
|
|
+ function tempopeninputfile:boolean;
|
|
|
+ procedure tempcloseinputfile;
|
|
|
+ procedure saveinputfile;
|
|
|
+ procedure restoreinputfile;
|
|
|
+ procedure firstfile;
|
|
|
+ procedure nextfile;
|
|
|
+ procedure addfile(hp:tinputfile);
|
|
|
+ procedure reload;
|
|
|
+ procedure insertmacro(const macname:string;p:pchar;len,line,fileindex:longint);
|
|
|
+ { Scanner things }
|
|
|
+ procedure def_macro(const s : string);
|
|
|
+ procedure set_macro(const s : string;value : string);
|
|
|
+ procedure gettokenpos;
|
|
|
+ procedure inc_comment_level;
|
|
|
+ procedure dec_comment_level;
|
|
|
+ procedure illegal_char(c:char);
|
|
|
+ procedure end_of_file;
|
|
|
+ procedure checkpreprocstack;
|
|
|
+ procedure poppreprocstack;
|
|
|
+ procedure addpreprocstack(atyp : preproctyp;a:boolean;const s:string;w:longint);
|
|
|
+ procedure elsepreprocstack;
|
|
|
+ procedure elseifpreprocstack(accept:boolean);
|
|
|
+ procedure handleconditional(p:tdirectiveitem);
|
|
|
+ procedure handledirectives;
|
|
|
+ procedure linebreak;
|
|
|
+ procedure readchar;
|
|
|
+ procedure readstring;
|
|
|
+ procedure readnumber;
|
|
|
+ function readid:string;
|
|
|
+ function readval:longint;
|
|
|
+ function readval_asstring:string;
|
|
|
+ function readcomment:string;
|
|
|
+ function readquotedstring:string;
|
|
|
+ function readstate:char;
|
|
|
+ procedure skipspace;
|
|
|
+ procedure skipuntildirective;
|
|
|
+ procedure skipcomment;
|
|
|
+ procedure skipdelphicomment;
|
|
|
+ procedure skipoldtpcomment;
|
|
|
+ procedure readtoken;
|
|
|
+ function readpreproc:ttoken;
|
|
|
+ function asmgetcharstart : char;
|
|
|
+ function asmgetchar:char;
|
|
|
+ end;
|
|
|
+
|
|
|
+{$ifdef PREPROCWRITE}
|
|
|
+ tpreprocfile=class
|
|
|
+ f : text;
|
|
|
+ buf : pointer;
|
|
|
+ spacefound,
|
|
|
+ eolfound : boolean;
|
|
|
+ constructor create(const fn:string);
|
|
|
+ destructor destroy;
|
|
|
+ procedure Add(const s:string);
|
|
|
+ procedure AddSpace;
|
|
|
+ end;
|
|
|
+{$endif PREPROCWRITE}
|
|
|
+
|
|
|
+ var
|
|
|
+ { read strings }
|
|
|
+ c : char;
|
|
|
+ orgpattern,
|
|
|
+ pattern : string;
|
|
|
+ patternw : pcompilerwidestring;
|
|
|
+
|
|
|
+ { token }
|
|
|
+ token, { current token being parsed }
|
|
|
+ idtoken : ttoken; { holds the token if the pattern is a known word }
|
|
|
+
|
|
|
+ current_scanner : tscannerfile; { current scanner in use }
|
|
|
+
|
|
|
+ aktcommentstyle : tcommentstyle; { needed to use read_comment from directives }
|
|
|
+{$ifdef PREPROCWRITE}
|
|
|
+ preprocfile : tpreprocfile; { used with only preprocessing }
|
|
|
+{$endif PREPROCWRITE}
|
|
|
+
|
|
|
+ type
|
|
|
+ tdirectivemode = (directive_all, directive_turbo, directive_mac);
|
|
|
+
|
|
|
+ procedure AddDirective(const s:string; dm: tdirectivemode; p:tdirectiveproc);
|
|
|
+ procedure AddConditional(const s:string; dm: tdirectivemode; p:tdirectiveproc);
|
|
|
+
|
|
|
+ procedure InitScanner;
|
|
|
+ procedure DoneScanner;
|
|
|
+
|
|
|
+
|
|
|
+implementation
|
|
|
+
|
|
|
+ uses
|
|
|
+{$ifdef delphi}
|
|
|
+ dmisc,
|
|
|
+{$else}
|
|
|
+ dos,
|
|
|
+{$endif delphi}
|
|
|
+ cutils,
|
|
|
+ systems,
|
|
|
+ switches,
|
|
|
+ symbase,symtable,symtype,symsym,symconst,
|
|
|
+ fmodule;
|
|
|
+
|
|
|
+ var
|
|
|
+ { dictionaries with the supported directives }
|
|
|
+ turbo_scannerdirectives : tdictionary; { for other modes }
|
|
|
+ mac_scannerdirectives : tdictionary; { for mode mac }
|
|
|
+
|
|
|
+
|
|
|
+{*****************************************************************************
|
|
|
+ Helper routines
|
|
|
+*****************************************************************************}
|
|
|
+
|
|
|
+ const
|
|
|
+ { use any special name that is an invalid file name to avoid problems }
|
|
|
+ preprocstring : array [preproctyp] of string[7]
|
|
|
+ = ('$IFDEF','$IFNDEF','$IF','$IFOPT','$ELSE','$ELSEIF');
|
|
|
+
|
|
|
+
|
|
|
+ function is_keyword(const s:string):boolean;
|
|
|
+ var
|
|
|
+ low,high,mid : longint;
|
|
|
+ begin
|
|
|
+ if not (length(s) in [tokenlenmin..tokenlenmax]) then
|
|
|
+ begin
|
|
|
+ is_keyword:=false;
|
|
|
+ exit;
|
|
|
+ end;
|
|
|
+ low:=ord(tokenidx^[length(s),s[1]].first);
|
|
|
+ high:=ord(tokenidx^[length(s),s[1]].last);
|
|
|
+ while low<high do
|
|
|
+ begin
|
|
|
+ mid:=(high+low+1) shr 1;
|
|
|
+ if pattern<tokeninfo^[ttoken(mid)].str then
|
|
|
+ high:=mid-1
|
|
|
+ else
|
|
|
+ low:=mid;
|
|
|
+ end;
|
|
|
+ is_keyword:=(pattern=tokeninfo^[ttoken(high)].str) and
|
|
|
+ (tokeninfo^[ttoken(high)].keyword in aktmodeswitches);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+{*****************************************************************************
|
|
|
+ Conditional Directives
|
|
|
+*****************************************************************************}
|
|
|
+
|
|
|
+ procedure dir_else;
|
|
|
+ begin
|
|
|
+ current_scanner.elsepreprocstack;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure dir_endif;
|
|
|
+ begin
|
|
|
+ current_scanner.poppreprocstack;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure dir_ifdef;
|
|
|
+ var
|
|
|
+ hs : string;
|
|
|
+ mac : tmacro;
|
|
|
+ begin
|
|
|
+ current_scanner.skipspace;
|
|
|
+ hs:=current_scanner.readid;
|
|
|
+ if hs='' then
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+ mac:=tmacro(current_scanner.macros.search(hs));
|
|
|
+ if assigned(mac) then
|
|
|
+ mac.is_used:=true;
|
|
|
+ current_scanner.addpreprocstack(pp_ifdef,assigned(mac) and mac.defined,hs,scan_c_ifdef_found);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure dir_ifndef;
|
|
|
+ var
|
|
|
+ hs : string;
|
|
|
+ mac : tmacro;
|
|
|
+ begin
|
|
|
+ current_scanner.skipspace;
|
|
|
+ hs:=current_scanner.readid;
|
|
|
+ if hs='' then
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+ mac:=tmacro(current_scanner.macros.search(hs));
|
|
|
+ if assigned(mac) then
|
|
|
+ mac.is_used:=true;
|
|
|
+ current_scanner.addpreprocstack(pp_ifndef,not(assigned(mac) and mac.defined),hs,scan_c_ifndef_found);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure dir_ifopt;
|
|
|
+ var
|
|
|
+ hs : string;
|
|
|
+ found : boolean;
|
|
|
+ state : char;
|
|
|
+ begin
|
|
|
+ current_scanner.skipspace;
|
|
|
+ hs:=current_scanner.readid;
|
|
|
+ if (length(hs)>1) then
|
|
|
+ Message1(scan_w_illegal_switch,hs)
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ state:=current_scanner.ReadState;
|
|
|
+ if state in ['-','+'] then
|
|
|
+ found:=CheckSwitch(hs[1],state);
|
|
|
+ end;
|
|
|
+ current_scanner.addpreprocstack(pp_ifopt,found,hs,scan_c_ifopt_found);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ function parse_compiler_expr:string;
|
|
|
+
|
|
|
+ function read_expr : string; forward;
|
|
|
+
|
|
|
+ procedure preproc_consume(t : ttoken);
|
|
|
+ begin
|
|
|
+ if t<>current_scanner.preproc_token then
|
|
|
+ Message(scan_e_preproc_syntax_error);
|
|
|
+ current_scanner.preproc_token:=current_scanner.readpreproc;
|
|
|
+ end;
|
|
|
+
|
|
|
+ function preproc_substitutedtoken: string;
|
|
|
+ var
|
|
|
+ hs: string;
|
|
|
+ mac : tmacro;
|
|
|
+ macrocount,
|
|
|
+ len : integer;
|
|
|
+ begin
|
|
|
+ result := current_scanner.preproc_pattern;
|
|
|
+ { allow macro support in macro's }
|
|
|
+ macrocount:=0;
|
|
|
+ repeat
|
|
|
+ mac:=tmacro(current_scanner.macros.search(result));
|
|
|
+ if not assigned(mac) then
|
|
|
+ break;
|
|
|
+
|
|
|
+ inc(macrocount);
|
|
|
+ if macrocount>max_macro_nesting then
|
|
|
+ begin
|
|
|
+ Message(scan_w_macro_deep_ten);
|
|
|
+ break;
|
|
|
+ end;
|
|
|
+
|
|
|
+ if mac.defined and assigned(mac.buftext) then
|
|
|
+ begin
|
|
|
+ if mac.buflen>255 then
|
|
|
+ begin
|
|
|
+ len:=255;
|
|
|
+ Message(scan_w_macro_cut_after_255_chars);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ len:=mac.buflen;
|
|
|
+ hs[0]:=char(len);
|
|
|
+ move(mac.buftext^,hs[1],len);
|
|
|
+ result:=upcase(hs);
|
|
|
+ end;
|
|
|
+ until false;
|
|
|
+ end;
|
|
|
+
|
|
|
+ function read_factor : string;
|
|
|
+ var
|
|
|
+ hs : string;
|
|
|
+ mac: tmacro;
|
|
|
+ srsym : tsym;
|
|
|
+ srsymtable : tsymtable;
|
|
|
+ l : longint;
|
|
|
+ w : integer;
|
|
|
+
|
|
|
+ begin
|
|
|
+ if current_scanner.preproc_token=_ID then
|
|
|
+ begin
|
|
|
+ if preproc_substitutedtoken='DEFINED' then
|
|
|
+ begin
|
|
|
+ preproc_consume(_ID);
|
|
|
+ current_scanner.skipspace;
|
|
|
+ if current_scanner.preproc_token =_LKLAMMER then
|
|
|
+ begin
|
|
|
+ preproc_consume(_LKLAMMER);
|
|
|
+ current_scanner.skipspace;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+ if current_scanner.preproc_token =_ID then
|
|
|
+ begin
|
|
|
+ hs := current_scanner.preproc_pattern;
|
|
|
+ mac := tmacro(current_scanner.macros.search(hs));
|
|
|
+ if assigned(mac) then
|
|
|
+ hs := '1'
|
|
|
+ else
|
|
|
+ hs := '0';
|
|
|
+ read_factor := hs;
|
|
|
+ preproc_consume(_ID);
|
|
|
+ current_scanner.skipspace;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+ if current_scanner.preproc_token =_RKLAMMER then
|
|
|
+ preproc_consume(_RKLAMMER)
|
|
|
+ else
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ if (m_mac in aktmodeswitches) and (preproc_substitutedtoken='UNDEFINED') then
|
|
|
+ begin
|
|
|
+ preproc_consume(_ID);
|
|
|
+ current_scanner.skipspace;
|
|
|
+ if current_scanner.preproc_token =_ID then
|
|
|
+ begin
|
|
|
+ hs := current_scanner.preproc_pattern;
|
|
|
+ mac := tmacro(current_scanner.macros.search(hs));
|
|
|
+ if assigned(mac) then
|
|
|
+ hs := '0'
|
|
|
+ else
|
|
|
+ hs := '1';
|
|
|
+ read_factor := hs;
|
|
|
+ preproc_consume(_ID);
|
|
|
+ current_scanner.skipspace;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ if (m_mac in aktmodeswitches) and (preproc_substitutedtoken='OPTION') then
|
|
|
+ begin
|
|
|
+ preproc_consume(_ID);
|
|
|
+ current_scanner.skipspace;
|
|
|
+ if current_scanner.preproc_token =_LKLAMMER then
|
|
|
+ begin
|
|
|
+ preproc_consume(_LKLAMMER);
|
|
|
+ current_scanner.skipspace;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+
|
|
|
+ if not (current_scanner.preproc_token = _ID) then
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+
|
|
|
+ hs:=current_scanner.preproc_pattern;
|
|
|
+ if (length(hs) > 1) then
|
|
|
+ {This is allowed in Metrowerks Pascal}
|
|
|
+ Message(scan_e_error_in_preproc_expr)
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ if CheckSwitch(hs[1],'+') then
|
|
|
+ read_factor := '1'
|
|
|
+ else
|
|
|
+ read_factor := '0';
|
|
|
+ end;
|
|
|
+
|
|
|
+ preproc_consume(_ID);
|
|
|
+ current_scanner.skipspace;
|
|
|
+ if current_scanner.preproc_token =_RKLAMMER then
|
|
|
+ preproc_consume(_RKLAMMER)
|
|
|
+ else
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ if preproc_substitutedtoken='SIZEOF' then
|
|
|
+ begin
|
|
|
+ preproc_consume(_ID);
|
|
|
+ current_scanner.skipspace;
|
|
|
+ if current_scanner.preproc_token =_LKLAMMER then
|
|
|
+ begin
|
|
|
+ preproc_consume(_LKLAMMER);
|
|
|
+ current_scanner.skipspace;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+ if searchsym(current_scanner.preproc_pattern,srsym,srsymtable) then
|
|
|
+ begin
|
|
|
+ l:=0;
|
|
|
+ case srsym.typ of
|
|
|
+ varsym :
|
|
|
+ l:=tvarsym(srsym).getsize;
|
|
|
+ typedconstsym :
|
|
|
+ l:=ttypedconstsym(srsym).getsize;
|
|
|
+ else
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+ end;
|
|
|
+ str(l,read_factor);
|
|
|
+ preproc_consume(_ID);
|
|
|
+ current_scanner.skipspace;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message1(sym_e_id_not_found,current_scanner.preproc_pattern);
|
|
|
+
|
|
|
+ if current_scanner.preproc_token =_RKLAMMER then
|
|
|
+ preproc_consume(_RKLAMMER)
|
|
|
+ else
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ if preproc_substitutedtoken='DECLARED' then
|
|
|
+ begin
|
|
|
+ preproc_consume(_ID);
|
|
|
+ current_scanner.skipspace;
|
|
|
+ if current_scanner.preproc_token =_LKLAMMER then
|
|
|
+ begin
|
|
|
+ preproc_consume(_LKLAMMER);
|
|
|
+ current_scanner.skipspace;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+ if current_scanner.preproc_token =_ID then
|
|
|
+ begin
|
|
|
+ hs := upper(current_scanner.preproc_pattern);
|
|
|
+ if searchsym(hs,srsym,srsymtable) then
|
|
|
+ hs := '1'
|
|
|
+ else
|
|
|
+ hs := '0';
|
|
|
+ read_factor := hs;
|
|
|
+ preproc_consume(_ID);
|
|
|
+ current_scanner.skipspace;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+ if current_scanner.preproc_token =_RKLAMMER then
|
|
|
+ preproc_consume(_RKLAMMER)
|
|
|
+ else
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ if preproc_substitutedtoken='NOT' then
|
|
|
+ begin
|
|
|
+ preproc_consume(_ID);
|
|
|
+ hs:=read_factor();
|
|
|
+ valint(hs,l,w);
|
|
|
+ if l<>0 then
|
|
|
+ read_factor:='0'
|
|
|
+ else
|
|
|
+ read_factor:='1';
|
|
|
+ end
|
|
|
+ else
|
|
|
+ if (m_mac in aktmodeswitches) and (preproc_substitutedtoken='TRUE') then
|
|
|
+ begin
|
|
|
+ preproc_consume(_ID);
|
|
|
+ read_factor:='1';
|
|
|
+ end
|
|
|
+ else
|
|
|
+ if (m_mac in aktmodeswitches) and (preproc_substitutedtoken='FALSE') then
|
|
|
+ begin
|
|
|
+ preproc_consume(_ID);
|
|
|
+ read_factor:='0';
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ hs:=preproc_substitutedtoken;
|
|
|
+ preproc_consume(_ID);
|
|
|
+ read_factor:=hs;
|
|
|
+ end
|
|
|
+ end
|
|
|
+ else if current_scanner.preproc_token =_LKLAMMER then
|
|
|
+ begin
|
|
|
+ preproc_consume(_LKLAMMER);
|
|
|
+ read_factor:=read_expr;
|
|
|
+ preproc_consume(_RKLAMMER);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_e_error_in_preproc_expr);
|
|
|
+ end;
|
|
|
+
|
|
|
+ function read_term : string;
|
|
|
+ var
|
|
|
+ hs1,hs2 : string;
|
|
|
+ l1,l2 : longint;
|
|
|
+ w : integer;
|
|
|
+ begin
|
|
|
+ hs1:=read_factor;
|
|
|
+ repeat
|
|
|
+ if (current_scanner.preproc_token<>_ID) then
|
|
|
+ break;
|
|
|
+ if preproc_substitutedtoken<>'AND' then
|
|
|
+ break;
|
|
|
+ preproc_consume(_ID);
|
|
|
+ hs2:=read_factor;
|
|
|
+ valint(hs1,l1,w);
|
|
|
+ valint(hs2,l2,w);
|
|
|
+ if (l1<>0) and (l2<>0) then
|
|
|
+ hs1:='1'
|
|
|
+ else
|
|
|
+ hs1:='0';
|
|
|
+ until false;
|
|
|
+ read_term:=hs1;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ function read_simple_expr : string;
|
|
|
+ var
|
|
|
+ hs1,hs2 : string;
|
|
|
+ l1,l2 : longint;
|
|
|
+ w : integer;
|
|
|
+ begin
|
|
|
+ hs1:=read_term;
|
|
|
+ repeat
|
|
|
+ if (current_scanner.preproc_token<>_ID) then
|
|
|
+ break;
|
|
|
+ if preproc_substitutedtoken<>'OR' then
|
|
|
+ break;
|
|
|
+ preproc_consume(_ID);
|
|
|
+ hs2:=read_term;
|
|
|
+ valint(hs1,l1,w);
|
|
|
+ valint(hs2,l2,w);
|
|
|
+ if (l1<>0) or (l2<>0) then
|
|
|
+ hs1:='1'
|
|
|
+ else
|
|
|
+ hs1:='0';
|
|
|
+ until false;
|
|
|
+ read_simple_expr:=hs1;
|
|
|
+ end;
|
|
|
+
|
|
|
+ function read_expr : string;
|
|
|
+ var
|
|
|
+ hs1,hs2 : string;
|
|
|
+ b : boolean;
|
|
|
+ t : ttoken;
|
|
|
+ w : integer;
|
|
|
+ l1,l2 : longint;
|
|
|
+ begin
|
|
|
+ hs1:=read_simple_expr;
|
|
|
+ t:=current_scanner.preproc_token;
|
|
|
+ if not(t in [_EQUAL,_UNEQUAL,_LT,_GT,_LTE,_GTE]) then
|
|
|
+ begin
|
|
|
+ read_expr:=hs1;
|
|
|
+ exit;
|
|
|
+ end;
|
|
|
+ preproc_consume(t);
|
|
|
+ hs2:=read_simple_expr;
|
|
|
+ if is_number(hs1) and is_number(hs2) then
|
|
|
+ begin
|
|
|
+ valint(hs1,l1,w);
|
|
|
+ valint(hs2,l2,w);
|
|
|
+ case t of
|
|
|
+ _EQUAL : b:=l1=l2;
|
|
|
+ _UNEQUAL : b:=l1<>l2;
|
|
|
+ _LT : b:=l1<l2;
|
|
|
+ _GT : b:=l1>l2;
|
|
|
+ _GTE : b:=l1>=l2;
|
|
|
+ _LTE : b:=l1<=l2;
|
|
|
+ end;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ case t of
|
|
|
+ _EQUAL : b:=hs1=hs2;
|
|
|
+ _UNEQUAL : b:=hs1<>hs2;
|
|
|
+ _LT : b:=hs1<hs2;
|
|
|
+ _GT : b:=hs1>hs2;
|
|
|
+ _GTE : b:=hs1>=hs2;
|
|
|
+ _LTE : b:=hs1<=hs2;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ if b then
|
|
|
+ read_expr:='1'
|
|
|
+ else
|
|
|
+ read_expr:='0';
|
|
|
+ end;
|
|
|
+
|
|
|
+ begin
|
|
|
+ current_scanner.skipspace;
|
|
|
+ { start preproc expression scanner }
|
|
|
+ current_scanner.preproc_token:=current_scanner.readpreproc;
|
|
|
+ parse_compiler_expr:=read_expr;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure dir_if;
|
|
|
+ var
|
|
|
+ hs : string;
|
|
|
+ begin
|
|
|
+ hs:=parse_compiler_expr;
|
|
|
+ current_scanner.addpreprocstack(pp_if,hs<>'0',hs,scan_c_if_found);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure dir_elseif;
|
|
|
+ var
|
|
|
+ hs : string;
|
|
|
+ begin
|
|
|
+ hs:=parse_compiler_expr;
|
|
|
+ current_scanner.elseifpreprocstack(hs<>'0');
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure dir_define;
|
|
|
+ var
|
|
|
+ hs : string;
|
|
|
+ bracketcount : longint;
|
|
|
+ mac : tmacro;
|
|
|
+ macropos : longint;
|
|
|
+ macrobuffer : pmacrobuffer;
|
|
|
+ begin
|
|
|
+ current_scanner.skipspace;
|
|
|
+ hs:=current_scanner.readid;
|
|
|
+ mac:=tmacro(current_scanner.macros.search(hs));
|
|
|
+ if not assigned(mac) then
|
|
|
+ begin
|
|
|
+ mac:=tmacro.create(hs);
|
|
|
+ mac.defined:=true;
|
|
|
+ Message1(parser_c_macro_defined,mac.name);
|
|
|
+ current_scanner.macros.insert(mac);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ Message1(parser_c_macro_defined,mac.name);
|
|
|
+ mac.defined:=true;
|
|
|
+ { delete old definition }
|
|
|
+ if assigned(mac.buftext) then
|
|
|
+ begin
|
|
|
+ freemem(mac.buftext,mac.buflen);
|
|
|
+ mac.buftext:=nil;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ mac.is_used:=true;
|
|
|
+ if (cs_support_macro in aktmoduleswitches) then
|
|
|
+ begin
|
|
|
+ { key words are never substituted }
|
|
|
+ if is_keyword(hs) then
|
|
|
+ Message(scan_e_keyword_cant_be_a_macro);
|
|
|
+ { !!!!!! handle macro params, need we this? }
|
|
|
+ current_scanner.skipspace;
|
|
|
+ { may be a macro? }
|
|
|
+ if c=':' then
|
|
|
+ begin
|
|
|
+ current_scanner.readchar;
|
|
|
+ if c='=' then
|
|
|
+ begin
|
|
|
+ new(macrobuffer);
|
|
|
+ macropos:=0;
|
|
|
+ { parse macro, brackets are counted so it's possible
|
|
|
+ to have a $ifdef etc. in the macro }
|
|
|
+ bracketcount:=0;
|
|
|
+ repeat
|
|
|
+ current_scanner.readchar;
|
|
|
+ case c of
|
|
|
+ '}' :
|
|
|
+ if (bracketcount=0) then
|
|
|
+ break
|
|
|
+ else
|
|
|
+ dec(bracketcount);
|
|
|
+ '{' :
|
|
|
+ inc(bracketcount);
|
|
|
+ #10,#13 :
|
|
|
+ current_scanner.linebreak;
|
|
|
+ #26 :
|
|
|
+ current_scanner.end_of_file;
|
|
|
+ end;
|
|
|
+ macrobuffer^[macropos]:=c;
|
|
|
+ inc(macropos);
|
|
|
+ if macropos>maxmacrolen then
|
|
|
+ Message(scan_f_macro_buffer_overflow);
|
|
|
+ until false;
|
|
|
+ { free buffer of macro ?}
|
|
|
+ if assigned(mac.buftext) then
|
|
|
+ freemem(mac.buftext,mac.buflen);
|
|
|
+ { get new mem }
|
|
|
+ getmem(mac.buftext,macropos);
|
|
|
+ mac.buflen:=macropos;
|
|
|
+ { copy the text }
|
|
|
+ move(macrobuffer^,mac.buftext^,macropos);
|
|
|
+ dispose(macrobuffer);
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ { check if there is an assignment, then we need to give a
|
|
|
+ warning }
|
|
|
+ current_scanner.skipspace;
|
|
|
+ if c=':' then
|
|
|
+ begin
|
|
|
+ current_scanner.readchar;
|
|
|
+ if c='=' then
|
|
|
+ Message(scan_w_macro_support_turned_off);
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
+ procedure dir_setc;
|
|
|
+ var
|
|
|
+ hs : string;
|
|
|
+ mac : tmacro;
|
|
|
+ begin
|
|
|
+ current_scanner.skipspace;
|
|
|
+ hs:=current_scanner.readid;
|
|
|
+ mac:=tmacro(current_scanner.macros.search(hs));
|
|
|
+ if not assigned(mac) then
|
|
|
+ begin
|
|
|
+ mac:=tmacro.create(hs);
|
|
|
+ mac.defined:=true;
|
|
|
+ Message1(parser_c_macro_defined,mac.name);
|
|
|
+ current_scanner.macros.insert(mac);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ mac.defined:=true;
|
|
|
+ { delete old definition }
|
|
|
+ if assigned(mac.buftext) then
|
|
|
+ begin
|
|
|
+ freemem(mac.buftext,mac.buflen);
|
|
|
+ mac.buftext:=nil;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ mac.is_used:=true;
|
|
|
+
|
|
|
+
|
|
|
+ { key words are never substituted }
|
|
|
+ if is_keyword(hs) then
|
|
|
+ Message(scan_e_keyword_cant_be_a_macro);
|
|
|
+ { !!!!!! handle macro params, need we this? }
|
|
|
+ current_scanner.skipspace;
|
|
|
+ { may be a macro? }
|
|
|
+
|
|
|
+ { assignment can be both := and = }
|
|
|
+ if c=':' then
|
|
|
+ current_scanner.readchar;
|
|
|
+
|
|
|
+ if c='=' then
|
|
|
+ begin
|
|
|
+ current_scanner.readchar;
|
|
|
+ hs:= parse_compiler_expr;
|
|
|
+ if length(hs) <> 0 then
|
|
|
+ begin
|
|
|
+ Message2(parser_c_macro_set_to,mac.name,hs);
|
|
|
+ { free buffer of macro ?}
|
|
|
+ if assigned(mac.buftext) then
|
|
|
+ freemem(mac.buftext,mac.buflen);
|
|
|
+ { get new mem }
|
|
|
+ getmem(mac.buftext,length(hs));
|
|
|
+ mac.buflen:=length(hs);
|
|
|
+ { copy the text }
|
|
|
+ move(hs[1],mac.buftext^,mac.buflen);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_e_preproc_syntax_error);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_e_preproc_syntax_error);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure dir_undef;
|
|
|
+ var
|
|
|
+ hs : string;
|
|
|
+ mac : tmacro;
|
|
|
+ begin
|
|
|
+ current_scanner.skipspace;
|
|
|
+ hs:=current_scanner.readid;
|
|
|
+ mac:=tmacro(current_scanner.macros.search(hs));
|
|
|
+ if not assigned(mac) then
|
|
|
+ begin
|
|
|
+ mac:=tmacro.create(hs);
|
|
|
+ Message1(parser_c_macro_undefined,mac.name);
|
|
|
+ mac.defined:=false;
|
|
|
+ current_scanner.macros.insert(mac);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ Message1(parser_c_macro_undefined,mac.name);
|
|
|
+ mac.defined:=false;
|
|
|
+ { delete old definition }
|
|
|
+ if assigned(mac.buftext) then
|
|
|
+ begin
|
|
|
+ freemem(mac.buftext,mac.buflen);
|
|
|
+ mac.buftext:=nil;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ mac.is_used:=true;
|
|
|
+ end;
|
|
|
+
|
|
|
+ procedure dir_include;
|
|
|
+
|
|
|
+ function findincludefile(const path,name,ext:string;var foundfile:string):boolean;
|
|
|
+ var
|
|
|
+ found : boolean;
|
|
|
+ hpath : string;
|
|
|
+ begin
|
|
|
+ { look for the include file
|
|
|
+ 1. specified path,path of current inputfile,current dir
|
|
|
+ 2. local includepath
|
|
|
+ 3. global includepath }
|
|
|
+ found:=false;
|
|
|
+ foundfile:='';
|
|
|
+ hpath:='';
|
|
|
+ if path<>'' then
|
|
|
+ begin
|
|
|
+ if not path_absolute(path) then
|
|
|
+ hpath:=current_scanner.inputfile.path^+path
|
|
|
+ else
|
|
|
+ hpath:=path+';'+current_scanner.inputfile.path^;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ hpath:=current_scanner.inputfile.path^;
|
|
|
+ found:=FindFile(name+ext,hpath+';.'+source_info.DirSep,foundfile);
|
|
|
+ if (not found) then
|
|
|
+ found:=current_module.localincludesearchpath.FindFile(name+ext,foundfile);
|
|
|
+ if (not found) then
|
|
|
+ found:=includesearchpath.FindFile(name+ext,foundfile);
|
|
|
+ findincludefile:=found;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ var
|
|
|
+ args,
|
|
|
+ foundfile,
|
|
|
+ hs : string;
|
|
|
+ path : dirstr;
|
|
|
+ name : namestr;
|
|
|
+ ext : extstr;
|
|
|
+ hp : tinputfile;
|
|
|
+ found : boolean;
|
|
|
+ begin
|
|
|
+ current_scanner.skipspace;
|
|
|
+ args:=current_scanner.readcomment;
|
|
|
+ hs:=GetToken(args,' ');
|
|
|
+ if hs='' then
|
|
|
+ exit;
|
|
|
+ if (hs[1]='%') then
|
|
|
+ begin
|
|
|
+ { case insensitive }
|
|
|
+ hs:=upper(hs);
|
|
|
+ { remove %'s }
|
|
|
+ Delete(hs,1,1);
|
|
|
+ if hs[length(hs)]='%' then
|
|
|
+ Delete(hs,length(hs),1);
|
|
|
+ { save old }
|
|
|
+ path:=hs;
|
|
|
+ { first check for internal macros }
|
|
|
+ if hs='TIME' then
|
|
|
+ hs:=gettimestr
|
|
|
+ else
|
|
|
+ if hs='DATE' then
|
|
|
+ hs:=getdatestr
|
|
|
+ else
|
|
|
+ if hs='FILE' then
|
|
|
+ hs:=current_module.sourcefiles.get_file_name(aktfilepos.fileindex)
|
|
|
+ else
|
|
|
+ if hs='LINE' then
|
|
|
+ hs:=tostr(aktfilepos.line)
|
|
|
+ else
|
|
|
+ if hs='FPCVERSION' then
|
|
|
+ hs:=version_string
|
|
|
+ else
|
|
|
+ if hs='FPCTARGET' then
|
|
|
+ hs:=target_cpu_string
|
|
|
+ else
|
|
|
+ if hs='FPCTARGETCPU' then
|
|
|
+ hs:=target_cpu_string
|
|
|
+ else
|
|
|
+ if hs='FPCTARGETOS' then
|
|
|
+ hs:=target_info.shortname
|
|
|
+ else
|
|
|
+ hs:=getenv(hs);
|
|
|
+ if hs='' then
|
|
|
+ Message1(scan_w_include_env_not_found,path);
|
|
|
+ { make it a stringconst }
|
|
|
+ hs:=''''+hs+'''';
|
|
|
+ current_scanner.insertmacro(path,@hs[1],length(hs),
|
|
|
+ current_scanner.line_no,current_scanner.inputfile.ref_index);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ hs:=FixFileName(hs);
|
|
|
+ fsplit(hs,path,name,ext);
|
|
|
+ { try to find the file }
|
|
|
+ found:=findincludefile(path,name,ext,foundfile);
|
|
|
+ if (ext='') then
|
|
|
+ begin
|
|
|
+ { try default extensions .inc , .pp and .pas }
|
|
|
+ if (not found) then
|
|
|
+ found:=findincludefile(path,name,'.inc',foundfile);
|
|
|
+ if (not found) then
|
|
|
+ found:=findincludefile(path,name,target_info.sourceext,foundfile);
|
|
|
+ if (not found) then
|
|
|
+ found:=findincludefile(path,name,target_info.pasext,foundfile);
|
|
|
+ end;
|
|
|
+ if current_scanner.inputfilecount<max_include_nesting then
|
|
|
+ begin
|
|
|
+ inc(current_scanner.inputfilecount);
|
|
|
+ { we need to reread the current char }
|
|
|
+ dec(current_scanner.inputpointer);
|
|
|
+ { shutdown current file }
|
|
|
+ current_scanner.tempcloseinputfile;
|
|
|
+ { load new file }
|
|
|
+ hp:=do_openinputfile(foundfile);
|
|
|
+ current_scanner.addfile(hp);
|
|
|
+ current_module.sourcefiles.register_file(hp);
|
|
|
+ if not current_scanner.openinputfile then
|
|
|
+ Message1(scan_f_cannot_open_includefile,hs);
|
|
|
+ Message1(scan_t_start_include_file,current_scanner.inputfile.path^+current_scanner.inputfile.name^);
|
|
|
+ current_scanner.reload;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_f_include_deep_ten);
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+{*****************************************************************************
|
|
|
+ TMacro
|
|
|
+*****************************************************************************}
|
|
|
+
|
|
|
+ constructor tmacro.create(const n : string);
|
|
|
+ begin
|
|
|
+ inherited createname(n);
|
|
|
+ defined:=true;
|
|
|
+ defined_at_startup:=false;
|
|
|
+ fileinfo:=akttokenpos;
|
|
|
+ is_used:=false;
|
|
|
+ buftext:=nil;
|
|
|
+ buflen:=0;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ destructor tmacro.destroy;
|
|
|
+ begin
|
|
|
+ if assigned(buftext) then
|
|
|
+ freemem(buftext,buflen);
|
|
|
+ inherited destroy;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+{*****************************************************************************
|
|
|
+ Preprocessor writting
|
|
|
+*****************************************************************************}
|
|
|
+
|
|
|
+{$ifdef PREPROCWRITE}
|
|
|
+ constructor tpreprocfile.create(const fn:string);
|
|
|
+ begin
|
|
|
+ { open outputfile }
|
|
|
+ assign(f,fn);
|
|
|
+ {$I-}
|
|
|
+ rewrite(f);
|
|
|
+ {$I+}
|
|
|
+ if ioresult<>0 then
|
|
|
+ Comment(V_Fatal,'can''t create file '+fn);
|
|
|
+ getmem(buf,preprocbufsize);
|
|
|
+ settextbuf(f,buf^,preprocbufsize);
|
|
|
+ { reset }
|
|
|
+ eolfound:=false;
|
|
|
+ spacefound:=false;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ destructor tpreprocfile.destroy;
|
|
|
+ begin
|
|
|
+ close(f);
|
|
|
+ freemem(buf,preprocbufsize);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tpreprocfile.add(const s:string);
|
|
|
+ begin
|
|
|
+ write(f,s);
|
|
|
+ end;
|
|
|
+
|
|
|
+ procedure tpreprocfile.addspace;
|
|
|
+ begin
|
|
|
+ if eolfound then
|
|
|
+ begin
|
|
|
+ writeln(f,'');
|
|
|
+ eolfound:=false;
|
|
|
+ spacefound:=false;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ if spacefound then
|
|
|
+ begin
|
|
|
+ write(f,' ');
|
|
|
+ spacefound:=false;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+{$endif PREPROCWRITE}
|
|
|
+
|
|
|
+
|
|
|
+{*****************************************************************************
|
|
|
+ TPreProcStack
|
|
|
+*****************************************************************************}
|
|
|
+
|
|
|
+ constructor tpreprocstack.create(atyp : preproctyp;a:boolean;n:tpreprocstack);
|
|
|
+ begin
|
|
|
+ accept:=a;
|
|
|
+ typ:=atyp;
|
|
|
+ next:=n;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+{*****************************************************************************
|
|
|
+ TDirectiveItem
|
|
|
+*****************************************************************************}
|
|
|
+
|
|
|
+ constructor TDirectiveItem.Create(const n:string;p:tdirectiveproc);
|
|
|
+ begin
|
|
|
+ inherited CreateName(n);
|
|
|
+ is_conditional:=false;
|
|
|
+ proc:={$ifndef FPCPROCVAR}@{$endif}p;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ constructor TDirectiveItem.CreateCond(const n:string;p:tdirectiveproc);
|
|
|
+ begin
|
|
|
+ inherited CreateName(n);
|
|
|
+ is_conditional:=true;
|
|
|
+ proc:={$ifndef FPCPROCVAR}@{$endif}p;
|
|
|
+ end;
|
|
|
+
|
|
|
+{****************************************************************************
|
|
|
+ TSCANNERFILE
|
|
|
+ ****************************************************************************}
|
|
|
+
|
|
|
+ constructor tscannerfile.create(const fn:string);
|
|
|
+ begin
|
|
|
+ inputfile:=do_openinputfile(fn);
|
|
|
+ if assigned(current_module) then
|
|
|
+ current_module.sourcefiles.register_file(inputfile);
|
|
|
+ { reset localinput }
|
|
|
+ inputbuffer:=nil;
|
|
|
+ inputpointer:=nil;
|
|
|
+ inputstart:=0;
|
|
|
+ { reset scanner }
|
|
|
+ preprocstack:=nil;
|
|
|
+ comment_level:=0;
|
|
|
+ yylexcount:=0;
|
|
|
+ block_type:=bt_general;
|
|
|
+ line_no:=0;
|
|
|
+ lastlinepos:=0;
|
|
|
+ lasttokenpos:=0;
|
|
|
+ lasttoken:=NOTOKEN;
|
|
|
+ nexttoken:=NOTOKEN;
|
|
|
+ lastasmgetchar:=#0;
|
|
|
+ ignoredirectives:=TStringList.Create;
|
|
|
+ in_asm_string:=false;
|
|
|
+ macros:=tdictionary.create;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.firstfile;
|
|
|
+ begin
|
|
|
+ { load block }
|
|
|
+ if not openinputfile then
|
|
|
+ Message1(scan_f_cannot_open_input,inputfile.name^);
|
|
|
+ reload;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ destructor tscannerfile.destroy;
|
|
|
+ begin
|
|
|
+ if assigned(current_module) and
|
|
|
+ (current_module.state=ms_compiled) and
|
|
|
+ (status.errorcount=0) then
|
|
|
+ checkpreprocstack
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ while assigned(preprocstack) do
|
|
|
+ poppreprocstack;
|
|
|
+ end;
|
|
|
+ if not inputfile.closed then
|
|
|
+ closeinputfile;
|
|
|
+ ignoredirectives.free;
|
|
|
+ macros.free;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.def_macro(const s : string);
|
|
|
+ var
|
|
|
+ mac : tmacro;
|
|
|
+ begin
|
|
|
+ mac:=tmacro(macros.search(s));
|
|
|
+ if mac=nil then
|
|
|
+ begin
|
|
|
+ mac:=tmacro.create(s);
|
|
|
+ Message1(parser_c_macro_defined,mac.name);
|
|
|
+ macros.insert(mac);
|
|
|
+ end;
|
|
|
+ mac.defined:=true;
|
|
|
+ mac.defined_at_startup:=true;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.set_macro(const s : string;value : string);
|
|
|
+ var
|
|
|
+ mac : tmacro;
|
|
|
+ begin
|
|
|
+ mac:=tmacro(macros.search(s));
|
|
|
+ if mac=nil then
|
|
|
+ begin
|
|
|
+ mac:=tmacro.create(s);
|
|
|
+ macros.insert(mac);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ if assigned(mac.buftext) then
|
|
|
+ freemem(mac.buftext,mac.buflen);
|
|
|
+ end;
|
|
|
+ Message2(parser_c_macro_set_to,mac.name,value);
|
|
|
+ mac.buflen:=length(value);
|
|
|
+ getmem(mac.buftext,mac.buflen);
|
|
|
+ move(value[1],mac.buftext^,mac.buflen);
|
|
|
+ mac.defined:=true;
|
|
|
+ mac.defined_at_startup:=true;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ function tscannerfile.openinputfile:boolean;
|
|
|
+ begin
|
|
|
+ openinputfile:=inputfile.open;
|
|
|
+ { load buffer }
|
|
|
+ inputbuffer:=inputfile.buf;
|
|
|
+ inputpointer:=inputfile.buf;
|
|
|
+ inputstart:=inputfile.bufstart;
|
|
|
+ { line }
|
|
|
+ line_no:=0;
|
|
|
+ lastlinepos:=0;
|
|
|
+ lasttokenpos:=0;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.closeinputfile;
|
|
|
+ begin
|
|
|
+ inputfile.close;
|
|
|
+ { reset buffer }
|
|
|
+ inputbuffer:=nil;
|
|
|
+ inputpointer:=nil;
|
|
|
+ inputstart:=0;
|
|
|
+ { reset line }
|
|
|
+ line_no:=0;
|
|
|
+ lastlinepos:=0;
|
|
|
+ lasttokenpos:=0;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ function tscannerfile.tempopeninputfile:boolean;
|
|
|
+ begin
|
|
|
+ if inputfile.is_macro then
|
|
|
+ exit;
|
|
|
+ tempopeninputfile:=inputfile.tempopen;
|
|
|
+ { reload buffer }
|
|
|
+ inputbuffer:=inputfile.buf;
|
|
|
+ inputpointer:=inputfile.buf;
|
|
|
+ inputstart:=inputfile.bufstart;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.tempcloseinputfile;
|
|
|
+ begin
|
|
|
+ if inputfile.closed or inputfile.is_macro then
|
|
|
+ exit;
|
|
|
+ inputfile.setpos(inputstart+(inputpointer-inputbuffer));
|
|
|
+ inputfile.tempclose;
|
|
|
+ { reset buffer }
|
|
|
+ inputbuffer:=nil;
|
|
|
+ inputpointer:=nil;
|
|
|
+ inputstart:=0;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.saveinputfile;
|
|
|
+ begin
|
|
|
+ inputfile.saveinputpointer:=inputpointer;
|
|
|
+ inputfile.savelastlinepos:=lastlinepos;
|
|
|
+ inputfile.saveline_no:=line_no;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.restoreinputfile;
|
|
|
+ begin
|
|
|
+ inputpointer:=inputfile.saveinputpointer;
|
|
|
+ lastlinepos:=inputfile.savelastlinepos;
|
|
|
+ line_no:=inputfile.saveline_no;
|
|
|
+ if not inputfile.is_macro then
|
|
|
+ parser_current_file:=inputfile.name^;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.nextfile;
|
|
|
+ var
|
|
|
+ to_dispose : tinputfile;
|
|
|
+ begin
|
|
|
+ if assigned(inputfile.next) then
|
|
|
+ begin
|
|
|
+ if inputfile.is_macro then
|
|
|
+ to_dispose:=inputfile
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ to_dispose:=nil;
|
|
|
+ dec(inputfilecount);
|
|
|
+ end;
|
|
|
+ { we can allways close the file, no ? }
|
|
|
+ inputfile.close;
|
|
|
+ inputfile:=inputfile.next;
|
|
|
+ if assigned(to_dispose) then
|
|
|
+ to_dispose.free;
|
|
|
+ restoreinputfile;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.addfile(hp:tinputfile);
|
|
|
+ begin
|
|
|
+ saveinputfile;
|
|
|
+ { add to list }
|
|
|
+ hp.next:=inputfile;
|
|
|
+ inputfile:=hp;
|
|
|
+ { load new inputfile }
|
|
|
+ restoreinputfile;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.reload;
|
|
|
+ begin
|
|
|
+ with inputfile do
|
|
|
+ begin
|
|
|
+ { when nothing more to read then leave immediatly, so we
|
|
|
+ don't change the aktfilepos and leave it point to the last
|
|
|
+ char }
|
|
|
+ if (c=#26) and (not assigned(next)) then
|
|
|
+ exit;
|
|
|
+ repeat
|
|
|
+ { still more to read?, then change the #0 to a space so its seen
|
|
|
+ as a seperator, this can't be used for macro's which can change
|
|
|
+ the place of the #0 in the buffer with tempopen }
|
|
|
+ if (c=#0) and (bufsize>0) and
|
|
|
+ not(inputfile.is_macro) and
|
|
|
+ (inputpointer-inputbuffer<bufsize) then
|
|
|
+ begin
|
|
|
+ c:=' ';
|
|
|
+ inc(inputpointer);
|
|
|
+ exit;
|
|
|
+ end;
|
|
|
+ { can we read more from this file ? }
|
|
|
+ if (c<>#26) and (not endoffile) then
|
|
|
+ begin
|
|
|
+ readbuf;
|
|
|
+ inputpointer:=buf;
|
|
|
+ inputbuffer:=buf;
|
|
|
+ inputstart:=bufstart;
|
|
|
+ { first line? }
|
|
|
+ if line_no=0 then
|
|
|
+ begin
|
|
|
+ line_no:=1;
|
|
|
+ if cs_asm_source in aktglobalswitches then
|
|
|
+ inputfile.setline(line_no,bufstart);
|
|
|
+ end;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ { load eof position in tokenpos/aktfilepos }
|
|
|
+ gettokenpos;
|
|
|
+ { close file }
|
|
|
+ closeinputfile;
|
|
|
+ { no next module, than EOF }
|
|
|
+ if not assigned(inputfile.next) then
|
|
|
+ begin
|
|
|
+ c:=#26;
|
|
|
+ exit;
|
|
|
+ end;
|
|
|
+ { load next file and reopen it }
|
|
|
+ nextfile;
|
|
|
+ tempopeninputfile;
|
|
|
+ { status }
|
|
|
+ Message1(scan_t_back_in,inputfile.name^);
|
|
|
+ end;
|
|
|
+ { load next char }
|
|
|
+ c:=inputpointer^;
|
|
|
+ inc(inputpointer);
|
|
|
+ until c<>#0; { if also end, then reload again }
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.insertmacro(const macname:string;p:pchar;len,line,fileindex:longint);
|
|
|
+ var
|
|
|
+ hp : tinputfile;
|
|
|
+ begin
|
|
|
+ { save old postion }
|
|
|
+ dec(inputpointer);
|
|
|
+ tempcloseinputfile;
|
|
|
+ { create macro 'file' }
|
|
|
+ { use special name to dispose after !! }
|
|
|
+ hp:=do_openinputfile('_Macro_.'+macname);
|
|
|
+ addfile(hp);
|
|
|
+ with inputfile do
|
|
|
+ begin
|
|
|
+ setmacro(p,len);
|
|
|
+ { local buffer }
|
|
|
+ inputbuffer:=buf;
|
|
|
+ inputpointer:=buf;
|
|
|
+ inputstart:=bufstart;
|
|
|
+ ref_index:=fileindex;
|
|
|
+ end;
|
|
|
+ { reset line }
|
|
|
+ line_no:=line;
|
|
|
+ lastlinepos:=0;
|
|
|
+ lasttokenpos:=0;
|
|
|
+ { load new c }
|
|
|
+ c:=inputpointer^;
|
|
|
+ inc(inputpointer);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.gettokenpos;
|
|
|
+ { load the values of tokenpos and lasttokenpos }
|
|
|
+ begin
|
|
|
+ lasttokenpos:=inputstart+(inputpointer-inputbuffer);
|
|
|
+ akttokenpos.line:=line_no;
|
|
|
+ akttokenpos.column:=lasttokenpos-lastlinepos;
|
|
|
+ akttokenpos.fileindex:=inputfile.ref_index;
|
|
|
+ aktfilepos:=akttokenpos;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.inc_comment_level;
|
|
|
+ var
|
|
|
+ oldaktfilepos : tfileposinfo;
|
|
|
+ begin
|
|
|
+ if (m_nested_comment in aktmodeswitches) then
|
|
|
+ inc(comment_level)
|
|
|
+ else
|
|
|
+ comment_level:=1;
|
|
|
+ if (comment_level>1) then
|
|
|
+ begin
|
|
|
+ oldaktfilepos:=aktfilepos;
|
|
|
+ gettokenpos; { update for warning }
|
|
|
+ Message1(scan_w_comment_level,tostr(comment_level));
|
|
|
+ aktfilepos:=oldaktfilepos;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.dec_comment_level;
|
|
|
+ begin
|
|
|
+ if (m_nested_comment in aktmodeswitches) then
|
|
|
+ dec(comment_level)
|
|
|
+ else
|
|
|
+ comment_level:=0;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.linebreak;
|
|
|
+ var
|
|
|
+ cur : char;
|
|
|
+ oldtokenpos,
|
|
|
+ oldaktfilepos : tfileposinfo;
|
|
|
+ begin
|
|
|
+ with inputfile do
|
|
|
+ begin
|
|
|
+ if (byte(inputpointer^)=0) and not(endoffile) then
|
|
|
+ begin
|
|
|
+ cur:=c;
|
|
|
+ reload;
|
|
|
+ if byte(cur)+byte(c)<>23 then
|
|
|
+ dec(inputpointer);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ { Support all combination of #10 and #13 as line break }
|
|
|
+ if (byte(inputpointer^)+byte(c)=23) then
|
|
|
+ inc(inputpointer);
|
|
|
+ end;
|
|
|
+ { Always return #10 as line break }
|
|
|
+ c:=#10;
|
|
|
+ { increase line counters }
|
|
|
+ lastlinepos:=bufstart+(inputpointer-inputbuffer);
|
|
|
+ inc(line_no);
|
|
|
+ { update linebuffer }
|
|
|
+ if cs_asm_source in aktglobalswitches then
|
|
|
+ inputfile.setline(line_no,lastlinepos);
|
|
|
+ { update for status and call the show status routine,
|
|
|
+ but don't touch aktfilepos ! }
|
|
|
+ oldaktfilepos:=aktfilepos;
|
|
|
+ oldtokenpos:=akttokenpos;
|
|
|
+ gettokenpos; { update for v_status }
|
|
|
+ inc(status.compiledlines);
|
|
|
+ ShowStatus;
|
|
|
+ aktfilepos:=oldaktfilepos;
|
|
|
+ akttokenpos:=oldtokenpos;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.illegal_char(c:char);
|
|
|
+ var
|
|
|
+ s : string;
|
|
|
+ begin
|
|
|
+ if c in [#32..#255] then
|
|
|
+ s:=''''+c+''''
|
|
|
+ else
|
|
|
+ s:='#'+tostr(ord(c));
|
|
|
+ Message2(scan_f_illegal_char,s,'$'+hexstr(ord(c),2));
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.end_of_file;
|
|
|
+ begin
|
|
|
+ checkpreprocstack;
|
|
|
+ Message(scan_f_end_of_file);
|
|
|
+ end;
|
|
|
+
|
|
|
+ {-------------------------------------------
|
|
|
+ IF Conditional Handling
|
|
|
+ -------------------------------------------}
|
|
|
+
|
|
|
+ procedure tscannerfile.checkpreprocstack;
|
|
|
+ begin
|
|
|
+ { check for missing ifdefs }
|
|
|
+ while assigned(preprocstack) do
|
|
|
+ begin
|
|
|
+ Message4(scan_e_endif_expected,preprocstring[preprocstack.typ],preprocstack.name,
|
|
|
+ preprocstack.owner.inputfile.name^,tostr(preprocstack.line_nb));
|
|
|
+ poppreprocstack;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.poppreprocstack;
|
|
|
+ var
|
|
|
+ hp : tpreprocstack;
|
|
|
+ begin
|
|
|
+ if assigned(preprocstack) then
|
|
|
+ begin
|
|
|
+ Message1(scan_c_endif_found,preprocstack.name);
|
|
|
+ hp:=preprocstack.next;
|
|
|
+ preprocstack.free;
|
|
|
+ preprocstack:=hp;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_e_endif_without_if);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.addpreprocstack(atyp : preproctyp;a:boolean;const s:string;w:longint);
|
|
|
+ begin
|
|
|
+ preprocstack:=tpreprocstack.create(atyp,((preprocstack=nil) or preprocstack.accept) and a,preprocstack);
|
|
|
+ preprocstack.name:=s;
|
|
|
+ preprocstack.line_nb:=line_no;
|
|
|
+ preprocstack.owner:=self;
|
|
|
+ if preprocstack.accept then
|
|
|
+ Message2(w,preprocstack.name,'accepted')
|
|
|
+ else
|
|
|
+ Message2(w,preprocstack.name,'rejected');
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.elsepreprocstack;
|
|
|
+ begin
|
|
|
+ if assigned(preprocstack) and
|
|
|
+ (preprocstack.typ<>pp_else) then
|
|
|
+ begin
|
|
|
+ if (preprocstack.typ=pp_elseif) then
|
|
|
+ preprocstack.accept:=false
|
|
|
+ else
|
|
|
+ if (not(assigned(preprocstack.next)) or (preprocstack.next.accept)) then
|
|
|
+ preprocstack.accept:=not preprocstack.accept;
|
|
|
+ preprocstack.typ:=pp_else;
|
|
|
+ preprocstack.line_nb:=line_no;
|
|
|
+ if preprocstack.accept then
|
|
|
+ Message2(scan_c_else_found,preprocstack.name,'accepted')
|
|
|
+ else
|
|
|
+ Message2(scan_c_else_found,preprocstack.name,'rejected');
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_e_endif_without_if);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.elseifpreprocstack(accept:boolean);
|
|
|
+ begin
|
|
|
+ if assigned(preprocstack) and
|
|
|
+ (preprocstack.typ in [pp_if,pp_elseif]) then
|
|
|
+ begin
|
|
|
+ { when the branch is accepted we use pp_elseif so we know that
|
|
|
+ all the next branches need to be rejected. when this branch is still
|
|
|
+ not accepted then leave it at pp_if }
|
|
|
+ if (preprocstack.typ=pp_elseif) then
|
|
|
+ preprocstack.accept:=false
|
|
|
+ else
|
|
|
+ if (preprocstack.typ=pp_if) and preprocstack.accept then
|
|
|
+ begin
|
|
|
+ preprocstack.accept:=false;
|
|
|
+ preprocstack.typ:=pp_elseif;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ if accept and
|
|
|
+ (not(assigned(preprocstack.next)) or (preprocstack.next.accept)) then
|
|
|
+ begin
|
|
|
+ preprocstack.accept:=true;
|
|
|
+ preprocstack.typ:=pp_elseif;
|
|
|
+ end;
|
|
|
+
|
|
|
+ preprocstack.line_nb:=line_no;
|
|
|
+ if preprocstack.accept then
|
|
|
+ Message2(scan_c_else_found,preprocstack.name,'accepted')
|
|
|
+ else
|
|
|
+ Message2(scan_c_else_found,preprocstack.name,'rejected');
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_e_endif_without_if);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.handleconditional(p:tdirectiveitem);
|
|
|
+ var
|
|
|
+ oldaktfilepos : tfileposinfo;
|
|
|
+ begin
|
|
|
+ oldaktfilepos:=aktfilepos;
|
|
|
+ repeat
|
|
|
+ current_scanner.gettokenpos;
|
|
|
+ p.proc{$ifdef FPCPROCVAR}(){$endif};
|
|
|
+ { accept the text ? }
|
|
|
+ if (current_scanner.preprocstack=nil) or current_scanner.preprocstack.accept then
|
|
|
+ break
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ current_scanner.gettokenpos;
|
|
|
+ Message(scan_c_skipping_until);
|
|
|
+ repeat
|
|
|
+ current_scanner.skipuntildirective;
|
|
|
+ if not (m_mac in aktmodeswitches) then
|
|
|
+ p:=tdirectiveitem(turbo_scannerdirectives.search(current_scanner.readid))
|
|
|
+ else
|
|
|
+ p:=tdirectiveitem(mac_scannerdirectives.search(current_scanner.readid));
|
|
|
+ until assigned(p) and (p.is_conditional);
|
|
|
+ current_scanner.gettokenpos;
|
|
|
+ Message1(scan_d_handling_switch,'$'+p.name);
|
|
|
+ end;
|
|
|
+ until false;
|
|
|
+ aktfilepos:=oldaktfilepos;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.handledirectives;
|
|
|
+ var
|
|
|
+ t : tdirectiveitem;
|
|
|
+ hs : string;
|
|
|
+ begin
|
|
|
+ gettokenpos;
|
|
|
+ readchar; {Remove the $}
|
|
|
+ hs:=readid;
|
|
|
+{$ifdef PREPROCWRITE}
|
|
|
+ if parapreprocess then
|
|
|
+ begin
|
|
|
+ t:=Get_Directive(hs);
|
|
|
+ if not(is_conditional(t) or (t=_DIR_DEFINE) or (t=_DIR_UNDEF)) then
|
|
|
+ begin
|
|
|
+ preprocfile^.AddSpace;
|
|
|
+ preprocfile^.Add('{$'+hs+current_scanner.readcomment+'}');
|
|
|
+ exit;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+{$endif PREPROCWRITE}
|
|
|
+ { skip this directive? }
|
|
|
+ if (ignoredirectives.find(hs)<>nil) then
|
|
|
+ begin
|
|
|
+ if (comment_level>0) then
|
|
|
+ readcomment;
|
|
|
+ { we've read the whole comment }
|
|
|
+ aktcommentstyle:=comment_none;
|
|
|
+ exit;
|
|
|
+ end;
|
|
|
+ if hs='' then
|
|
|
+ begin
|
|
|
+ Message1(scan_w_illegal_switch,'$'+hs);
|
|
|
+ end;
|
|
|
+ { Check for compiler switches }
|
|
|
+ while (length(hs)=1) and (c in ['-','+']) do
|
|
|
+ begin
|
|
|
+ HandleSwitch(hs[1],c);
|
|
|
+ current_scanner.readchar; {Remove + or -}
|
|
|
+ if c=',' then
|
|
|
+ begin
|
|
|
+ current_scanner.readchar; {Remove , }
|
|
|
+ { read next switch, support $v+,$+}
|
|
|
+ hs:=current_scanner.readid;
|
|
|
+ if (hs='') then
|
|
|
+ begin
|
|
|
+ if (c='$') and (m_fpc in aktmodeswitches) then
|
|
|
+ begin
|
|
|
+ current_scanner.readchar; { skip $ }
|
|
|
+ hs:=current_scanner.readid;
|
|
|
+ end;
|
|
|
+ if (hs='') then
|
|
|
+ Message1(scan_w_illegal_directive,'$'+c);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message1(scan_d_handling_switch,'$'+hs);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ hs:='';
|
|
|
+ end;
|
|
|
+ { directives may follow switches after a , }
|
|
|
+ if hs<>'' then
|
|
|
+ begin
|
|
|
+ if not (m_mac in aktmodeswitches) then
|
|
|
+ t:=tdirectiveitem(turbo_scannerdirectives.search(hs))
|
|
|
+ else
|
|
|
+ t:=tdirectiveitem(mac_scannerdirectives.search(hs));
|
|
|
+
|
|
|
+ if assigned(t) then
|
|
|
+ begin
|
|
|
+ if t.is_conditional then
|
|
|
+ handleconditional(t)
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ Message1(scan_d_handling_switch,'$'+hs);
|
|
|
+ t.proc{$ifdef FPCPROCVAR}(){$endif};
|
|
|
+ end;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ current_scanner.ignoredirectives.insert(hs);
|
|
|
+ Message1(scan_w_illegal_directive,'$'+hs);
|
|
|
+ end;
|
|
|
+ { conditionals already read the comment }
|
|
|
+ if (current_scanner.comment_level>0) then
|
|
|
+ current_scanner.readcomment;
|
|
|
+ { we've read the whole comment }
|
|
|
+ aktcommentstyle:=comment_none;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.readchar;
|
|
|
+ begin
|
|
|
+ c:=inputpointer^;
|
|
|
+ if c=#0 then
|
|
|
+ reload
|
|
|
+ else
|
|
|
+ inc(inputpointer);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.readstring;
|
|
|
+ var
|
|
|
+ i : longint;
|
|
|
+ begin
|
|
|
+ i:=0;
|
|
|
+ repeat
|
|
|
+ case c of
|
|
|
+ '_',
|
|
|
+ '0'..'9',
|
|
|
+ 'A'..'Z' :
|
|
|
+ begin
|
|
|
+ if i<255 then
|
|
|
+ begin
|
|
|
+ inc(i);
|
|
|
+ orgpattern[i]:=c;
|
|
|
+ pattern[i]:=c;
|
|
|
+ end;
|
|
|
+ c:=inputpointer^;
|
|
|
+ inc(inputpointer);
|
|
|
+ end;
|
|
|
+ 'a'..'z' :
|
|
|
+ begin
|
|
|
+ if i<255 then
|
|
|
+ begin
|
|
|
+ inc(i);
|
|
|
+ orgpattern[i]:=c;
|
|
|
+ pattern[i]:=chr(ord(c)-32)
|
|
|
+ end;
|
|
|
+ c:=inputpointer^;
|
|
|
+ inc(inputpointer);
|
|
|
+ end;
|
|
|
+ #0 :
|
|
|
+ reload;
|
|
|
+ else
|
|
|
+ break;
|
|
|
+ end;
|
|
|
+ until false;
|
|
|
+ orgpattern[0]:=chr(i);
|
|
|
+ pattern[0]:=chr(i);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.readnumber;
|
|
|
+ var
|
|
|
+ base,
|
|
|
+ i : longint;
|
|
|
+ begin
|
|
|
+ case c of
|
|
|
+ '%' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ base:=2;
|
|
|
+ pattern[1]:='%';
|
|
|
+ i:=1;
|
|
|
+ end;
|
|
|
+ '&' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ base:=8;
|
|
|
+ pattern[1]:='&';
|
|
|
+ i:=1;
|
|
|
+ end;
|
|
|
+ '$' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ base:=16;
|
|
|
+ pattern[1]:='$';
|
|
|
+ i:=1;
|
|
|
+ end;
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ base:=10;
|
|
|
+ i:=0;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ while ((base>=10) and (c in ['0'..'9'])) or
|
|
|
+ ((base=16) and (c in ['A'..'F','a'..'f'])) or
|
|
|
+ ((base=8) and (c in ['0'..'7'])) or
|
|
|
+ ((base=2) and (c in ['0'..'1'])) do
|
|
|
+ begin
|
|
|
+ if i<255 then
|
|
|
+ begin
|
|
|
+ inc(i);
|
|
|
+ pattern[i]:=c;
|
|
|
+ end;
|
|
|
+ readchar;
|
|
|
+ end;
|
|
|
+ pattern[0]:=chr(i);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ function tscannerfile.readid:string;
|
|
|
+ begin
|
|
|
+ readstring;
|
|
|
+ readid:=pattern;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ function tscannerfile.readval:longint;
|
|
|
+ var
|
|
|
+ l : longint;
|
|
|
+ w : integer;
|
|
|
+ begin
|
|
|
+ readnumber;
|
|
|
+ valint(pattern,l,w);
|
|
|
+ readval:=l;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ function tscannerfile.readval_asstring:string;
|
|
|
+ begin
|
|
|
+ readnumber;
|
|
|
+ readval_asstring:=pattern;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ function tscannerfile.readcomment:string;
|
|
|
+ var
|
|
|
+ i : longint;
|
|
|
+ begin
|
|
|
+ i:=0;
|
|
|
+ repeat
|
|
|
+ case c of
|
|
|
+ '{' :
|
|
|
+ begin
|
|
|
+ if aktcommentstyle=comment_tp then
|
|
|
+ inc_comment_level;
|
|
|
+ end;
|
|
|
+ '}' :
|
|
|
+ begin
|
|
|
+ if aktcommentstyle=comment_tp then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ dec_comment_level;
|
|
|
+ if comment_level=0 then
|
|
|
+ break
|
|
|
+ else
|
|
|
+ continue;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ '*' :
|
|
|
+ begin
|
|
|
+ if aktcommentstyle=comment_oldtp then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if c=')' then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ dec_comment_level;
|
|
|
+ break;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ { Add both characters !!}
|
|
|
+ if (i<255) then
|
|
|
+ begin
|
|
|
+ inc(i);
|
|
|
+ readcomment[i]:='*';
|
|
|
+ if (i<255) then
|
|
|
+ begin
|
|
|
+ inc(i);
|
|
|
+ readcomment[i]:='*';
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ { Not old TP comment, so add...}
|
|
|
+ begin
|
|
|
+ if (i<255) then
|
|
|
+ begin
|
|
|
+ inc(i);
|
|
|
+ readcomment[i]:='*';
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ #10,#13 :
|
|
|
+ linebreak;
|
|
|
+ #26 :
|
|
|
+ end_of_file;
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ if (i<255) then
|
|
|
+ begin
|
|
|
+ inc(i);
|
|
|
+ readcomment[i]:=c;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ readchar;
|
|
|
+ until false;
|
|
|
+ readcomment[0]:=chr(i);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ function tscannerfile.readquotedstring:string;
|
|
|
+ var
|
|
|
+ i : longint;
|
|
|
+ msgwritten : boolean;
|
|
|
+ begin
|
|
|
+ i:=0;
|
|
|
+ msgwritten:=false;
|
|
|
+ if (c='''') then
|
|
|
+ begin
|
|
|
+ repeat
|
|
|
+ readchar;
|
|
|
+ case c of
|
|
|
+ #26 :
|
|
|
+ end_of_file;
|
|
|
+ #10,#13 :
|
|
|
+ Message(scan_f_string_exceeds_line);
|
|
|
+ '''' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if c<>'''' then
|
|
|
+ break;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ if i<255 then
|
|
|
+ begin
|
|
|
+ inc(i);
|
|
|
+ result[i]:=c;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ if not msgwritten then
|
|
|
+ begin
|
|
|
+ Message(scan_e_string_exceeds_255_chars);
|
|
|
+ msgwritten:=true;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ until false;
|
|
|
+ end;
|
|
|
+ result[0]:=chr(i);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ function tscannerfile.readstate:char;
|
|
|
+ var
|
|
|
+ state : char;
|
|
|
+ begin
|
|
|
+ state:=' ';
|
|
|
+ if c=' ' then
|
|
|
+ begin
|
|
|
+ current_scanner.skipspace;
|
|
|
+ current_scanner.readid;
|
|
|
+ if pattern='ON' then
|
|
|
+ state:='+'
|
|
|
+ else
|
|
|
+ if pattern='OFF' then
|
|
|
+ state:='-';
|
|
|
+ end
|
|
|
+ else
|
|
|
+ state:=c;
|
|
|
+ if not (state in ['+','-']) then
|
|
|
+ Message(scan_e_wrong_switch_toggle);
|
|
|
+ readstate:=state;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.skipspace;
|
|
|
+ begin
|
|
|
+ repeat
|
|
|
+ case c of
|
|
|
+ #26 :
|
|
|
+ begin
|
|
|
+ reload;
|
|
|
+ if (c=#26) and not assigned(inputfile.next) then
|
|
|
+ break;
|
|
|
+ continue;
|
|
|
+ end;
|
|
|
+ #10,
|
|
|
+ #13 :
|
|
|
+ linebreak;
|
|
|
+ #9,#11,#12,' ' :
|
|
|
+ ;
|
|
|
+ else
|
|
|
+ break;
|
|
|
+ end;
|
|
|
+ readchar;
|
|
|
+ until false;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.skipuntildirective;
|
|
|
+ var
|
|
|
+ found : longint;
|
|
|
+ next_char_loaded : boolean;
|
|
|
+ begin
|
|
|
+ found:=0;
|
|
|
+ next_char_loaded:=false;
|
|
|
+ repeat
|
|
|
+ case c of
|
|
|
+ #10,
|
|
|
+ #13 :
|
|
|
+ linebreak;
|
|
|
+ #26 :
|
|
|
+ begin
|
|
|
+ reload;
|
|
|
+ if (c=#26) and not assigned(inputfile.next) then
|
|
|
+ end_of_file;
|
|
|
+ continue;
|
|
|
+ end;
|
|
|
+ '{' :
|
|
|
+ begin
|
|
|
+ if (aktcommentstyle in [comment_tp,comment_none]) then
|
|
|
+ begin
|
|
|
+ aktcommentstyle:=comment_tp;
|
|
|
+ if (comment_level=0) then
|
|
|
+ found:=1;
|
|
|
+ inc_comment_level;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ '*' :
|
|
|
+ begin
|
|
|
+ if (aktcommentstyle=comment_oldtp) then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if c=')' then
|
|
|
+ begin
|
|
|
+ dec_comment_level;
|
|
|
+ found:=0;
|
|
|
+ aktcommentstyle:=comment_none;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ next_char_loaded:=true;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ found := 0;
|
|
|
+ end;
|
|
|
+ '}' :
|
|
|
+ begin
|
|
|
+ if (aktcommentstyle=comment_tp) then
|
|
|
+ begin
|
|
|
+ dec_comment_level;
|
|
|
+ if (comment_level=0) then
|
|
|
+ aktcommentstyle:=comment_none;
|
|
|
+ found:=0;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ '$' :
|
|
|
+ begin
|
|
|
+ if found=1 then
|
|
|
+ found:=2;
|
|
|
+ end;
|
|
|
+ '''' :
|
|
|
+ if (aktcommentstyle=comment_none) then
|
|
|
+ begin
|
|
|
+ repeat
|
|
|
+ readchar;
|
|
|
+ case c of
|
|
|
+ #26 :
|
|
|
+ end_of_file;
|
|
|
+ #10,#13 :
|
|
|
+ break;
|
|
|
+ '''' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if c<>'''' then
|
|
|
+ begin
|
|
|
+ next_char_loaded:=true;
|
|
|
+ break;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ until false;
|
|
|
+ end;
|
|
|
+ '(' :
|
|
|
+ begin
|
|
|
+ if (aktcommentstyle=comment_none) then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if c='*' then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if c='$' then
|
|
|
+ begin
|
|
|
+ found:=2;
|
|
|
+ inc_comment_level;
|
|
|
+ aktcommentstyle:=comment_oldtp;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ skipoldtpcomment;
|
|
|
+ next_char_loaded:=true;
|
|
|
+ end;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ next_char_loaded:=true;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ found:=0;
|
|
|
+ end;
|
|
|
+ '/' :
|
|
|
+ begin
|
|
|
+ if (aktcommentstyle=comment_none) then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if c='/' then
|
|
|
+ skipdelphicomment;
|
|
|
+ next_char_loaded:=true;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ found:=0;
|
|
|
+ end;
|
|
|
+ else
|
|
|
+ found:=0;
|
|
|
+ end;
|
|
|
+ if next_char_loaded then
|
|
|
+ next_char_loaded:=false
|
|
|
+ else
|
|
|
+ readchar;
|
|
|
+ until (found=2);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+{****************************************************************************
|
|
|
+ Comment Handling
|
|
|
+****************************************************************************}
|
|
|
+
|
|
|
+ procedure tscannerfile.skipcomment;
|
|
|
+ begin
|
|
|
+ aktcommentstyle:=comment_tp;
|
|
|
+ readchar;
|
|
|
+ inc_comment_level;
|
|
|
+ { handle compiler switches }
|
|
|
+ if (c='$') then
|
|
|
+ handledirectives;
|
|
|
+ { handle_switches can dec comment_level, }
|
|
|
+ while (comment_level>0) do
|
|
|
+ begin
|
|
|
+ case c of
|
|
|
+ '{' :
|
|
|
+ inc_comment_level;
|
|
|
+ '}' :
|
|
|
+ dec_comment_level;
|
|
|
+ #10,#13 :
|
|
|
+ linebreak;
|
|
|
+ #26 :
|
|
|
+ begin
|
|
|
+ reload;
|
|
|
+ if (c=#26) and not assigned(inputfile.next) then
|
|
|
+ end_of_file;
|
|
|
+ continue;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ readchar;
|
|
|
+ end;
|
|
|
+ aktcommentstyle:=comment_none;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.skipdelphicomment;
|
|
|
+ begin
|
|
|
+ aktcommentstyle:=comment_delphi;
|
|
|
+ inc_comment_level;
|
|
|
+ readchar;
|
|
|
+ { this is not supported }
|
|
|
+ if c='$' then
|
|
|
+ Message(scan_w_wrong_styled_switch);
|
|
|
+ { skip comment }
|
|
|
+ while not (c in [#10,#13,#26]) do
|
|
|
+ readchar;
|
|
|
+ dec_comment_level;
|
|
|
+ aktcommentstyle:=comment_none;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tscannerfile.skipoldtpcomment;
|
|
|
+ var
|
|
|
+ found : longint;
|
|
|
+ begin
|
|
|
+ aktcommentstyle:=comment_oldtp;
|
|
|
+ inc_comment_level;
|
|
|
+ { only load a char if last already processed,
|
|
|
+ was cause of bug1634 PM }
|
|
|
+ if c=#0 then
|
|
|
+ readchar;
|
|
|
+ { this is now supported }
|
|
|
+ if (c='$') then
|
|
|
+ handledirectives;
|
|
|
+ { skip comment }
|
|
|
+ while (comment_level>0) do
|
|
|
+ begin
|
|
|
+ found:=0;
|
|
|
+ repeat
|
|
|
+ case c of
|
|
|
+ #26 :
|
|
|
+ begin
|
|
|
+ reload;
|
|
|
+ if (c=#26) and not assigned(inputfile.next) then
|
|
|
+ end_of_file;
|
|
|
+ continue;
|
|
|
+ end;
|
|
|
+ #10,#13 :
|
|
|
+ linebreak;
|
|
|
+ '*' :
|
|
|
+ begin
|
|
|
+ if found=3 then
|
|
|
+ found:=4
|
|
|
+ else
|
|
|
+ found:=1;
|
|
|
+ end;
|
|
|
+ ')' :
|
|
|
+ begin
|
|
|
+ if found in [1,4] then
|
|
|
+ begin
|
|
|
+ dec_comment_level;
|
|
|
+ if comment_level=0 then
|
|
|
+ found:=2
|
|
|
+ else
|
|
|
+ found:=0;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ '(' :
|
|
|
+ begin
|
|
|
+ if found=4 then
|
|
|
+ inc_comment_level;
|
|
|
+ found:=3;
|
|
|
+ end;
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ if found=4 then
|
|
|
+ inc_comment_level;
|
|
|
+ found:=0;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ readchar;
|
|
|
+ until (found=2);
|
|
|
+ end;
|
|
|
+ aktcommentstyle:=comment_none;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+{****************************************************************************
|
|
|
+ Token Scanner
|
|
|
+****************************************************************************}
|
|
|
+
|
|
|
+ procedure tscannerfile.readtoken;
|
|
|
+ var
|
|
|
+ code : integer;
|
|
|
+ len,
|
|
|
+ low,high,mid : longint;
|
|
|
+ m : longint;
|
|
|
+ mac : tmacro;
|
|
|
+ asciinr : string[6];
|
|
|
+ msgwritten,
|
|
|
+ iswidestring : boolean;
|
|
|
+ label
|
|
|
+ exit_label;
|
|
|
+ begin
|
|
|
+ if localswitcheschanged then
|
|
|
+ begin
|
|
|
+ aktlocalswitches:=nextaktlocalswitches;
|
|
|
+ localswitcheschanged:=false;
|
|
|
+ end;
|
|
|
+ { was there already a token read, then return that token }
|
|
|
+ if nexttoken<>NOTOKEN then
|
|
|
+ begin
|
|
|
+ token:=nexttoken;
|
|
|
+ nexttoken:=NOTOKEN;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ { Skip all spaces and comments }
|
|
|
+ repeat
|
|
|
+ case c of
|
|
|
+ '{' :
|
|
|
+ skipcomment;
|
|
|
+ #26 :
|
|
|
+ begin
|
|
|
+ reload;
|
|
|
+ if (c=#26) and not assigned(inputfile.next) then
|
|
|
+ break;
|
|
|
+ end;
|
|
|
+ ' ',#9..#13 :
|
|
|
+ begin
|
|
|
+{$ifdef PREPROCWRITE}
|
|
|
+ if parapreprocess then
|
|
|
+ begin
|
|
|
+ if c=#10 then
|
|
|
+ preprocfile.eolfound:=true
|
|
|
+ else
|
|
|
+ preprocfile.spacefound:=true;
|
|
|
+ end;
|
|
|
+{$endif PREPROCWRITE}
|
|
|
+ skipspace;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ break;
|
|
|
+ end;
|
|
|
+ until false;
|
|
|
+
|
|
|
+ { Save current token position, for EOF its already loaded }
|
|
|
+ if c<>#26 then
|
|
|
+ gettokenpos;
|
|
|
+
|
|
|
+ { Check first for a identifier/keyword, this is 20+% faster (PFV) }
|
|
|
+ if c in ['A'..'Z','a'..'z','_'] then
|
|
|
+ begin
|
|
|
+ readstring;
|
|
|
+ token:=_ID;
|
|
|
+ idtoken:=_ID;
|
|
|
+ { keyword or any other known token,
|
|
|
+ pattern is always uppercased }
|
|
|
+ if (pattern[1]<>'_') and (length(pattern) in [tokenlenmin..tokenlenmax]) then
|
|
|
+ begin
|
|
|
+ low:=ord(tokenidx^[length(pattern),pattern[1]].first);
|
|
|
+ high:=ord(tokenidx^[length(pattern),pattern[1]].last);
|
|
|
+ while low<high do
|
|
|
+ begin
|
|
|
+ mid:=(high+low+1) shr 1;
|
|
|
+ if pattern<tokeninfo^[ttoken(mid)].str then
|
|
|
+ high:=mid-1
|
|
|
+ else
|
|
|
+ low:=mid;
|
|
|
+ end;
|
|
|
+ with tokeninfo^[ttoken(high)] do
|
|
|
+ if pattern=str then
|
|
|
+ begin
|
|
|
+ if keyword in aktmodeswitches then
|
|
|
+ if op=NOTOKEN then
|
|
|
+ token:=ttoken(high)
|
|
|
+ else
|
|
|
+ token:=op;
|
|
|
+ idtoken:=ttoken(high);
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ { Only process identifiers and not keywords }
|
|
|
+ if token=_ID then
|
|
|
+ begin
|
|
|
+ { this takes some time ... }
|
|
|
+ if (cs_support_macro in aktmoduleswitches) then
|
|
|
+ begin
|
|
|
+ mac:=tmacro(macros.search(pattern));
|
|
|
+ if assigned(mac) and (assigned(mac.buftext)) then
|
|
|
+ begin
|
|
|
+ if yylexcount<max_macro_nesting then
|
|
|
+ begin
|
|
|
+ inc(yylexcount);
|
|
|
+ insertmacro(pattern,mac.buftext,mac.buflen,
|
|
|
+ mac.fileinfo.line,mac.fileinfo.fileindex);
|
|
|
+ { handle empty macros }
|
|
|
+ if c=#0 then
|
|
|
+ reload;
|
|
|
+ readtoken;
|
|
|
+ { that's all folks }
|
|
|
+ dec(yylexcount);
|
|
|
+ exit;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_w_macro_deep_ten);
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ { return token }
|
|
|
+ goto exit_label;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ idtoken:=_NOID;
|
|
|
+ case c of
|
|
|
+
|
|
|
+ '$' :
|
|
|
+ begin
|
|
|
+ readnumber;
|
|
|
+ token:=_INTCONST;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ '%' :
|
|
|
+ begin
|
|
|
+ if not(m_fpc in aktmodeswitches) then
|
|
|
+ Illegal_Char(c)
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ readnumber;
|
|
|
+ token:=_INTCONST;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
+ '&' :
|
|
|
+ begin
|
|
|
+ if m_fpc in aktmodeswitches then
|
|
|
+ begin
|
|
|
+ readnumber;
|
|
|
+ token:=_INTCONST;
|
|
|
+ goto exit_label;
|
|
|
+ end
|
|
|
+ else if m_mac in aktmodeswitches then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_AMPERSAND;
|
|
|
+ goto exit_label;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Illegal_Char(c);
|
|
|
+ end;
|
|
|
+
|
|
|
+ '0'..'9' :
|
|
|
+ begin
|
|
|
+ readnumber;
|
|
|
+ if (c in ['.','e','E']) then
|
|
|
+ begin
|
|
|
+ { first check for a . }
|
|
|
+ if c='.' then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ { is it a .. from a range? }
|
|
|
+ case c of
|
|
|
+ '.' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_INTCONST;
|
|
|
+ nexttoken:=_POINTPOINT;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ ')' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_INTCONST;
|
|
|
+ nexttoken:=_RECKKLAMMER;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ { insert the number after the . }
|
|
|
+ pattern:=pattern+'.';
|
|
|
+ while c in ['0'..'9'] do
|
|
|
+ begin
|
|
|
+ pattern:=pattern+c;
|
|
|
+ readchar;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ { E can also follow after a point is scanned }
|
|
|
+ if c in ['e','E'] then
|
|
|
+ begin
|
|
|
+ pattern:=pattern+'E';
|
|
|
+ readchar;
|
|
|
+ if c in ['-','+'] then
|
|
|
+ begin
|
|
|
+ pattern:=pattern+c;
|
|
|
+ readchar;
|
|
|
+ end;
|
|
|
+ if not(c in ['0'..'9']) then
|
|
|
+ Illegal_Char(c);
|
|
|
+ while c in ['0'..'9'] do
|
|
|
+ begin
|
|
|
+ pattern:=pattern+c;
|
|
|
+ readchar;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ token:=_REALNUMBER;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ token:=_INTCONST;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ ';' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_SEMICOLON;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ '[' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_LECKKLAMMER;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ ']' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_RECKKLAMMER;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ '(' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ case c of
|
|
|
+ '*' :
|
|
|
+ begin
|
|
|
+ c:=#0;{Signal skipoldtpcomment to reload a char }
|
|
|
+ skipoldtpcomment;
|
|
|
+ readtoken;
|
|
|
+ exit;
|
|
|
+ end;
|
|
|
+ '.' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_LECKKLAMMER;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ token:=_LKLAMMER;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ ')' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_RKLAMMER;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ '+' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if (c='=') and (cs_support_c_operators in aktmoduleswitches) then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_PLUSASN;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ token:=_PLUS;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ '-' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if (c='=') and (cs_support_c_operators in aktmoduleswitches) then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_MINUSASN;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ token:=_MINUS;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ ':' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if c='=' then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_ASSIGNMENT;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ token:=_COLON;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ '*' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if (c='=') and (cs_support_c_operators in aktmoduleswitches) then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_STARASN;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ if c='*' then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_STARSTAR;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ token:=_STAR;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ '/' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ case c of
|
|
|
+ '=' :
|
|
|
+ begin
|
|
|
+ if (cs_support_c_operators in aktmoduleswitches) then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_SLASHASN;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ '/' :
|
|
|
+ begin
|
|
|
+ skipdelphicomment;
|
|
|
+ readtoken;
|
|
|
+ exit;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ token:=_SLASH;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ '|' :
|
|
|
+ if m_mac in aktmodeswitches then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_PIPE;
|
|
|
+ goto exit_label;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Illegal_Char(c);
|
|
|
+
|
|
|
+ '=' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_EQUAL;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ '.' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ case c of
|
|
|
+ '.' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ case c of
|
|
|
+ '.' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_POINTPOINTPOINT;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ token:=_POINTPOINT;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ ')' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_RECKKLAMMER;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ token:=_POINT;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ '@' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_KLAMMERAFFE;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ ',' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_COMMA;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ '''','#','^' :
|
|
|
+ begin
|
|
|
+ len:=0;
|
|
|
+ msgwritten:=false;
|
|
|
+ pattern:='';
|
|
|
+ iswidestring:=false;
|
|
|
+ if c='^' then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ c:=upcase(c);
|
|
|
+ if (block_type=bt_type) or
|
|
|
+ (lasttoken=_ID) or (lasttoken=_NIL) or
|
|
|
+ (lasttoken=_RKLAMMER) or (lasttoken=_RECKKLAMMER) or (lasttoken=_CARET) then
|
|
|
+ begin
|
|
|
+ token:=_CARET;
|
|
|
+ goto exit_label;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ inc(len);
|
|
|
+ if c<#64 then
|
|
|
+ pattern[len]:=chr(ord(c)+64)
|
|
|
+ else
|
|
|
+ pattern[len]:=chr(ord(c)-64);
|
|
|
+ readchar;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ repeat
|
|
|
+ case c of
|
|
|
+ '#' :
|
|
|
+ begin
|
|
|
+ readchar; { read # }
|
|
|
+ if c='$' then
|
|
|
+ begin
|
|
|
+ readchar; { read leading $ }
|
|
|
+ asciinr:='$';
|
|
|
+ while (upcase(c) in ['A'..'F','0'..'9']) and (length(asciinr)<6) do
|
|
|
+ begin
|
|
|
+ asciinr:=asciinr+c;
|
|
|
+ readchar;
|
|
|
+ end;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ asciinr:='';
|
|
|
+ while (c in ['0'..'9']) and (length(asciinr)<6) do
|
|
|
+ begin
|
|
|
+ asciinr:=asciinr+c;
|
|
|
+ readchar;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ valint(asciinr,m,code);
|
|
|
+ if (asciinr='') or (code<>0) then
|
|
|
+ Message(scan_e_illegal_char_const)
|
|
|
+ else if (m<0) or (m>255) or (length(asciinr)>3) then
|
|
|
+ begin
|
|
|
+ if (m>=0) and (m<=65535) then
|
|
|
+ begin
|
|
|
+ if not iswidestring then
|
|
|
+ begin
|
|
|
+ ascii2unicode(@pattern[1],len,patternw);
|
|
|
+ iswidestring:=true;
|
|
|
+ len:=0;
|
|
|
+ end;
|
|
|
+ concatwidestringchar(patternw,tcompilerwidechar(m));
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Message(scan_e_illegal_char_const)
|
|
|
+ end
|
|
|
+ else if iswidestring then
|
|
|
+ concatwidestringchar(patternw,asciichar2unicode(char(m)))
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ if len<255 then
|
|
|
+ begin
|
|
|
+ inc(len);
|
|
|
+ pattern[len]:=chr(m);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ if not msgwritten then
|
|
|
+ begin
|
|
|
+ Message(scan_e_string_exceeds_255_chars);
|
|
|
+ msgwritten:=true;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ '''' :
|
|
|
+ begin
|
|
|
+ repeat
|
|
|
+ readchar;
|
|
|
+ case c of
|
|
|
+ #26 :
|
|
|
+ end_of_file;
|
|
|
+ #10,#13 :
|
|
|
+ Message(scan_f_string_exceeds_line);
|
|
|
+ '''' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if c<>'''' then
|
|
|
+ break;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ if iswidestring then
|
|
|
+ concatwidestringchar(patternw,asciichar2unicode(c))
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ if len<255 then
|
|
|
+ begin
|
|
|
+ inc(len);
|
|
|
+ pattern[len]:=c;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ if not msgwritten then
|
|
|
+ begin
|
|
|
+ Message(scan_e_string_exceeds_255_chars);
|
|
|
+ msgwritten:=true;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ until false;
|
|
|
+ end;
|
|
|
+ '^' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ c:=upcase(c);
|
|
|
+ if c<#64 then
|
|
|
+ c:=chr(ord(c)+64)
|
|
|
+ else
|
|
|
+ c:=chr(ord(c)-64);
|
|
|
+
|
|
|
+ if iswidestring then
|
|
|
+ concatwidestringchar(patternw,asciichar2unicode(c))
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ if len<255 then
|
|
|
+ begin
|
|
|
+ inc(len);
|
|
|
+ pattern[len]:=c;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ if not msgwritten then
|
|
|
+ begin
|
|
|
+ Message(scan_e_string_exceeds_255_chars);
|
|
|
+ msgwritten:=true;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
+ readchar;
|
|
|
+ end;
|
|
|
+ else
|
|
|
+ break;
|
|
|
+ end;
|
|
|
+ until false;
|
|
|
+ { strings with length 1 become const chars }
|
|
|
+ if iswidestring then
|
|
|
+ begin
|
|
|
+ if patternw^.len=1 then
|
|
|
+ token:=_CWCHAR
|
|
|
+ else
|
|
|
+ token:=_CWSTRING;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ pattern[0]:=chr(len);
|
|
|
+ if len=1 then
|
|
|
+ token:=_CCHAR
|
|
|
+ else
|
|
|
+ token:=_CSTRING;
|
|
|
+ end;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ '>' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ case c of
|
|
|
+ '=' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_GTE;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ '>' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_OP_SHR;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ '<' :
|
|
|
+ begin { >< is for a symetric diff for sets }
|
|
|
+ readchar;
|
|
|
+ token:=_SYMDIF;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ token:=_GT;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ '<' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ case c of
|
|
|
+ '>' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_UNEQUAL;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ '=' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_LTE;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ '<' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ token:=_OP_SHL;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ token:=_LT;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+
|
|
|
+ #26 :
|
|
|
+ begin
|
|
|
+ token:=_EOF;
|
|
|
+ checkpreprocstack;
|
|
|
+ goto exit_label;
|
|
|
+ end;
|
|
|
+ else
|
|
|
+ Illegal_Char(c);
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+exit_label:
|
|
|
+ lasttoken:=token;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ function tscannerfile.readpreproc:ttoken;
|
|
|
+ begin
|
|
|
+ skipspace;
|
|
|
+ case c of
|
|
|
+ '_',
|
|
|
+ 'A'..'Z',
|
|
|
+ 'a'..'z' :
|
|
|
+ begin
|
|
|
+ current_scanner.preproc_pattern:=readid;
|
|
|
+ readpreproc:=_ID;
|
|
|
+ end;
|
|
|
+ '0'..'9' :
|
|
|
+ begin
|
|
|
+ current_scanner.preproc_pattern:=readval_asstring;
|
|
|
+ { realnumber? }
|
|
|
+ if c='.' then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ while c in ['0'..'9'] do
|
|
|
+ begin
|
|
|
+ current_scanner.preproc_pattern:=current_scanner.preproc_pattern+c;
|
|
|
+ readchar;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ readpreproc:=_ID;
|
|
|
+ end;
|
|
|
+ '$','%','&' :
|
|
|
+ begin
|
|
|
+ current_scanner.preproc_pattern:=readval_asstring;
|
|
|
+ readpreproc:=_ID;
|
|
|
+ end;
|
|
|
+ '}' :
|
|
|
+ begin
|
|
|
+ readpreproc:=_END;
|
|
|
+ end;
|
|
|
+ '(' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ readpreproc:=_LKLAMMER;
|
|
|
+ end;
|
|
|
+ ')' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ readpreproc:=_RKLAMMER;
|
|
|
+ end;
|
|
|
+ '+' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ readpreproc:=_PLUS;
|
|
|
+ end;
|
|
|
+ '-' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ readpreproc:=_MINUS;
|
|
|
+ end;
|
|
|
+ '*' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ readpreproc:=_STAR;
|
|
|
+ end;
|
|
|
+ '/' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ readpreproc:=_SLASH;
|
|
|
+ end;
|
|
|
+ '=' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ readpreproc:=_EQUAL;
|
|
|
+ end;
|
|
|
+ '>' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if c='=' then
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ readpreproc:=_GTE;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ readpreproc:=_GT;
|
|
|
+ end;
|
|
|
+ '<' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ case c of
|
|
|
+ '>' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ readpreproc:=_UNEQUAL;
|
|
|
+ end;
|
|
|
+ '=' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ readpreproc:=_LTE;
|
|
|
+ end;
|
|
|
+ else
|
|
|
+ readpreproc:=_LT;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ #26 :
|
|
|
+ begin
|
|
|
+ readpreproc:=_EOF;
|
|
|
+ checkpreprocstack;
|
|
|
+ end;
|
|
|
+ else
|
|
|
+ Illegal_Char(c);
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ function tscannerfile.asmgetcharstart : char;
|
|
|
+ begin
|
|
|
+ { return first the character already
|
|
|
+ available in c }
|
|
|
+ lastasmgetchar:=c;
|
|
|
+ result:=asmgetchar;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ function tscannerfile.asmgetchar : char;
|
|
|
+ begin
|
|
|
+ if lastasmgetchar<>#0 then
|
|
|
+ begin
|
|
|
+ c:=lastasmgetchar;
|
|
|
+ lastasmgetchar:=#0;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ readchar;
|
|
|
+ if in_asm_string then
|
|
|
+ begin
|
|
|
+ asmgetchar:=c;
|
|
|
+ exit;
|
|
|
+ end;
|
|
|
+ repeat
|
|
|
+ case c of
|
|
|
+{$ifndef arm}
|
|
|
+ // the { ... } is used in ARM assembler to define register sets, so we can't used
|
|
|
+ // it as comment, either (* ... *), /* ... */ or // ... should be used instead
|
|
|
+ '{' :
|
|
|
+ skipcomment;
|
|
|
+{$endif arm}
|
|
|
+ #10,#13 :
|
|
|
+ begin
|
|
|
+ linebreak;
|
|
|
+ asmgetchar:=c;
|
|
|
+ exit;
|
|
|
+ end;
|
|
|
+ #26 :
|
|
|
+ begin
|
|
|
+ reload;
|
|
|
+ if (c=#26) and not assigned(inputfile.next) then
|
|
|
+ end_of_file;
|
|
|
+ continue;
|
|
|
+ end;
|
|
|
+ '/' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if c='/' then
|
|
|
+ skipdelphicomment
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ asmgetchar:='/';
|
|
|
+ lastasmgetchar:=c;
|
|
|
+ exit;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ '(' :
|
|
|
+ begin
|
|
|
+ readchar;
|
|
|
+ if c='*' then
|
|
|
+ begin
|
|
|
+ c:=#0;{Signal skipoldtpcomment to reload a char }
|
|
|
+ skipoldtpcomment;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ asmgetchar:='(';
|
|
|
+ lastasmgetchar:=c;
|
|
|
+ exit;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ asmgetchar:=c;
|
|
|
+ exit;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ until false;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+{*****************************************************************************
|
|
|
+ Helpers
|
|
|
+*****************************************************************************}
|
|
|
+
|
|
|
+ procedure AddDirective(const s:string; dm: tdirectivemode; p:tdirectiveproc);
|
|
|
+ begin
|
|
|
+ if dm in [directive_all, directive_turbo] then
|
|
|
+ turbo_scannerdirectives.insert(tdirectiveitem.create(s,p));
|
|
|
+ if dm in [directive_all, directive_mac] then
|
|
|
+ mac_scannerdirectives.insert(tdirectiveitem.create(s,p));
|
|
|
+ end;
|
|
|
+
|
|
|
+ procedure AddConditional(const s:string; dm: tdirectivemode; p:tdirectiveproc);
|
|
|
+ begin
|
|
|
+ if dm in [directive_all, directive_turbo] then
|
|
|
+ turbo_scannerdirectives.insert(tdirectiveitem.createcond(s,p));
|
|
|
+ if dm in [directive_all, directive_mac] then
|
|
|
+ mac_scannerdirectives.insert(tdirectiveitem.createcond(s,p));
|
|
|
+ end;
|
|
|
+
|
|
|
+{*****************************************************************************
|
|
|
+ Initialization
|
|
|
+*****************************************************************************}
|
|
|
+
|
|
|
+ procedure InitScanner;
|
|
|
+ begin
|
|
|
+ InitWideString(patternw);
|
|
|
+ turbo_scannerdirectives:=TDictionary.Create;
|
|
|
+ mac_scannerdirectives:=TDictionary.Create;
|
|
|
+
|
|
|
+ { Default directives and conditionals for all modes }
|
|
|
+ AddDirective('I',directive_all, {$ifdef FPCPROCVAR}@{$endif}dir_include);
|
|
|
+
|
|
|
+ { Default Turbo directives and conditionals }
|
|
|
+ AddDirective('DEFINE',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_define);
|
|
|
+ AddDirective('UNDEF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_undef);
|
|
|
+ AddDirective('INCLUDE',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_include);
|
|
|
+
|
|
|
+ AddConditional('ELSE',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_else);
|
|
|
+ AddConditional('ELSEIF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_elseif);
|
|
|
+ AddConditional('ENDIF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_endif);
|
|
|
+ AddConditional('IFEND',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_endif);
|
|
|
+ AddConditional('IF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_if);
|
|
|
+ AddConditional('IFDEF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_ifdef);
|
|
|
+ AddConditional('IFNDEF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_ifndef);
|
|
|
+ AddConditional('IFOPT',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_ifopt);
|
|
|
+
|
|
|
+ { Default Mac directives and conditionals: }
|
|
|
+ AddDirective('SETC',directive_mac, {$ifdef FPCPROCVAR}@{$endif}dir_setc);
|
|
|
+ AddConditional('IFC',directive_mac, {$ifdef FPCPROCVAR}@{$endif}dir_if);
|
|
|
+ AddConditional('ELSEC',directive_mac, {$ifdef FPCPROCVAR}@{$endif}dir_else);
|
|
|
+ AddConditional('ENDC',directive_mac, {$ifdef FPCPROCVAR}@{$endif}dir_endif);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure DoneScanner;
|
|
|
+ begin
|
|
|
+ turbo_scannerdirectives.Free;
|
|
|
+ mac_scannerdirectives.Free;
|
|
|
+ DoneWideString(patternw);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+end.
|
|
|
+{
|
|
|
+ $Log$
|
|
|
+ Revision 1.83 2004-07-23 00:25:05 olle
|
|
|
+ + Added compile time function OPTION(x) for MacPas
|
|
|
+ * Saved file as text and not binary (I hope)
|
|
|
+
|
|
|
+ Revision 1.81 2004/07/05 23:25:34 olle
|
|
|
+ + adding operators "|" and "&" for macpas
|
|
|
+
|
|
|
+ Revision 1.80 2004/06/20 08:55:30 florian
|
|
|
+ * logs truncated
|
|
|
+
|
|
|
+ Revision 1.79 2004/05/23 20:55:38 peter
|
|
|
+ * support sizeof() in preprocessor
|
|
|
+
|
|
|
+ Revision 1.78 2004/05/19 23:29:56 peter
|
|
|
+ * $message directive compatible with delphi
|
|
|
+
|
|
|
+ Revision 1.77 2004/05/16 13:55:26 peter
|
|
|
+ * report about illegal chars in preproctoken instead of end of
|
|
|
+ expression
|
|
|
+ * support realnumbers in preproctoken parser
|
|
|
+
|
|
|
+ Revision 1.76 2004/05/03 10:06:38 olle
|
|
|
+ + added language constructs UNIV, C, ... for mode mac
|
|
|
+ * consolidated macro expression to conform to Pascal
|
|
|
+ * macro true is defined as <> 0
|
|
|
+
|
|
|
+ Revision 1.75 2004/03/04 17:23:10 peter
|
|
|
+ * $elseif support
|
|
|
+ * conditiotnal in // returns warning isntead of error
|
|
|
+
|
|
|
+}
|