
udgeen
Members-
Posts
18 -
Joined
-
Last visited
udgeen's Achievements

Seeker (1/7)
0
Reputation
-
A great work! Hashes are very usefull for log parcing tasks. Please fix an errors in udf and test example: UDF: line 25. Have to be "Global Enum..." UDF: line 207. Have to be "Local $Keys[1] = [0]" UDF: line 233. Have to be "Local $Values[1] = [0]" Example: line 34, 35. I fixed them in such a way: Local $x = AAGetKeys($AA) Local $y = AAGetValues($AA) _ArrayDisplay($x, 'Keys') _ArrayDisplay($y, 'Values')
-
_Service_UDF v4 : Build your own service with autoit code
udgeen replied to arcker's topic in AutoIt Example Scripts
U can post the code here. It's rather interesting. We use only one testing monitor (service) at work. It uses some ping() func only. No problems with it for 2 months. Also i tried to combine this udf with "tcp event driven" and sqlite at winter. There were no such a problem too. -
_Service_UDF v4 : Build your own service with autoit code
udgeen replied to arcker's topic in AutoIt Example Scripts
U see, there are much problems in running au3 as service. I know two reasons to it: 1. Service have to be "a special designed console application". 2. Service is multi thread application by default. It's a hard work to make good application free of errors I bet there are no such an application at all! The only thing we can try to do is "something working" Let's go? Ok. The second problem is the most terrible thing for any au3 service programmer. The fact, that au3 is not thread safe seems to make our work unreal. What can be done to fix it? Truely, I dont know... But i have some ideas At first, we have to understand, what parts of our code uses different threads. Than we have to make some stupid mistakes, such as using global statement inside the function calls. Ofcouse, SciTe will be disapointed of this ;( but Aut2exe will give us working (maybe) exe file. The idea for this is simple: in multithread we have not to use the same globals in different threads. Most of all, we have to remember the fact, that au3 compiled executable is not the same as c++ compiled executable: 1. au3 has a script engine code, that just interpretate our program logics. It's have self program main func. That means that^ 2. in the case of 2 thread model (service) au3 script engine recurently starts itself at least of 2 times! At second, we have to write truelly correct service like code. It means we have to use such an objects like events, mutexs, heap variables - all working in au3 programming methods of interthread communication and syncronisation. For example i used $running var to say my main loop to stop - its a very serious error in multithread programming style. I have had to use events, or named events to do it. Than, I have had to use the different vars (and routines!!) for service messaging loop (service_ctrl) and service_main. ... Ok, u se, that current service.udf will not work in any serious projects. U can spend hundred of hours to find and fix some random erors while stoping-starting your service Current version only demonstrates the ability of service programming in au3 lang. As for me, I suppose to continue that post "till the victoria" -
To make this project real "Gui control array grid" or "Gui control for installer"
-
It's a good idea! I'm so lazy to program gui everytime i need it Is it possible to put all your controls into something scrollable like listbox to make this really universal? Than maybe it will be exelent universal gui control for installers.
-
As far as i know, autoit is not "thread-safe". It meens we'll have no working multithread au3. msgbox() might be the only thread-safe func. I've just tested example and realised, that even consolewrite is not thread-safe: i got system errors in random...
-
_Service_UDF v4 : Build your own service with autoit code
udgeen replied to arcker's topic in AutoIt Example Scripts
Yes, I've got that running almost at summer. It seems working as native windows service too. -
I see. Try this: CODE#include "TCP.au3"#Include <Timers.au3> Global $tmrConnect = 0 Global $hClientSoc = _TCP_Client_Create(@IPAddress1, 88); Create the client. Which will connect to the local ip address on port 88 _TCP_RegisterEvent($hClientSoc, $TCP_RECEIVE, "Received"); Function "Received" will get called when something is received _TCP_RegisterEvent($hClientSoc, $TCP_CONNECT, "Connected"); And func "Connected" will get called when the client is connected. _TCP_RegisterEvent($hClientSoc, $TCP_DISCONNECT, "Disconnected"); And "Disconnected" will get called when the server disconnects us, or when the connection is lost. While 1 Sleep (1000); just to keep the program running WEnd Exit Func TryToConnect($hWnd, $Msg, $iIDTimer, $dwTime) _ASockConnect($hClientSoc, @IPAddress1, 88) EndFunc Func SetTimerConnect() If Not $tmrConnect Then $tmrConnect = _Timer_SetTimer($__TCP_WINDOW,5000,"TryToConnect") EndFunc Func StopTimerConnect() If $tmrConnect Then _Timer_KillTimer($__TCP_WINDOW, $tmrConnect) $tmrConnect=0 EndIf EndFunc Func Connected($hSocket, $iError); We registered this (you see?), When we're connected (or not) this function will be called. If not $iError Then; If there is no error... ToolTip("CLIENT: Connected!",10,10); ... we're connected. Else; ,else... ToolTip("CLIENT: Could not connect. Are you sure the server is running?",10,10); ... we aren't. ;Changed HERE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;~ sleep (500) ;~ TryConn() SetTimerConnect() EndIf EndFunc Func Received($hSocket, $sReceived, $iError); And we also registered this! Our homemade do-it-yourself function gets called when something is received. ToolTip("CLIENT: We received this: "& $sReceived, 10,10); (and we'll display it) EndFunc Func Disconnected($hSocket, $iError); Our disconnect function. Notice that all functions should have an $iError parameter. ToolTip("CLIENT: Connection closed or lost.", 10,10) EndFunc
-
Your test script is nothing more than an example script. Please, take an a working example and try.Take a look on your script and check: - U have no sleep delay in your while loop. - U have to place your tryconn() func in the different place - its stops executing client after tryconn() - is that what u supposed to?
-
While applying tcp.au3 to my tcp service project i've found no func like _tcp_shutdown(). We have thise funcs: _TCP_Server_Stop() - stops server socket $__TCP_SOCKETS[0][0] and two identical funcs, that closes socket by handle _TCP_Server_DisconnectClient($hSocket) _TCP_Client_Stop($hSocket) Its not a good idea to stop tcp.au3 based project with not all sockets closed! I suggest: 1. to fix it with func _tcp_shutdown(), which closes all opened sockets and maybe makes tcpshutdown() 2. combine _TCP_Server_DisconnectClient($hSocket) and _TCP_Client_Stop($hSocket) in one like _TCP_Disconnect($hSocket) There are no any init func. Its a bad idea too... I used 2 days to understand why my service dosnot stop correctly. Than, why there are too many undeclared variables in code? I suggest to make something like _tcp_startup(ByRef $whdlGui, $tcpstartup = 1) func to initialize that very usefull socket udf. Am i right? Thanx a lot to @Kip and all of U
-
_Service_UDF v4 : Build your own service with autoit code
udgeen replied to arcker's topic in AutoIt Example Scripts
Good news! Probably i've found the working method of integrating service.au3 with other projects Only some words at first. I started sqlite based + tcp project at summer. The idea of "native" windows service was almost unreal at that time... tcp + sqlite was very slow and took much resources. I thoght that was only because of autoit. But that was not I realised it after ASock.au3 project by Zatorg (please, sorry if im wrong) - ASock is asynck socket - tcp on event (uses ws2_32.dll). Asock & sqlite didnt work together. The only reason for that was..._ArrayDisplay() func with gui!!! Ok. I made special sqlite.au3 without dependences. It works, but my udf seemed too be much havy to use at another project. Few weeks ago i returned to service.au3 and found TCP UDF, Event driven project based on ASock.au3. It seemed to work as example, but didn't work at all as service. In my variant of service_example.au3 i posted msdn words about service_main procedure, that it must contain all global vars of project and I made like it said! And now only few words. To make your project works as service with the brilliant work of @arcker U have to: 1. Make all variables be declared - use opt("mustdeclarevars",1) 2. Make Init func of your project 3. Make Stop func for your project. For example I had to make routines to destroy all gui, close all opened sockets and so on. 4. Make something similar with all other udf u are using in your service project... maybe its a worst thing on the Earth to fix somebody's else project bugs 5. Thats not all 6. U have to combine all Globals in one place: for example at the the begining. U have to make it with other udfs too... silly work 7. Than sort Global Const and other Global statements. If u see something like global $x = 1 do that way: global $x leeve at top. $x =1 insert into module's (udf or project) Init func. 8. U have to do it even with standart udf... or use only necessary functions from it in your own include. Or... maybe u have another plan? 9. Try to build your project with modified udfs - does it works now? Hmm... But it have to U see, its nothing only a good programming style. 10. Than u can combine fixed correct project with service.au3 I compiled like CUI (meens not Gui) #AutoIt3Wrapper_Change2CUI=y It not meens that Gui will not work in service - it works, but msdn said... yes-yes Maybe later after everything will work fine i'll say "msdn is wrong, microsoft lies"... But maybe i'll say that microsoft - is not so bad, because autoit works in it I'll try to post that project as an another service_example.au3 in some weeks here. If it will works. Some advice: use SysInternals Process Explorer (free gui based), or kill.exe from support tools to stop suspended service process. U can start-stop service even net start/net stop commands. Use file logging while debuging. No need to install-uninstall service after every recompilation: only stop, recompile, start. See, if it was suspended (while stopping) - kill process. The only reason not to stop service correctly i've found for today is unclean exit: opened sockets, maybe some dlls. -
I used examples from the 1-st post and fixed them working with tcp.au3 from the 1-st post. As for error in TCP.au3: I suppose that errors are still present even in a last (fixed) post... At least of 3 days i'm trying to make tcp windows service (tcp.au3 + service.au3). It is working The main problem I've got with this: many-many errors in udfs, even in standart au3.3.0.0!
-
Thanx a lot for your control! Maybe one useful thing can be added: special func to add table formated text (like _ArrayDisplay) That is #include header for AutoIt 3.3.0.0: #include-once #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <Misc.au3> #include <Memory.au3> #include <EditConstants.au3> #include <GuiEdit.au3> #Include <WinAPI.au3>
-
Yes, that UDF works with AutoIT 3.3.0.0Known problems: 1. dosn't work that algorithm on client: connect to stoped server->get connected when server starts(works only with periodical _ASockConnect call)->disconnect when server stops (works)->connect to started server(dosnot work). 2. client and server examples on the first post dosnot work at all! server_example.au3 CODE#Region ;**** Directives created by AutoIt3Wrapper_GUI ****#AutoIt3Wrapper_UseUpx=n #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include "TCP.au3" ToolTip("SERVER: Creating server...", 10, 30) Global $hListenSock = _TCP_Server_Create(88); A server. Tadaa! _TCP_RegisterEvent($hListenSock, $TCP_NEWCLIENT, "NewClient"); Whooooo! Now, this function (NewClient) get's called when a new client connects to the server. _TCP_RegisterEvent($hListenSock, $TCP_DISCONNECT, "Disconnect"); And this,... this will get called when a client disconnects. _TCP_RegisterEvent($hListenSock, $TCP_RECEIVE, "Received"); While 1 Sleep(1000) WEnd Func NewClient($hSocket, $iError); Yo, check this out! It's a $iError parameter! (In case you didn't noticed: It's in every function) ToolTip("SERVER: New client connected." & @CRLF & "Sending this: Bleh!", 10, 30) _TCP_Send($hSocket, "Bleh!"); Sending: "Bleh!" to the new client. EndFunc ;==>NewClient Func Disconnect($hSocket, $iError); Damn, we lost a client. Time of death: @Hour & @Min & @Sec ToolTip("SERVER: Client disconnected.", 10, 30); Placing a tooltip right under the tooltips of the client. EndFunc ;==>Disconnect Func Received($hSocket, $sData, $iError) ToolTip("SERVER: Client "&$hSocket&" said." & @CRLF & $sData, 10, 30) _TCP_Send($hSocket, $sData); EndFunc ;==>Received client_example.au3 CODE#Region ;**** Directives created by AutoIt3Wrapper_GUI ****#AutoIt3Wrapper_UseUpx=n #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include "TCP.au3" ToolTip("CLIENT: Connecting...", 10, 10) Global $hClientSoc = _TCP_Client_Create(@IPAddress1, 88); Create the client. Which will connect to the local ip address on port 88 _TCP_RegisterEvent($hClientSoc, $TCP_RECEIVE, "Received"); Function "Received" will get called when something is received _TCP_RegisterEvent($hClientSoc, $TCP_CONNECT, "Connected"); And func "Connected" will get called when the client is connected. _TCP_RegisterEvent($hClientSoc, $TCP_DISCONNECT, "Disconnected"); And "Disconnected" will get called when the server disconnects us, or when the connection is lost. While 1 ; just to keep the program running Sleep(1000) WEnd Func Connected($hSocket, $iError); We registered this (you see?), When we're connected (or not) this function will be called. If Not $iError Then; If there is no error... ToolTip("CLIENT: Connected!", 10, 10); ... we're connected. Else; ,else... ToolTip("CLIENT: Could not connect. Are you sure the server is running?", 10, 10); ... we aren't. EndIf EndFunc ;==>Connected Func Received($hSocket, $sData, $iError); And we also registered this! Our homemade do-it-yourself function gets called when something is received. ToolTip("CLIENT: We received this: " & $sData, 10, 10); (and we'll display it) EndFunc ;==>Received Func Disconnected($hSocket, $iError); Our disconnect function. Notice that all functions should have an $iError parameter. ToolTip("CLIENT: Connection closed or lost.", 10, 10) EndFunc ;==>Disconnected
-
_Service_UDF v4 : Build your own service with autoit code
udgeen replied to arcker's topic in AutoIt Example Scripts
now service stops correctly! there is no need in Exit func. Service_Example.au3 #NoTrayIcon #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_Change2CUI=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** ;~ Opt("MustDeclareVars", 1) ; just for self control :) dont to forget declare vars Global $MainLog = @ScriptDir & "\test_service.log" Global $sServiceName = "Autoit_Service" Global $Running, $counter Global $hGUI #include "service.au3" #Include <Timers.au3> ; i used it for timers func logPrint("script started") If $cmdline[0] > 0 Then Switch $cmdline[1] Case "install", "-i", "/i" InstallService() Case "remove", "-u", "/u", "uninstall" RemoveService() Case Else ConsoleWrite(" - - - Help - - - " & @crlf) ConsoleWrite("params : " & @crlf) ConsoleWrite(" -i : install service" & @crlf) ConsoleWrite(" -u : remove service" & @crlf) ConsoleWrite(" - - - - - - - - " & @crlf) Exit ;start service. EndSwitch EndIf _Service_init($sServiceName) ; emulating your program init() function Func main_init() $hGUI = GUICreate("Timers Using CallBack Function(s)") ;~ GUISetState($hGUI,@SW_HIDE) ; unneeded - timers run exelent without guisetstate. $MainLog = @ScriptDir & "\test_service.log" $sServiceName = "Autoit_Service" $Running = 1 logPrint("main_init. Stop event=" & $service_stop_event) EndFunc ; stop timer function. its said SCM that service is in the process of $SERVICE_STOP_PENDING Func myStopTimer($hWnd, $Msg, $iIDTimer, $dwTime) logPrint("timer = " & $counter) _Service_ReportStatus($SERVICE_STOP_PENDING, $NO_ERROR, $counter) $counter += -100 EndFunc ; emulate your program main function with while loop (may be gui loop & so on) Func main() logPrint("main start") While $Running ; there are several ways to find that service have to be stoped - $Running flag in loop is the first method _Service_ReportStatus($SERVICE_RUNNING, $NO_ERROR, 5000) logPrint("main loop. evnt=" & _WinAPI_WaitForSingleObject($service_stop_event, 0)) ; stop event is the second method Sleep(1000) WEnd ; stoping program correctly. logPrint("main outer. evnt=" & _WinAPI_WaitForSingleObject($service_stop_event, 0)) $counter = 20000 Local $t1 = _Timer_SetTimer($hGUI,500,"myStopTimer") ; sends _Service_ReportStatus($SERVICE_STOP_PENDING every timeout/10 ms like MSDN said. Sleep(5000) ; emulating hard working during stop logPrint("main stoped. Cleanup1.") _Timer_KillTimer($hGUI,$t1) ; no more stop pending logPrint("main stoped. Cleanup2.") Sleep(100) Local $x = GUIGetMsg( 1 ) ; emulating gui close and so on logPrint("main stoped. Cleanup3.") GUIDelete( $hGUI ) ; emulating gui close and so on logPrint("main stoped. Cleanup4.") Sleep(100) _Service_ReportStatus($SERVICE_STOPPED, $NO_ERROR, 0) ; That all! Our AutoIt Service stops just there! 0 timeout meens "Now" logPrint("main stoped. Cleanup5.") ; never executing ;~ _Service_Cleanup() ;~ ProcessClose(@AutoItPID) ;~ Exit EndFunc ; some loging func Func logPrint($text,$nolog=0) If $nolog Then MsgBox(0,"MyService",$text,1) Else If Not FileExists($MainLog) Then FileWriteLine($MainLog, "Log created: " & @YEAR & "/" & @MON & "/" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC) FileWriteLine($MainLog, @YEAR & @MON & @MDAY & " " & @HOUR & @MIN & @SEC & " [" & @AutoItPID & "] >> " & $text) EndIf Return 0 ;~ ConsoleWrite($text & @CRLF) EndFunc ;==>logPrint Func InstallService() logPrint("InstallService(): Installing service, please wait" ) _Service_Create("", $sServiceName, "Autoit Service Test", '"' & @ScriptFullPath & '"') If @error Then logPrint("InstallService(): Problem installing service, Error number is " & @error & @CRLF & " message : " & _WinAPI_GetLastErrorMessage()) Else logPrint("InstallService(): Installation of service successful") EndIf Exit EndFunc ;==>InstallService Func RemoveService() _StopService("", $sServiceName) _DeleteService("", $sServiceName) if not @error then logPrint("RemoveService(): service removed successfully" & @crlf) Exit EndFunc ;==>RemoveService #cs ...from MSDN: The ServiceMain function should perform the following tasks: Initialize all global variables. Call the RegisterServiceCtrlHandler function immediately to register a Handler function to handle control requests for the service. The return value of RegisterServiceCtrlHandler is a service status handle that will be used in calls to notify the SCM of the service status. Perform initialization. If the execution time of the initialization code is expected to be very short (less than one second), initialization can be performed directly in ServiceMain. If the initialization time is expected to be longer than one second, call the SetServiceStatus function, specifying the SERVICE_START_PENDING service state and a wait hint in the SERVICE_STATUS structure. If your service's initialization code performs tasks that are expected to take longer than the initial wait hint value, your code must call the SetServiceStatus function periodically (possibly with a revised wait hint) to indicate that progress is being made. Be sure to call SetServiceStatus only if the initialization is making progress. Otherwise, the Service Control Manager can wait for your service to enter the SERVICE_RUNNING state assuming that your service is making progress and block other services from starting. Do not call SetServiceStatus from a separate thread unless you are sure the thread performing the initialization is truly making progress. When initialization is complete, call SetServiceStatus to set the service state to SERVICE_RUNNING. Perform the service tasks, or, if there are no pending tasks, return control to the caller. Any change in the service state warrants a call to SetServiceStatus to report new status information. If an error occurs while the service is initializing or running, the service should call SetServiceStatus to set the service state to SERVICE_STOP_PENDING if cleanup will be lengthy. After cleanup is complete, call SetServiceStatus to set the service state to SERVICE_STOPPED from the last thread to terminate. Be sure to set the dwServiceSpecificExitCode and dwWin32ExitCode members of the SERVICE_STATUS structure to identify the error. #ceoÝ÷ ÚÇ«¾'jíÚºÚ"µÍÚ[ÛYK[ÛÙBÚ[ÛYIÕÚ[K]LÉÝÂÛØ[ ÌÍÔÕSTÔQÒ×ÔTURTQHÈÙXÙHÛÛÛX[YÙXØÙÜÈÂÛØ[ÛÛÝ ÌÍÔÐ×ÓPSQÑTÐÓÓPÕHBÛØ[ÛÛÝ ÌÍÔÐ×ÓPSQÑTÐÔPUWÔÑTPÑHHÛØ[ÛÛÝ ÌÍÔÐ×ÓPSQÑTÑSSQTUWÔÑTPÑHH ÛØ[ÛÛÝ ÌÍÔÐ×ÓPSQÑTÓÐÒÈHÛØ[ÛÛÝ ÌÍÔÐ×ÓPSQÑTÔUQTWÓÐÒ×ÔÕUTÈHLÛØ[ÛÛÝ ÌÍÔÐ×ÓPSQÑTÓSÑQWÐÓÕÐÓÓQÈHÛØ[ÛÛÝ ÌÍÔÐ×ÓPSQÑTÐSÐPÐÑTÔÈH]Ô ÌÍÔÕSTÔQÒ×ÔTURTQ ÌÍÔÐ×ÓPSQÑTÐÓÓPÕ ÌÍÔÐ×ÓPSQÑTÐÔPUWÔÑTPÑK ÌÍÔÐ×ÓPSQÑTÑSSQTUWÔÑTPÑK ÌÍÔÐ×ÓPSQÑTÓÐÒË ÌÍÔÐ×ÓPSQÑTÔUQTWÓÐÒ×ÔÕUTË ÌÍÔÐ×ÓPSQÑTÓSÑQWÐÓÕÐÓÓQÊBÈÙXÙHXØÙÜÈÂÛØ[ÛÛÝ ÌÍÔÑTPÑWÔUQTWÐÓÓQÈHBÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÒSÑWÐÓÓQÈHÛØ[ÛÛÝ ÌÍÔÑTPÑWÔUQTWÔÕUTÈH ÛØ[ÛÛÝ ÌÍÔÑTPÑWÑSSQTUWÑTSSÈHÛØ[ÛÛÝ ÌÍÔÑTPÑWÔÕTHLÛØ[ÛÛÝ ÌÍÔÑTPÑWÔÕÔHÛØ[ÛÛÝ ÌÍÔÑTPÑWÔUTÑWÐÓÓSQHH ÛØ[ÛÛÝ ÌÍÔÑTPÑWÒSTÑÐUHHÛØ[ÛÛÝ ÌÍÔÑTPÑWÕTÑTÑQSQÐÓÓÓHLÛØ[ ÌÍÔÑTPÑWÐSÐPÐÑTÔÈH]Ô ÌÍÔÕSTÔQÒ×ÔTURTQ ÌÍÔÑTPÑWÔUQTWÐÓÓQË ÌÍÔÑTPÑWÐÒSÑWÐÓÓQË ÌÍÔÑTPÑWÔUQTWÔÕUTË ÌÍÔÑTPÑWÑSSQTUWÑTSSË ÌÍÔÑTPÑWÔÕT ÌÍÔÑTPÑWÔÕÔ ÌÍÔÑTPÑWÔUTÑWÐÓÓSQK ÌÍÔÑTPÑWÒSTÑÐUK ÌÍÔÑTPÑWÕTÑTÑQSQÐÓÓÓ BÈÙXÙHÛÛÛÂÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓÓÔÕÔHBÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓÓÔUTÑHHÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓÓÐÓÓSQHHÂÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓÓÒSTÑÐUHH ÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓÓÔÒUÕÓH BÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓÓÔTSPÒSÑHH ÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓÓÓUSQH ÂÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓÓÓUSSSÕHHÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓÓÓUSSPHHBÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓÓÓUSTÐPHHBÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓÓÑUPÑQUSHÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓÓÒTÐTTÑSPÒSÑHHÂÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓÓÔÕÑTUSHÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓÓÔÑTÔÒSÓÒSÑHHBÈÙXÙHÂÛØ[ÛÛÝ ÌÍÔÑTPÑWÒÑTSÑUTHBÛØ[ÛÛÝ ÌÍÔÑTPÑWÑSWÔÖTÕSWÑUTHÛØ[ÛÛÝ ÌÍÔÑTPÑWÐQTTH ÛØ[ÛÛÝ ÌÍÔÑTPÑWÔPÓÑÓVTÑUTHÛØ[ÛÛÝ ÌÍÔÑTPÑWÑUTH]Ô ÌÍÔÑTPÑWÒÑTSÑUT ÌÍÔÑTPÑWÑSWÔÖTÕSWÑUT ÌÍÔÑTPÑWÔPÓÑÓVTÑUTBÛØ[ÛÛÝ ÌÍÔÑTPÑWÕÒSÌÓÕÓÔÐÑTÔÈHLÛØ[ÛÛÝ ÌÍÔÑTPÑWÕÒSÌÔÒTWÔÐÑTÔÈHÛØ[ÛÛÝ ÌÍÔÑTPÑWÕÒSÌH]Ô ÌÍÔÑTPÑWÕÒSÌÓÕÓÔÐÑTÔË ÌÍÔÑTPÑWÕÒSÌÔÒTWÔÐÑTÔÊBÛØ[ÛÛÝ ÌÍÔÑTPÑWÒSTPÕUWÔÐÑTÔÈHLÛØ[ÛÛÝ ÌÍÔÑTPÑWÕTWÐSH]Ô ÌÍÔÑTPÑWÕÒSÌ ÌÍÔÑTPÑWÐQTT ÌÍÔÑTPÑWÑUT ÌÍÔÑTPÑWÒSTPÕUWÔÐÑTÔÊBÈÙXÙHÝÂÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÕÔÕTHÛØ[ÛÛÝ ÌÍÔÑTPÑWÔÖTÕSWÔÕTHBÛØ[ÛÛÝ ÌÍÔÑTPÑWÐUU×ÔÕTHÛØ[ÛÛÝ ÌÍÔÑTPÑWÑSPSÔÕTHÂÛØ[ÛÛÝ ÌÍÔÑTPÑWÑTÐPQH ÈÙXÙHÜÛÛÛÛØ[ÛÛÝ ÌÍÔÑTPÑWÑTÔÒQÓÔHHÛØ[ÛÛÝ ÌÍÔÑTPÑWÑTÔÓÔPSHBÛØ[ÛÛÝ ÌÍÔÑTPÑWÑTÔÔÑUTHHÛØ[ÛÛÝ ÌÍÔÑTPÑWÑTÔÐÔUPÐSHÂÛØ[ÛÛÝ ÌÍÔÑTPÑWÐPÐÑTÒTÐTTÑSPÒSÑHHÛØ[ÛÛÝ ÌÍÔÑTPÑWÐPÐÑTÓUSÒSÑHHLÛØ[ÛÛÝ ÌÍÔÑTPÑWÐPÐÑTÔTSPÒSÑHHÛØ[ÛÛÝ ÌÍÔÑTPÑWÐPÐÑTÔUTÑWÐÓÓSQHHÛØ[ÛÛÝ ÌÍÔÑTPÑWÐPÐÑTÔÕÑTUSH ÛØ[ÛÛÝ ÌÍÔÑTPÑWÐPÐÑTÔÑTÔÒSÓÒSÑHHÛØ[ÛÛÝ ÌÍÔÑTPÑWÐPÐÑTÔTÒUÕÓHLÛØ[ÛÛÝ ÌÍÔÑTPÑWÐPÐÑTÔÒUÕÓH ÛØ[ÛÛÝ ÌÍÔÑTPÑWÐPÐÑTÔÕÔHBÛØ[ÛÛÝ ÌÍÔÑTPÑWÐPÕUHHBÛØ[ÛÛÝ ÌÍÔÑTPÑWÒSPÕUHHÛØ[ÛÛÝ ÌÍÔÑTPÑWÔUTÑWÔSSÈH ÛØ[ÛÛÝ ÌÍÔÑTPÑWÔUTÑQH ÂÛØ[ÛÛÝ ÌÍÔÑTPÑWÔSSÈH ÛØ[ÛÛÝ ÌÍÔÑTPÑWÔÕTÔSSÈHÛØ[ÛÛÝ ÌÍÔÑTPÑWÔÕÔÔSSÈHÂÛØ[ÛÛÝ ÌÍÔÑTPÑWÔÕÔQHBÛØ[ÛÛÝ ÌÍÔÑTPÑWÐÓÓSQWÔSSÈH BÂÛØ[ ÌÍÝÙXÙS[YK ÌÍÝÙXÙPÝ ÌÍÝÙXÙSXZ[ ÌÍÜÙXÙWÙXY×Û[ÙHH[ÙBÛØ[ ÌÍÝÙXÙWÔÝ]ÈHÝXÝÜX]J ][ÝÙÛÜÔÙXÙUNÉ][ÝÈ [ÈÂBI][ÝÙÛÜÐÝ[Ý]NÙÛÜÐÛÛÛÐXØÙYÙÛÜÕÚ[Ì^]ÛÙNÉ][ÝÈ [ÈÂBI][ÝÙÛÜÔÙXÙTÜXÚYXÑ^]ÛÙNÙÛÜÐÚXÚÔÚ[ÙÛÜÕØZ][ ][ÝÊBÛØ[ ÌÍÝÙXÙWÔÝ]×Ú[BÛØ[ÛÛÝ ÌÍÓ×ÑTÔHÛØ[ÛÛÝ ÌÍÓÓÓÓÔÕÐRUHLBÛØ[ ÌÍÜÙXÙWÜÝÜÙ][ÛØ[ ÌÍÓÓÑTÔÔÑTPÑWÔÕUTÈHÛØ[ÛÛÝ ÌÍÕÐRUÓÐPÕÌHÛØ[ ÌÍØÚXÚÔÚ[ÈTÑØZY]YÝÙXÙPÝÜ]ÚÈÛÙHØ[H^XÝ]Y[ÈÔÙXÙWÚ[] ÌÍÜÔÙXÙS[YJBBØØ[ ÌÍÝÜ]ÚXK ÌÍÜ]BIÌÍÝÙXÙPÝHØ[XÚÔYÚÝ ][Ý×ÔÙXÙWÐÝ ][ÝË ][ÝÚ[ ][ÝË ][ÝÝZ[ ][ÝÊBIÌÍÝÙXÙSXZ[HØ[XÚÔYÚÝ ][Ý×ÔÙXÙWÔÙXÙSXZ[][ÝË ][ÝÚ[ ][ÝË ][ÝÚ[ÜÝ][ÝÊBBIÌÍÝÜ]ÚXHHÝXÝÜX]J ][ÝÜÌNÜÌI][ÝÊBIÌÍÝÙXÙS[YHHÝXÝÜX]J ][ÝØÚÌLI][ÝÊBQÝXÝÙ]]J ÌÍÝÙXÙS[YKK ÌÍÜÔÙXÙS[YJBQÝXÝÙ]]J ÌÍÝÜ]ÚXKKÝXÝÙ] ÌÍÝÙXÙS[YJKJBQÝXÝÙ]]J ÌÍÝÜ]ÚXKKØ[XÚÑÙ] ÌÍÝÙXÙSXZ[KBQÝXÝÙ]]J ÌÍÝÜ]ÚXKJBQÝXÝÙ]]J ÌÍÝÜ]ÚXKBIÌÍØÚXÚÔÚ[HIÌÍÜ]HØ[ ][ÝØYLÌ ][ÝË ][ÝÚ[ ][ÝË ][ÝÔÝÙXÙPÝÜ]Ú][ÝË ][ÝÜ][ÝËÝXÝÙ] ÌÍÝÜ]ÚXJJBßRY ÌÍÜ]ÌHH[ÙÐÞ ][ÝÉ][ÝË ][ÝÈÜ ][ÝÈ [ÈÕÚ[TWÑÙ]ÝÜ H [ÈÔHÈ^YX^HÛÝÙH]]Ú]ÜÜÛÛÙ×ÙÜßQ^][[ÈÏOIÝ×ÔÙXÙWÚ[]ÂÈX^XHÂ[ÈÔÙXÙWÐÛX[ BSØØ[ ÌÍÜÙXÙWÙÜHÕÚ[TWÑÙ]ÝÜ BRY ÌÍÝÙXÙWÔÝ]×Ú[JH[ÔÙXÙWÔÜÝ]Ê ÌÍÔÑTPÑWÔÕÔQ ÌÍÜÙXÙWÙÜ NÂ[[ÈÏOIÝØÛX[ÂÈÈTÑØZY][È ÌÍÚXÜË ÌÍÜÐÜÈHH[Y]Ý[ÈÛHYÚÝKÂ[ÈÔÙXÙWÔÙXÙSXZ[ ÌÍÚPË ÌÍÜÐÜÊBNÛÙØÞ ][ÝÉ][ÝË ][ÝÜÙXÙWÛXZ[ÝY ][ÝÊBNÈÈ ][ÝÚ ][ÝÈÛÙHYÜHYÚÝÙXÙPÝ[ÌÌÎÉÌÌÎÉÌÌÎÂSØØ[ ÌÍÜ]HØ[ ][ÝØYLÌ ][ÝË ][ÝÚÛ ][ÝË ][ÝÔYÚÝÙXÙPÝ[][ÝË ][ÝÜ][ÝËÝXÝÙ] ÌÍÝÙXÙS[YJK ][ÝÜ][ÝËØ[XÚÑÙ] ÌÍÝÙXÙPÝ JNÜYÚÝÙXÙBRY ÌÍÜ]ÌHH[BSÙÐÞ ][ÝÑÜ][ÝËÕÚ[TWÑÙ]ÝÜ JBBQ^]Q[YIÌÍÝÙXÙWÔÝ]×Ú[HH ÌÍÜ]ÌBRYÝ ÌÍÝÙXÙWÔÝ]×Ú[JH[BWÔÙXÙWÐÛX[ BBT]Q[YNÙÛÝÈÛX[ÂQÝXÝÙ]]J ÌÍÝÙXÙWÔÝ]Ë ][ÝÙÔÙXÙUI][ÝË]Ô ÌÍÔÑTPÑWÕÒSÌÓÕÓÔÐÑTÔË ÌÍÔÑTPÑWÒSTPÕUWÔÐÑTÔÊJBQÝXÝÙ]]J ÌÍÝÙXÙWÔÝ]Ë ][ÝÙÔÙXÙTÜXÚYXÑ^]ÛÙI][ÝË NÂBNÈÜHÝ]ÈÈHÙXÙHÛÛÛX[YÙRYÝ ÔÙXÙWÔÜÝ]Ê ÌÍÔÑTPÑWÔÕTÔSSË ÌÍÓ×ÑTÔÌ JH[BNÙÛÝÈÛX[ÂBWÔÙXÙWÐÛX[ BBT]Q[YBWÔÙXÙWÔÝ ÌÍÚPË ÌÍÜÐÜÊNÂB[XZ[Ú[] BBNØÛX[NÈHÈÜHÝÜYÝ]ÈÈHÙXÙHÛÛÛX[YÙB[XZ[ BWÔÙXÙWÐÛX[ BßQ^]NÔ]Â[[ÈÏOIÝÔÙXÙWÓXZ[È][ÈÈØ[YHÐÓHHH[Ü[È[H ][ÝÚ ][ÝÈ]]Ú]ÛÙHÛÜÜÈH È]ÛHÜÚYÛ[[ÈÜÙKËÊKKKKKKKKKKKKKKKKKKKKKKKKKKKKKVÈÙXÙWØÝKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKBÈ Ø[YHHÐÓHÚ[]ÛÛÛÙXÙJ HÈØ[YÜÈÙXÙBÈ È [Y]ÎÈ BXÝÛÙHHHÙÛÛÛ]YÝYÈ È ][YNÈ B[ÛBÈ KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJÂ[ÈÔÙXÙWÐÝ ÌÍØÝÛÙJBß[ÙÜ[ ][Ý×ÔÙXÙWÐÝ ][ÝÈ [È ÌÍØÝÛÙKJBTÝÚ]Ú ÌÍØÝÛÙJBBPØÙH ÌÍÔÑTPÑWÐÓÓÓÔUTÑBBBQÝXÝÙ]]J ÌÍÝÙXÙWÔÝ]Ë ][ÝÙÐÝ[Ý]I][ÝË ÌÍÔÑTPÑWÔUTÑQ BBPØÙH ÌÍÔÑTPÑWÐÓÓÓÐÓÓSQBBBQÝXÝÙ]]J ÌÍÝÙXÙWÔÝ]Ë ][ÝÙÐÝ[Ý]I][ÝË ÌÍÔÑTPÑWÔSSÊBBBNÜÝÜHÙXÙKBBNÂBBNÔÑTPÑWÔÕÔÔSSÈÚÝ[HÜYYÜBBBNÜÙ][ÈHÝÜ][HÙÝÜ][H[BBNÜÙXÙWÜÝÜ KÈ]ÚYÈHXÙHÛÛ][ÛBBNÝÚXÚX^HÝ[[HL LÈHHÙXÙHYÝÜÛBBNÙÜBBNÂBBNÈHÛÛÝÈÚ]]ÜX^XHÙÚ[ÈØ[^Z[È]ÝÝÉÌÌÎÂBBNÈBPØÙH ÌÍÔÑTPÑWÐÓÓÓÔÕÔBBIÌÍÔ[[ÈHBBWÔÙXÙWÔÜÝ]Ê ÌÍÔÑTPÑWÔÕÔÔSSË ÌÍÓ×ÑTÔL NÈ LÈH[Y[Ý]È^XÝ]H[ÝÜØÙYÈÙ[ÝÙÜ[KBBNÈY] ÌÎNÜÈÝ[ÝHØ[Ù[ÔÙXÙWÔÜÝ]Ê ÌÍÔÑTPÑWÔÕÔÔSSËÛÛ[[ÜÛHHHØ[HH[Y[Ý[ÛÈÜ]BBNÈÛX[[ÈH[ÝYÈ^HXZ[ HBBNÈ[ÙÛÝÙHH]HÈÔÙXÙWÔÜÝ]Ê ÌÍÔÑTPÑWÔÕÔQ ÌÍÓ×ÑTÔYÜH^]ÈXZÙHÐÓHY[ÛÛÙBBBWÔÙXÙWÔÙ]ÝÜ][ NÂBBT]ßBBWÔÙXÙWÐÛX[ BßBBQ^]BBNÜ]ÂBBBBBNÈ]HHÙXÙHÝ]ËBBNÂBPØÙH ÌÍÔÑTPÑWÐÓÓÓÒSTÑÐUHÈTÑØZY]][ ÌÍÔÑTPÑWÐÓÓÓÒSTÑÐUH]HÈK]HÛÛÝÈÚ]ÜÂBBNØXZÎÂBBNÈ[[YÛÛÛÛÙBBBNÂBPØÙH[ÙBBBNÂQ[ÝÚ]ÚWÔÙXÙWÔÜÝ]ÊÝXÝÙ]]J ÌÍÝÙXÙWÔÝ]Ë ][ÝÙÐÝ[Ý]I][ÝÊK ÌÍÓ×ÑTÔ NÂ[[ÈÏOIÝÜÙXÙWØÝÎÈ][ÈÙY[ÈÈÛÜÚ[È][H[[ÝY]]ÙYÕÚ[TWÕØZ]ÜÚ[ÛSØXÝ ÌÍÜÙXÙWÜÝÜÙ][ HÈØ]ÚÝÜ][Ú]ÈØZ]ËÊKKKKKKKKKKKKKKKKKKKKKKKKKKKKVÈÙXÙWÚ[[ÈKKKKKKKKKKKKKKKKKKKKKKKKKKKKKBÈ ÙXÙHÝ]ÂÈ È ]ÎÈ B[[ÂBLÈ BZ[[ÂBLBÈ KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJÂ[ÈÔÙXÙWÒ[[Ê BT] ÕÚ[TWÕØZ]ÜÚ[ÛSØXÝ ÌÍÜÙXÙWÜÝÜÙ][ ÌÍÓÓÓÓÔÕÐRU HOH ÌÍÕÐRUÓÐPÕÌ NÂ[[ÈÏOIÝÜÙXÙWÚ[[ÂËÊKKKKKKKKKKKKKKKKKKKKKKKKKVÈÔÙXÙWÔÜÝ]ÈKKKKKKKKKKKKKKKKKKKKKKKKKKBÈ Ù]ÈHÝ[Ý]È[ÜÈ]ÈHÙXÙHÛÛÛX[YÙÈ È [Y]ÎÈ BXÝ[Ý]BKHHÝ]HÙHÙXÙBÈ BY^]ÛÙBBKHÜÛÙHÈÜÈ B]ØZ][BKHÛÜÝØÙHÝ[X]HÈ^ÚXÚÜÚ[È È ][YNÈ B]YBBBKHÝXØÙÜÂÈ BY[ÙBBBKHZ[BÈ KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJÂ[ÈÔÙXÙWÔÜÝ]Ê ÌÍØÝ[Ý]K ÌÍÙ^]ÛÙK ÌÍÝØZ][ BßSØØ[ ÌÍØÚXÚÔÚ[HNÂSØØ[ ÌÍÜÈHYNÂRYÝ ÌÍÜÙXÙWÙXY×Û[ÙJH[ÝÚ[XYÙÚ[ÈÙHÛÌÎNÝÜÈHÐÓBBRY ÌÍØÝ[Ý]HOH ÌÍÔÑTPÑWÔÕTÔSSÊH[BBQÝXÝÙ]]J ÌÍÝÙXÙWÔÝ]Ë ][ÝÙÐÛÛÛÐXØÙY ][ÝË NÂBQ[ÙBBBQÝXÝÙ]]J ÌÍÝÙXÙWÔÝ]Ë ][ÝÙÐÛÛÛÐXØÙY ][ÝË ÌÍÔÑTPÑWÐPÐÑTÔÕÔ BBQ[YBBBQÝXÝÙ]]J ÌÍÝÙXÙWÔÝ]Ë ][ÝÙÐÝ[Ý]I][ÝË ÌÍØÝ[Ý]JBBQÝXÝÙ]]J ÌÍÝÙXÙWÔÝ]Ë ][ÝÙÕÚ[Ì^]ÛÙI][ÝË ÌÍÙ^]ÛÙJBBQÝXÝÙ]]J ÌÍÝÙXÙWÔÝ]Ë ][ÝÙÕØZ][ ][ÝË ÌÍÝØZ][ BBRY ÌÍØÝ[Ý]HOH ÌÍÔÑTPÑWÔSSÈÜ ÌÍØÝ[Ý]HOH ÌÍÔÑTPÑWÔÕÔQ[BBIÌÍØÚXÚÔÚ[HBBQÝXÝÙ]]J ÌÍÝÙXÙWÔÝ]Ë ][ÝÙÐÚXÚÔÚ[ ][ÝË BBQ[ÙBBBQÝXÝÙ]]J ÌÍÝÙXÙWÔÝ]Ë ][ÝÙÐÚXÚÔÚ[ ][ÝË ÌÍØÚXÚÔÚ[ ÈJNÂBQ[YBNÈÜHÝ]ÈÙHÙXÙHÈHÙXÙHÛÛÛX[YÙBRYÝ ÌÍÜÈHÔÙXÙWÔÙ]ÙXÙTÝ]Ê ÌÍÝÙXÙWÔÝ]×Ú[KÝXÝÙ] ÌÍÝÙXÙWÔÝ]ÊJJH[BB[ÛÛÙ×ÙÜ ÌÍÓÓÑTÔÔÑTPÑWÔÕUTËÕÚ[TWÑÙ]ÝÜ JNÂBQ[YQ[YT] ÌÍÜÊNÂ[[ÈÏOIÝ×ÔÙXÙWÔÜÝ]ÂÈÈ[XÙHÛÝÜÈÚ]XÝ]][ÏÂ[ÈÛÛÙ×ÙÜ ÌÍÚ[ÛÙK ÌÍÜÑØÜ[ÛBPÛÛÛÛUÜ]J ][ÝÊÈ ][ÝÈ [È ÌÍÚ[ÛÙH [ÈP [È ÌÍÜÑØÜ[Û [ÈÔB[ÙÜ[ ][ÝÊÈ ][ÝÈ [È ÌÍÚ[ÛÙH [ÈP [È ÌÍÜÑØÜ[ÛB[[ÈÏOIÝÛÛÛÙ×ÙÜ[ÈÔÙXÙWÔÙ]ÙXÙTÝ]Ê ÌÍÚÙXÙTÝ]Ë ÌÍÛÙXÙTÝ]ÊBSØØ[ ÌÍÜ]HØ[ ][ÝØYLÌ ][ÝË ][ÝÚ[ ][ÝË ][ÝÔÙ]ÙXÙTÝ]É][ÝË ][ÝÚÛ ][ÝË ÌÍÚÙXÙTÝ]Ë ][ÝÜ][ÝË ÌÍÛÙXÙTÝ]ÊBN××Ú[ÑTPÑWÔÕUT×ÒSHÙXÙTÝ]ËN××Ú[ÑTPÑWÔÕUTÈÙXÙTÝ]ÂT] ÌÍÜ]ÌB[[ÈÏOIÝÔÙ]ÙXÙTÝ]ÂËÊKKKKKKKKKKKKKKKKKKKKKKKKKKKKKVÈÙXÙWÜÝKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKBÈ ÝÈ[[ÈHÙXÙBÈ KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJÂ[ÈÔÙXÙWÔÝ ÌÍØØË ÌÍØÝBNÈÜHÝ]ÈÈHÙXÙHÛÛÛX[YÙRYÝ ÔÙXÙWÔÜÝ]Ê ÌÍÔÑTPÑWÔÕTÔSSË ÌÍÓ×ÑTÔÌ JH[]BNÈÜX]HH][ØXÝHÛÛÛ[[Ý[ÛÚYÛ[ÂNÝÈ][Ú[]XÙZ]ÈH ][ÝÜÝÜ ][ÝÈÛÛÛÛÙKIÌÍÜÙXÙWÜÝÜÙ][HÕÚ[TWÐÜX]Q][ YK[ÙK NÂRYÝ ÌÍÜÙXÙWÜÝÜÙ][ H[BNÛÙØÞ ][ÝÉ][ÝË ][ÝÔÙXÙHÝÜ][[HH ][ÝÊBBT]ÂQ[ÙBBNÛÙØÞ ][ÝÉ][ÝË ][ÝÉÌÍÜÙXÙWÜÝÜÙ][ ][ÝÈ [È ÌÍÜÙXÙWÜÝÜÙ][ BQ[YNÜÜHÝ]ÈÈHÙXÙHÛÛÛX[YÙRYÝÔÙXÙWÔÜÝ]Ê ÌÍÔÑTPÑWÔÕTÔSSË ÌÍÓ×ÑTÔÌ H[]ÂBNÈHØ[HÛÛYH[]X[^][ÛÛÙKÚ[H ÌÍÔÑTPÑWÔÕTÔSSÈ[Y[Ý]ÐÓHÚ[[Ú[Ë]ÒËNÈ]HÛÛÝÈHX[ÜÙHÙ]YÚÝËBNÜÜHÝ]ÈÈHÙXÙHÛÛÛX[YÙRYÝÔÙXÙWÔÜÝ]Ê ÌÍÔÑTPÑWÔSSË ÌÍÓ×ÑTÔ H[]ÂBNÛÛÜ[ NÂ[[ÈÏOIÝÜÙXÙWÜÝÂËÊKKKKKKKKKKKKKKKKKKKKKKKKKKKKKVÈÙXÙWÜÝÜKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKBÈ ÝÜÈHÙXÙKÈ È ÕNYÈÙXÙHÚ[ZÙHÛÙ[ÈÙXÛÛËÈ Ü]ÛHXYÈ^XÝ]HHÝÜÛÙH[]È ÝÚÙHHÐÓHÚ[[ÈHÙXÙHÈÝÜYÜÛ[ËÈ KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJÂ[ÈÔÙXÙWÔÙ]ÝÜ][ BIÌÍÔ[[ÈHRY ÌÍÜÙXÙWÜÝÜÙ][ H[BHÕÚ[TWÔÙ]][ ÌÍÜÙXÙWÜÝÜÙ][ HQ[Y[[ÈÏOIÝÜÙXÙWÜÝÜÏOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOBÈØÜ[ÛÜX]ÈHÙXÙHÛHÛÛ]È[Y]Î ÌÍÜÐÛÛ][YHH[YHÙHÙ]ÛÛ]Y[KHØØ[ÛÛ][YHÈÙYÈ ÌÍÜÔÙXÙS[YHH[YHÙHÙXÙHÈÜX]BÈ ÌÍÜÑÜ^S[YHHÜ^H[YHÙHÙXÙBÈ ÌÍÜÐ[T]H[H]X[YYY]ÈHÙXÙH[H[BÈH]Ø[[ÛÈ[ÛYHÝ[Y[ÈÜ[]]ËÝÙXÙBÈ ÌÍÜÔÙXÙUÙHÛÜ[Û[HY][ÈØØ[ÞÝ[BÈ[YHÙHXØÛÝ[[ÚXÚHÙXÙHÚÝ[[È ÌÍÜÔÜÝÛÜHÛÜ[Û[HY][È[BÈÜÝÛÜÈHXØÛÝ[[YHÜXÚYYYH ÌÍÜÔÙXÙUÙÈÜXÚYH[[HÝ[ÈYHXØÛÝ[ÈÈÜÝÛÜÜYHÙXÙHÈ[È[HØØ[ÙXÙK]ÛÜÔÙXÙKÜØØ[ÞÝ[HXØÛÝ[È ÌÍÛÙXÙUHHÛÜ[Û[HY][È ÌÍÔÑTPÑWÕÒSÌÓÕÓÔÐÑTÔÂÈ ÌÍÛÝHHÛÜ[Û[HY][È ÌÍÔÑTPÑWÐUU×ÔÕTÈ ÌÍÛÜHHÛÜ[Û[HY][È ÌÍÔÑTPÑWÑTÔÓÔPSÈ ÌÍÛÚYXØÙÜÈHÛÜ[Û[HY][È ÌÍÔÑTPÑWÐSÐPÐÑTÔÂÈ ÌÍÜÓØYÜÜÝHÛÜ[Û[HY][È[BÈ[YÈHØYÜ[ÈÜÝÙÚXÚÈÙXÙHÈHY[XÈ]Z[Y[ÎYZ[Ý]]HYÚÈÛHÛÛ]È][YÎÛÝXØÙÜÈHBÈÛZ[HH[ÜÈÙ]È^[YÚ[ÝÜÈÜÛÙBÈÝN[[ÚYÈØ[ÝHÜXÚYYYÚ[ÈÈ[Ý[ÛÈYÈHÜX]TÙXÙHYÙHÛTÑÜ[ÜH[ÜX][ÛÏOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOB[ÈÔÙXÙWÐÜX]J ÌÍÜÐÛÛ][YK ÌÍÜÔÙXÙS[YK ÌÍÜÑÜ^S[YK ÌÍÜÐ[T] ÌÍÜÔÙXÙUÙH ][ÝÓØØ[ÞÝ[I][ÝË ÌÍÜÔÜÝÛÜH ][ÝÉ][ÝË ÌÍÛÙXÙUHHL ÌÍÛÝHH ÌÍÛÜHHK ÌÍÛÚYXØÙÜÈHY ÌÍÜÓØYÜÜÝH ][ÝÉ][ÝÊBØØ[ ÌÍÚYLÌØØ[ ÌÍÚÙ[ÌØØ[ ÌÍØ]ØØ[ ÌÍÚÐÂØØ[ ÌÍÛÜHLH ÌÍÚYLÌHÜ[ ][ÝØYLÌ ][ÝÊBY ÌÍÚYLÌHLH[] ÌÍÚÙ[ÌHÜ[ ][ÝÚÙ[Ì ][ÝÊBY ÌÍÚÙ[ÌHLH[] ÌÍØ]HØ[ ÌÍÚYLÌ ][ÝÛÛÉ][ÝË ][ÝÓÜ[ÐÓX[YÙ][ÝË ][ÝÜÝ][ÝË ÌÍÜÐÛÛ][YK ][ÝÜÝ][ÝË ][ÝÔÙXÙÐXÝ]I][ÝË ][ÝÛÛÉ][ÝË ÌÍÔÐ×ÓPSQÑTÐSÐPÐÑTÔÊBY ÌÍØ]ÌHH[ ÌÍØ]HØ[ ÌÍÚÙ[Ì ][ÝÛÛÉ][ÝË ][ÝÑÙ]ÝÜ][ÝÊB ÌÍÛÜH ÌÍØ]ÌB[ÙB ÌÍÚÐÈH ÌÍØ]ÌB ÌÍØ]HØ[ ÌÍÚYLÌ ][ÝÛÛÉ][ÝË ][ÝÓÜ[ÙXÙI][ÝË ][ÝÛÛÉ][ÝË ÌÍÚÐË ][ÝÜÝ][ÝË ÌÍÜÔÙXÙS[YK ][ÝÛÛÉ][ÝË ÌÍÔÑTPÑWÒSTÑÐUJBY ÌÍØ]ÌHH[ ÌÍØ]HØ[ ÌÍÚYLÌ ][ÝÛÛÉ][ÝË ][ÝÐÜX]TÙXÙI][ÝË ][ÝÛÛÉ][ÝË ÌÍÚÐË ][ÝÜÝ][ÝË ÌÍÜÔÙXÙS[YK ][ÝÜÝ][ÝË ÌÍÜÑÜ^S[YK ][ÝÛÛÉ][ÝË ÌÍÛÚYXØÙÜË ][ÝÛÛÉ][ÝË ÌÍÛÙXÙUK ][ÝÛÛÉ][ÝË ÌÍÛÝK ][ÝÛÛÉ][ÝË ÌÍÛÜK ][ÝÜÝ][ÝË ÌÍÜÐ[T] ][ÝÜÝ][ÝË ÌÍÜÓØYÜÜÝ ][ÝÜ][ÝË ][ÝÜÝ][ÝË ][ÝÉ][ÝË ][ÝÜÝ][ÝË ÌÍÜÔÙXÙUÙ ][ÝÜÝ][ÝË ÌÍÜÔÜÝÛÜ BY ÌÍØ]ÌHH[ ÌÍØ]HØ[ ÌÍÚÙ[Ì ][ÝÛÛÉ][ÝË ][ÝÑÙ]ÝÜ][ÝÊB ÌÍÛÜH ÌÍØ]ÌB[ÙBØ[ ÌÍÚYLÌ ][ÝÚ[ ][ÝË ][ÝÐÛÜÙTÙXÙR[I][ÝË ][ÝÛÛÉ][ÝË ÌÍØ]ÌJB[Y[ÙBØ[ ÌÍÚYLÌ ][ÝÚ[ ][ÝË ][ÝÐÛÜÙTÙXÙR[I][ÝË ][ÝÛÛÉ][ÝË ÌÍØ]ÌJB[YØ[ ÌÍÚYLÌ ][ÝÚ[ ][ÝË ][ÝÐÛÜÙTÙXÙR[I][ÝË ][ÝÛÛÉ][ÝË ÌÍÚÐÊB[YÛÜÙJ ÌÍÚYLÌBÛÜÙJ ÌÍÚÙ[ÌHY ÌÍÛÜ ÉÝÈLH[Ù]Ü ÌÍÛÜB][Y]B[[ÂÏOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOBÈØÜ[Û[]ÈHÙXÙHÛHÛÛ]È[Y]Î ÌÍÜÐÛÛ][YHH[YHÙHÙ]ÛÛ]Y[KHØØ[ÛÛ][YHÈÙYÈ ÌÍÜÔÙXÙS[YHH[YHÙHÙXÙHÈ[]BÈ]Z[Y[ÎYZ[Ý]]HYÚÈÛHÛÛ]È][YÎÛÝXØÙÜÈHBÈÛZ[HH[ÜÈÙ]È^[YÚ[ÝÜÈÜÛÙBÏOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOB[ÈÑ[]TÙXÙJ ÌÍÜÐÛÛ][YK ÌÍÜÔÙXÙS[YJBØØ[ ÌÍÚYLÌØØ[ ÌÍÚÙ[ÌØØ[ ÌÍØ]ØØ[ ÌÍÚÐÂØØ[ ÌÍÚÙXÙBØØ[ ÌÍÛÜHLH ÌÍÚYLÌHÜ[ ][ÝØYLÌ ][ÝÊBY ÌÍÚYLÌHLH[] ÌÍÚÙ[ÌHÜ[ ][ÝÚÙ[Ì ][ÝÊBY ÌÍÚÙ[ÌHLH[] ÌÍØ]HØ[ ÌÍÚYLÌ ][ÝÛÛÉ][ÝË ][ÝÓÜ[ÐÓX[YÙ][ÝË ][ÝÜÝ][ÝË ÌÍÜÐÛÛ][YK ][ÝÜÝ][ÝË ][ÝÔÙXÙÐXÝ]I][ÝË ][ÝÛÛÉ][ÝË ÌÍÔÐ×ÓPSQÑTÐSÐPÐÑTÔÊBY ÌÍØ]ÌHH[ ÌÍØ]HØ[ ÌÍÚÙ[Ì ][ÝÛÛÉ][ÝË ][ÝÑÙ]ÝÜ][ÝÊB ÌÍÛÜH ÌÍØ]ÌB[ÙB ÌÍÚÐÈH ÌÍØ]ÌB ÌÍØ]HØ[ ÌÍÚYLÌ ][ÝÛÛÉ][ÝË ][ÝÓÜ[ÙXÙI][ÝË ][ÝÛÛÉ][ÝË ÌÍÚÐË ][ÝÜÝ][ÝË ÌÍÜÔÙXÙS[YK ][ÝÛÛÉ][ÝË ÌÍÔÑTPÑWÐSÐPÐÑTÔÊBY ÌÍØ]ÌHH[ ÌÍØ]HØ[ ÌÍÚÙ[Ì ][ÝÛÛÉ][ÝË ][ÝÑÙ]ÝÜ][ÝÊB ÌÍÛÜH ÌÍØ]ÌB[ÙB ÌÍÚÙXÙHH ÌÍØ]ÌB ÌÍØ]HØ[ ÌÍÚYLÌ ][ÝÚ[ ][ÝË ][ÝÑ[]TÙXÙI][ÝË ][ÝÛÛÉ][ÝË ÌÍÚÙXÙJBY ÌÍØ]ÌHH[ ÌÍØ]HØ[ ÌÍÚÙ[Ì ][ÝÛÛÉ][ÝË ][ÝÑÙ]ÝÜ][ÝÊB ÌÍÛÜH ÌÍØ]ÌB[YØ[ ÌÍÚYLÌ ][ÝÚ[ ][ÝË ][ÝÐÛÜÙTÙXÙR[I][ÝË ][ÝÛÛÉ][ÝË ÌÍÚÙXÙJB[YØ[ ÌÍÚYLÌ ][ÝÚ[ ][ÝË ][ÝÐÛÜÙTÙXÙR[I][ÝË ][ÝÛÛÉ][ÝË ÌÍÚÐÊB[YÛÜÙJ ÌÍÚYLÌBÛÜÙJ ÌÍÚÙ[ÌHY ÌÍÛÜ ÉÝÈLH[Ù]Ü ÌÍÛÜB][Y]B[[ÂÏOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOBÈØÜ[ÛÝÜÈHÙXÙHÛHÛÛ]È[Y]Î ÌÍÜÐÛÛ][YHH[YHÙHÙ]ÛÛ]Y[KHØØ[ÛÛ][YHÈÙYÈ ÌÍÜÔÙXÙS[YHH[YHÙHÙXÙHÈÝÜÈ]Z[Y[ÎÛBÈ][YÎÛÝXØÙÜÈHBÈÛZ[HH[ÜÈÙ]È^[YÚ[ÝÜÈÜÛÙBÈÝNÈ[Ý[ÛÙÈÝÚXÚÈÈÙYHYHÙXÙHÈÝÜYÝXØÙÜÙ[BÏOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOB[ÈÔÝÜÙXÙJ ÌÍÜÐÛÛ][YK ÌÍÜÔÙXÙS[YJBØØ[ ÌÍÚYLÌØØ[ ÌÍÚÙ[ÌØØ[ ÌÍØ]ØØ[ ÌÍÚÐÂØØ[ ÌÍÚÙXÙBØØ[ ÌÍÛÜHLB ÌÍÚYLÌHÜ[ ][ÝØYLÌ ][ÝÊBY ÌÍÚYLÌHLH[] ÌÍÚÙ[ÌHÜ[ ][ÝÚÙ[Ì ][ÝÊBY ÌÍÚÙ[ÌHLH[] ÌÍØ]HØ[ ÌÍÚYLÌ ][ÝÛÛÉ][ÝË ][ÝÓÜ[ÐÓX[YÙ][ÝË ][ÝÜÝ][ÝË ÌÍÜÐÛÛ][YK ][ÝÜÝ][ÝË ][ÝÔÙXÙÐXÝ]I][ÝË ][ÝÛÛÉ][ÝË ÌÍÔÐ×ÓPSQÑTÐÓÓPÕ BY ÌÍØ]ÌHH[ ÌÍØ]HØ[ ÌÍÚÙ[Ì ][ÝÛÛÉ][ÝË ][ÝÑÙ]ÝÜ][ÝÊB ÌÍÛÜH ÌÍØ]ÌB[ÙB ÌÍÚÐÈH ÌÍØ]ÌB ÌÍØ]HØ[ ÌÍÚYLÌ ][ÝÛÛÉ][ÝË ][ÝÓÜ[ÙXÙI][ÝË ][ÝÛÛÉ][ÝË ÌÍÚÐË ][ÝÜÝ][ÝË ÌÍÜÔÙXÙS[YK ][ÝÛÛÉ][ÝË ÌÍÔÑTPÑWÔÕÔ BY ÌÍØ]ÌHH[ ÌÍØ]HØ[ ÌÍÚÙ[Ì ][ÝÛÛÉ][ÝË ][ÝÑÙ]ÝÜ][ÝÊB ÌÍÛÜH ÌÍØ]ÌB[ÙB ÌÍÚÙXÙHH ÌÍØ]ÌB ÌÍØ]HØ[ ÌÍÚYLÌ ][ÝÚ[ ][ÝË ][ÝÐÛÛÛÙXÙI][ÝË ][ÝÛÛÉ][ÝË ÌÍÚÙXÙK ][ÝÛÛÉ][ÝË ÌÍÔÑTPÑWÐÓÓÓÔÕÔ ][ÝÜÝ][ÝË ][ÝÉ][ÝÊBY ÌÍØ]ÌHH[ ÌÍØ]HØ[ ÌÍÚÙ[Ì ][ÝÛÛÉ][ÝË ][ÝÑÙ]ÝÜ][ÝÊB ÌÍÛÜH ÌÍØ]ÌB[YØ[ ÌÍÚYLÌ ][ÝÚ[ ][ÝË ][ÝÐÛÜÙTÙXÙR[I][ÝË ][ÝÛÛÉ][ÝË ÌÍÚÙXÙJH[YØ[ ÌÍÚYLÌ ][ÝÚ[ ][ÝË ][ÝÐÛÜÙTÙXÙR[I][ÝË ][ÝÛÛÉ][ÝË ÌÍÚÐÊB[YÛÜÙJ ÌÍÚYLÌBÛÜÙJ ÌÍÚÙ[ÌHY ÌÍÛÜ ÉÝÈLH[Ù]Ü ÌÍÛÜB][Y]B[[