ࡱ> %` ubjbjNN ,,^m       Dd### $'d)<:<<<o?&-l ayhKMMMMMM$Nhq o?o?q  <<4 < <KKg|  <) // recommended; uses project settings #include "C:\Program Files\DCAMSDK\Include\DcamSdk.h" // avoid Typically these library files (or toolbox files) are located in a default folder that was selected by the library installer program. If the project is copied to another developers system, the library files are expected to be in the same folder location on either system. Sometimes, source files are organized in parallel folders within a project. For example, perhaps two projects share a set of files that are in a third folder. Imagine such a folder structure: C:\...\Project\DiagnosticTools C:\...\Project\Common C:\...\Project\UserApplication In this case, the projects located in the folders UserApplication and DiagnosticTools both use files located in Common. In this scenario, it is acceptable to use relative path notation to the files in the folder Common, with the assumption that these folders will retain their relative organization. This method can be easier than redefining all the project settings, which are typically full path names, when switching from one developers folder to another. Note that if the project structure changes, the source code will also have to be changed to reflect the new folder structure, so this method is an option, but not always the easiest to maintain. #include "..\Common\ResultFile.h" // recommended; refer to peer folder Develop and test as a least privileged user Running as an administrative user routinely is not recommended from a security point of view. Since any of the users of software that we develop may be restricted users, our code must be usable by restricted users. Restricted users do not have write permission in the Program Files folder under Windows XP. Legacy code may have stored configuration files, which the user needs to write to the application folder (i.e. the current folder if no path name was specified) which is typically in the Program Files folder: C:\Program Files\application-name. If the developer does not test the code as a least privileged user, these kinds of restrictions go unnoticed during the development cycle. Also, running as a restricted user helps to insulate ones computer system from malicious code, which may launch as the current user and then be unable to write to the system folders. For limited use, the OPT domain has a generic user name, developer, that can be set up as an administrative user with domain access on your development computer. Also, one can run a single application as an administrator, while continuing to be logged on as a restricted user, using the Run As function. Maintain only project source files in the source code folder One goal in maintaining source code archives is to keep the development folders compact and relevant. To support this goal, keep development folders free of obsolete source files, old copies of current source files, large data sets, etc. Any notes or test results that the developer wants to keep with the source files should be maintained as text or MS Office files that are clearly distinguishable from the source code modules. Sample data and results used by the application are best stored in a separate folder, so that archives do not fill up with images, movie files or other large data that is already backed up. Maintain backup of development directories Maintain backup of development directories either by using a version control system, or manually by retaining copies of the source code. One recommended version control system is the open source package Subversion:  HYPERLINK "http://subversion.tigris.org/" http://subversion.tigris.org/ For Windows developers, TortoiseSVN provides a convenient way to work with Subversion:  HYPERLINK "http://tortoisesvn.tigris.org/" http://tortoisesvn.tigris.org/ On any given day, a project may seem to move backwards instead of forwards. It can be time-saving to be able to start over from yesterdays work when todays progress is going poorly. Or, it may be useful to simply compare files between yesterday and today. It is also valuable to be able to recreate exactly what the code was doing during a particular release period. No code is bug-free. As issues are discovered, knowing when the issue was present can be important in determining how to salvage data collected during the bug-ridden time period. As to frequency of saving of versions, the rule of thumb is daily or after any milestone is reached. Even with a version control system in place, it is also recommended to maintain backup copies of the code that you release to users (or for your own use for real data collection) on separate media such as an external backup drive or CD or DVD. If a version control package is not available, make regular back up copies of the source folder. A preferred strategy is to copy the entire source code folder to the archive folder and append the folder name with a date code (as _yyyymmdd). This strategy is preferred to just saving the changed files, because it is easy to lose track of how several modules work together. If the entire folder is saved, the entire project can be reconstructed at any point in time. If saving mid-day after a development milestone one can append a for an early save and then later use b for the end of day backup. Alternately, one might append notation that identifies the milestone. All folder notations are added only to the archive folder names, never in the current working folder. Keep the working folder clean. To reduce bulk in archive folders resulting from Visual Studio projects, it can be helpful to delete the temporary files such as the Debug folder, the .pch (pre-compiled header files) files or .ncb files. As an example of the manual naming strategy, consider a psychophysics program called RSVP (rapid serial visual presentation) used to measure reading speed under various conditions. The proposed directory structure could be: Working folder: C:\...\RSVP Mid-day backup: C:\...\RSVP_Archive\RSVP20060622.a End-of-day day backup: C:\...\RSVP_Archive\RSVP20060622.b Next day backup: C:\...\RSVP_Archive\RSVP20060623 First release backup: C:\...\RSVP_Release\RSVP20060419 Second release backup: C:\...\RSVP_Release\RSVP20060612 Back up files to another device or backup media HARD DISKS DIE! Please do not assume that yours will not. At this writing, no backup server is in place for the Core Programming module. Use CDs, DVDs, external hard drives or other separate media for backups. Do NOT use the Opt_Public folder as a backup device. It is intended for moving data between computers conveniently, not for long-term storage. If one maintains clutter-free source directories and deletes the intermediate files (especially the .pch or .ncb files), a CD can hold many backups of a project. It is critical to keep copies of source code for released projects, even if the releases are not quite ready for real data collection. If the research staff has access to a program, assume that they will collect and/or analyze some data with it. Create an installer file for your application This topic is applies to more complex projects, such as those developed by the Core Programming Module developers. When a MATLAB project consists of many m files, or a Visual Studio project requires supporting DLL files or configuration files, it can be very beneficial to create an installer package for distributing the application. For the MATLAB projects, the MATLAB compiler can be used to create an encrypted form of the application that can be distributed with the MATLAB runtime callable engine. Generally, under Windows XP, our custom C++ or C# applications are installed to the Program Files folder, but if your program needs any support files, such as DLLs or configuration files, the Visual Studio Installer (separate tool for 6.0, integrated in .net 2005) provides a way to put them in the appropriate directories and to be uninstalled with the Windows Installer (Control Panel: Add/Delete Programs). If the user needs to have write-access to a file, do not put the file in the Program Files folder. Instead, install the file to the application data folder under the All Users folder and maintain a copy in the appropriate users folder at startup: C:\Documents and settings\All Users\Application Data\application-name General Naming Conventions The naming conventions below assume that a developer has full control over the modules in the project. Often, we inherit a project with source files that followed some other convention or none at all. If the conventions in existing modules were weakly enforced, developers are encouraged to make all new code follow the current conventions. If the prior conventions were uniformly enforced, developers should keep to the legacy convention, so that the entire project is consistent with itself. It is left to the discretion of the developer whether to enforce new conventions or follow existing ones, but some convention should be followed consistently. Use full, meaningful names for variables and functions The purpose of a variable or function should be obvious from its name. The use of full, descriptive names enhances code. Many lines of legacy code contain cryptic names that require the developer to guess the information contained in the variable or the purpose of the function. Use correctly spelled, full words to describe variables and functions so that no interpretation is required. It may take more effort to type a longer, descriptive name, but with editing tools such as copy and paste and insertion editors, the work of doing so is manageable and worth the effort. For variable names choose adjectives and nouns When declaring variables (or function arguments), the quantity or object of interest can generally be described as a noun, modified by an adjective. Boolean variables are an exception and described separately, below. backgroundStimulus=zeros(512,512); % recommended bgstim=zeros(512,1512); % avoid; cryptic appearStimulus=zeros(512,512); % avoid; verb For variable names and function arguments use camel notation In camel notation, the first word of the concatonated variable name is lowercase and subsequent words have the first character capitalized. Acronyms and abbreviations (used sparingly) only capitalize the first character, even if they are normally all capitals in written expressions. double spatialFrequencyCpd; // recommended double spatialFrequencycpd; // avoid int imageHeightMm; // recommended int imageHeightmm; // avoid meanRms = 0; % recommended meanRMS = 0; % avoid For function names, use a strong verb followed by an object. Functions and methods take some kind of action on data. Therefore, name them starting with a strong verb (action word) and the object of the action. Use the same verb for the same kind of operation. For example, use compute or calculate but not both within the same class. Be specific and include an adjective before the object name, where applicable. Some verbs cover just about any meaning. Avoid general names or vague names for functions or procedures. ComputeZernikeCoefficients(); // recommended SaveWavefrontImageFile(); // recommended Opening(); // avoid (not a strong verb; too vague) HandleCalculation; // avoid; vague PerformServices(); // avoid; vague For functions whose main purpose is returning the current condition, use Is as the verb. In the example below, the purpose of the function is to ask Is the plot file valid? The function name does not suggest that the file was opened or read, or that data from the file is available. The function may only check to make sure that the file exists and that it starts with some specific character sequence. function [isFileValid]=IsPlotFileValid(plotFileName) % recommended Note that a boolean return value does not always mean that the function should start with is. If the function returns a boolean value to indicate the status of the action taken by the function, the verb should represent the action taken. In the example below, the action taken is to open and read the parameter file. The return status indicates whether the operation was successful. fileStatus = ReadParameterFile(CString parameterFileName);//recommended Avoid the following. In the example below, the purpose of the function is ambiguous. Does the function ask if the file has already been opened? Does it open the file and return a status on the opening operation? IsOpenParameterFile(CString parameterFileName); // avoid For function or method names, use title (Pascal) case Function names are comprised of words that are concatenated together to describe the operation of the function on the available data. The name should include enough words to describe the function specifically. % recommended function [zernikeResult] = ComputeZernikeCoefficients(centroids) % avoid function [z] = computezernikecoefficients(c); %avoid function [zers] = compute_Zernike_coefficients(cents); %avoid Boolean variables start with is Boolean variables are used in two main contexts. In the first, a checkbox or other graphic user interface control selects an option as on (selected) or off. In the second context, the result of a function is Boolean, indicating the success or failure of the function. In either case, the leading is in the name cues the developer that the variable is true or false. Depending on the user interface development tools, other conventions may make more sense, however. The developer is encouraged to use his or her best discretion and apply a consistent practice when naming Boolean variables. Name Boolean return arguments as true if the result is successful When a function returns a Boolean value, the return status should be true when the function is successful. These variables are typically tested with if statements soon after the function call, to handle any subsequent dependencies. The name of the Boolean return argument should relate to the function name that produced it, but need not include the entire function name, if the meaning is easily understood. Begin these variable names with is and end with Ok or Valid. isFileOk = ReadParameterFile(...); % recommended isParameterSetValid = ValidateParameterSet(); % recommended isError = ComputePsychometricFunction(); % avoid; A function that was written prior to these conventions or outside of UHCO may return a true value in case of an error. If the result is truly Boolean, you can negate the result and still choose a success name for no error. isCameraOpenOk = !cameraABC.Open (); % returns 0 (false) on success If the result is zero for success and a numeric code for an error, use a different variable name such as cameraOpenStatusCode, and interpret all return conditions provided by the developer. Name Boolean selection variables as Selected or On Boolean variables are often necessary for user-selected options such as checkboxes. The checkbox control variable should be named consistently with the conventions of the language and development environment. Include a reference to the control type in the name of the control. For instance, Check or Chk is acceptable to append to all checkbox control names. Any variables not attached to the graphical user interface (GUI) that are initialized from the GUI (or a parameter file or a hard-coded default state) start with is followed by the adjective-noun pattern of other variables, followed by Selected or On. Avoid the user of Enabled in a Boolean variable name, unless referring to the enabled state of a GUI control. An option may be on and disabled, for instance, if a checkbox control is checked and the user is disabled from changing it. isAdvancedProcessingSelected=advancedProcessingCk.value; % recommended isFixationPointOn=TRUE; // recommended; may set default state FixationPointEnabled=TRUE;// avoid; Name constants using all capitals and underscores. For constants, use the legacy C/C++ convention of using all capitals separating component words with underscores. This convention distinguishes static variables and constants from variables that can be modified. const int MAXIMUM_MODES = 66; // number of Zernike modes(coefficients) Use only well-accepted acronyms or abbreviations and do so sparingly. Abbreviations and acronyms in variable names are acceptable so long as they are standardized (in general or in vision science and/or optics), such as mm, cm, cpd (cycles-per-degree), MTF, PSF, RMS. When the variable is declared, spell out the abbreviation in the comments. Even though the acronym may typically be shown as all capitals or all lowercase, capitalize the first character, such as wavefrontMtf. Do not use an abbreviation for an entire variable name. double spatial FrequencyCpd; // recommended double wavefrontRmsError; // recommended; root mean square error cpd; // avoid RMS; // avoid Include units in variables representing physical quantities If a variable name represents a physical quantity, the name should include units as the last word in the name. This practice is especially important when using several unit spaces in a program, such as centimeters, pixels and degrees of visual angle to describe the extent of a stimulus. Common abbreviations for units are acceptable. temperatureDegreeC = 2.8; %recommended temperatureRepresentedInDegreeCelsius =2.8; %avoid; excessive temperatureDegreeF = 37.0;%recommended temperature =37.0; %avoid units are ambiguous Use single-character variables sparingly and with clear purpose In general, it is better to use a descriptive word such as time rather than t in an expression. However, if the single-character notation makes the mathematical notation more clear, or if the variable is used as an index, it can be appropriate. Keep in mind that MATLAB declares the meaning of many single characters such as i and j for the square root of -1. timeStartMs = 0; timeEndMs =1000; t = [timeStartMs:timeEndMs]; % initialize time axis signal=sine(2*pi*t/timeEndMs); plot(t,signal); Avoid arbitrary abbreviations in variable names Hardware and compiler limitations enforced short variable names in the early years of programming. This constraint led to cryptic variable naming practices, such as cutting words short or leaving out the vowels. Avoid this outdated practice. Using full descriptive words brings the benefit of readability and ease of interpretation. For clarity use only commonly recognized abbreviations in variable names. Select a longer variable name if it enhances clarity. int subjectCount; // recommended int sbjctCnt; // avoid double spatialFrequencyCpd; // recommended double spatFreq; // avoid Use temp in a variable only if it is truly temporary When a variable is only computed for the sake of the next line of code, it can be appropriate to give it a prefix temp to make it clear that the variable is only used in the local situation for the purpose of computing a more permanent resulting variable. If declaring a variable name including temp, the variable should be used within the next couple of lines of code and not used again. Avoid the use of underscores in variable or function names In legacy code, the underscore was often used to separate words in descriptive variable or function names. Some older languages treated lowercase and uppercase as the same character. Modern languages are case sensitive, and therefore the camel and Pascal notation are used instead of inserting the underscore, which is awkward to type. Note also that identifiers beginning with an underscore or double underscore are reserved by the compiler in MS C++. If use of an underscore is warranted based on the convention of the development tools, follow the established convention. double minimumFrequencyHz=1.0; // recommended double minimum_frequency_hz; // avoid; underscores double _minimumFrequencyHz; // avoid (leading underscore) Avoid Hungarian Notation Hungarian notation attaches a type prefix to the variable. This notation was promoted for some years by Microsoft in the era of Visual Studio 6.0, but has been abandoned with Visual Studio .net. Since the .net development environment checks types rigorously, this notation is not as critical. Avoiding Hungarian notation simplifies variable naming and avoids errors introduced when the type is changed but the developer forgets to change the name. If an existing project was written with Hungarian notation, however, continue to follow the practice in legacy projects. bool isValidFile; // recommended bool bIsValidFile; // avoid int primeNumber; // recommended int nPrimeNumber; // avoid Avoid hard-coded path names in source files Hard-coded path names render programs inflexible and potentially useless when the program is used on a computer that has a different folder structure. When loading a file in to your program, generally ask the user to supply the file name, use the application path (for read-only data), or use a configuration file that specifies the exact location of files. Configuration files can be initialized at installation time. If a default path must be supplied, identify the My Documents folder programmatically or use the All Users application data folder for the custom application. Be sure that a non-administrative user has write access to any path to which the program needs to write. For example, restricted users do not have access to the application folder under the \Program Files folder under Windows XP. General Programming Conventions Use static variables or constants rather than hard-coding values Numerical constants like the maximum size of a data structure or mathematical constants such as ( (pi) should be declared as static member variables or constants. MATLAB does not provide a means to declare static or constant values, but it is still recommended that these types of values be set apart from variables by using the all-capitals naming convention. MINIMUM_PUPIL_DIAMETER_MM=3; % recommended, used to check user input #define PI = 3.1415926535897931; // recommended for legacy C++ static double PI = acos(-1.0); // recommended for static variable pupilAreaSquareMm = PI*pupilRadiusMm*pupilRadiusMm;//recommended double pupilAreaSquareMm=3.14159*pupilRadiusMm*pupilRadiusMm;//avoid Avoid global variables Global variables lead to complications that can easily be avoided by declaring all variables as members of a class or keeping the variables local to a function. In C++ or C#, use classes. In MATLAB pass data as arguments to functions and avoid using the global workspace or scripts. Use loop or index variables consistently in your program When looping through the same array, always use the same index name. For example, if looping through a matrix with index variables row and column, do not later use variables xIndex and yIndex. If using i, j and k as iterators on a three dimensional array, always use i for the same dimension of the array. Use the same type of name on different dimensions. for (int row =0; row = 150) || (calculatedNumber >= 300)) { doSomething(calculatedNumber); } //The following is easier to visually parse (recommended style) if (( calculatedNumber<= inputNumber) || (calculatedNumber <= 100) || (inputNumber <= 100) || (150 <= inputNumber) || (300 <= calculatedNumber)) { doSomething(calculatedNumber); } Compare numeric values from lowest to highest to mimic math expressions For comparisons within a range it is helpful to place variables and constants in increasing order to resemble the math such as (0 // required #include // not required, should be deleted void main(){ cout<< Hello World; } Declare functions and variables only in header files Some legacy C code or C++ coded in the style of C may declare function prototypes or external variables at the top of the implementation file. Avoid this outdated practice. Use the MFC Version Resource When using MFC, use the version resource (VS_VERSION_INFO) to indicate the version of the code released to users (i.e. installed on machines used by lab members). Update the version number with each release. Maintain a history of code revisions either in a readme.txt file, in the application source file (if it is dialog based and the main application source file is short), or in a separate document. Keep the history file in the project folder. Build debug and release executables to their respective subdirectories Visual Studio (C# or C++) provides a way to designate the destination folder for the executable files in the project settings menu. As a general rule, build the release version to the default subfolders set up when you created the project in Visual Studio (i.e \Release and \Debug). Maintain the intermediate files in these folders as disposable (except for the release executable). Do not put files that need to be permanently stored in these folders. Naming Conventions Along with the general best practices set forth in section 1, these additional naming conventions can enhance C++ source code. Specify member variables of a class as private and follow camel notation By specifying member variables as private (or protected) the class protects its data by screening input and verifying output with set and get property functions. This convention forces the developer to make sharing of data outside the class a deliberate choice. However, sometimes, the primary purpose of a class is to encapsulate a set of parameters. In this case, making all the members public is appropriate. Consider a special prefix for member variables When reading through a class, it can be helpful to distinguish member variables from local variables. The Visual Studio 6.0 generation of code used m_ as a prefix to designate member variables. The developer has the option to maintain this convention, and in this case, member variables are an exception to the no underscores rule. Alternately, the developer could simply prefix all member variables with m and capitalize the rest of the variable names. If the developer chooses a member-variable naming convention, it should be followed for all modules in the project. Legacy style class RsvpStimulus { private: double m_letterSizeDegrees;// lowercase x height double m_letterContrast; // Lmax-Lmin/Lmax+Lmin ... } Alternate style class RsvpStimulus { private: double mLetterSizeDegrees;// lowercase x height double mLetterContrast; // Lmax-Lmin/Lmax+Lmin ... } Name static member variables using all caps Where possible, use static constant member variables rather than #define constants. When doing so, use whatever member variable naming convention (as described above) and use all capital letters to emphasize that the value is constant. Prefix pointer variables with lowercase p This optional practice may be helpful in unmanaged (native) C, where attention to pointer variables is especially important. For member variables, prefix pointers with mp or m_p. For local variables, prefix with p. This distinct designation on pointer variables helps to remind the developer that pointers must be initialized and deleted with care. Always initialize pointer variables to NULL. double *m_pZernikeCoefficients; // recommended for member variable m_pZernikeCoefficients=NULL; // recommended in constructor double *pZernikeCoeffiicents=NULL; // recommended for local variable Use get and set property methods to access member variables Most custom classes need to expose only a subset of the member variable content. In this case, expose private member variables only by get or set property functions, which screen input and verify output. Use Pascal case, as with any method or function. This convention forces the developer to make sharing of data outside the class a deliberate choice. The naming convention clarifies that the function is simply setting or getting data, with screening or validation operations, but not performing additional calculations. This also allows the set and get property functions to be used much like variables in that they only return or accept data of the same type as the member variable. An exception to this rule is for classes, such as forms or dialogs, that have the primary purpose of exposing member information to other classes. class RsvpStimulus { private: double m_letterSizeDegrees;// lowercase x height double m_letterContrast; // Lmax-Lmin/Lmax+Lmin public: void LetterContrast(double letterContrast); double LetterContrast(); void LetterSizeDegrees(double letterSizeDegrees); double LetterSizeDegrees(); } Programming Conventions Use static member variables or constants rather than hard-coding numerical values Numerical constants like the maximum size of a data structure or mathematical constants such as ( (pi) should be declared as static member variables or constants. Static member variables are recommended over constants. For values that are known at compile time, the value can be hard-coded in the constructor. For values that require programmatic input, but are constant after initialization, the initial value may be passed to the constructor and the static scope protects the value of the variable. The use of #define for constants is present in much legacy code, but because such a method is effectively global in scope, it is discouraged. If static variables are needed externally, rather than declaring them public, create a get function for retrieving the value. Terminate Case Blocks Statements following a case label should be terminated by a statement that exits the switch statement, such as return or break. The complier does not generate warnings for this condition, so it is an easy error to overlook. The developer must conscientiously examine each switch-case logic statement. Leaving out such termination produces a fall-through between different cases, which is rarely intentional. In rare cases where fall-through might be necessary document the intention of fall through. int rsvpResponse = RsvpDialog.DoModal(); switch (rsvpResponse) { case IDOK: MessageBox(Thank you for your time today.); break; case IDCANCEL: MessageBox(Please come back another time.) break; default: MessageBox(Unrecognized result from RSVP); return; } Declare variables wherever they are used. In C, variables are declared at the beginning of a function but in C++ they may be declared just prior to use. By declaring variables nearest to the first use, the type of the variable is clear and the lifetime of the variable is limited to its useful duration. Generally, it is good practice to insert a blank line just before the new variable declaration and the block of code that uses it. void RsvpStimulus::PrepareStimulus() { prepareColorLookupTable(); prepareFixationPage(); prepareAdaptationPage(); int stimulusLevel = int(rand()*5); // select stimulus level prepareStimulus(stimulusLevel)); } Initialize variables wherever they are declared Initialized declarations avoid redundant function calls. Two function calls are needed if an object of a class is assigned without using the default constructor. Always initialize pointers to NULL. For member variable pointers, set them to NULL in the constructor and reset them to NULL after deleting them. Check member pointers for NULL before using them in class functions. int zernikeModes=65; double *zernikeCoefficients = NULL; zernikeCoefficients = new double[m_zernikeModes]; ... delete [] zernikeCoefficients; Place new and delete statements so as to emphasize their relationship with each other In unmanaged C++, specifically, use new and delete at 1) the beginning and end of a routine or 2) at the beginning and end of immediate use or 3) in the constructor or initialize of a class and in the destructor. If the allocated data must be used throughout a routine, use new at the beginning of the routine and delete near the end. If the allocated data is used for a compact block of code use new and delete immediately before and after the data is used, respectively. It is important to be aware that the compiler does not complain if the code omits the [] in the delete statement for an array, but doing so does not properly delete the array and can lead to memory leaks. // an example new/delete for a member variable class RsvpExperiment // class declaration { ... private int *m_pStimulusList; ... } void RsvpExperiment::RsvpExperiment(int stimulusLevels) // constructor { ... m_pStimulusList = new int[stimulusLevels]; ... } void RsvpExperiment::~RsvpExperiment() // destructor { if (pStimulusList != NULL) delete [] m_pStimulusList; } // an example new/delete pair for a localized variables void RsvpExperiment::CreatePages { CString *pWordList = NULL; SelectSentence(); // selects index into stored sentences int wordCount=SentenceLength(); // gets length of current sentence pWordList = new CString[wordCount]; CopySentence(pWordList,wordCount);//copies current sentence for (int wordIndex=0; wordIndexced}F/r$ed}F/red}F/rgd,-Eed}F/rgd $a$ed}F/rgd|T $a$ed}F/rgd,-E^uu9 : L c r ~ 0 b l y z       ) 4 5 7 F Q d n 5 7 @  Ժ h,-Eh&hR h,-EhFh,-E h,-Eht]hFhhbP h,-Ehu^hu^h~0hlM h,-Eh\t h,-Ehp`hE^ h,-Eh%P h,-Eh^ @-./>?@ASTklmnȽrdYh}mHnHuh}56aJmHnHu2jhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHu$jhbh}0JUmHnHu h1#56jh1#56Uh Gh>ch3h h} h,-Eh,-Eh%P h,-Eh%Ph~0 h,-Eh& h,-Ehp`23456789:VWtct jwh}UmHnHuh}B*mHnHphu2jhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}56aJmHnHu$jhbh}0JUmHnHu j}h}UmHnHuh}mHnHujh}UmHnHuS8$uUSVJDXZ0ed}F/rgd}/ed}F/rgd}  ed}F/rgd}WXY^_ !"#$%&ŷŬӷŃiŷŬXӷ jkh}UmHnHu2jhbh}>*B*UmHnHphuh}mHnHu jqh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu$jhbh}0JUmHnHu2jhbh}>*B*UmHnHphu"&BCDEJKλ諒rX蒃2jhbh}>*B*UmHnHphu jeh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0J^JmHnHu$jhbh}0JUmHnHu2jhbh}>*B*UmHnHphuhbh}0JmHnHuh}mHnHu <=>?DEpqr´¦¦r´¦X¦2jhbh}>*B*UmHnHphu jYh}UmHnHu2jhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHuh}mHnHujh}UmHnHu j_h}UmHnHu"5678=>efgqW2jhbh}>*B*UmHnHphu jMh}UmHnHu2jhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHu jSh}UmHnHuh}mHnHujh}UmHnHu" %&STUopqrstuvw׳q׳W2j hbh}>*B*UmHnHphu jA h}UmHnHu2j hbh}>*B*UmHnHphuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu jG h}UmHnHujh}UmHnHuh}mHnHuhbh}0JmHnHu"345OPQRSTUVWstظɥqɥ j5 h}UmHnHu2j hbh}>*B*UmHnHphuh}mHnHu$jhbh}0JUmHnHu j; h}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu"tuv{|123MNOPQRSTUŷŬӷŃiŷŬXӷ j)h}UmHnHu2j hbh}>*B*UmHnHphuh}mHnHu j/ h}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu$jhbh}0JUmHnHu2j hbh}>*B*UmHnHphu"Uqrstyz456PQRSTUVλ袓h袓W jh}UmHnHu2jhbh}>*B*UmHnHphu j#h}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu2jhbh}>*B*UmHnHphuhbh}0JmHnHuh}mHnHu"VWXtuvw|}()*DEFGH߼߮ߣi߮ߣX jh}UmHnHu2jhbh}>*B*UmHnHphu jh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu2jhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHu$jhbh}0JUmHnHu"HIJKLhijkpq"#$>?@ѮѣiѣX jh}UmHnHu2jhbh}>*B*UmHnHphu j h}UmHnHujh}UmHnHuh}mHnHu2jhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHu"@ABCDEFbcdekl678Rӷӷŷӷiӷŷ2j|hbh}>*B*UmHnHphu jh}UmHnHu2jhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHujh}UmHnHuh}mHnHu"RSTUVWXYZvwxy 89´¦¦r´¦X¦2jphbh}>*B*UmHnHphu jh}UmHnHu2jvhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHuh}mHnHujh}UmHnHu jh}UmHnHu"9:TUVWXYZ[\xyz{qW2jdhbh}>*B*UmHnHphu jh}UmHnHu2jjhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHu jh}UmHnHuh}mHnHujh}UmHnHu"<=>XYZ\]^_`a}~׳q׳W2jXhbh}>*B*UmHnHphu jh}UmHnHu2j^hbh}>*B*UmHnHphuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu jh}UmHnHujh}UmHnHuh}mHnHuhbh}0JmHnHu"_:+ !!!_""{#$$%%%r&&Z''c((J))/ed}F/rgd}0ed}F/rgd}345789:;<XYZ[^_~ȹȨȹӌrȹaȹӌ jh}UmHnHu2jRhbh}>*B*UmHnHphuh}mHnHu$jhbh}0JUmHnHu jh}UmHnHujh}UmHnHuh}mHnHuhbh}0JmHnHuh}B*mHnHphuhbh}0J^JmHnHu"  $%&()*+,-IJKLQRhijŷŬӷŃiŷŬXӷ jh}UmHnHu2jFhbh}>*B*UmHnHphuh}mHnHu jh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu$jhbh}0JUmHnHu2jLhbh}>*B*UmHnHphu"     + , - . 3 4 m n o λ袓h袓W j h}UmHnHu2j: hbh}>*B*UmHnHphu jh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu2j@hbh}>*B*UmHnHphuhbh}0JmHnHuh}mHnHu" !!!! ! ! ! ! !)!*!+!,!1!2!j!k!l!!!!!!߼߮ߣi߮ߣX j"h}UmHnHu2j."hbh}>*B*UmHnHphu j!h}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu2j4!hbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHu$jhbh}0JUmHnHu"!!!!!!!!!!!!!!!!!!!!!!!""""""<"=">"X"Y"Z"ѮѣiѣX j$h}UmHnHu2j"$hbh}>*B*UmHnHphu j#h}UmHnHujh}UmHnHuh}mHnHu2j(#hbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHu"Z"\"]"^"_"`"a"}"~"""""""""""""""""## # ###X#Y#Z#t#ӷӷŷӷiӷŷ2j&hbh}>*B*UmHnHphu j%h}UmHnHu2j%hbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHujh}UmHnHuh}mHnHu"t#u#v#x#y#z#{#|#}#############$$$$$$"$#$$$%$+$,$`$a$´¦¦r´¦X¦2j (hbh}>*B*UmHnHphu j'h}UmHnHu2j'hbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHuh}mHnHujh}UmHnHu j&h}UmHnHu"a$b$|$}$~$$$$$$$$$$$$$$$$$%%%%%%%%$%%%&%'%-%.%qW2j)hbh}>*B*UmHnHphu j)h}UmHnHu2j)hbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHu j(h}UmHnHuh}mHnHujh}UmHnHu".%_%`%a%{%|%}%%%%%%%%%%%%%%%%%%%%%%%%% & & & &׳q׳W2j+hbh}>*B*UmHnHphu ju+h}UmHnHu2j*hbh}>*B*UmHnHphuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu j{*h}UmHnHujh}UmHnHuh}mHnHuhbh}0JmHnHu" &&&O&P&Q&k&l&m&o&p&q&r&s&t&&&&&&&&&&&&&&&&&&&&&ظɥqɥ ji-h}UmHnHu2j,hbh}>*B*UmHnHphuh}mHnHu$jhbh}0JUmHnHu jo,h}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu"&&&&'7'8'9'S'T'U'W'X'Y'Z'['\'x'y'z'{'''''''''''''''ŷŬӷŃiŷŬXӷ j]/h}UmHnHu2j.hbh}>*B*UmHnHphuh}mHnHu jc.h}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu$jhbh}0JUmHnHu2j-hbh}>*B*UmHnHphu"''(((((@(A(B(\(](^(`(a(b(c(d(e(((((((((((((((((λ袓h袓W jQ1h}UmHnHu2j0hbh}>*B*UmHnHphu jW0h}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu2j/hbh}>*B*UmHnHphuhbh}0JmHnHuh}mHnHu"((((((())')()))C)D)E)G)H)I)J)K)L)h)i)j)k)p)q)))))))))߼߮ߣi߮ߣX jE3h}UmHnHu2j2hbh}>*B*UmHnHphu jK2h}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu2j1hbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHu$jhbh}0JUmHnHu"))))))))))))))******* *!*=*>*?*@*E*F*t*u*v****ѮѣiѣX j95h}UmHnHu2j4hbh}>*B*UmHnHphu j?4h}UmHnHujh}UmHnHuh}mHnHu2j3hbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHu")**++,,!--%..!//0z00E11>2233444f55  ed}F/rgd}0ed}F/rgd}/ed}F/rgd}****************++++++++ +%+&+'+(+-+.+g+h+i++ӷӷŷӷiӷŷ2j6hbh}>*B*UmHnHphu j36h}UmHnHu2j5hbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHujh}UmHnHuh}mHnHu"++++++++++++++++++ , , ,,,,,,,/,0,1,2,7,8,{,|,´¦¦r´¦X¦2j8hbh}>*B*UmHnHphu j'8h}UmHnHu2j7hbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHuh}mHnHujh}UmHnHu j-7h}UmHnHu"|,},,,,,,,,,,,,,,,,,,------ -!-"-#-?-@-A-B-G-H-qW2j:hbh}>*B*UmHnHphu j:h}UmHnHu2j9hbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHu j!9h}UmHnHuh}mHnHujh}UmHnHu"H-------------------..... .".#.$.%.&.'.C.D.E.F.׳q׳W2j<hbh}>*B*UmHnHphu j<h}UmHnHu2j;hbh}>*B*UmHnHphuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu j;h}UmHnHujh}UmHnHuh}mHnHuhbh}0JmHnHu"F.K.L.z.{.|..................////// /!/"/#/?/@/ظɥqɥ j>h}UmHnHu2j=hbh}>*B*UmHnHphuh}mHnHu$jhbh}0JUmHnHu j =h}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu"@/A/B/H/I/s/t/u///////////////////000000000ŷŬӷŃiŷŬXӷ j?h}UmHnHu2jz?hbh}>*B*UmHnHphuh}mHnHu j>h}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu$jhbh}0JUmHnHu2j>hbh}>*B*UmHnHphu"090:0;0<0=0>0W0X0Y0s0t0u0w0x0y0z0{0|00000000000λ袓hZ袓h}B*mHnHphu2jnAhbh}>*B*UmHnHphu j@h}UmHnHujh}UmHnHuh}mHnHuh}56aJmHnHu$jhbh}0JUmHnHu2jt@hbh}>*B*UmHnHphuhbh}0JmHnHuh}mHnHu000000000000011"1#1$1>1?1@1B1C1D1E1F1G1c1d1e1f1k1l111´¦¦r´¦X¦2jbChbh}>*B*UmHnHphu jBh}UmHnHu2jhBhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHuh}mHnHujh}UmHnHu jAh}UmHnHu"11111111111111111222728292;2<2=2>2?2@2\2]2^2_2d2e2qW2jVEhbh}>*B*UmHnHphu jDh}UmHnHu2j\Dhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHu jCh}UmHnHuh}mHnHujh}UmHnHu"e22222222222222222222223 3 3 3 33333-3.3/303׳q׳W2jJGhbh}>*B*UmHnHphu jFh}UmHnHu2jPFhbh}>*B*UmHnHphuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu jEh}UmHnHujh}UmHnHuh}mHnHuhbh}0JmHnHu"035363o3p3q3333333333333333333 4 4 4444444/404ظɥqɥ jHh}UmHnHu2jDHhbh}>*B*UmHnHphuh}mHnHu$jhbh}0JUmHnHu jGh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu"0414247484m4n4o4444444444444444444444444444ŷŬӷŃiŷŬXӷ jJh}UmHnHu2j8Jhbh}>*B*UmHnHphuh}mHnHu jIh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu$jhbh}0JUmHnHu2j>Ihbh}>*B*UmHnHphu"4 555555C5D5E5_5`5a5c5d5e5f5g5h55555555555555555λ袓h袓W jLh}UmHnHu2j,Lhbh}>*B*UmHnHphu jKh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu2j2Khbh}>*B*UmHnHphuhbh}0JmHnHuh}mHnHu"555 6 6 6 666*6+6,6F6G6H6J6K6L6M6N6O6k6l6m6n6q6r666666666߼߮ߣi߮ߣX jNh}UmHnHu2j Nhbh}>*B*UmHnHphu jMh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu2j&Mhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHu$jhbh}0JUmHnHu"5M66 7m77w88a99[::Q;;?<<,==&>> ???k@ AA)B0ed}F/rgd}  ed}F/rgd}/ed}F/rgd}66666666666666777 7 7 7 777+7,7-7.71727J7K7L7f7ѮѠѕu[ѕ2jPhbh}>*B*UmHnHphu jOh}UmHnHujh}UmHnHuh}mHnHuh}56aJmHnHu2jOhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHu f7g7h7j7k7l7m7n7o7777777777777777777888888T8U8´¦¦r´¦X¦2jRhbh}>*B*UmHnHphu jQh}UmHnHu2jQhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHuh}mHnHujh}UmHnHu jPh}UmHnHu"U8V8p8q8r8t8u8v8w8x8y8888888888888888888 9 9 9 9qW2jShbh}>*B*UmHnHphu jSh}UmHnHu2jShbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHu jRh}UmHnHuh}mHnHujh}UmHnHu 999>9?9@9Z9[9\9^9_9`9a9b9c999999999999999999999ȹȨȹӌrȹaȹӌ jsUh}UmHnHu2jThbh}>*B*UmHnHphuh}mHnHu$jhbh}0JUmHnHu jyTh}UmHnHujh}UmHnHuh}mHnHuhbh}0JmHnHuh}B*mHnHphuhbh}0J^JmHnHu"999::8:9:::T:U:V:X:Y:Z:[:\:]:y:z:{:|:::::::::::::::ŷŬӷŃiŷŬXӷ jgWh}UmHnHu2jVhbh}>*B*UmHnHphuh}mHnHu jmVh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu$jhbh}0JUmHnHu2jUhbh}>*B*UmHnHphu":::::::.;/;0;J;K;L;N;O;P;Q;R;S;o;p;q;r;u;v;;;;;;;;;;;λ袓h袓W j[Yh}UmHnHu2jXhbh}>*B*UmHnHphu jaXh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu2jWhbh}>*B*UmHnHphuhbh}0JmHnHuh}mHnHu";;;;;;;;;<<<8<9<:<<<=<><?<@<A<]<^<_<`<e<f<<<<<<<<<߼߮ߣi߮ߣX jO[h}UmHnHu2jZhbh}>*B*UmHnHphu jUZh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu2jYhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHu$jhbh}0JUmHnHu"<<<<<<<<<<< = = =%=&='=)=*=+=,=-=.=J=K=L=M=R=S=~======ѮѣiѣX jC]h}UmHnHu2j\hbh}>*B*UmHnHphu jI\h}UmHnHujh}UmHnHuh}mHnHu2j[hbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHu"=============>>>> >!>#>$>%>&>'>(>D>E>F>G>J>K>b>c>d>~>ӷӷŷӷiӷŷ2j^hbh}>*B*UmHnHphu j=^h}UmHnHu2j]hbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHujh}UmHnHuh}mHnHu"~>>>>>>>>>>>>>>>>>>?????? ?!?"?>???@?A?F?G?\?]?´¦¦r´¦X¦2j`hbh}>*B*UmHnHphu j1`h}UmHnHu2j_hbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHuh}mHnHujh}UmHnHu j7_h}UmHnHu"]?^?x?y?z?|?}?~??????????????????????@@@@@@qW2jbhbh}>*B*UmHnHphu j%bh}UmHnHu2jahbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHu j+ah}UmHnHuh}mHnHujh}UmHnHu"@H@I@J@d@e@f@h@i@j@k@l@m@@@@@@@@@@AAAAA A A A A(A)A*A+A׳q׳W2jdhbh}>*B*UmHnHphu jdh}UmHnHu2jchbh}>*B*UmHnHphuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu jch}UmHnHujh}UmHnHuh}mHnHuhbh}0JmHnHu"+A0A1AAAAAAAAAAAAAAAAAAABBB"B#B$B&B'B(B)B*B+BGBHBظɥqɥ j fh}UmHnHu2jehbh}>*B*UmHnHphuh}mHnHu$jhbh}0JUmHnHu jeh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu"HBIBJBOBPBBBBBBBBBBBBBBBBBCCMCNCOCiCjCkCmCnCoCpCqCrCŷŬӷŃiŷŬXӷ jhh}UmHnHu2jghbh}>*B*UmHnHphuh}mHnHu jgh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu$jhbh}0JUmHnHu2jfhbh}>*B*UmHnHphu")BBpCC5DD*EEE?FFF^GG#H}HH8IIIYJJKnKKKed}F/rgd}  ed}F/rgd}/ed}F/rgd}0ed}F/rgd}rCCCCCCCCCCCCCCCCCCCCCCCCCDDD.D/D0D2D3D4D5Dλ袓h袓W jih}UmHnHu2jxihbh}>*B*UmHnHphu jhh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu2j~hhbh}>*B*UmHnHphuhbh}0JmHnHuh}mHnHu"5D6D7DSDTDUDVD[D\DDDDDDDDDDDDDDDDDDDEE E#E$E%E'E(E߼߮ߣi߮ߣX jkh}UmHnHu2jlkhbh}>*B*UmHnHphu jjh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu2jrjhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHu$jhbh}0JUmHnHu"(E)E*E+E,EHEIEJEKELEMEbEcEdE~EEEEEEEEEEEEEEEEEEEѮѠѕu[ѕ2j`mhbh}>*B*UmHnHphu jlh}UmHnHujh}UmHnHuh}mHnHuh}56aJmHnHu2jflhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHu EEEEEEEEEFFFF F FFFF8F9F:FF?F@FAF]F^F_F`FcFdF{F|F´¦¦r´¦X¦2jTohbh}>*B*UmHnHphu jnh}UmHnHu2jZnhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHuh}mHnHujh}UmHnHu jmh}UmHnHu"|F}FFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGqW2jHqhbh}>*B*UmHnHphu jph}UmHnHu2jNphbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}B*mHnHphu$jhbh}0JUmHnHu joh}UmHnHuh}mHnHujh}UmHnHu"G;G*B*UmHnHphuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu jqh}UmHnHujh}UmHnHuh}mHnHuhbh}0JmHnHu GGGGGHHHHHH H!H"H#H$H%HAHBHCHDHGHHHZH[H\HvHwHxHzH{H|H}H~HHŷŬӷŃiŷŬXӷ jth}UmHnHu2j6thbh}>*B*UmHnHphuh}mHnHu jsh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu$jhbh}0JUmHnHu2j*B*UmHnHphu"HHHHHHHHHHHHHHHHHHHHHHHIIIII1I2I3I5I6I7I8Iλ袓h袓W jvh}UmHnHu2j*vhbh}>*B*UmHnHphu juh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu2j0uhbh}>*B*UmHnHphuhbh}0JmHnHuh}mHnHu"8I9I:IVIWIXIYI\I]IyIzI{IIIIIIIIIIIIIIIIIIII߼߮ߣi[ߣh}56aJmHnHu2jxhbh}>*B*UmHnHphu jwh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu2j$whbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHu$jhbh}0JUmHnHuIIIIIIIIIJJJJJJ6J7J8JRJSJTJVJWJXJYJZJ[JwJxJ´¦¦udu¦ jyh}UmHnHuh}B*mHnHphu2jyhbh}>*B*UmHnHphuh}mHnHuhbh}0JmHnHuh}56aJmHnHu$jhbh}0JUmHnHuh}mHnHujh}UmHnHu jxh}UmHnHuxJyJzJ}J~JJJJJJJJJJJJJJJJJJJJJJ K K KKKKKKKŷŬӷŃiŷŬXӷ j{h}UmHnHu2j {hbh}>*B*UmHnHphuh}mHnHu jzh}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphuhbh}0JmHnHu$jhbh}0JUmHnHu2jzhbh}>*B*UmHnHphu"K0K1K2K3K6K7KKKLKMKgKhKiKkKlKmKnKoKpKKKKKKKKKKKKKKKKKλ袓h袓W j}}h}UmHnHu2j}hbh}>*B*UmHnHphu j|h}UmHnHujh}UmHnHuh}mHnHuh}B*mHnHphu$jhbh}0JUmHnHu2j|hbh}>*B*UmHnHphuhbh}0JmHnHuh}mHnHu"KKKKK8LLLLM M%McMdMeMMMMMMMMNNNNֽvZE)h\?hVB*CJOJQJ^JaJph7h\?hnK%5B*CJOJQJ^JaJmHnHphu4h\?hnK%B*CJOJQJ^JaJmHnHphu)h\?hB*CJOJQJ^JaJph,h\?h|05B*CJOJQJ^JaJph)h\?h|0B*CJOJQJ^JaJphhh|0h}hVh h9wh<"jh1#56B*UaJphKKKdMeMMMNNN.N/NLPmPPtSuSSaTTT $ & Fed}F/rgd $ed}F/red}F/rgd" ed}F/rgdG 7$8$H$ed}F/rgded}F/rgd|0ed}F/rgd2ed}F/rgd}ed}F/rgd>cNNN.N/N;NJNNNNgOOOOKPLPTPmP}PPPPPPQQQ RRBSLSsSSSSSBT`TcTTTTUVt haTh CJOJQJ^JaJh h}lhcDhoh/BqhD h" hG h" hD h" h%P h" h9w h{h%Ph^:hT1h%P6h h,-Eh[h9w h,-Eh%PhVhlhV5hhCJOJQJ^JaJ+THUxUzUUUUUU VVVWWIWJWQWXWaWjWqWrWWXed}F/rgd/Bqed}F/rgded}F/rgd$ed}F/red}F/rgdc $ & Fed}F/rgd VVJWKWQWUWXWYWZW[W`WaWqWrWXXXY!Y"Y+YCYfYYAZZZZZZZ[[б}}nbnbn^ZVhVnh$/mhdFMhOCJOJQJaJhOhOCJOJQJaJhO hOhO hO^J hcd^J hhcd hhOhVh/Bq hh%P haTh<CJOJQJ^JaJhaTCJOJQJ^JaJ haTh CJOJQJ^JaJhCJOJQJ^JaJh haTh OJQJ^J X+Y@ZAZcZZZZ[]]]^^_____`/`0`bbc`c`r`t`x`y````````ababbbb㰬hOh%PCJOJQJaJh}C*hTl&hBsCJOJQJaJh$_CJOJQJaJhOh$_CJOJQJaJhcDh$_6heph$_hBshVnhcDhdFMhdFM^J9bbbbbbbbccc&c~Լhsht,6CJOJQJaJhsht,CJOJQJaJh;ihgh-*hh"lh5hsh~0hLCh]h-ht,hA2Zhh h3h<>~?~@~H~Z~[~~~9McmK"#=Ijuy݁8ɂтEF`a$%56hijÄĄʄƾƾζΝh{,CJOJQJ^JaJ h{,h{,CJOJQJ^JaJhQhShYh3h>.hh_Jhh"lh|0hgh~0h[! h{*Ph%Ph^:h%PhshsCJOJQJaJ8aijĄ1MNy݆ކLIred}F/rgd@ed}F/rgd>.ed}F/rgd3ed}F/rgd3ed}F/rgd>.1Nijlm׆܆ކLz‡߇bڈIqry׉ຶ௶h0tCJOJQJaJh@CJOJQJaJhh@CJOJQJaJ h,-Eh3h@ hZh3h>.CJOJQJaJh5h>.CJOJQJaJh>.h3hCJOJQJ^JaJh{,CJOJQJ^JaJ5ȉȋɋJKijڎ<z $ed}F/rgdQed}F/rgded}F/rgded}F/rgd3ed}F/rgd@'Gaȋ*KQnj͌$JKX\¶ΪΪΪ壟y hh@ hhh3CJOJQJaJheCJOJQJaJh3 h@h@hCJOJQJaJh3^CJOJQJaJhQCJOJQJaJhCJOJQJaJh3^ h@hh h@h3h@h@CJOJQJaJ/?^chij ֏0146<Nkpryz&19Nlmȑԑ ǻӷӝӝӝӝӝӝӝӝӝ}yuyh^h.nh[hh h>h.R8hOh.& hWhZh3CJOJQJaJ hZh3h0th3hCJOJQJaJheCJOJQJaJh3CJOJQJaJh@CJOJQJaJ hh3 hh hh@.z. ?{֖זΗ12yܛݛed}F/rgdjVed}F/rgdjVed}F/rgdJed}F/rgdQed}F/rgd^ed}F/rgdJed}F/rgdWed}F/rgdY- -.HI()7UȔɔ >?ڕ ֖זAQòáz䏋 hhCJOJQJ^JaJhihQh^CJOJQJ^JaJ hJhJCJOJQJ^JaJ hJhT0CJOJQJ^JaJ hJh.CJOJQJ^JaJhT0h.hNhJhh^h)h.nhWh8Hh0t0Ș˘̘!789\vyz™љ@012ۛݛ-FΟϟ Hβunn hWhY-hY-CJOJQJ^JaJ h{$)hY-CJOJQJ^JaJhXhY-CJOJQJaJhhY- hOhY-hjVCJOJQJ^JaJh7(CJOJQJ^JaJ hwi<hwi<CJOJQJ^JaJ hwi<hKCJOJQJ^JaJhwi<hthKhJ(,-sEFrϟ [\Yʣˣܣ!@ed}F/rgd_Jed}F/rgded}F/rgdY-ed}F/rgdY-Hy[\]^w¡̡ҡۡܡˣ  ?OPUmqyͥMNOyuqh'h%P h,-Eh7 h,-Ehclh.bh0ehclhhyHCJOJQJ^JaJh(CJOJQJ^JaJh7CJOJQJ^JaJ h7h7CJOJQJ^JaJh8Hh7hy ehY-CJOJQJaJhY-CJOJQJaJhY- h*{hY-+@PNOpͦΦɨ 7jed}F/rgdEved}F/rgd[= $ed}F/rgd[=ed}F/rgded}F/rgd$ed}F/rgdSzed}F/rgdcl$ed}F/r $ed}F/rgded}F/rgd_JO_t|Φèɨ©)vz #$&*+7RVW\ʾyjyjy^yjy^yhCJOJQJaJhSzhSzCJOJQJaJhSzh%PCJOJQJaJhOh%P0JhYGhclh2 h,-Eh%Ph8Hh[= hSzhcl hhhhSzCJOJQJaJhclCJOJQJaJh%PCJOJQJaJhclh%PCJOJQJaJhclhclCJOJQJaJ$\^ijӫS !-12789MYjmnstuvÿʏփʏteh hfCJOJQJaJh& hXCJOJQJaJh5CJOJQJaJhSzh5CJOJQJaJ hEvh8Hh%Ph8HhZq hEvhSz hEvhEvhEv hSzhSzhCJOJQJaJhSzh%PCJOJQJaJhSzhSzCJOJQJaJh[=CJOJQJaJ&89Ytuvѱ3"deed}F/rgdMTed}F/rgdpQ  & Fed}F/rgd~Med}F/rgd.[ed}F/rgd$ed}F/rgdfed}F/rgd& $ed}F/r $ed}F/rgd5ed}F/rgdEvv9:L_C-6BFGQбѱұڱ %23˲ӲԲֲɳžyhMTCJOJQJaJh_.CJOJQJ^JaJ h_.h_.CJOJQJ^JaJh_.hpQ jphpQh2 hpQhpQ hpQh%P hclh%Phrh%P hdFMh.[hS2hOBhhVnh0yhY-hdFMh.[^Jh.[)!"2@OPcdejnvwx{|ǴԴմʻ⠑ʂvvjvjjjfbfhDBhpQhoCCJOJQJaJhn8CJOJQJaJhoChMTCJOJQJaJhMThMTCJOJQJaJhoChoCCJOJQJaJh^CJOJQJaJhoChMmCJOJQJaJhMTCJOJQJaJh|]CJOJQJaJhoCh)SCJOJQJaJhoCh%PCJOJQJaJ&V˷̷>@jlnrOuܻ $7$8$H$ed}F/rgdP0E $ed}F/rgd$ `ed}F/rgdWed}F/rgd`ed}F/rgd 3{ed}F/rgd$ed}F/rgdpQt78UVٶڶݶ޶ ()*+-./05678opqrʷ˷̷շַݷ޷";h`h`CJOJQJaJhuMGCJOJQJaJh`h 3{CJOJQJaJh`h%PCJOJQJaJ h 3{h` huMGh%PhuMG huMGh 3{h 3{ h 3{h 3{ h 3{h%PhhDB:"#13:=>ABXY\^dlrø ,Ofgjlmtuֹ3޼tӻǻӻǻh~0hGhlhVnhP0E h`h` h`h%PhaJh`CJOJQJaJhWCJOJQJaJh`h`CJOJQJaJh`h 3{CJOJQJaJh`h%PCJOJQJaJ:ܻݻӽս'U]^gԾ!3Sed}F/rgdAied}F/rgdDB $7$8$H$ed}F/rgdP0Etʽѽӽս%]^?wֻ֣֯{tea]]h#hh3h3CJOJQJaJ hb(h  hb(h2=hb( hOh2= hOh%PhAihAiCJOJQJaJhAiCJOJQJaJhACJOJQJaJh|]CJOJQJaJhDBh|]CJOJQJaJhDBCJOJQJaJhDBhDBCJOJQJaJ hDBh%PhlhG$S`~15`apMed}F/rgdt%ed}F/rgd#ed}F/rgd/J$ed}F/red}F/rgdb(ed}F/rgd$ed}F/rgdAi 0~*/AILu|ٺ~~rfZfZh1CJOJQJaJh.CJOJQJaJhe|*CJOJQJaJht%CJOJQJaJht%ht%CJOJQJaJht%h%PCJOJQJaJ h,-Eh%P h/Jh%Pht% h#hGCJOJQJ^JaJh#CJOJQJ^JaJhGCJOJQJ^JaJ h#h#CJOJQJ^JaJh#hG#Mqr /1Qtu$^`ed}F/rgd83$^`ed}F/rgd83 $`ed}F/rgd83 $ed}F/rgd83ed}F/rgdn$eed}F/rgd$ed}F/rgdt% (8m üwhwwh\Ph%`CJOJQJaJh[CJOJQJaJhOhOCJOJQJaJh83CJOJQJaJhiIh836CJOJQJaJhOh%PCJOJQJaJ hn$eh$Jh.)h="hE h2hO h2hn$e h2h%Pht%h1CJOJQJaJh%PCJOJQJaJht%h%PCJOJQJaJh1CJOJQJaJ -./1?@ABCPQ^_`absuy &)129:CDF徲־h[XcCJOJQJaJh%`CJOJQJaJh83CJOJQJaJhOCJOJQJaJhOhOCJOJQJaJhOh%PCJOJQJaJhECJOJQJaJA 28:DFU\$p^p`ed}F/rgd[Xc$@ ^@ `ed}F/rgd[Xc$p^p`ed}F/rgd83$^`ed}F/rgd83FGTU[\]^bcdghuwz{,-tuv;岦}y}rfZfKfKh6+^h%PCJOJQJaJh1CJOJQJaJhPCJOJQJaJ hPhPh2hP hOh%PhEhECJOJQJaJhOh^mCJOJQJaJh^mCJOJQJaJh%PCJOJQJaJhOh[XcCJOJQJaJh[XcCJOJQJaJhOCJOJQJaJhOh%PCJOJQJaJhECJOJQJaJ\^cvuw $ed}F/rgd;#ed}F/rgd6+^ $ed}F/rgdFed}F/rgdPed}F/rgd$ed}F/rgdO $^ed}F/rgd83$^`ed}F/rgd83 $ed}F/rgd^m$p^p`ed}F/rgd[Xcvx !589:=AMPQRiklz⠔֠zvj[h$Jh%PCJOJQJaJh$JCJOJQJaJh%P h,-Eh%Ph$Jh6+^hCJOJQJaJh;#CJOJQJaJh6+^h;#CJOJQJaJhi`CJOJQJaJhPCJOJQJaJh6+^h6+^CJOJQJaJh%PCJOJQJaJh6+^h%PCJOJQJaJh6+^hq4CJOJQJaJ"!9Qln+Jed}F/rgdw3ed}F/rgd2ed}F/rgd$ed}F/rgd6+^ $ed}F/rgd;# $`ed}F/rgd;#$[\w)*+/@ABCGIJ[^fghq÷ëÐxiÐiÐÐihRh$JCJOJQJaJhRCJOJQJaJh+eCJOJQJaJhRh%PCJOJQJaJhvCJOJQJaJhw3CJOJQJaJh#?CJOJQJaJh2CJOJQJaJhRh%Ph$Jh$Jh%PCJOJQJaJ h,-Eh%Ph$Jh$JCJOJQJaJ)Jh1Tr=^m `ed}F/rgd &ed}F/rgd[ed}F/rgd$ed}F/rgdn$eed}F/rgd$J `ed}F/rgd2ed}F/rgd2 `ed}F/rgd$J016:KSTUfvٻٯ٣yuqh &h[h[hiECJOJQJaJh$Jh$JCJOJQJaJhuCJOJQJaJh#?CJOJQJaJh$JCJOJQJaJhRh2CJOJQJaJhRh$JCJOJQJaJh2CJOJQJaJhRh%PCJOJQJaJh+eCJOJQJaJ,'-2RZ mn hl 8<E˼˭ڡڒ~z~z~vhsJh %hhI6h^h=hNghh &CJOJQJaJh@ CJOJQJaJhh[CJOJQJaJh &h%PCJOJQJaJh &h &CJOJQJaJh &CJOJQJaJ h[h &h%PhFh & h[h%P,mn,U01Cqed}F/rgd[ed}F/rgdaK$ & Fa$ed}F/rgdsJed}F/rgded}F/rgdNged}F/rgd$ed}F/rgd U>c /14 !?@ƿ}}qjfh hOh& hSYCJOJQJaJhFCJOJQJaJh[CJOJQJaJh0nh0nCJOJQJaJh0nCJOJQJaJhOh[CJOJQJaJ h,-Eh[h0nhFh7#h[ h[h[h4P hI6h& hrhsJhI60J8haKhsJ0J85& !?D}4j $ed}F/rgd ed}F/rgd\_ed}F/rgd& ed}F/rgd$ed}F/rgd[@*>DE}~ &*3456FUijkl JK5~h CJOJQJaJh hOh\_h h h\_h\_hOhQCJOJQJh& CJOJQJaJhOh& CJOJQJaJh,CJOJQJaJhCJOJQJaJh\_hhx58@Y,urTWbiltuvslhldl`l`l`ldlhh[hg hOh& h'fCJOJQJaJhNCJOJQJaJhOh& CJOJQJaJh&eCJOJQJaJ h,-Eh& h&e h^h[h CJOJQJaJhbLCJOJQJaJhI"CJOJQJaJh>LCJOJQJaJh\_CJOJQJaJh CJOJQJaJ%A4GIed}F/rgd[ed}F/rgdO ed}F/rgd& ed}F/rgd$ed}F/rgd& $^ed}F/rgd $`ed}F/rgd FI|"()_fhEFmqrstXYwx*+,EϷè{oh^CJOJQJaJh2TOh^h[hyj hOh[h~12 h,-Eh& h.P h~12h& hXqh~12CJOJQJaJh~12CJOJQJaJh[CJOJQJaJhXqh[CJOJQJaJh)C)he h,-Eh[h[ h9h[h>h9(acgFImqstXx+,s!$ & Fa$ed}F/rgdaKed}F/rgded}F/rgd[ed}F/rgd2ed}F/rgd$ed}F/rgd[EWYs!"*8=BFGHQZuvv~~wwplph hr[h%P h,-Eh~-hf hyjh~-hyj h,-Eh%PhSN hlVhyjh~- hlVh%PhlV h2TOh%P h2TOh2TOhuMGhr hclh& haKhaK0J85haKhh[CJOJQJaJhunCJOJQJaJh2TOCJOJQJaJ)!Gvs4x zed}F/rgduMGed}F/rgduMGed}F/rgd2#$ 2( Px 4 #\'*.25@9ed}F/rgd~- $ 2( Px 4 #\'*.25@9ed}F/red}F/rgd$ed}F/rgd$?Hzrs 34mp zJQy$(18Dbs,/]ž娬 h,-EhhpGhO4 hashpG hashAE h~-h3$ h~-h%P hOhuMG h,-EhuMGhuMG hv)huMGh3$hfh~-h~0 h,-Eh%Ph>Jy  KURTUVWxed}F/rgdlMed}F/rgds|$ & Fa$ed}F/rgd\ $ 2( Px 4 #\'*.25@9ed}F/red}F/rgduMG $ed}F/rgdaKed}F/rgd$ed}F/rgd2  `a JeSU$48RQSTWxyT       n w          ¾۾۾۾ hw~hw~h~0hhOh'Pohw~hlMh(hs|haKh\ 0J85h h\ ha1; ha1;ha1; ha1;huMGhuMG h~-huMGh&v h,-Eh%PhO4 h1wh1w hO4h%Ph1wh%P4    -[NOb|C[ed}F/rgd.ed}F/rgdq$hed}F/rgdD7ed}F/rgdted}F/rgd'Poed}F/rgdlMed}F/rgdOed}F/rgdw~ed}F/rgded}F/rgded}F/rgdw~ L X {   V,-LMNOabi$1`g3 {oyCZ[{|ɾ h)h)h) hhh hclh` hclhD7hq$hhD7hIhth`h'PohlM hnIhlMhOhw~h__hBsh.h?[(K!!T"_%y%%%'''''''ed}F/rgdO$ & Fa$ed}F/rgd\ ed}F/rgdOed}F/rgdlMed}F/rgdred}F/rgdBsed}F/rgdBsed}F/rgd$Fed}F/rgd)JK]m    y z     ;![!a!i!t!!!!! "C""#$$$$$ %_%f%k%x%y%%%%%%%%''''''''#*Ϳջ𦢞h/ha1; h7h9whs|haKh\ 0J85h\ h2TOhlM h2TOhuMGhuMGhrhOhlMh4P hI6hlMh__hcvhBsh)h~0h$F;'$*=*y*x--7.8.o.....%/&/0/+A++++@,W,[,-w-x--.5.8.<.B.|.....%/&/=/N/k/// 0506000111B2ôôô֥񞚑whjz1CJOJQJaJ hdFMh hdFMh.[hdFMh.[^Jh.[ hQeh9whQeh9w5 hh9whQeh9wCJOJQJaJh9wCJOJQJaJ h,-Eh9w h0Gh9wh/hi~hRhwWh,.h9wh h/h/,>>>*>@>J>K>q>y>>>>>>>>???????@ȼȼȼ h[hG/hMzGh hXhG/h5hGCJOJQJaJhGCJOJQJaJhG/CJOJQJaJh5hG/CJOJQJaJ h$yMhGhnIhphhG h5hG/hG/ hn@hn@6r=======>>>@>q>v>x>y>>???NAOAAABNBed}F/rgd*$ed}F/rgdn@ `ed}F/rgdGed}F/rgdGed}F/rgdG/@;@j@s@AA AMAOAB"B+B=BNBBC$C)CKCDEEEEEEEE'FFFGF`FFFFFFFFG{G|GGGGGGJ2JJJJJJJʾʾʾʾʯʾʾʨ hDBh&h& jph_.h_. hpQh_. hclh_.h'uhjrCJOJQJaJhjrCJOJQJaJh5hjrCJOJQJaJhL?:hjrhOht%hG/CJOJQJaJhg :hG/h6NBEEEEEEFFGF`FFFFFGJ2J*L+LTLjLlLwLed}F/rgd&ed}F/rgd_.ed}F/rgdn@ed}F/rgdn@ `ed}F/rgdjred}F/rgdjrJJJK#KKK+L/L4L>LHLTLaLhLjLlLLLLL4M5M6M7M`MaMLNUNNNOOOOOOOOOOO:P=PPfQgQhQ}QQĽh3hzCJOJQJaJ h/JhzhOhzCJOJQJaJhzCJOJQJaJhL?:hz h,-Ehz hOhzh`h&CJOJQJaJh&CJOJQJaJhDBh&CJOJQJaJh& hDBh&1wLLLLLLLLL,M5M7MbMNNOO.OEO^O_OOOOO $`ed}F/rgdz $ed}F/rgdzed}F/rgdzed}F/rgdn@ed}F/rgd&OgQhQ}QQQQQLRTT"ULUNURUqUuUwUxUUUUUUU $`ed}F/rgd="ed}F/rgd=" $ed}F/rgd="ed}F/rgdn@ $ed}F/rgdzQLR_RRS$TGThTTTTTTT"U6UKUSU[UvUwUUUUUUU V VV+V.V2V?VIVPVSVdViWlWaXgXvXwXXX{YYZZ [[[0[2[3[5[[޿޿ϸޢޢޢh|]h="6CJOJQJaJhn$eh="CJOJQJaJ hn$eh=" hOch="h|Fh="5CJOJQJaJh! h="CJOJQJaJh="CJOJQJaJh=" h,-Eh="hL?: h1h="9UU,V.VdVfVgVVVVVW\WWWWWXX`XuXwXXZZ [ed}F/rgdn@ $@`@ed}F/rgd=" $ed}F/rgd="ed}F/rgd=" [3[5[l[[[[[[7\]\`\\\\\\\\]>]@]a]d]]$^`ed}F/rgd="ed}F/rgd=" $`ed}F/rgd=" $ed}F/rgd="[[6\<\E\]\_\`\a\\\]"]]]]]^^^^^ aaMaRa_agavawazaaaaaaaaaaab)b2bAbDbFbLbXb^bpbvbbbbbbbbb/c0c{cd񾺾夳h)h="CJOJQJaJ hOh="h=" h2h="h ph="6CJOJQJaJh|]h="6CJOJQJaJh="CJOJQJaJhn$eh="CJOJQJaJ?]]]]^)_ a aNaaaxa{aaaaaaaab+b-bCbFb\bpb $`ed}F/rgd="ed}F/rgd="ed}F/rgdn@ $ed}F/rgd="pbbbbbbbbbbbcc/c0c{cdde'e9eZe_eeeeed}F/rgdn@ed}F/rgd=" $`ed}F/rgd=" $ed}F/rgd="deeffffffffgg g*g.g/ggg:h;hHhShhhhhhiiiiiij8jEjGjdjjj}jjjjRkZkkklllllm m9mÿαÐhlMhs| hv)hL?: h:ahL?: h,-EhL?:hL?: hhL?: h2TOhuMGhuMG h4Ph2h2h^:h4P hI6h^:h}h="h="CJOJQJaJh[h="CJOJQJaJ7eeeff fAfjflfqfsfffffffg/gUghhed}F/rgdL?:ed}F/rgdL?:ed}F/rgd2ed}F/rgd^: $ 2( Px 4 #\'*.25@9ed}F/r $ed}F/rgd="hjjkkll m9mLmdmzmmmmmmmm n$ & Fa$ed}F/rgd\ $ 2( Px 4 #\'*.25@9ed}F/red}F/rgdlMed}F/rgd2ed}F/rgdlM $ed}F/rgd\ ed}F/rgdL?:9mKmLmdmymzmmmmmmmmmm n n$n6n7nOndnsn}nnnnnnnnooo2oGoHoVo`odoeofogoqorosozooooÿÿѨh^: h^:6h,-Eh^:6hGh^:5h}5CJ aJ h+h}5CJ aJ h4Ph2h2hs|haKh\ 0J85h\ h} h2TOhlM h2TOhuMGhuMG hI6hlM hclhlMhlM hnIhlM1 n$n7nOnennnnnnnnoo2oHoeofogoroed}F/rgd} $ 2( Px 4 #\'*.25@9ed}F/red}F/rgd2ed}F/rgdlM$ & Fa$ed}F/rgd\ ed}F/rgduMGed}F/rgdlMrosozooooUpVpZpoqpqIrJrkrrss(s`ss t-ttttu]ued}F/rgd~Wed}F/rgd^:ed}F/rgd}oopppSpTpUpVpZpppppqmqnqoqqqqqqrrrrGrHrIrJrrĽ|qh|]h3h~WB*phhrmh0JjlhU hhhjhUh}h,-Eh}0Jjh,-Eh}Ujh,-Eh}Uh,-Eh}6 h,-Eh}hGh}5h^: h^:0Jh3h^:0Jjh,-Eh^:U h,-Eh^:jh,-Eh^:U!rrrrrssss(s;s^s`ssssssss t t t-t.t:twtytzt{tttttttuu»³¤™³‰~‰vnjfh^:hh,-Eh^:6hGh^:5jGh}U hkdh}h+Nh}0Jjڇh}U h.h}jh}UhBh}6 hGh}h}hGh}5hh~W5hh~W0Jjhh~WU hh~Wjhh~WU%uu6u7u8uZu[u\u]u^u_uaubudueuguhujuuuuuuuuuuuuuuuuuuuuu~whjh{h0J$5U h5CJh56CJh0J$<aJmHnHuh0J$<aJjh0J$<UaJ h0J$jh0J$Uh h6hEjhEUh^:h,-Eh^:0Jjh,-Eh^:U h,-Eh^:jh,-Eh^:U%]u^u`uaucudufuguiujuuuuuuuuuuuu  $h]ha$gdsJ$&`#$a$edA hh]h`h&`#$edi\cgd\ $a$gdsJed}F/rgd^:uuuuuuuuuu h,-Eh^:hEhhsJh5h0J$5mHnHujh{h0J$5Uh{h0J$5 uuuuuued}F/rgd^: $h]ha$gd\ &`#$gd\ 301h/R / =!"#$% 301h/R / =!"#$% 90P/R :p)6C/ =!"#$% 8 00/R :p\ / =!"#$% }DyK _Toc175206210}DyK _Toc175206210}DyK _Toc175206211}DyK _Toc175206211}DyK _Toc175206212}DyK _Toc175206212}DyK _Toc175206213}DyK _Toc175206213}DyK _Toc175206214}DyK _Toc175206214}DyK _Toc175206215}DyK _Toc175206215}DyK _Toc175206216}DyK _Toc175206216}DyK _Toc175206217}DyK _Toc175206217}DyK _Toc175206218}DyK _Toc175206218}DyK _Toc175206219}DyK _Toc175206219}DyK _Toc175206220}DyK _Toc175206220}DyK _Toc175206221}DyK _Toc175206221}DyK _Toc175206222}DyK _Toc175206222}DyK _Toc175206223}DyK _Toc175206223}DyK _Toc175206224}DyK _Toc175206224}DyK _Toc175206225}DyK _Toc175206225}DyK _Toc175206226}DyK _Toc175206226}DyK _Toc175206227}DyK _Toc175206227}DyK _Toc175206228}DyK _Toc175206228}DyK _Toc175206229}DyK _Toc175206229}DyK _Toc175206230}DyK _Toc175206230}DyK _Toc175206231}DyK _Toc175206231}DyK _Toc175206232}DyK _Toc175206232}DyK _Toc175206233}DyK _Toc175206233}DyK _Toc175206234}DyK _Toc175206234}DyK _Toc175206235}DyK _Toc175206235}DyK _Toc175206236}DyK _Toc175206236}DyK _Toc175206237}DyK _Toc175206237}DyK _Toc175206238}DyK _Toc175206238}DyK _Toc175206239}DyK _Toc175206239}DyK _Toc175206240}DyK _Toc175206240}DyK _Toc175206241}DyK _Toc175206241}DyK _Toc175206242}DyK _Toc175206242}DyK _Toc175206243}DyK _Toc175206243}DyK _Toc175206244}DyK _Toc175206244}DyK _Toc175206245}DyK _Toc175206245}DyK _Toc175206246}DyK _Toc175206246}DyK _Toc175206247}DyK _Toc175206247}DyK _Toc175206248}DyK _Toc175206248}DyK _Toc175206249}DyK _Toc175206249}DyK _Toc175206250}DyK _Toc175206250}DyK _Toc175206251}DyK _Toc175206251}DyK _Toc175206252}DyK _Toc175206252}DyK _Toc175206253}DyK _Toc175206253}DyK _Toc175206254}DyK _Toc175206254}DyK _Toc175206255}DyK _Toc175206255}DyK _Toc175206256}DyK _Toc175206256}DyK _Toc175206257}DyK _Toc175206257}DyK _Toc175206258}DyK _Toc175206258}DyK _Toc175206259}DyK _Toc175206259}DyK _Toc175206260}DyK _Toc175206260}DyK _Toc175206261}DyK _Toc175206261}DyK _Toc175206262}DyK _Toc175206262}DyK _Toc175206263}DyK _Toc175206263}DyK _Toc175206264}DyK _Toc175206264}DyK _Toc175206265}DyK _Toc175206265}DyK _Toc175206266}DyK _Toc175206266}DyK _Toc175206267}DyK _Toc175206267}DyK _Toc175206268}DyK _Toc175206268}DyK _Toc175206269}DyK _Toc175206269}DyK _Toc175206270}DyK _Toc175206270}DyK _Toc175206271}DyK _Toc175206271}DyK _Toc175206272}DyK _Toc175206272}DyK _Toc175206273}DyK _Toc175206273}DyK _Toc175206274}DyK _Toc175206274}DyK _Toc175206275}DyK _Toc175206275}DyK _Toc175206276}DyK _Toc175206276}DyK _Toc175206277}DyK _Toc175206277}DyK _Toc175206278}DyK _Toc175206278}DyK _Toc175206279}DyK _Toc175206279}DyK _Toc175206280}DyK _Toc175206280}DyK _Toc175206281}DyK _Toc175206281}DyK _Toc175206282}DyK _Toc175206282}DyK _Toc175206283}DyK _Toc175206283}DyK _Toc175206284}DyK _Toc175206284}DyK _Toc175206285}DyK _Toc175206285}DyK _Toc175206286}DyK _Toc175206286}DyK _Toc175206287}DyK _Toc175206287}DyK _Toc175206288}DyK _Toc175206288}DyK _Toc175206289}DyK _Toc175206289}DyK _Toc175206290}DyK _Toc175206290}DyK _Toc175206291}DyK _Toc175206291}DyK _Toc175206292}DyK _Toc175206292}DyK _Toc175206293}DyK _Toc175206293}DyK _Toc175206294}DyK _Toc175206294}DyK _Toc175206295}DyK _Toc175206295}DyK _Toc175206296}DyK _Toc175206296}DyK _Toc175206297}DyK _Toc175206297}DyK _Toc175206298}DyK _Toc175206298}DyK _Toc175206299}DyK _Toc175206299}DyK _Toc175206300}DyK _Toc175206300}DyK _Toc175206301}DyK _Toc175206301}DyK _Toc175206302}DyK _Toc175206302}DyK _Toc175206303}DyK _Toc175206303}DyK _Toc175206304}DyK _Toc175206304}DyK _Toc175206305}DyK _Toc175206305}DyK _Toc175206306}DyK _Toc175206306}DyK _Toc175206307}DyK _Toc175206307}DyK _Toc175206308}DyK _Toc175206308}DyK _Toc175206309}DyK _Toc175206309}DyK _Toc175206310}DyK _Toc175206310}DyK _Toc175206311}DyK _Toc175206311}DyK _Toc175206312}DyK _Toc175206312}DyK _Toc175206313}DyK _Toc175206313}DyK _Toc175206314}DyK _Toc175206314}DyK _Toc175206315}DyK _Toc175206315}DyK _Toc175206316}DyK _Toc175206316}DyK _Toc175206317}DyK _Toc175206317}DyK _Toc175206318}DyK _Toc175206318}DyK _Toc175206319}DyK _Toc175206319}DyK _Toc175206320}DyK _Toc175206320}DyK _Toc175206321}DyK _Toc175206321}DyK _Toc175206322}DyK _Toc175206322}DyK _Toc175206323}DyK _Toc175206323}DyK _Toc175206324}DyK _Toc175206324}DyK _Toc175206325}DyK _Toc175206325}DyK _Toc175206326}DyK _Toc175206326}DyK _Toc175206327}DyK _Toc175206327}DyK _Toc175206328}DyK _Toc175206328}DyK _Toc175206329}DyK _Toc175206329}DyK _Toc175206330}DyK _Toc175206330}DyK _Toc175206331}DyK _Toc175206331}DyK _Toc175206332}DyK _Toc175206332}DyK _Toc175206333}DyK _Toc175206333}DyK _Toc175206334}DyK _Toc175206334}DyK _Toc175206335}DyK _Toc175206335}DyK _Toc175206336}DyK _Toc175206336}DyK _Toc175206337}DyK _Toc175206337}DyK _Toc175206338}DyK _Toc175206338DyK http://subversion.tigris.org/yK Thttp://subversion.tigris.org/yX;H,]ą'c DyK http://tortoisesvn.tigris.org/yK Vhttp://tortoisesvn.tigris.org/yX;H,]ą'c$$Ifed}F/r!vh5t5$#vt#v$:V*l t65t5$it}F/rp$$Ifed}F/r!vh5t5$#vt#v$:V*l t65t5$it}F/rp$$Ifed}F/r!vh5t5$#vt#v$:V*l t65t5$it}F/rp$$Ifed}F/r!vh5t5$#vt#v$:V*l t65t5$it}F/rp$$Ifed}F/r!vh5t5$#vt#v$:V*l t65t5$it}F/rp$$Ifed}F/r!vh5t5$#vt#v$:V*l t65t5$it}F/rp$$Ifed}F/r!vh5t5$#vt#v$:V*l t65t5$it}F/rpDyK $http://www.datatool.com/MatlabStyleyK Hhttp://www.datatool.com/MatlabStyleDyK yK `http://www.macadamian.com/codingconventions.htmDyK *http://hem.passagen.se/erinyq/industrial/yK Thttp://hem.passagen.se/erinyq/industrial/QDyK 7http://msdn2.microsoft.com/en-us/library/ms229042.aspxyK nhttp://msdn2.microsoft.com/en-us/library/ms229042.aspxmDyK >http://msdn2.microsoft.com/en-us/library/h63fsef3(VS.80).aspxyK |http://msdn2.microsoft.com/en-us/library/h63fsef3(VS.80).aspxmDyK >http://msdn2.microsoft.com/en-us/library/0b283bse(VS.80).aspxyK |http://msdn2.microsoft.com/en-us/library/0b283bse(VS.80).aspxDyK yK Fhttp://java.sun.com/docs/codeconv/9J@J Normal!B*CJ_HaJmH phsH tH Z@Z " Heading 1$ & F<@&5CJ$KH \^JaJ R@"R " Heading 2$ & F@&5CJ \aJT@2T G Heading 3 & Fdd@&[$\$5CJ\aJL@BL Heading 4 & Fdd@&[$\$5\T@T G Heading 5 & F<@&56CJ\]aJN@N G Heading 6 & F<@&5CJ\aJ@@@ G Heading 7 & F<@&F@F G Heading 8 & F<@&6]T @T G Heading 9 & F<@&CJOJQJ^JaJDA@D Default Paragraph FontRi@R  Table Normal4 l4a (k(No List^O^ " Char Char3/5B*CJ$KH \^J_HaJ mH phsH tH VOV " Char Char2'5B*CJ \_HaJmH phsH tH VOV  Char Char1'5B*CJ\_HaJmH phsH tH 4U@!4 Hyperlink >*phDV@1D FollowedHyperlink >*phf3Lb@AL HTML Code!CJOJPJQJ^JaJo(phe@R HTML Preformatted7 2( Px 4 #\'*.25@9B*CJOJQJ^JaJphB^@bB Normal (Web)dd[$\$R@R <TOC 1 $x5$7$8$H$56B*aJphX@X Normal Indenth5$7$8$H$^h B*aJph^@^ Header,h% p@ 5$7$8$H$ B*aJphR @R Footer,f !5$7$8$H$ B*aJphLB@L 8 Body Text5$7$8$H$ B*aJphO Table Rule,tr-$d*$1$5$7$8$H$N]$B*CJOJQJaJmHnHphuO Table Footnote Text,tft8 <*$1$5$7$8$H$]^`B*CJOJQJaJphROR table textx5$7$8$H$B*CJaJphTOT table head@5$7$8$H$5B*CJaJphtOt bulleted list 1- 5$7$8$H$^` B*aJphrOrcode/! vF5$7$8$H$]^ B*OJQJaJmHnHphuROR table title"H5$7$8$H$5B*aJph&1 9Footnote Reference,*Footnote Reference,ONLINE USE ONLY,frCJEH4)@A4 Page Number5\6OQ6 *Operator,op5\VOaV*Code Embedded,cemOJQJ^JmHnHo(uROqR *Cross Ref Book Title,crbt6]:O: *Placeholder,p6]2O2 *Literal,l5\:O: *Topic Break,topbROR *Table Footnote Reference,tfrbOb *Detail Label,det(5CJKHOJQJ\^JmH o(sH u Table GridA:V*0a-_HmH sH tH FOF )Tj copyright.9DCJOJQJ^JaJ:@: <TOC 2/ $^B@B 1#TOC 30 $;^`;<m<)6C1 / 1.1 / 1.1.11 F88 <TOC 4 2^ B*ph88 <TOC 5 3^ B*ph88 <TOC 6 4^ B*ph88 <TOC 7 5^ B*ph88 <TOC 8 6^ B*ph88 <TOC 9 7^ B*ph@O@ sJ Char CharCJ_HmH sH tH ACggm 5 j  +CDjk./?@AS8 $   u USVJDXZ_:+  _{rZc J!!""##$$!%%%&&!''(z((E))>**++,,,f--M.. /m//w00a11[22Q33?44,55&66 777k8 99)::p;;5<<*===?>>>^??#@}@@8AAAYBBCnCCCCCdEeEEEFFF.F/FLHmHHtKuKKaLLLHMxMzMMMMMM NNNOOIOJOQOXOaOjOqOrOOP+Q@RARcRRRRSUUUVVWWWWWX/X0XZZ[<[B]e]f]_`bbccdd gghh-k.kklll.mhmmm n9noo:qhqttuu?v[v%w&wLxMxx#ya{{i|j|||||1}M~N~y~~~~~~~LIrȁȃɃJKijچ<z. ?{֎׎Ώ12yܓݓ,-sEFrϗ [\Yʛ˛ܛ!@PNOp͞Ξɠ 7j89Ytuvѩ3"deV˯̯>@jlnrOuܳݳӵյ'U]^gԶ!3S`~и15`ap߼Mqr ٿۿ/1Qtu 28:DFU\^cvuw!9Qln+Jh1Tr=^mn,U01Cq !?D}4jA4GIacgFImqstXx+,s!Gvs4x zJy KURTUVWx-[N O b     |C[(KT_y$"="y"x%%7&8&o&&&&&%'&'0'<'='@'l'm'r''''''''''''' ( (6())B*s*** +,+a+b+o+p++++k,,H..[0n008123E5F5S5g5i5r5555555666@6q6v6x6y66777N9O999:N:======>>G>`>>>>>?B2B*D+DTDjDlDwDDDDDDDDD,E5E7EbEFFGG.GEG^G_GGGGGgIhI}IIIIILJLL"MLMNMRMqMuMwMxMMMMMMMM,N.NdNfNgNNNNNO\OOOOOPP`PuPwPPRR S3S5SlSSSSSS7T]T`TTTTTTTTU>U@UaUdUUUUUV)W Y YNYaYxY{YYYYYYYYZ+Z-ZCZFZ\ZpZZZZZZZZZZZ[[/[0[{[\\]']9]Z]_]]]]]]^^ ^A^j^l^q^s^^^^^^^_/_U_``bbccdd e9eLedezeeeeeeee f$f7fOfeffffffffgg2gHgegfgggrgsgzggggUhVhZhoipiIjJjkjjkk(k`kk l-llllm]m^m`mamcmdmfmgmimjmmmmmmmmmmmmmmmm0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r/0}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r/0}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r/0}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r/0}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r/0}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r0}F/r/0}F/r00}F/r00}F/r00}F/r00}F/r/0}F/r00}F/r00}F/r00}F/r/0}F/r00}F/r00}F/r/0}F/r/0}F/r0}F/r/0}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r/0}F/r00}F/r00}F/r00}F/r00}F/r00}F/r/0}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r/0}F/r/0}F/r00}F/r00}F/r0}F/r/0}F/r/0}F/r/0}F/r/0}F/r/0}F/r0}F/r/0}F/r/0}F/r/0}F/r/0}F/r/0}F/r0}F/r/0}F/r/0}F/r/0}F/r/0}F/r/0}F/r0}F/r0}F/r 0}F/r0C}F/r0C}F/r0C}F/r0C}F/r0C}F/r0C}F/r0C}F/r0C}F/r0C}F/r0C}F/r 0CC}F/r( 0LHLH}F/r0mH}F/r0mH}F/r0mH}F/r 0mH}F/r 0mH}F/r 0mH}F/r 0mH}F/r 0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r0mH}F/r( 0LHLH}F/r0rO}F/r( 0LHLH}F/r0P}F/r0P}F/r0P}F/r0P}F/r0P}F/r0P}F/r( 0LHLH}F/r0R}F/r0R}F/r0R}F/r@0R}F/r0R}F/r0R}F/r0R}F/r0R}F/r0R}F/r0R}F/r0R}F/r0R}F/r0R}F/r0R}F/r0R}F/r0R}F/r( 0LHLH}F/r0[}F/r0[}F/r0[}F/r0[}F/r( 0LHLH}F/r0_}F/r( 0LHLH}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r0b}F/r( 0LHLH}F/r0 n}F/r0 n}F/r0 n}F/r( 0LHLH}F/r0p}F/r0p}F/r0p}F/r0p}F/r0p}F/r 0CC}F/r0u}F/r0u}F/r0u}F/r0u}F/r0u}F/r( 0uu}F/r0Yx}F/r( 0uu}F/r0z}F/r0z}F/r0z}F/r0z}F/r0z}F/r0z}F/r( 0uu}F/r0_|}F/r0_|}F/r0_|}F/r0_|}F/r0_|}F/r0_|}F/r0_|}F/r0_|}F/r0_|}F/r0_|}F/r0_|}F/r( 0uu}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r0|~}F/r( 0uu}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0uu}F/r0}F/r( 0uu}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r( 0uu}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0uu}F/r0J}F/r0J}F/r0J}F/r0J}F/r( 0 uu}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0 uu}F/r0<}F/r0<}F/r0<}F/r0<}F/r0<}F/r0<}F/r0<}F/r( 0 uu}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0 uu}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0 uu}F/r0;}F/r( 0uu}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0uu}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0uu}F/r0}F/r0C}F/r( 0u>}F/r0_}F/r0_}F/r0_}F/r0_}F/r0_}F/r0_}F/r0_}F/r0_}F/r0_}F/r( 0u>}F/r0X}F/r( 0u>}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0u>}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0u>}F/r0}F/r0}F/r( 0u>}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0u>}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0u>}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r0л}F/r( 0}F/r0s}F/r0s}F/r0s}F/r0s}F/r0s}F/r0s}F/r0s}F/r0s}F/r0s}F/r0s}F/r0s}F/r0s}F/r0s}F/r0s}F/r0s}F/r0s}F/r0s}F/r( 0 }F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r0w}F/r( 0 }F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0 }F/r0}F/r( 0 }F/r0}F/r( 0 }F/r0}F/r80}F/r80}F/r80}F/r80}F/r 0CC}F/r( 0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0}F/r0~}F/r( 0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r( 0}F/r0[}F/r( 0}F/r0?}F/r0?}F/r0?}F/r0?}F/r0?}F/r80?}F/r80?}F/r80?}F/r80?}F/r 0CC}F/r( 0}F/r0.}F/r( 0}F/r0}F/r( 0}F/r0}F/r( 0}F/r0Z}F/r( 0}F/r0}F/r( 0}F/r0}F/r( 0}F/r0a}F/r( 0}F/r0g}F/r( 0}F/r01}F/r01}F/r( 0 }F/r0}F/r( 0 }F/r0}F/r( 0 }F/r0<}F/r0<}F/r80<}F/r80<}F/r80<}F/r80<}F/r 0}F/r 0__}F/r( 0zz}F/r0}F/r( 0zz}F/r0}F/r( 0zz}F/r0}F/r( 0zz}F/r0}F/r0}F/r 0__}F/r06}F/r( 066}F/r0}F/r( 066}F/r0 }F/r( 066}F/r0c }F/r 0__}F/r0*}F/r0*}F/r( 0**}F/r0}F/r( 0**}F/r02}F/r02}F/r( 0**}F/r0}F/r 0__}F/r0F}F/r 0__}F/r0}F/r0}F/r80}F/r80}F/r80}F/r80}F/r 0}F/r0}F/r 0}F/r( 0  }F/r0$ }F/r( 0  }F/r0_#}F/r0_#}F/r0_#}F/r0_#}F/r0_#}F/r0_#}F/r( 0  }F/r0$}F/r0$}F/r0$0$0$}F/r 0$ 0$0$}F/r 0$ 0$0$}F/r 0$ 0$0$}F/r 0$ 0$0$}F/r 0$ 0$0$}F/r 0$ 0$0$}F/r  0  }F/r0%}F/r0%}F/r0%}F/r0%}F/r0%}F/r0%}F/r( 0  }F/r0(}F/r0(}F/r0(}F/r0(}F/r0(}F/r0(}F/r0(}F/r( 0  }F/r0p)}F/r( 0  }F/r0R*}F/r( 0  }F/r0/,}F/r 0}F/r0B.}F/r( 0B.B.}F/r0.}F/r( 0B.B.}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r00}F/r( 0B.B.}F/r0`4}F/r0`4}F/r( 0B.B.}F/r0y5}F/r0y5}F/r0y5}F/r0y5}F/r0y5}F/r( 0B.B.}F/r07}F/r07}F/r07}F/r07}F/r07}F/r07}F/r07}F/r07}F/r07}F/r07}F/r07}F/r07}F/r07}F/r 0}F/r( 0<<}F/r0<}F/r( 0<<}F/r0@}F/r0@}F/r0@}F/r0@}F/r0@}F/r0@}F/r0@}F/r0@}F/r0@}F/r0@}F/r0@}F/r0@}F/r0@}F/r0@}F/r0@}F/r0@}F/r0@}F/r( 0<<}F/r0C}F/r0C}F/r0C}F/r0C}F/r0C}F/r0C}F/r0C}F/r0C}F/r0C}F/r0C}F/r0C}F/r( 0<<}F/r0E}F/r0E}F/r0E}F/r0E}F/r0E}F/r0E}F/r0E}F/r( 0<<}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r0G}F/r( 0<<}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r0^N}F/r( 0<<}F/r0xS}F/r( 0<<}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r0T}F/r( 0<<}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r0Y}F/r 0}F/r0\}F/r 0}F/r( 0\\}F/r0]}F/r0]}F/r0]}F/r0]}F/r0]}F/r( 0\\}F/r0wa}F/r 0}F/r0b}F/r 0bb}F/r 0bb}F/r 0bb}F/r 0bb}F/r 0bb}F/r0ac}F/r80ac}F/r80ac}F/r80ac}F/r80ac}F/r 0}F/r0c}F/r 0cc}F/r 0cc}F/r 0cc}F/r 0cc}F/r 0cc}F/r80Ld}F/r80Ld}F/r80Ld}F/r80Ld}F/r 0}F/r0:d}F/r 0:d:d}F/r 0:d:d}F/r 0:d:d}F/r 0:d:d}F/r 0:d:d}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/r0}F/rX00X00X00JX00X00JX00X00JX00@0X00X00i\cX00X00@0A@0X0 0@0@0X0 0@0@0X00X00 +CDjk./?@AS8 $   u USVJDXZ_:+  _{rZc J!!""##$$!%%%&&!''(z((E))>**++,,,f--M.. /m//w00a11[22Q33?44,55&66 777k8 99)::p;;5<<*===?>>>^??#@}@@8AAAYBBCnCCCCCdEeEEEFFF.F/FLHmHHtKuKKaLLLHMxMzMMMMMM NNNOOIOJOQOXOaOjOqOrOOP+Q@RARcRRRRSUUUVVWWWWWX/X0XZZ[<[B]e]f]_`bbccdd gghh-k.kklll.mhmmm n9noo:qhqttuu?v[v%w&wLxMxx#ya{{i|j|||||1}M~N~y~~~~~~~LIrȁȃɃJKijچ<z. ?{֎׎Ώ12yܓݓ,-sEFrϗ [\Yʛ˛ܛ!@PNOp͞Ξɠ 7j89Ytuvѩ3"deV˯̯>@jlnrOuܳݳӵյ'U]^gԶ!3S`~и15`ap߼Mqr ٿۿ/1Qtu 28:DFU\^cvuw!9Qln+Jh1Tr=^mn,U01Cq !?D}4jA4GIacgFImqstXx+,s!Gvs4x zJy KURTUVWx-[N O b     |C[(KT_y$"="y"x%%7&8&o&&&&&%'&'0'<'='@'l'm'r''''''''''''' ( (6())B*s*** +,+a+b+o+p++++k,,H..[0n008123E5F5S5g5i5r5555555666@6q6v6x6y66777N9O999:N:======>>G>`>>>>>?B2B*D+DTDjDlDwDDDDDDDDD,E5E7EbEFFGG.GEG^G_GGGGGgIhI}IIIIILJLL"MLMNMRMqMuMwMxMMMMMMMM,N.NdNfNgNNNNNO\OOOOOPP`PuPwPPRR S3S5SlSSSSSS7T]T`TTTTTTTTU>U@UaUdUUUUUV)W Y YNYaYxY{YYYYYYYYZ+Z-ZCZFZ\ZpZZZZZZZZZZZ[[/[0[{[\\]']9]Z]_]]]]]]^^ ^A^j^l^q^s^^^^^^^_/_U_``bbccdd e9eLedezeeeeeeee f$f7fOfeffffffffgg2gHgegfgggrgsgzggggUhVhZhoipiIjJjkjjkk(k`kk l-llllm]mmX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0}F/roX0~}F/roX0}}F/roX0|}F/roX0{}F/roX0z}F/roX0y}F/roX0x}F/roX0w}F/roX0v}F/roX0u}F/roX0t}F/roX0s}F/roX0r}F/roX0q}F/roX0p}F/roX0o}F/roX0n}F/roX0m}F/roX0l}F/roX0k}F/roX0j}F/roX0i}F/roX0h}F/roX0g}F/roX0f}F/roX0e}F/roX0d}F/roX0c}F/roX0b}F/roX0a}F/roX0`}F/roX0_}F/roX0^}F/roX0]}F/roX0\}F/roX0[}F/roX0Z}F/roX0Y}F/roX0X}F/roX0W}F/roX0V}F/roX0U}F/roX0T}F/roX0S}F/roX0R}F/roX0Q}F/roX0P}F/roX0O}F/roX0N}F/roX0M}F/roX0L}F/roX0K}F/roX0J}F/roX0I}F/roX0H}F/roX0G}F/rLX0F}F/rLX0E}F/rLX0D}F/rLX0C}F/rLX0B}F/rLX0A}F/rLX0@}F/rLX0?}F/rLX0>}F/rLX0=}F/rLX0<}F/rLX0;}F/rLX0:}F/rLX09}F/rLX08}F/rLX07}F/rLX06}F/rLX05}F/rLX04}F/rLX03}F/rLX02}F/rLX01}F/rLX00}F/rLX0/}F/rLX0.}F/rLX0-}F/rLX0)}F/rLX00}F/rkX0)}F/rLX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkZ00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkP00}F/r0}F/r0}F/rX00}F/rX0 0}F/rX00}F/rX00 }F/rX00}F/rX00}F/rX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rkX00}F/rX00}F/rX00}F/rX00}F/rX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0LX0LX0D^X0LX0^X0LX0^X0LX0@_X0LX0_X0LX0_X0LX0}F/r}F/rX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rLX0}F/rL}F/rX0}F/rLX0}F/rL}F/rX0}F/rL}F/rX0}F/rL}F/rX0 }F/rL}F/rX0 }F/rL}F/rX0}F/rLX0}F/rL}F/rX0}F/r}F/rX0}F/r}F/rX0}F/r}F/r0}F/r @MZwwwwwwwwwww9 W&tUVH@R9 !Z"t#a$.% &&'()*+|,H-F.@/001e20304456f7U8 99:;<=~>]?@+AHBrC5D(EE|FGGH8IIxJKKNV[bjsv>~ HO\v"t Fv@E #*B28@JQ[d9moruuu   !#$&')*,.013579:<>?ACEGIKMSUWY\_behijlS)5)BKTX q     7 f  T p r s u 4PRSUu2NPQSs5QSTVv)EGHJj#?ABDd7SUVXx9UWXZz=Y\]_478:Z %()+Ki   -n  +k=Y\]_ Yuxy{$a}&`| Plopr8TWXZz A ] ` a c (!D!G!H!J!j!!!!!!!!""""?"u"""""""####'#h####### $$$$1$|$$$$$$$%%%!%A%%%%%%%&&"&#&%&E&{&&&&&&&'''!'A't'''''''((((;(X(t(w(x(z((((((((#)?)B)C)E)e)))))))*8*;*<*>*^******** + + ++/+p+++++++ ,,,,1,n,,,,,,,,,,,-D-`-c-d-f------- .+.G.J.K.M.m......../ / / /-/K/g/j/k/m///////0U0q0t0u0w0000000 1?1[1^1_1a1111111192U2X2Y2[2{2222222/3K3N3O3Q3q3333333494<4=4?4_4444444 5&5)5*5,5L55555556 6#6$6&6F6c6666666777 7@7]7y7|7}777777778I8e8h8i8k888999 9*9999999:#:&:':):I:::::::N;j;m;n;p;;;;;;;;</<2<3<5<U<<<<<<<=$='=(=*=J=c===========>>9><>=>?>_>|>>>>>>>>>>>?>>>>>>>BBBB7E7E7E7EGGGGIIIIwPwPwPwPUUUUVVVVV0[0[0[0[^_/_/_/_/_ccccd e9eLedezee f$f7fOfefffgg2gHgim  !"#$%&'()*+,-./01234QRS56789:;<=>?@AEFGBCDHIJKLMNOPTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~CCLHlHlHlHlHHHHHrOOOOO*Q*Q*Q*QSSSS;[;[;[;[````bbbb8n8n8n8ngqgqgqgqZvZvZvZvxyyy"y{{{{0}KKKKنننن-͏rrrr XXXXȠȠȠȠҩ2222UUUUϸϸϸϸ +TTTT>>>>wwwwFFFFGuuuuwwww xxxx JZa   Z'x<"<"<"<"x"x"x"x"%%%%&&&&5(5(5(5( + + + +++++,,,,....m0m0m0m0717171713333y666667777M:M:M:M:>>>>????1B1B1B1B`E`E`E`EGGGGKJKJKJKJPPPPUUUUV(W(W(W(Wz[z[z[z[^._T_T_T_T_ccccd8eKecexeee#f6fNfcfffgg1gFgdgim(D(D (D (Dlx(D|((D(D(D(D+(D*(D (D<(D(Dl(DtJ  (D!(D"(D?#(DD$(D%(Dz&(Dl$'(Dt]((D)(D *(DD+(D<-,(D@-(DT.(D /(DeFGGGFT\\gJX``v%&Iggggghhhm     oFG!G!G&P[cppT_t||))Iggggghhhm   :*urn:schemas-microsoft-com:office:smarttagsStreet>*urn:schemas-microsoft-com:office:smarttags PostalCode;*urn:schemas-microsoft-com:office:smarttagsaddress8*urn:schemas-microsoft-com:office:smarttagstime9*urn:schemas-microsoft-com:office:smarttagsStateB*urn:schemas-microsoft-com:office:smarttagscountry-region8*urn:schemas-microsoft-com:office:smarttagsCity=*urn:schemas-microsoft-com:office:smarttags PlaceName=*urn:schemas-microsoft-com:office:smarttags PlaceType9*urn:schemas-microsoft-com:office:smarttagsplace>*urn:schemas-microsoft-com:office:smarttags PersonName pm01013HourMinuteeExEEEjFoFFFGGGGGGGGMMMMMMMN NN-N;NKNNNNNJOPOQOWOXO`OaOiOjOpOARSRcRxRRRRRUUUUWWX.XcXrXyXXZZcchhkkkko%opp ppj|||||||Z}f}U~h~~~~~~~~~~~~~~6I_ȁׁՃ܃CJKUXijqrj}~Ň҇և/FJNj*?RUi{AU2NOiy˓ Uay\nә˛֛ܛ4=EMORS_pst|ž">Rr  !-9<=HY\]i59ev|ǬԬլ )*<Epqѯԯ #1BXrOeŵѵ(2hrѶڶ޶ 9=fj5BE]pst"$*MPQR˽ͽݽֿۿ -1?BMQ^apyFQhu{+6CN[kx"-ALYinyz(/@J[^fq:KUfip #$-/23;=@AKMPQ\^abjnuv4B8@HUx 9EJTk!*9@LV_36z}#SZ        '(HJ ck""0$=$8&>&o&~&&&((t)})**.*V*a*}****++6+<+q+u+//Y5e5{555555566)6I6X6]6p6o8r8W9m99999=======> >.>6>D>N>\>f>w>>>>>+D.D/D;D>DPD\DhDxDDDDD EFGG*G.GAGEGZG_GbGcGpGsGvGGGGGhIkIlIxIIIIIIIII(M6M[M^M`MoM}MMMMMMMMMMMMMN2N?NSNbNNNNNNNNNOOO&O'O5O]OfOmOtOuO~OOOOOOOOOOOOOOOOPPPPP*P3PjPsPS0S5SHSlSxSySSSSSSSSSSSSfkTVȿؿ BNaq/FRxnz  D|4h!8EJU" J    6(z(((Y))L*N*t*{*g+l+//55)6+6668=E=== >/>N>]>f>x>>>A"A>DQDxDDDDD EFGG+G.GBGEG[GsGwGGGIIMMMM N N2NANNN'O6OmOuOOOOPiPsPS2S5SISySSSSSSGT\T$U=UVUYUfU{UYYYYYYYYLZYZ`ZmZvZZZZ[,[+]0]]^^^^_dee fffpii(k_k^m^m`m`mamamcmdmfmgmimjmmm333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333wxbl 6  "  q  f T s 4S2Q5T)H#B7V9X=]8 )i n k=]Yya`Pp8XA a (!H!!!!"u"""#h###$|$$$%%%&#&{&&&'t'''(X(x(((#)C)))*<**** +p+++,n,,,,D-d---+.K.... /K/k///U0u000?1_11192Y222/3O3334=444 5*5556$6c6667]7}777I8i88999:':::N;n;;;<3<<<=(=c====>=>|>>>>J>q(I?P '%I7kJ`/X-RFsj3UR^i\cTx>Fsj6.}7kYm)Hm}F/r.sw|t.s6.}3U('7p;#K[+u1! NGO   " .& @ Xp7jV.[.PzsDhW^s*{.*VeEv)0D235{t>` >LO2\b?llTc ![!"="'#*$3$ %>2%nK%t% &Tl&q'({$).))C)-*w1*}C*e|*+{+,)9,b,p,~-...G/~0I1T1jz12~1282S2383w3244O4!5I6b67D7.R8n8Kp8g :L?:a1;<wi<=[=2=N=H>#?n@rBBLC)6C[CaCoCD+7DcD,E,-EP0EN?EAEiEF G%G0GP?GuMGYGMzG3}G8Hj\?g.jrxT0R[&eH7Q}Q5]JbLGSY>c/KObDL`uwS H1nR+eRe\OB7(A:aw U(@A|0Qknz lV`KSzlBs &SZ0t OXzG w@Dcv0yw~! G/6\un{ #%PSl2Y+] R/ >.ac)2k$!CwW)[P[IO[I"-9n^ &2uaJXo<|TFI}U v& pG0ex/$$JDORq43{~$_.X$&)>1'PCs .EUsJc-^:1wW50nr rE$F}&'0'<'='@'l'm'r''''''''''''' ( (m@KHKH:2KHKHm@UnknownG: Times New Roman5Symbol3& : Arial?5 : Courier NewO1 CourierCourier New;Wingdings"1ohrJ&Fh:f?6666!4dll 2QHP?\V2NormalNCoding Conventions for C++ and Java applications - Macadamian Technologies IncRNadar Hope Queenerp         1            Oh+'0 ,< T`    PCoding Conventions for C++ and Java applications - Macadamian Technologies IncRNadarNormalHope Queener63Microsoft Office Word@4('@`9J@l8@(http://msdn2.microsoft.com/en-us/library/0b283bse(VS.80).aspx\>http://msdn2.microsoft.com/en-us/library/h63fsef3(VS.80).aspxz>7http://msdn2.microsoft.com/en-us/library/ms229042.aspxR*http://hem.passagen.se/erinyq/industrial/9h0http://www.macadamian.com/codingconventions.htm/9$http://www.datatool.com/MatlabStyle&% http://tortoisesvn.tigris.org/Y  http://subversion.tigris.org/7_Toc1752063387_Toc1752063377_Toc1752063367_Toc1752063357_Toc1752063347_Toc1752063337_Toc1752063327_Toc1752063317_Toc1752063307_Toc1752063297_Toc1752063287_Toc1752063277_Toc1752063267_Toc1752063257_Toc1752063247_Toc1752063237_Toc1752063227_Toc1752063217_Toc1752063207_Toc1752063197_Toc1752063187_Toc1752063177~_Toc1752063167x_Toc1752063157r_Toc1752063147l_Toc1752063137f_Toc1752063127`_Toc1752063117Z_Toc1752063107T_Toc1752063097N_Toc1752063087H_Toc1752063077B_Toc1752063067<_Toc17520630576_Toc17520630470_Toc1752063037*_Toc1752063027$_Toc1752063017_Toc1752063006_Toc1752062996_Toc1752062986 _Toc1752062976_Toc1752062966_Toc1752062956_Toc1752062946_Toc1752062936_Toc1752062926_Toc1752062916_Toc1752062906_Toc1752062896_Toc1752062886_Toc1752062876_Toc1752062866_Toc1752062856_Toc1752062846_Toc1752062836_Toc1752062826_Toc1752062816_Toc1752062806_Toc1752062796_Toc1752062786_Toc1752062776_Toc1752062766_Toc1752062756_Toc1752062746|_Toc1752062736v_Toc1752062726p_Toc1752062716j_Toc1752062706d_Toc1752062696^_Toc1752062686X_Toc1752062676R_Toc1752062666L_Toc1752062656F_Toc1752062646@_Toc1752062636:_Toc17520626264_Toc1752062616._Toc1752062606(_Toc1752062596"_Toc1752062586_Toc1752062576_Toc1752062566_Toc1752062556 _Toc1752062546_Toc1752062536_Toc1752062526_Toc1752062516_Toc1752062506_Toc1752062496_Toc1752062486_Toc1752062476_Toc1752062466_Toc1752062456_Toc1752062446_Toc1752062436_Toc1752062426_Toc1752062416_Toc1752062406_Toc1752062396_Toc1752062386_Toc1752062376_Toc1752062366_Toc1752062356_Toc1752062346_Toc1752062336_Toc1752062326_Toc1752062316z_Toc1752062306t_Toc1752062296n_Toc1752062286h_Toc1752062276b_Toc1752062266\_Toc1752062256V_Toc1752062246P_Toc1752062236J_Toc1752062226D_Toc1752062216>_Toc17520622068_Toc17520621962_Toc1752062186,_Toc1752062176&_Toc1752062166 _Toc1752062156_Toc1752062146_Toc1752062136_Toc1752062126_Toc1752062116_Toc175206210  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnpqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry F