Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f14\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f16\froman\fcharset0\fprq2{\*\panose 02020404030301010803}Garamond;}{\f17\froman\fcharset238\fprq2 Times New Roman CE;}{\f18\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f20\froman\fcharset161\fprq2 Times New Roman Greek;}{\f21\froman\fcharset162\fprq2 Times New Roman Tur;}{\f22\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f113\froman\fcharset238\fprq2 Garamond CE;}{\f114\froman\fcharset204\fprq2 Garamond Cyr;}{\f116\froman\fcharset161\fprq2 Garamond Greek;}{\f117\froman\fcharset162\fprq2 Garamond Tur;}{\f118\froman\fcharset186\fprq2 Garamond Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\nowidctlpar\widctlpar\adjustright \f16\fs22\cgrid \snext0 Normal;}{\s1\qc\sa240\sl240\slmult0\keep\keepn\nowidctlpar\widctlpar\brdrt\brdrs\brdrw15\brsp120\brdrcf15 \brdrb\brdrs\brdrw15\brsp120\brdrcf15 \adjustright \b\caps\f16\fs18\expnd4\expndtw20\kerning16\cgrid \sbasedon15 \snext16 heading 1;}{\s2\qc\sa180\sl240\slmult0\keep\keepn\nowidctlpar\widctlpar\adjustright \b\caps\f16\fs18\expnd2\expndtw10\kerning20\cgrid \sbasedon15 \snext16 heading 2;}{\s3\sb240\sa180\sl240\slmult0\keep\keepn\nowidctlpar\widctlpar\adjustright \caps\f16\fs20\kerning20\cgrid \sbasedon15 \snext16 heading 3;}{\s4\li360\sb240\sa240\sl240\slmult0\keep\keepn\nowidctlpar\widctlpar\abslock1\adjustright \i\f16\expnd1\expndtw5\kerning20\cgrid \sbasedon15 \snext16 heading 4;}{\s5\sl240\slmult0\keep\keepn\nowidctlpar\widctlpar\adjustright \b\f16\fs22\kerning20\cgrid \sbasedon15 \snext16 heading 5;}{\s6\sl240\slmult0\keep\keepn\nowidctlpar\widctlpar\adjustright \i\f16\fs22\expnd1\expndtw5\kerning20\cgrid \sbasedon15 \snext16 heading 6;}{\s7\sl240\slmult0\keep\keepn\nowidctlpar\widctlpar\abslock1\adjustright \scaps\f16\fs22\kerning20\cgrid \sbasedon15 \snext16 heading 7;}{\s8\fi360\sl240\slmult0\keep\keepn\nowidctlpar\widctlpar\adjustright \i\f16\fs22\expnd1\expndtw5\kerning20\cgrid \sbasedon15 \snext16 heading 8;}{\s9\sl240\slmult0\keep\keepn\nowidctlpar\widctlpar\adjustright \f16\fs22\expnd-1\expndtw-5\kerning20\cgrid \sbasedon15 \snext16 heading 9;}{\*\cs10 \additive Default Paragraph Font;}{\s15\sl240\slmult0\keep\keepn\nowidctlpar\widctlpar\adjustright \f16\fs22\kerning20\cgrid \sbasedon16 \snext16 Heading Base;}{\s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright \f16\fs22\cgrid \sbasedon0 \snext16 Body Text;}{\s17\qj\sa240\sl200\slmult0\keep\nowidctlpar\widctlpar\adjustright \f16\fs18\cgrid \sbasedon16 \snext17 Footnote Base;}{\s18\qj\li720\ri720\sa240\sl240\slmult0\keep\nowidctlpar\widctlpar\box\brdrs\brdrw15\brsp280\brdrcf15 \adjustright \i\f16\fs22\cgrid \sbasedon16 \snext18 Block Quotation;}{\s19\qj\fi360\sa240\sl240\slmult0\keepn\nowidctlpar\widctlpar\adjustright \f16\fs22\cgrid \sbasedon16 \snext19 Body Text Keep;}{\s20\fi-120\li1920\sb60\sa240\sl200\slmult0\keepn\nowidctlpar\widctlpar\adjustright \i\f16\fs20\expnd1\expndtw5\cgrid \sbasedon21 \snext16 caption;}{\s21\keepn\nowidctlpar\widctlpar\adjustright \f16\fs22\cgrid \sbasedon0 \snext20 Picture;}{\s22\qc\sl240\slmult0\nowidctlpar\widctlpar\brdrt\brdrs\brdrw15\brsp120\brdrcf15 \brdrb\brdrs\brdrw15\brsp120\brdrcf15 \adjustright \b\caps\f16\fs18\expnd8\expndtw40\cgrid \snext0 Document Label;}{\*\cs23 \additive \super endnote reference;}{\s24\qj\sa240\sl200\slmult0\keep\nowidctlpar\widctlpar\adjustright \f16\fs18\cgrid \sbasedon17 \snext24 endnote text;}{\s25\qc\li-840\ri-840\sb600\sl240\slmult0 \'02\'00.;}{\levelnumbers\'01;}\fi360\li0 }}\ls8}{\listoverride\listid681589074\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelold\levelspace0\levelindent-360{\leveltext\'02\'00.;}{\levelnumbers\'01;}\fi360\li0 }}\ls9}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23\leveljc0\levelfollow0\levelstartat1\levelold\levelspace0\levelindent360{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li1080 }}\ls10}}{\info{\title UTILLIB DOCUMENTATION }{\author Tomas Palmer}{\operator James A. Mooney}{\creatim\yr1996\mo4\dy16\hr4\min53}{\revtim\yr1997\mo3\dy31\hr10\min13}{\version5}{\edmins9}{\nofpages5}{\nofwords584}{\nofchars3332}{\*\company Microsoft}{\nofcharsws4091}{\vern71}}\widowctrl\ftnbj\aenddoc\lytprtmet\formshade\viewkind4\viewscale166\viewzk2\pgbrdrhead\pgbrdrfoot \fet0\sectd \linex0\endnhere\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \s66\qc\sb140\keep\keepn\nowidctlpar\widctlpar\adjustright \caps\f16\fs44\expnd12\expndtw60\kerning20\cgrid {utillib DOCUMENTATION\tab \tab \par }\pard\plain \s90\qc\sa40\sl240\slmult0\keep\nowidctlpar\widctlpar\pvpg\phmrg\posxc\posy888\absh1440\absw8640\nowrap\adjustright \caps\f16\fs22\expnd15\expndtw75\kerning18\cgrid {Tuesday, April 16, 1996 \par \par Tomas Palmer \par }\pard\plain \s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright \f16\fs22\cgrid {\page \par }\pard\plain \s66\qc\sb140\keep\keepn\nowidctlpar\widctlpar\adjustright \caps\f16\fs44\expnd12\expndtw60\kerning20\cgrid {iNTRODUction \par }\pard\plain \s63\qc\sb140\sa420\keep\keepn\nowidctlpar\widctlpar\adjustright \scaps\f16\fs27\expnd4\expndtw20\kerning20\cgrid {Why was this library created? \par }\pard\plain \s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright \f16\fs22\cgrid {This document describes the setup and functionality of the UtilLib which is designed to be used in a WBEM project. This library provides functionality that is common to all WBEM components. This includes error logging, Registry browsing, parsers and WBEM event generation. The UtilLib library also contains the first of our own MFC like classes. These and future classes will reduce our dependence on MFC and component specific classes. \par }\pard\plain \s62\qc\sa720\sl240\slmult0\keep\keepn\nowidctlpar\widctlpar\brdrb\brdrs\brdrw15\brsp480\brdrcf15 \adjustright \caps\f16\fs48\expnd16\expndtw80\kerning20\cgrid { \par }\pard\plain \s66\qc\sb140\keep\keepn\nowidctlpar\widctlpar\adjustright \caps\f16\fs44\expnd12\expndtw60\kerning20\cgrid {setting up UtilLib \par }\pard\plain \s63\qc\sb140\sa420\keep\keepn\nowidctlpar\widctlpar\tx900\adjustright \scaps\f16\fs27\expnd4\expndtw20\kerning20\cgrid {Setting up your code \par {\pntext\pard\plain\s16 \f16\fs22\cgrid \hich\af16\dbch\af0\loch\f16 1.\tab}}\pard\plain \s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec\pnstart1\pnindent-360 {\pntxta .}}\ls1\adjustright \f16\fs22\cgrid { Make sure the }{\i\fs24 include}{ path for your project contains }{\b \\pandora\\include}{ \par {\pntext\pard\plain\s16 \f16\fs22\cgrid \hich\af16\dbch\af0\loch\f16 2.\tab}}\pard \s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec\pnstart1\pnindent-360 {\pntxta .}}\ls2\adjustright { Add }{\b #include <UtilLib.h> }{to your source file \par {\pntext\pard\plain\s16 \f16\fs22\cgrid \hich\af16\dbch\af0\loch\f16 3.\tab}}\pard \s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec\pnstart1\pnindent-360 {\pntxta .}}\ls3\adjustright { For debug builds link to: }{\b \\Pandora\\UtilLib\\debug\\UtilLib.lib}{ \par {\pntext\pard\plain\s16 \f16\fs22\cgrid \hich\af16\dbch\af0\loch\f16 4.\tab}}\pard \s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar{\*\pn \pnlvlbody\ilvl0\ls4\pnrnot0\pndec\pnstart1\pnindent-360 {\pntxta .}}\ls4\adjustright { For release builds link to }{\b \\Pandora\\Lib\\MFC\\UtilLibM.lib }{ \par {\pntext\pard\plain\s16 \f16\fs22\cgrid \hich\af16\dbch\af0\loch\f16 5.\tab}}\pard \s16\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec\pnstart1\pnindent-360 {\pntxta .}}\ls5\adjustright { If your project is an .EXE project, use the preprocessor defintion }{\b\fs20 NO_POLARITY}{. }{\i This will \par }\pard \s16\sa240\sl240\slmult0\nowidctlpar\widctlpar\ilvl12\adjustright {\i change when the library is a DLL. \par }\pard \s16\qc\sa240\sl240\slmult0\nowidctlpar\widctlpar\ilvl12\adjustright {\b\fs18 }{\b\i\fs18 The reason that the library name ends with an M and is located under a MFC sub-directory is that this version of the library still has some MFC dependencies. When all of the MFC classes have been replaced - UtilLib.lib will appear at \\Pandora\\Lib}{\fs18 \par }\pard\plain \s63\qc\sb140\sa420\keep\keepn\nowidctlpar\widctlpar\tx900\adjustright \scaps\f16\fs27\expnd4\expndtw20\kerning20\cgrid { \page \par }\pard \s63\qc\sb140\sa420\keep\keepn\nowidctlpar\widctlpar\tx900\adjustright {Setting up the registry \par }\pard\plain \s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright \f16\fs22\cgrid {Because the actual location of the log files is defined in the Registry, you must make sure that there is a registry entry for your component. If there is no entry for your component then the error will be sent to the default error log. If you property set up your component information in the registry you can then route the error (trace) information to any file name and location and turn off the logging to this file at any time. \par }\pard \s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {To properly set your component up for logging you must set up the Registry as follows: \par {\pntext\pard\plain\s16 \f16\fs22\cgrid \hich\af16\dbch\af0\loch\f16 1.\tab}}\pard \s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar{\*\pn \pnlvlbody\ilvl0\ls6\pnrnot0\pndec\pnstart1\pnindent-360 {\pntxta .}}\ls6\adjustright { Locate }{\b \\HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\WBEM}{ \par {\pntext\pard\plain\s16 \b\f16\fs22\cgrid \hich\af16\dbch\af0\loch\f16 2.\tab}}\pard \s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar{\*\pn \pnlvlbody\ilvl0\ls7\pnrnot0\pndec\pnstart1\pnindent-360 {\pntxta .}}\ls7\adjustright {\b }{Using your component name, add a subkey \par {\pntext\pard\plain\s16 \f16\fs22\cgrid \hich\af16\dbch\af0\loch\f16 3.\tab}}\pard \s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec\pnstart1\pnindent-360 {\pntxta .}}\ls8\adjustright {Open you components subkey and add another subkey named }{\b Log}{ \par {\pntext\pard\plain\s16 \f16\fs22\cgrid \hich\af16\dbch\af0\loch\f16 4.\tab}}\pard \s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar{\*\pn \pnlvlbody\ilvl0\ls9\pnrnot0\pndec\pnstart1\pnindent-360 {\pntxta .}}\ls9\adjustright {Open the subkey }{\b Log }{and add the following values: \par {\pntext\pard\plain\s16 \f3\fs22\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \s16\qj\fi-360\li1080\sa240\nowidctlpar\widctlpar{\*\pn \pnlvlblt\ilvl0\ls10\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls10\adjustright {\b LogFile }{as a REG_SZ and for the value use the fully qualified path to the log file you want to use \par {\pntext\pard\plain\s16 \f3\fs22\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \s16\qj\fi-360\li1080\sa240\nowidctlpar\widctlpar{\*\pn \pnlvlblt\ilvl0\ls10\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls10\adjustright {\b LoggingEnabled }{as a REG_DWORD and for the value use }{\b 1 }{for TRUE and }{\b 0}{ for FALSE \par }\pard \s16\qj\li720\sa240\nowidctlpar\widctlpar\adjustright { \par }\pard \s16\qj\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright { \par }\pard\plain \s66\qc\sb140\keep\keepn\nowidctlpar\widctlpar\adjustright \caps\f16\fs44\expnd12\expndtw60\kerning20\cgrid {Using UtilLib \par }\pard\plain \s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright \f16\fs22\cgrid {As of the writing of this document the main functionality of UtilLib is error logging and programmer trace output. Until the actual format and type of WBEM errors are define - error logging }{\i and }{tracing information will be provided through WBEM Event generation. Currently these events are constructed for you by a C++ class and then routed to log file locations which have been defined in the registry. An example of how to use these classes is described later in this document. Eventually these events will be sent to MOServer and be dispatched to WBEM clients or Providers which has registered to receive error events. \par \par }\pard\plain \s62\qc\sa720\sl240\slmult0\keep\keepn\nowidctlpar\widctlpar\brdrb\brdrs\brdrw15\brsp480\brdrcf15 \adjustright \caps\f16\fs48\expnd16\expndtw80\kerning20\cgrid {Sample code \par }\pard\plain \s63\qc\sb140\sa420\keep\keepn\nowidctlpar\widctlpar\adjustright \scaps\f16\fs27\expnd4\expndtw20\kerning20\cgrid {Generating a Trace Event \par }\pard\plain \s16\qj\li720\sa240\nowidctlpar\widctlpar\adjustright \f16\fs22\cgrid {\b // YOURSOURCEFILE.CPP \par }\pard \s16\qj\li720\sa240\nowidctlpar\widctlpar\adjustright {\b #include <UtilLib.h> \par }\pard \s16\qj\li720\sa240\nowidctlpar\widctlpar\adjustright {\b void Foo(void) \par }\pard \s16\qj\li720\sa240\nowidctlpar\widctlpar\adjustright {\b \{ \par }\pard \s16\qj\li720\sa240\nowidctlpar\widctlpar\adjustright {\b\fs20 // }{\fs20 Instance an event trace object for a component \par }\pard \s16\qj\li720\sa240\nowidctlpar\widctlpar\adjustright {\fs20 // If no name is supplied then the event will be sent to the default log}{\b\fs20 \par }\pard \s16\qj\li720\sa240\nowidctlpar\widctlpar\adjustright {\b }{\b\fs24 CMOEvent_Trace}{\b }{MyTraceEvent(L \ldblquote MyComponentName\rdblquote ); \par }\pard \s16\qj\li720\sa240\nowidctlpar\widctlpar\adjustright {\b \par }\pard \s16\qj\fi360\sa240\nowidctlpar\widctlpar\adjustright {\b }{MyTraceEvent.}{\b Generate(__FILE__,__LINE__, \ldblquote My message number %d\rdblquote ,1); \par }\pard \s16\qj\fi360\sa240\nowidctlpar\widctlpar\adjustright { MyTraceEvent.}{\b Generate(__FILE__,__LINE__, \ldblquote Another Message %s\rdblquote , \ldblquote My String\rdblquote ); \par }\pard \s16\qj\fi360\sa240\nowidctlpar\widctlpar\adjustright { MyTraceEvent.}{\b Generate(__FILE__,__LINE__,L\ldblquote Wide Message %s\rdblquote , L\ldblquote WString\rdblquote ); \par }\pard \s16\qj\li720\sa240\nowidctlpar\widctlpar\adjustright {\b \} \par }\pard \s16\qj\li720\sa240\nowidctlpar\widctlpar\adjustright {\b \par }\pard \s16\qj\li720\sa240\nowidctlpar\widctlpar\adjustright {\b Providing the Registry has been set up for your component there will be a log file containing the output of the above events using the following }{\b\i\fs24 format}{\b \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 MOEvent_Trace (\{70874e30-be5c-11cf-8d9b-00aa004bd99e\}): \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 MachineName = YOURMACHINENAME \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 ModuleName = C:\\WBEM\\test.EXE \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 UserName = your-emailname \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 OperatingSystemName = WinNT \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 OperatingSystemMajorVersion = 3 \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 OperatingSystemMinorVersion = 51 \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 OperatingSystemBuildNumber = 1057 \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 OperatingSystemCSDVersion = \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 ProcessID = 0d0H (208) \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 ThreadID = 0ddH (221) \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 TraceFileName = E:\\pandora\\mo\\MOPROP\\YourSourceFile.cpp \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 TraceLineNumber = 669 \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 TraceMessage = My message number 1 \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 SequenceNumber = 792838211 \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 TimeStamp = Wed Jul 17 12:45:53 1996 \par }\pard \s16\qj\fi360\li720\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b\f0 \par }\pard \s16\qj\li720\sa240\nowidctlpar\widctlpar\adjustright {\f0 \par }\pard \s16\qj\li720\sa240\nowidctlpar\widctlpar\adjustright { \par }\pard \s16\qj\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright { \par }\pard \s16\qj\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b \par }\pard \s16\qj\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright {\b \par }\pard \s16\qj\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright { \par }\pard \s16\qj\fi360\sa240\sl240\slmult0\nowidctlpar\widctlpar\adjustright { \par \par }\pard\plain \s20\fi-120\li1920\sb60\sa240\sl200\slmult0\keepn\nowidctlpar\widctlpar\adjustright \i\f16\fs20\expnd1\expndtw5\cgrid { \par }}
|