(file) Return to TracingDevGuide.doc CVS log (file) (dir) Up to [Pegasus] / pegasus / doc

  1 thilo.boehm 1.1 ࡱ>		@	0x/bjbj	0؝؝&F:{{{8{|6|}(}~~~P,Z\\\\\\$R*["."[[~~ϔϔϔ[:R~~Zϔ[Zϔϔ`"~}/PI{040d3h"TH$(ϔLR	$$$d1^L$/^LOpenPegasus provides a tracing facility that helps in investigating the cause of a problem. For example, if requests abort, performance is reduced, or unexpected responses appear, trace can provide pointers to where and when the problem occurred. 

To generate a useful trace for problem determination, the trace messages are categorized in trace levels and components. The trace level defines the severity of the message and the trace component assigns the message to a specific module or several modules serving special working units of OpenPegasus and there are special purpose trace components.

Writing trace messages is a OpenPegasus server functionally only. Currently it is not possible for providers to use the tracing facility.
When to write trace messages?
Trace statements are for debugging purpose. The information of a trace message is for a developer or service person, a person having insight into the code of OpenPegasus. Trace messages are utilizing the code to enable these people to understand the state of OpenPegasus and print execution flow relevant information like:

Locations of  executions
Return values of functions
Error conditions of functions
Content of variables 
Conditions and its evaluation
Etc. 

Trace messages are NOT enabled for multicultural support.

Log messages are in contrast to trace messages. Log messages must give system operator/programmer information about the run-time state of OpenPegasus to enable these people to change the runtime environment to work properly. 
Categorize trace messages
What is the right trace level?
There are 5 trace levels for configuration but only trace level 1 to 4 can be used for specifying the severity of a trace message. 

The trace level definitions are done in Pegasus/Common/Tracer.h

Trace level 0 is reserved to switch tracing off. Trace level 5 is reserved for method enter/exit statements. Both trace levels cannot be specified explicitly on a trace statement. 
All other levels can be specified in the tracing macros using the static variables with the definition as listed below.

Level #Definition1Tracer::LEVEL12Tracer::LEVEL23Tracer::LEVEL34Tracer::LEVEL4Table  SEQ Table \* ARABIC 1
Tracer::LEVEL1
Trace level 1 should be used for severe error conditions that need to be reported to an user. For instance if the server has to discard data to be able to proceed, throws an exception, or has to close the connection.
All log messages are also written to trace level 1, which means that there is no need to duplicate log messages as a trace message.
As example, at the OpenSSL initialization, not enough seed data is found:

PEG_TRACE((TRC_SSL, Tracer::LEVEL1,
    "Not enough seed data in seed file: %s",
    (const char*)randomFile.getCString()));
Tracer::LEVEL2
Trace level 2 is for basic flow trace messages with minimal detail. These messages should also report error conditions which might cause an error visible to the end user, but dont necessarily have to.
For example, after reading an HTTP request, OpenPegasus is not able to parse the content language:

PEG_TRACE((TRC_HTTP, Tracer::LEVEL2,
    "HTTPConnection: ERROR: contentLanguages had "
         "parsing failure. clearing languages. error data=%s",
    (const char*)contentLanguagesString.getCString()));
  
Tracer::LEVEL3
Trace level 3 is for intra-function logic flow and moderate data detail. These messages should report details of decisions made and important data of the general flow.
For example, after a connection has been established, the client IP address is written:

PEG_TRACE((TRC_HTTP, Tracer::LEVEL3,
    "Connection IP address = %s",(const char*)_ipAddress.getCString()));

Tracer::LEVEL4
Trace level 4 is the highest data detail. These messages should report everything needed to be able to follow the flow.
For example:

PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL4,
    "CMPIProvider has pending operations: %s",
    (const char*)provider->getName().getCString()));

What is the right trace component?
At each trace macro, a trace component ID has to be specified to pool the trace messages in domains. These domains can be one or several modules serving a dedicate purpose within OpenPegasus or a special purpose domain serving an overall purpose.

The trace components IDs used for the trace macros are defined as enumeration in Pegasus/Common/Tracer.h. 

The TRACE_COMPONENT_LIST[] used for the configuration option is defined in
Pegasus/Common/Tracer.cpp.

The components to be specified at the traceComponents configuration are defined in the TRACE_COMPONENT_LIST[]. If a new trace component is needed or changed, you have to modify both lists at the same index. 

The table below is a first reference for component IDs for dedicated functionality of OpenPegasus. The current definitions can be found in Pegasus/Common/Tracer.h

enum TraceComponentIDstatic char const* TRACE_COMPONENT_LIST[]TRC_AUTHENTICATIONAuthenticationTRC_AUTHORIZATIONAuthorizationTRC_EXP_REQUEST_DISPCIMExportRequestDispatcherTRC_CIMOM_HANDLECIMOMHandleTRC_CMPIPROVIDERCMPIProviderTRC_CMPIPROVIDERINTERFACECMPIProviderInterfaceTRC_CQLCQLTRC_CONFIGConfigTRC_CONTROLPROVIDERControlProviderTRC_DISPATCHERDispatcherTRC_EXPORT_CLIENTExportClientTRC_HTTPHttpTRC_INDICATION_GENERATIONIndicationGenerationTRC_IND_HANDLERIndicationHandlerTRC_INDICATION_RECEIPTIndicationReceiptTRC_INDICATION_SERVICEIndicationServiceTRC_L10NL10NTRC_LISTENERListenerTRC_MESSAGEQUEUESERVICEMessageQueueServiceTRC_OBJECTRESOLUTIONObjectResolutionTRC_OS_ABSTRACTIONOsAbstractionTRC_PROVIDERAGENTProviderAgentTRC_PROVIDERMANAGERProviderManagerTRC_REPOSITORYRepositoryTRC_SSLSSLTRC_SERVERServerTRC_SHUTDOWNShutdownTRC_THREADThreadTRC_USER_MANAGERUserManagerTRC_WQLWQLTRC_WSMSERVERWsmServerTRC_XMLXmlTRC_XML_IOXmlIOTable  SEQ Table \* ARABIC 2

Special purpose trace components
The next table below specifies component IDs for special purpose of the OpenPegasus:

Special purpose
TraceComponentIDDescriptionTRC_DISCARDED_DATAIssues a trace message when information is discarded or an operation is cancelled to enable OpenPegasus to proceed.  
Tracer::LEVEL1 must be used for this component. TRC_LOGMSGDo not use this trace component. All messages written by the Logging Facility are automatically written with this component. TRC_XML_IOThis component specifies trace statements which belongs to the XML request/response handling and should be used only in this context.
The Trace Interface
There are 4 macros available to write a trace:


Trace macrosDescriptionPEG_METHOD_ENTERlogs a method entry message to the trace.
PEG_METHOD_EXITlogs a method exit message to the trace file.PEG_TRACE_CSTRINGThis writes a single trace message.PEG_TRACEWrites a printf()-style formatted trace message
All macros automatically add file (__FILE__) and line number (__LINE__) to the trace message.

You have to include <Pegasus/Common/Tracer.h> to use tracing at all.

Special note on using type String

If you like to use a String object as parameter in a trace macro, you have to
get the CString using the method getCString()
cast to (const char*)

For example:

PEG_TRACE((TRC_HTTP, Tracer::LEVEL2,
    "HTTPConnection: ERROR: contentLanguages had "
         "parsing failure. clearing languages. error data=%s",
    (const char*)contentLanguagesString.getCString()));

PEG_METHOD_ENTER

SYNOPSIS

PEG_METHOD_ENTER (<traceComponent>, char* methodName);

DESCRIPTION


<traceComponent>Refers to a trace component specified in Table 2.MethodNameThe name of the method being entered.
PEG_ METHOD_ENTER() must be placed right after the entry point of a method or function and is generating a method enter trace statement with level 5.
    

EXAMPLE

PEG_METHOD_ENTER(TRC_SSL,"SSLContextManager::createSSLContext()");

PEG_METHOD_EXIT

SYNOPSIS

PEG_METHOD_EXIT();

DESCRIPTION

PEG_ METHOD_EXIT() must be placed before any exit point of a method or function and is generating a method exit trace statement with level 5.

It can only be used if the PEG_METHOD_ENTER() was used before in the same method/function.    

EXAMPLE

void SSLContextManager::createSSLContext(  )
{
    PEG_METHOD_ENTER(TRC_SSL,"SSLContextManager::createSSLContext()");
  
    try
    {
    }
    catch()
    {
       PEG_METHOD_EXIT();
       throw MyException();
    }
    
   PEG_METHOD_EXIT();
   return;
}
 
PEG_TRACE_CSTRING

SYNOPSIS

PEG_TRACE_CSTRING(<traceComponent>,<traceLevel>, const char* traceMessage);

DESCRIPTION

<traceComponent>Refers to a trace component specified in Table 2.<traceLevel>Refers to a trace level 
Tracer::LEVEL1 to Tracer::LEVEL4.traceMessageSingle trace message.
This writes a single trace message at a certain trace level and component to the trace. The message must be a single character string with a trailing \0.

EXAMPLE

PEG_TRACE_CSTRING(TRC_HTTP, Tracer::LEVEL1,
    "select() timed out waiting for the socket connection to be"
        "established.")

PEG_TRACE

SYNOPSIS

PEG_TRACE((<traceComponent>,<traceLevel>, const char* formatString,));

DESCRIPTION

<traceComponent>Refers to a trace component specified in Table 2.<traceLevel>Refers to a trace level 
Tracer::LEVEL1 to Tracer::LEVEL4.formatString, The printf()-style format string and its parameters.
PEG_TRACE() writes a printf()-style formatted trace message at a certain trace level and component to the trace. 

Note:
The parameters have to be put into a single argument for PEG_TRACE() by putting them in additional parenthesis.

EXAMPLE

PEG_TRACE((TRC_HTTP, Tracer::LEVEL4,
    "Connection to server in progress.  Waiting up to %u milliseconds "
         "for the socket to become connected.", 
    timeoutMilliseconds));
Compiling out Trace code from Pegasus build
The trace code can be optionally removed from Pegasus at build time by defining PEGASUS_REMOVE_TRACE (D option).









OpenPegasus Tracing Development Guide		-  PAGE 8 -



















OpenPegasus
Tracing
Development Guide





					Y
  2                 



 !=ou12<CDNSUV`eghrڽڽڣh@h@h@CJOJQJ^J"h@h@5CJOJQJ\^JhaChVh%wh@hx|hj0J`hjh1hFhMh{h{?hDs5h{?hnhWjh{?hDs5U8Y
  3                 Z
  4                 
  5                 EF_z


*!!!!!!!!H!H!H!H!H!H!!!!!!!!!!gdMgdM
  6                 &Fgd{gd{gdMgd[gd{.=/w/&124C!!!`ssusi`i$$Ifa$gd@wkd$$IfTl08064
  7                 laT	$IfgdC-gdMgd@CDFU|`|$$Ifa$gd@wkd$$IfTl08064
  8                 laTUVXg|`|$$Ifa$gd@wkd2$$IfTl08064
  9                 laTghjy|`n
$$$Ifa$gdp!$$Ifa$gd@wkd$$IfTl08064
 10                 laTrwyz)0RSabrv NOPQuv7<HS̼hhtE4h@h,hs0hFrCJOJQJhFrhFrCJOJQJh,hghFrhZhFhaChMhpmHnHujhp!Uhp!h@CJOJQJ^Jh@h@h@8yzPQu!v:!|!|!w!|!r!r!r!m!h!gdtE4gd,gdFrgd,gdZgds0wkdd$$IfTl08064
 11                 laTSZ	
 12                 [\dikySTÿÿÿ쿤hjhzphMhMhMhkhACJOJQJhAhkCJOJQJhuhuCJOJQJhuhtE4h@h,h,hhtE4CJOJQJhtE4hCJOJQJh,h7hFhaCh4
 13                 0c[\k O!!!!!!!!!!!!!!!!!!!!!!!!gd7gdMgdMgdkgdAgdugds0gdtE4gd	
 14                 5JLWXnrst<ACDUn*+̻ȱȭȻ}h,QCJaJh,Q5CJOJQJ\^J"h,Qh,Q5CJOJQJ\^Jhw:h,Qhu<hx|
 15                 hO0J`hx|hO0J`h1hOhG/hw:hw:hx|hw:0J`hKh1E3hFh,QhyAh7hw:hj0
XstDE*+!!Nm!!!1!!!!Nm!nsSsvekd$$IfTl{0F+
 16                 tq644
 17                 lapT
 18                 
$If$Ifgdw:gdu<gd1E3gd
+=>LMN_`mno
%&,-.ABQRSablmnh$1h,Qhw:h,Qh,QCJaJhw:h,QPJaJh{?h,Qhu<h,QCJPJaJhu<h,QCJaJI+>MN`nnv:S}nv:S

$IfgdD4ekd$$IfTl{0F+
 19                 tq644
 20                 lapT
 21                 
$If$Ifno>nv:S$If

$IfgdD4ekd$$IfTlO0F+
 22 thilo.boehm 1.1 tq644
 23                 lapT>nv:S%>ekd
$$IfTlO0F+
 24                 tq644
 25                 lapT$If
 26                 
$Ifekd$$IfTlO0F+
 27                 tq644
 28                 lapT
nv:S|nv:Sekd$$IfTlh0F+
 29                 tq644
 30                 lapT$If	$IfgdD4
|nv:S/|ekd$$IfTlh0F+
 31                 tq644
 32                 lapT$Ifekd$$IfTlh0F+
 33                 tq644
 34                 lapT&-.BRnv:Ssnv:Sekd$$IfTld0F+
 35                 tq644
 36                 lapT$If	$IfgdD4RSbmnsnv:S&ڋekd%$$IfTln0F+
 37                 tq644
 38                 lapT$If	$IfgdD4ekd$$IfTld0F+
 39                 tq644
 40                 lapTnnv:Sڋnv:Sekd$$IfTln0F+
 41                 tq644
 42                 lapT$If

$IfgdD4ڋnv:S&ekd	$$IfTlj0F+
 43 thilo.boehm 1.1 tq644
 44                 lapT$If	$IfgdD4ekd-	$$IfTln0F+
 45                 tq644
 46                 lapTnv:Snv:Sekd5
 47                 $$IfTlj0F+
 48                 tq644
 49                 lapT$If	$IfgdD401BCDLMQRS_`hij$%&45?@AHILMNXY_`amnvwxh$1h,Qh{?h,Qhu<h,QCJPJaJhu<h,QCJaJh,QCJaJh$1h,QPJaJN1CDnv:S&uekd=$$IfTle0F+
 50                 tq644
 51                 lapT$If	$IfgdD4ekd
 52                 $$IfTlj0F+
 53                 tq644
 54                 lapTDMRS`inv:Sunv:Sekd$$IfTle0F+
 55                 tq644
 56                 lapT$If	$IfgdD4ijunv:S&kekd$$IfTla0F+
 57                 tq644
 58                 lapT$If	$IfgdD4ekdE$$IfTle0F+
 59                 tq644
 60                 lapTnv:Sknv:S	$IfgdD4ekdM
$$IfTla0F+
 61                 tq644
 62                 lapT$Ifanv:S&aekdU$$IfTl]0F+
 63                 tq644
 64 thilo.boehm 1.1 lapT$If	$IfgdD4ekd
$$IfTl]0F+
 65                 tq644
 66                 lapT%&5@nv:Sanv:S	$IfgdD4ekd$$IfTl]0F+
 67                 tq644
 68                 lapT$If@AIMN5nv:S&5ekd$$IfTlu0F+
 69                 tq644
 70                 lapT$If	$IfgdD4ekd]$$IfTlu0F+
 71                 tq644
 72                 lapTNY`anwnv:S5nv:S	$IfgdD4ekde$$IfTlu0F+
 73                 tq644
 74                 lapT$Ifwxpnv:S/pekdm$$IfTlc0F+
 75                 tq644
 76                 lapT$Ifekd$$IfTlc0F+
 77                 tq644
 78                 lapTnv:Snv:Sckd$$IfTl0F+
 79                 tq644
 80                 lapT$If	$IfgdD4nv:S*ckd$$IfTl0F+
 81                 tq644
 82                 lapT$If	$IfgdD4ckdq$$IfTl0F+
 83                 tq644
 84                 lapT
 85 thilo.boehm 1.1 
/0; F L ûûîsh]YRh@hdhu<hw:hu<PJaJhM0hu<CJaJ"h[h~55CJOJQJ\^J"h,Qhd5CJOJQJ\^Jh~55CJOJQJ\^Jhdh}
 86                 !h}9hpmHnHujhx|Uhx|h$1h,QPJaJhu<h,QCJaJh,QCJaJh$1h,Qh{?h,Qhu<h,QCJPJaJ nv:Snv:S
 87                 $$Ifgdx|ckdq$$IfTl0F+
 88                 tq644
 89                 lapT$If	$IfgdD40!v:!!!!|Ns|Ns|s$& #$/Ifb$gddgd}9gddckd$$IfTl0F+
 90                 tq644
 91                 lapT	> o {SgNv:gg$& #$/Ifb$gddkdq$$IfTl	0X &
6 0 64
 92                 lae4TL n p z {     !!!!!!!!!!!!("*"9":"g"h"i"r"t"~wjc\wThCCJaJh&VZhCh&VZh&VZhChCCJPJaJh{?hChx|hChCPJaJhChCCJaJ"h[hC5CJOJQJ\^JhC5CJOJQJ\^JhCh}
 93                 !hDs5hhu<hM0hu<hM0CJaJhu<h$1hu<PJaJhM0hu<CJaJh{?hu<hdo p {  {4
 94                 gNv:g$& #$/Ifb$gddkd$$$IfTl0X &
6 0 64
 95                 lae4T  !!{gNv:g$& #$/Ifb$gddkd$$IfTl0X &
6 0 64
 96                 lae4T!!!!!!!!!{vqv!v!v!]Ns]s$& #$/Ifb$gdS/)gdCgdCkd$$IfTl0X &
6 0 64
 97                 lae4T!!!(")"{SgNv:^g	$Ifgdx|$& #$/Ifb$gdD4kdO$$IfTl	0X &
6 0 64
 98                 lae4T)"*":"h"{YgNv:g$& #$/Ifb$gdD4kd$$IfTl0X &
6 0 64
 99                 lae4Th"i"{""{gNv:g$& #$/Ifb$gdD4kd$$IfTl0X &
6 0 64
100                 lae4Tt"u"z"{""""""""""""""""##$#9#:#<#P#_#d#e#h########E$$ɶ߮~zvzihtE4hCJOJQJhdLQhh5CJOJQJ\^J"hhf5CJOJQJ\^Jh%whx|hx|hx|h&VZh3hE)hrhChCCJaJh{?hChhChD4hIf)hChChCCJPJaJhCCJaJhFCJaJ&""""{gNv:g$& #$/Ifb$gdD4kdz$$IfTl0X &
6 0 64
101                 lae4T""":#;###### $6${vv!v!q!v!v!sl!l!d!d!
102                 &Fgdgdgdx|gdE)kd3$$IfTl0X &
6 0 64
103                 lae4T6$7$D$E$j$$$%%&%'%0%1%h%i%u%v%w%%%!!!!!!!!!!!s!s!!!s!!
104                 {	$Ifgdx|	$IfgdE)gdx|gdE)gdE)gd$$%%%'%/%0%1%C%D%R%S%h%i%t%u%w%x%%%%%%%%%%%%&&&&&&&&&&&&ȹȬȹڗړڏڋȹ{uoᓛ
105                 hx|0J`
106 thilo.boehm 1.1 hDs50J`hx|hx|0J`hE)hrhrhp!hx|hE)hE)hx|h&VZCJOJQJhE)hE)CJOJQJhE)5CJOJQJ\^J"hE)hE)5CJOJQJ\^JhE)hE)h&VZhhtE4hCJOJQJhCJOJQJ)%%%%%%&&&
107                 {TO!O!J!J!gdE)gdrPkdJ$$Ifl0m!mS644
108                 lal	$IfgdE)Pkd$$Ifl0m!mS644
109                 lal&&&&&&&&&''''''((
110                 ((9(;(((((((!s!!1!1!!!s!s!!!s!!!!!!s!!1!1!1!1!1!1!1!1gd}
111                 !gd&VZgdx|gdx|gdE)&&&&&'''''''''(	(
112                 ((3(?((((((((((()))) )#)%)߽ߧzvrvkhE)hD4hrhD4
113                 h10J`
114                 hx|0J`hx|hx|0J`hx|h}
115                 !0J`
116                 h}
117                 !0J`h}
118                 !h}
119                 !0J`hE)h}
120                 !h&VZhE)h&VZh&VZhx|hE)hx|hx|CJOJQJhE)hx|CJOJQJhx|5CJOJQJ\^J"hE)hx|5CJOJQJ\^J$(((((())))$)%).)/){)|)))))!1!1!1!1!1!1!1!1!1!!!s!s!!!s!	$IfgdD4gdD4gdD4gd}
121                 !gdx|%)-).)/)A)Q)y){)|))))))))))))))))**8*:*;*********-+V+f+g+p+r+z+ջߴߟs"hE)h&VZ5CJOJQJ\^JhE)h&VZh&VZ
122                 hx|0J`hD4hD40J`
123                 hD40J`haChD4hD4hD4hE)hD4hE)hD4CJOJQJhp!hD4CJOJQJhD4CJOJQJhD45CJOJQJ\^J"hE)hD45CJOJQJ\^J+))))**#*9*TYPkd$$Ifl0\
!\
d644
124                 lal	$IfgdD4Pkd$$Ifl0\
!\
d644
125                 lal9*:*;*****
+N+f+g+q+r+{+|++++!!!!s!1!1!1!1!1!!!s!s!!!sgdrgd&VZgd&VZgdx|gdD4Pkdd$$Ifl0\
!\
d644
126                 lalz+{+|+++++++++++++++++++,,,,,%,&,`,b,p,t,u,x,,,,,,- -%-Ⱦ՝񖒋||xihG/5CJOJQJ\^JhG/hA.hE)hrhrhE)hrhrhE)h&VZhE)h&VZCJOJQJhD4CJOJQJhrCJOJQJhp!CJOJQJhp!hp!CJOJQJh&VZCJOJQJ"hE)h&VZ5CJOJQJ\^Jh&VZ5CJOJQJ\^J)+++,,&,?,a,b,u,!OYPkd $$Ifl0\
!\
d644
127 thilo.boehm 1.1 lalPkd$$Ifl0\
!\
d644
128                 lal	$IfgdD4gd&VZ	u,,,,- -&------
.>.Y..!!!!s!!!s!!1!1!1!1!gdgdgdA.^gdG/gdrgd&VZPkd~$$Ifl0\
!\
d644
129                 lal	$IfgdD4%-*-5-9-R-[-k-v-~---------<.B.X.Y.Z.........../////+/̽zthhl
130                 CJOJQJ^J
131                 hl
132                 CJjhl
133                 CJUmHnHuhl
134                 jhl
135                 Uhhh
136                 h&VZ0J`
137                 hA.0J`hA.hA.0J`hE)h&VZh&VZ5CJOJQJ\^J"hE)h&VZ5CJOJQJ\^JhE)hrh&VZhrhrhA.hrhrhG/%.......////;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/!!j!jgdngd+/.///5/6/7/8/:/;/</=/N/m/t/v/w/x/ν񱭩hhhDs5h[hl
138                 CJHOJQJ^Jhl
139                 CJHOJQJ^Jhu	hl
140                 hl
141                 CJOJQJ^J!hhmCJOJQJ^JmHnHujhl
142                 CJOJQJU^J%jhnhl
143                 CJOJQJU^Jhnhl
144                 CJOJQJ^JK/L/M/N/Z/b/t/u/v/w/x/!gd$
!a$gd[	$
!a$
145                 .	00&P1h/R / =!"#$%$$If!vh585#v8#v:Vl065854T$$If!vh585#v8#v:Vl065854T$$If!vh585#v8#v:Vl065854T$$If!vh585#v8#v:Vl065854T$$If!vh585#v8#v:Vl065854T$$If!vh5F5+#vF#v+:Vl{
146                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vl{
147                 tq6,5F5+pT$$If!vh5F5+#vF#v+:VlO
148 thilo.boehm 1.1 tq6,5F5+pT$$If!vh5F5+#vF#v+:VlO
149                 tq6,5F5+pT$$If!vh5F5+#vF#v+:VlO
150                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vlh
151                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vlh
152                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vlh
153                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vld
154                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vld
155                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vln
156                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vln
157                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vln
158                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vlj
159                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vlj
160                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vlj
161                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vle
162                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vle
163                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vle
164                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vla
165                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vla
166                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vl]
167                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vl]
168                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vl]
169 thilo.boehm 1.1 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vlu
170                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vlu
171                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vlu
172                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vlc
173                 tq6,5F5+pT$$If!vh5F5+#vF#v+:Vlc
174                 tq6,5F5+pT~$$If!vh5F5+#vF#v+:Vl
175                 tq6,5F5+pT~$$If!vh5F5+#vF#v+:Vl
176                 tq6,5F5+pT~$$If!vh5F5+#vF#v+:Vl
177                 tq6,5F5+pT~$$If!vh5F5+#vF#v+:Vl
178                 tq6,5F5+pT~$$If!vh5F5+#vF#v+:Vl
179                 tq6,5F5+pT$$If!vh5&5#v&#v:Vl	
6 0 65&54e4T$$If!vh5&5#v&#v:Vl
6 0 6,5&54e4T$$If!vh5&5#v&#v:Vl
6 0 6,5&54e4T$$If!vh5&5#v&#v:Vl
6 0 6,5&54e4T$$If!vh5&5#v&#v:Vl	
6 0 6,5&54e4T$$If!vh5&5#v&#v:Vl
6 0 6,5&54e4T$$If!vh5&5#v&#v:Vl
6 0 6,5&54e4T$$If!vh5&5#v&#v:Vl
6 0 6,5&54e4T$$If!vh5&5#v&#v:Vl
6 0 6,5&54e4T\$$Ifl!vh5m5S#vm#vS:Vl65m5Sal\$$Ifl!vh5m5S#vm#vS:Vl65m5Sal\$$Ifl!vh5\
5d#v\
#vd:Vl65\
5dal\$$Ifl!vh5\
5d#v\
#vd:Vl65\
5dal\$$Ifl!vh5\
5d#v\
#vd:Vl65\
5dal\$$Ifl!vh5\
5d#v\
#vd:Vl65\
5dal\$$Ifl!vh5\
5d#v\
#vd:Vl65\
5dal\$$Ifl!vh5\
5d#v\
#vd:Vl65\
5dala@@@}
180                 !NormalCJ_HaJmH	sH	tH	t@t[	Heading 1'$
181                 &FQhx@&^`Q5B*CJ$OJQJ\^Jph\@\[	Heading 2$
182                 &FBxx@&^B`CJ\^JZ@ZW	Heading 3$
183                 &F<@&5OJQJ\^JaJP@1P[	Heading 4$
184                 &F<@&CJ\aJF@FW	Heading 5$$
185                 &F@&a$CJ,N@NW	Heading 6
186                 &F<@&5CJ\aJ@@@W	Heading 7
187                 &F<@&F@FW	Heading 8
188                 &F<@&6]T	@TW	Heading 9	
189                 &F<@&CJOJQJ^JaJDA@DDefault Paragraph FontVi@VTable Normal :V44
190 thilo.boehm 1.1 la(k(No List8 @8Footer

!CJ.)@.Page Number.(@.Line Number4@"4[Header

!DC@2DBody Text Indent
191                 ^DT@BD
192                 Block Textx]^2B@R2	Body Textx<P@b<Body Text 2dx>Q@r>Body Text 3xCJaJPM@QPBody Text First Indent
193                 ``N@1`Body Text First Indent 2hx^h`RR@RBody Text Indent 2hdx^hTS@TBody Text Indent 3hx^hCJaJ@"@@Caption
194                 xx5CJ\aJ2?@2Closing
195                 ^<<Comment TextCJaJ$L@$DateRYRDocument Map -D M
196                 OJQJ^J<[@<E-mail Signature!<+"<Endnote Text"CJaJh$@2hEnvelope Address!#@&+D/^@OJQJ^JN%@BNEnvelope Return$CJOJQJ^JaJ>R>
Footnote Text%CJaJ:`@b:HTML Address&6]Re@rRHTML Preformatted'CJOJQJ^JaJ:
197                 :
Index 1(^`::
Index 2)^`::
Index 3*^`:
:
Index 4+^`::
Index 5,^`::
Index 6-^`::
Index 7.^`::
Index 8/^`::
Index 90p^p`H!H
Index Heading15OJQJ\^J4/@"4List2h^h`82@28List 23^`83@B8List 348^8`84@R8List 45^`85@b8List 56^`:0@r:
List Bullet	7
198                 &F>6@>

List Bullet 2	8
199                 &F>7@>

List Bullet 3	9
200                 &F>8@>

List Bullet 4	:
201                 &F>9@>

List Bullet 5	;
202                 &FBD@B
List Continue<hx^hFE@FList Continue 2=x^FF@FList Continue 3>8x^8FG@FList Continue 4?x^FH@FList Continue 5@x^:1@:List Number	A
203                 &F	>:@">
List Number 2	B
204                 &F
205                 >;@2>
List Number 3	C
206                 &F><@B>
List Number 4	D
207                 &F>=@R>
List Number 5	E
208                 &F
l-bl
209                 Macro Text"F
	`	@ 
OJQJ^J_HmH	sH	tH	I@rMessage HeadergG8$d%d&d'd-DM
210                 NOPQ^8`OJQJ^J4^@4Normal (Web)H>@>
Normal Indent
211 thilo.boehm 1.1 I^4O@4Note HeadingJDZ@D
212                 Plain TextKCJOJQJ^JaJ0K@0
213                 SalutationL6@@6	Signature
214                 M^FJ@FSubtitleN$<@&a$OJQJ^JT,TTable of AuthoritiesO^`L#LTable of FiguresP ^` V>@VTitleQ$<@&a$5CJ KHOJQJ\^JaJ H.HTOA HeadingRx5OJQJ\^J&&
TOC 1S..
TOC 2
215                 T^..
TOC 3
216                 U^..
TOC 4
217                 V^..
TOC 5
218                 W^..
TOC 6
219                 X^..
TOC 7
220                 Y^..
TOC 8
221                 Z^..
TOC 9
222                 [^O>/Style (Latin) Courier New (Complex) Courier NewCJOJQJ^JHH94Balloon Text]CJOJQJ^JaJB'B<AComment ReferenceCJaJ@j@<AComment Subject_5\vOvx|$Style (Latin) Courier New 11 pt Bold5CJOJQJ\aJ89x'89<x'@z@z@z@z@z@z@z@z!x'YZEF_z*&124CDFUVXghjyz	
223                 P
224                 Q
225                 u
226                 
227                 
228                 
229                 
230                 0c


[\k O
XstDE*+>MN`no
&-.BRSbmn1CDMRS`ij%&5@AIMNY`anwx0>op{()*:hi{:; 67DEj&'01hiuvw  
231                   9 ;            !!!!$!%!.!/!{!|!!!!!!!!""#"9":";"""""
#N#f#g#q#r#{#|######$$&$?$a$b$u$$$$% %&%%%%%%
&>&Y&&&&&&&&'''';'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'Z'b't'u'v'y'00000 000 0 0 0 0 0 00000 0 000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0( 00000000( 00
232 thilo.boehm 1.1 0
233                 0
234                 0
235                 0
236                 0
237                 0
238                 0
239                 ( 0000000( 00\0\0\0\0\0\0\ 0000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00000 0 0 0 00 0 0 0 0 0 0 0 0 00000 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00000000 0 000000000 0000000000 0 0 0 0 0 00000000 0000000000000000000000000000000 00!0!0!0!0!0!0!0! 0! 0! 0! 0!0! 0! 0! 0! 0! 0!0!0!0!0!0!0!0!0! 00g#0g#0g#0g#0g#0g#0g#0g# 0g# 0g# 0g# 0g#0g# 0g# 0g# 0g# 0g# 0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g# 0000000000(00@000H0000000000000000000000YZEF_z*&124CDFUVXghjyz	
240                 P
241                 Q
242                 u
243                 
244                 
245                 
246                 
247                 0c


[\k O
XstDE*+>MN`no
&-.BRSbmn1CDMRS`ij%&5@AIMNY`anwx0>op{()*:hi{:; 67DEj&'01hiuvw  
248                   9 ;            !!!!$!%!.!/!{!|!!!!!!!!""#"9":";"""""
#N#f#g#q#r#{#|######$$&$?$a$b$u$$$$% %&%%%%%%
&>&Y&&&&&&&&'''';'='M'N'Z'b't'y'00000 000 0 0 0 0 0 00000 0 0110K0K0K0K0K0K0K0K 0K 0K 0K 0K 0K 0K 0K 0K 0K 0K 0K 0K 0K 0K 0K( 0KK0000000( 0KK00000000( 0KK0
0
0
0
0
0
( 0KK0000000 011000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0@0 0110[0[0[0[ 0[ 0[ 0[ 0[0[ 0[ 0[ 0[ 0[ 0[ 0[ 0[ 0[ 00000 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0@0@0@0@0 0 0000000000 0 0 0 0 0 00000000 0000000000000000000000000000000 00r0r0r0r0r0r0r0r 0r 0r 0r 0r0r 0r 0r 0r 0r 0r0r0r0r0r0r0r0r0r 0dd00000000 0 0 0 00 0 0 0 0 0X@0M10000000000 0X@00X@00X@00X@00X@00X@00X@00X@00@0Z@00X@00hX@00Xj6X@00X@00A0X@000 	EEEHrS+L t"$&%)z+%-+/x/!#%0<@GKNPSVXCUgy+n
RnDi@Nwo  !!)"h"""6$%&()9*+u,.K/x/ "$&'()*+,-./123456789:;=>?ABCDEFHIJLMOQRTUWYw/
249                 x'7>@H!@ @ (	
250                 NB
251                 
252                 SDjJ\(	
253 thilo.boehm 1.1 f"
254                 
255                 s*t	t	jJ

B
256                 S	?x'&X ^14H6!65
_Toc520023339
_Toc520023340
_Toc520023429
_Toc520023430_Toc12263614y'%y'ILL,|!
257                 f##<#L&&&
258                 L
259                 LLk
L


|lf,fDLd$4 Li\"!!",!ܙ!T,"LL ]"C%O<}"Q
260                 \
261                 

+No.SnDSj&ANaxp*iEP1? P /!""g#|#$%%y'	
262                 
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHT
263                 _
264                 

.Qr1VqGVm)DQd{s-l HS4B S 2!""j##$%%y'	
265                 
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH?I*urn:schemas-microsoft-com:office:smarttagsstocktickerIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
266                  
267                 
268                 
269                 5CL\AU%1jqt~	gq&,BQ1B$_go}DR[ex 3 P |   B!P!S!]!l!x!!!!!"""########$$$b$n$y$$$$B&U&&''='y'tu?E			U
270                 [
271                 
272                 
273                 ]bmt~

24_h!&:>IO$  J P          !!!9!A!""##W#b###b$n$y$$$$c%i%%%%%%&&&B&U&&='y'::::::::::::::::::::::::::::::::::::::::::::::::::::::F12
274 thilo.boehm 1.1 
275                 0c\kXt+/p{i{ 67D/w!%!!!!!";"""N#r#|####$&$b$u$>&X&&'.'8':'='N's'y'LLnn&%&%&&&&&&&&&'''''<'='y'|.lDE} 6:	D~<&]C`BB;ܶ:
276                 H9q*8`BAQ7z_CHMz\<?ư	=ҊL!|",Q!tg%,& O3}JPH:&Y;yuyD J!wTFQ
277                 hBe& pn^^`.^`.88^8`.^`.^`OJQJo(^`OJQJo(88^8`OJQJo(^`OJQJo(hh^h`.hh^h`OJQJo(h
278                 ^`hH.h
279                 ^`hH.h
280                 pLp^p`LhH.h
281                 @@^@`hH.h
282                 ^`hH.h
283                 L^`LhH.h
284                 ^`hH.h
285                 ^`hH.h
286                 PLP^P`LhH.h
287                 P^`PhHh
288                 @@^@`hH.h
289                 0^`0hH..h
290                 ``^``hH...	h
291                 ^`hH	....	h
292                 ^`hH.....	
h
293                 ^`hH
......	
h
294                 `^``hH.......	
h
295 thilo.boehm 1.1 00^0`hH........h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@@^@`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hH
296                 ^`hH.
297                 ^`hH.
298                 pLp^p`LhH.
299                 @@^@`hH.
300                 ^`hH.
301                 L^`LhH.
302                 ^`hH.
303                 ^`hH.
304                 PLP^P`LhH.h
305                 ^`hH.h
306                 ^`hH.h
307                 pLp^p`LhH.h
308                 @@^@`hH.h
309                 ^`hH.h
310                 L^`LhH.h
311                 ^`hH.h
312                 ^`hH.h
313                 PLP^P`LhH.h^`.h^`.hpLp^p`L.h@@^@`.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@@^@`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hHh^`OJQJo(hHhpp^p`OJQJ^Jo(hHoh@@^@`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHhPP^P`OJQJ^Jo(hHoh  ^ `OJQJo(hHh
314                 ^`hH)h
315                 ^`hH.h
316 thilo.boehm 1.1 pLp^p`LhH.h
317                 @@^@`hH.h
318                 ^`hH.h
319                 L^`LhH.h
320                 ^`hH.h
321                 ^`hH.h
322                 PLP^P`LhH.h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@@^@`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hHh
323                 ^`hH.h
324                 ^`hH.h
325                 pLp^p`LhH.h
326                 @@^@`hH.h
327                 ^`hH.h
328                 L^`LhH.h
329                 ^`hH.h
330                 ^`hH.h
331                 PLP^P`LhH.h^`OJQJo(h		^	`.hL^`L.hxx^x`.hHH^H`.hL^`L.h^`.h^`.hL^`L.^`o(^`o(.0^`0o(..0^`0o(...	88^8`o(	....	88^8`o(.....	
`^``o(
......	
`^``o(.......	
^`o(........g%,hBepn~}|H:L!yDz\,Q!Y;J!wTO3=z_																																																																																4								j,'}6[K?>9MMt[[-5Zt[[_Q`98jY	l
332                 DN	QO]AWW1g3u}
333                 !j"G"bt#S/)If)wB+,#q,C-u-p/L/M0121E3D4tE4*5Ds5}9u<={?<AaCaEF15N,QdLQfUYW4YZTZ&VZ`],b$dqpkhmnzpr;stlv"w%wzBzX{>p!Mrxu	@8OV`76!$pB30jTFryyA_f$1s0tNf[,NOBCkg_dC~5]8.dn3n{ #A.KK*
{E)w:G/x|94&124CDFUVXghjyz*+>MN`no
&-.BRSbmn1CDMRS`ij%&5@AIMNY`anwxop{)*:hi{w!!!!!""#"9":"##$$&$a$b$u$$$y'@Dx'P@UnknownGz Times New Roman5Symbol3&z Arial?5	z Courier NewG5
334                 	hMS Mincho-3 fg5&zaTahoma;Wingdings"qh#F#FʪfE!gE!g!24d%%
3QZ
Ds5h	
335                 
Oh+'0t	
336                 $0<
HT\dlNormal.dot4Microsoft Word 10.0@F#@T@)PI@)PIE!՜.+,0
px
g%
337 thilo.boehm 1.1 Title	
338                 
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\]^_`abcdefghiklmnopqrstuvwxyz{|}~Root Entry	Fh/PIData
339                 [1TablejoWordDocument0SummaryInformation(DocumentSummaryInformation8CompObjj
340                 	FMicrosoft Word Document
341                 MSWordDocWord.Document.89q

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2