ࡱ;   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkmnopqrstuvwxyz{|}~Root Entry  !r\V)䰱 PresentationStarImpress 5.05@OSSfxDocumentInfo  10 Mark Roth .1t uK Info 0 Info 1 Info 2 Info 3 10q < TASK,0,1,H 1,0,100,1,Oh+'0 h t 10@i7@pJ2@*@-z Mark RothXOutdevItemPool 1   )     &'()*+,-./06789:;UVWXYZ[\]c !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstt      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefd0\'@qXX',@X'.@2XXX' @X'@Arrow ArrowddXXXS'c@(ArrowddXX'.@^,XXX'"@,XX'@XX'@X @ @  @! @7 @M @c @y'@XX'b@̙XX X2XD'6@O22ddX'(@X'"@BMvv(@@SD@x^SI 0 s\ z 46ZBn8x)1̔.<觔B+̄ ޢ40:prf |q]~+H~|WFMbP@aoCē[ȡz6~U{߃**<@  XXXX X&77<@+  XXXX X&HH ^@+'  g*@'XXX X&X,X2ff @ yJJKKJJKKJJKKQQVVJJKKJJKKJJKK JJKK JJKK JJKK JJXX X2XPXbXtXXXX8p)W "8bFt$:Pf|,BXn4J`vX  $ : P f 6 L b x  n h PEditEngineItemPool 6f?0g* z@  ",StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - "X,StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - ",StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - Z"|,StarBatsN -"|,StarBatsN -` ` ,StarBatsN K",StarBatsN -,StarBatsN K"pp,StarBatsN -"  ,StarBatsN -" ,StarBatsN -"%%,StarBatsN -"0*0*,StarBatsN -Z r,StarBats -r,StarBats -r,StarBats -r ,StarBats -r,StarBats -r,StarBats -rpp,StarBats -rXX,StarBats -r@@,StarBats -r(#(#,StarBats - "XX,StarBatsi -",StarBatsi -",StarBatsi -"` ` ,StarBatsi -" ,StarBatsi -",StarBatsi -"hh,StarBatsi -",StarBatsi -",StarBatsi - Z d"|BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K` ` BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>KBM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"ppBM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"  BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K" BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"%%BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"0*0*BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>KZ Z d"|BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K` ` BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>KBM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"ppBM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"  BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K" BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"%%BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"0*0*BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>KZ# Z d"|NAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>K` ` NAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>K"NAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>KNAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>K"ppNAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>K"  NAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>K" NAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>K"%%NAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>K"0*0*NAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>KZ  Z d"|BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K` ` BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>KBM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"ppBM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"  BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K" BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"%%BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"0*0*BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>KZ  Z d"|BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K` ` BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>KBM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"ppBM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"  BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K" BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"%%BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>K"0*0*BM6( SD}x^ 1C"U-g2%G7 =zvD^~ceД@.'*f3LI6!W"zrgT&ǧ'nQR@~~>8b %BMn>( SD0$8x^c```?PcH  'X )TimesO>>KZXX.XNXn XXXhX'X6Xm[Xj @*@LXX@ dddxdddxxdddxYFdddddDd  FdddddDd  ddDddddY ddd YDdddYDdddYDdddYD8ddd8YDXdddXYDxdddxYD!ddd!YDXX!X4XMX`XsXXXXXXXX)XBX[Xt<( n@ -  XXXX X&X,X2X8X>XD ( @0  StarBats!"- StarBats !KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K StarBats!r- StarBatsX!"- StarBatsX!"- StarBatsX!"-BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K  StarBats!"- BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.X!"K StarBatsX!KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K!BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K"BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K#BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K$BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K&BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K(BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K,BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K-BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K.BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K/BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K0BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K1BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K5BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K6BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K7BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K<BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KEBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K[BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K\BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K]BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K^BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K_BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K`BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !KbBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !KkBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !KmBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KnBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KoBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !KpBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !KqBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !KXXGXX=XvXXX!XXXX XXXDXXX{X8 X X Xo X, X X XcX XXXWXXXXKXXXX?XXXvX3XXXjX'XX@'&@YdddddXdddd,dd|d@ddd`  dddhddddddpddd  xddd (#ddd% 'ddd0* dddX dddXdddY,dd|d,dd|d@ddd`  ,dd|d@ddd`  ddddddY|` ddd` YdddY dddY!pdddpY" ddd Y# ddd Y$%ddd%Y%0*ddd0*YXX!X4XGXZXmXXXXXXXXXX1XDXWXjX}XXXXXXX X9XRXkA'@Gddddddddddddd,ddd dddXXX&X2X>XJXVXb1'@dX+'(@ XXX' @ִ!'@X'@xTimesCourierCourierTimesCourierTimesXXX0XBXRXd'@  Nd 4d d Qd {d d d hd d d d id XXX"X,X6X@XJXTX^XhXrX|?( @d'@XX'@X'@ƶX'@XX'@ X'@,X%' @FS' @\"' @r' @ @@X/zEzozH||۠iƢ ,KawPǼg* "XX,StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - ( StarBats!"-!''Times'Od 08s2 +EStandardStandard#'''''''''''''''+;(,,--..g* (@'A'1'+'!'''''''''Object with arrowStandardObject with arrow'''''''Object with shadowStandardObject with shadow+;(,,--..Object without fillStandardObject without fill'TextStandardText'' Text bodyStandard Text body'''Text body justfiedStandardText body justfied''+'First line indentStandardFirst line indent''g*@'TitleStandardTitle'''Title1StandardTitle1 '''+;(,,--..+''Title2StandardTitle2 ''+;(,,--..g*@'A'+''HeadingStandardHeading''A''Heading1StandardHeading1''A'''Heading2StandardHeading2''A''''Dimension LineStandardDimension Line'''''''Home~LT~Gliederung 1Home~LT~Gliederung 1''g*@'A'+'!'''''''''Home~LT~Gliederung 2Home~LT~Gliederung 1Home~LT~Gliederung 2@'A'' Home~LT~Gliederung 3Home~LT~Gliederung 2Home~LT~Gliederung 3@'A''Home~LT~Gliederung 4Home~LT~Gliederung 3Home~LT~Gliederung 4@'A'' Home~LT~Gliederung 5Home~LT~Gliederung 4Home~LT~Gliederung 5@'A'' Home~LT~Gliederung 6Home~LT~Gliederung 5Home~LT~Gliederung 6@'A'' Home~LT~Gliederung 7Home~LT~Gliederung 6Home~LT~Gliederung 7@' A'' Home~LT~Gliederung 8Home~LT~Gliederung 7Home~LT~Gliederung 8@' A'' Home~LT~Gliederung 9Home~LT~Gliederung 8Home~LT~Gliederung 9@' A'' Home~LT~Titel Home~LT~Titel''QQg*+'!''' ''''''Home~LT~UntertitelHome~LT~Untertitel''QQg*@' +'!''' ''''''Home~LT~NotizenHome~LT~Notizen ''!'''''''''Home~LT~HintergrundobjekteHome~LT~Hintergrundobjekte+;(,,--..Home~LT~HintergrundHome~LT~Hintergrund''TitleTitle@SubtitleSubtitle@Background objectsBackground objects@ Background Background@NotesNotes@ Outline 1 Outline 1@ Outline 2 Outline 1 Outline 2@ Outline 3 Outline 2 Outline 3@ Outline 4 Outline 3 Outline 4@ Outline 5 Outline 4 Outline 5@ Outline 6 Outline 5 Outline 6@ Outline 7 Outline 6 Outline 7@ Outline 8 Outline 7 Outline 8@ Outline 9 Outline 8 Outline 9@tPDP8> p< n  x H t & Y %DrMdhhJoeMn01$3131rODrLy LAYER_LAYOUTDrLy LAYER_BCKGRNDDrLy LAYER_BACKGRNDOBJDrLyLAYER_CONTROLSDrLy!LAYER_MEASURELINESDrMP'JoeMlVTDrML DrOb<SVDr&y1A&DrOb<SVDr&;LdA&DrOb<SVDr&y.1LDrOb<SVDr&;.LdLDrXXgg fHome~LT~GliederungDrMPJoeM`mRDrML DrObSVDr&_mR'Home~LT~Hintergrund_mRDrObSVDr& oe! Home~LT~Titel oepxV4B1[#Click to edit the title text format Home~LT~Titel<( (@'DrObWSVDr& oe{J(Home~LT~Gliederung 1 oe{J xV4B1 %Click to edit the outline text formatHome~LT~Gliederung 1<( ( @'Second Outline LevelHome~LT~Gliederung 2<( (@'Third Outline LevelHome~LT~Gliederung 3<( (@'Fourth Outline LevelHome~LT~Gliederung 4<( (@' Fifth Outline LevelHome~LT~Gliederung 5<( (@'!Sixth Outline LevelHome~LT~Gliederung 6<( (@'"Seventh Outline LevelHome~LT~Gliederung 7<( (@'#Eighth Outline LevelHome~LT~Gliederung 8<( (@'$Ninth Outline LevelHome~LT~Gliederung 9<(  (@'% DrXXgg ^Home~LT~GliederungDrMPJoeMVTlDrML DrObSVDr&T C(0! Home~LT~TitelT C(0dxV4B1OClick to move the slide Home~LT~Titel<( (@'DrObSVDr& 3G"]#Home~LT~Notizen 3G"]mxV4B1XClick to edit the notes formatHome~LT~Notizen<( (@' DrXXgg VHome~LT~GliederungDrPgcJoeMlVTDrML8DrMD,DrXX Handoutsgg FHome~LT~GliederungDrPggJoeM`mRDrML8DrMD,DrOb*SVDr&f4! Home~LT~Titelf4xV4B1KThe psgconf Project:Problems Solved, Lessons Learned, and Future Direction Home~LT~Titel<( (@'  DrObSVDr& oe|J& Home~LT~Untertitelz oe|J[xV4B1: Mark D. RothHome~LT~Untertitel<( (@' Production Systems GroupHome~LT~Untertitel<( (@' 6Campus Information Technologies & Educational ServicesHome~LT~Untertitel<( (@'  6*University of Illinois at Urbana-ChampaignHome~LT~Untertitel<( (@' Home~LT~Untertitel<( (@' Email: roth@uiuc.eduHome~LT~Untertitel<( (@' %WWW: http://www.uiuc.edu/ph/www/roth/Home~LT~Untertitel<( (@' DrXXTitlegg NHome~LT~GliederungDrPg |JoeMVTlDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]#Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXTitlegg VHome~LT~GliederungDrPglJoeM`mRDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oexV4B1y1Problems SolvedFlexible Configuration Strategies Home~LT~Titel<( (@'1DrObSVDr&eNM( Home~LT~Gliederung 1eNMxV4B1g+can mix & match different config strategiesHome~LT~Gliederung 1g*<( (@'=convergence for some files, generate other files from scratchHome~LT~Gliederung 2g*<( (@'4ISConf-style history-repeating approach(Hi, Steve!)Home~LT~Gliederung 2g*<( (@''(DrXX2Flexible Config Strategiesgg NHome~LT~GliederungDrPg |JoeMVTlDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXX2Flexible Config Strategiesgg VHome~LT~GliederungDrPg}JoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oexV4B1t,Problems SolvedFlexible DataStore Mechanism Home~LT~Titel<( (@',DrObSVDr&fdI( Home~LT~Gliederung 1fdItxV4B1Wzcan use any arbitrary mechanism for reading config statements explicitly supplied by the administrator (DataStore modules)Home~LT~Gliederung 1g*<( (m@' Examples:Home~LT~Gliederung 1g* <( (n@' /read from local config file of arbitrary formatHome~LT~Gliederung 2g* <( (o@'4issue queries to a remote server(SQL, XML-RPC, etc)Home~LT~Gliederung 2g* <( (p@' ! anything else you can think of! Home~LT~Gliederung 2g* <( (q@'DrXX4Flexible DataStore Mechanismgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXX4Flexible DataStore Mechanismgg NHome~LT~GliederungDrPg=JoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oexV4B1x0Problems SolvedFlexible DataStore Mechanism (2) Home~LT~Titel<( (@'0DrObSVDr&idnK( Home~LT~Gliederung 1KidnK,xV4B1 config statements include:Home~LT~Gliederung 1g*<( (<@'name of Data objectHome~LT~Gliederung 2g*<( (\@'"method to call on that Data objectHome~LT~Gliederung 2g*<( (]@'args to pass that methodHome~LT~Gliederung 2g*<( (^@'Example:Home~LT~Gliederung 1g*<( (_@'log_dir->set("/var/log");Home~LT~Gliederung 2g*<( (`@'DrXX8 Flexible DataStore Mechanism (2)gg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXX8 Flexible DataStore Mechanism (2)gg NHome~LT~GliederungDrPgTJoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oexV4B1:Problems SolvedSeperation of Config Data and File Formats Home~LT~Titel<( (@':DrOb\SVDr&eNM( Home~LT~Gliederung 1eNMxV4B18config data is represented independently of file formatsHome~LT~Gliederung 1g*<( (.@'Deasy to support new file formats(e.g., switch from inetd to xinetd)Home~LT~Gliederung 2g*<( (@' !ceasy to support different platforms(e.g., /etc/pam.conf under Solaris or /etc/pam.d/* under Linux)Home~LT~Gliederung 2g*<( (0@'#$+8JVDrXXB*Seperation of Config Data and File Formatsgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0 DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXB*Seperation of Config Data and File Formatsgg NHome~LT~GliederungDrPg}JoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oexV4B1k#Lessons LearnedPolicy Dependencies Home~LT~Titel<( (@'#DrObSVDr&2eM( Home~LT~Gliederung 1:2eMxV4B1psgconf defn of "policy":Home~LT~Gliederung 1g*<( (#@',any programmatic manipulation of config dataHome~LT~Gliederung 2g*<( ($@'Rimplicit rules, not explicit config data(unlike config statements from DataStore)Home~LT~Gliederung 2g*<( ((@'() Examples:Home~LT~Gliederung 1g*<( (5@'e"all entries in hosts.allow must include a severity option to log connections to the local0 facility"Home~LT~Gliederung 2g*<( (6@'+3U[X"all pseudousers for web-based services must have sudo access to restart the web server"Home~LT~Gliederung 2g*<( (7@'26DrXX+Policy Dependenciesgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0 DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXX+Policy Dependenciesgg NHome~LT~GliederungDrPgvJoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oexV4B1o'Lessons LearnedPolicy Dependencies (2) Home~LT~Titel<( (@''DrObSVDr&eNM( Home~LT~Gliederung 1eNMwxV4B1\Lhad lots of trouble figuring out how to handle dependencies between policiesHome~LT~Gliederung 1g*<( (E@'qtried to solve this problem by categorizing dependencies and creating a Control module API hook for each categoryHome~LT~Gliederung 2g*<( ([@'Mset_prereqs, check_prereqs, set_defaults, integrate, policy, canonify, decideHome~LT~Gliederung 3g*<( ( @'Mthis didn't work, because categorization is orthoganal to dependency orderingHome~LT~Gliederung 2g*<( (b@'DrXX/Policy Dependencies (2)gg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0 DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXX/Policy Dependencies (2)gg NHome~LT~GliederungDrPg[JoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oexV4B1o'Lessons LearnedPolicy Dependencies (3) Home~LT~Titel<( (@''DrObvSVDr&GeJ( Home~LT~Gliederung 1GeJxV4B1>solved dependency problem by defining generic policy mechanismHome~LT~Gliederung 1g*<( (,@'/Control modules register policy methods by nameHome~LT~Gliederung 2g*<( (-@'Qadministrator has control over which policy methods are invoked and in what orderHome~LT~Gliederung 2g*<( (/@'still room for improvement...Home~LT~Gliederung 1g*<( (1@'DrXX/Policy Dependencies (3)gg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXX/Policy Dependencies (3)gg NHome~LT~GliederungDrPg |JoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oe}xV4B1h Future DirectionPolicy Ordering Home~LT~Titel<( (@' DrObSVDr&GeJ( Home~LT~Gliederung 1<GeJxV4B1Xpolicy methods invoked after explicit config statements are already read from data storeHome~LT~Gliederung 1g*<( (@'awhat if we want to do this in an arbitrary order?(e.g., what about exceptions to a policy rule?)Home~LT~Gliederung 2g*<( (@'12as we develop client-server data store mechanisms, how can we invoke some policy methods on the server and others on the client?Home~LT~Gliederung 2g*<( (@'DrXX'Policy Orderinggg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXX'Policy Orderinggg NHome~LT~GliederungDrPgJoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oexV4B1p(Future DirectionConfiguration Language? Home~LT~Titel<( (@'(DrObSVDr& ~oe,J( Home~LT~Gliederung 18 ~oe,JxV4B1apossible solution: call policy methods from the data store itself(not from /etc/psgconf_modules)Home~LT~Gliederung 1g*<( ( @'ABL``a{Pro: could process additional explicit config statements after policy methods are invoked(makes exceptions easy to handle)Home~LT~Gliederung 2g*<( (!@'YZACon: uh-oh... did we just accidentally create a config language?!Home~LT~Gliederung 2g*<( (&@'DrXX(Config Language?gg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXX(Config Language?gg NHome~LT~GliederungDrPg=JoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oexV4B1u-Future DirectionPackage Mgmt vs. Config Mgmt Home~LT~Titel<( (@'-DrObRSVDr& ~oeM( Home~LT~Gliederung 1 ~oeMxV4B1Bneed to improve communication between package mgmt and config mgmtHome~LT~Gliederung 1g*<( (@'&packages need to encode the following:Home~LT~Gliederung 1g*<( (@'ubuild-time options used to create the package(e.g., what paths were hard-coded?what modules was Apache built with?)Home~LT~Gliederung 2g*<( ("@'-.PQwhat external configuration is needed in order for the package to be installed?(e.g., prerequisite packages? create user/group? install default config file? run initialization command?)Home~LT~Gliederung 2g*<( (k@'OPDrXX0Pkg Mgmt vs. Config Mgmtgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXX0Pkg Mgmt vs. Config Mgmtgg NHome~LT~GliederungDrPgyJoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb*SVDr&f4! Home~LT~Titelf4xV4B1KThe psgconf Project:Problems Solved, Lessons Learned, and Future Direction Home~LT~Titel<( (@'  DrObSVDr& oe|J& Home~LT~Untertitelz oe|J[xV4B1: Mark D. RothHome~LT~Untertitel<( (@' Production Systems GroupHome~LT~Untertitel<( (@' 6Campus Information Technologies & Educational ServicesHome~LT~Untertitel<( (@'  6*University of Illinois at Urbana-ChampaignHome~LT~Untertitel<( (@' Home~LT~Untertitel<( (@' Email: roth@uiuc.eduHome~LT~Untertitel<( (@' %WWW: http://www.uiuc.edu/ph/www/roth/Home~LT~Untertitel<( (@' DrXX$ Contact Infogg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]#Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXX$ Contact Infogg NHome~LT~GliederungDrXXFGeneric PrinterSGENPRT PostScriptH`Tl`Tld,,lprdefault_queueSGENPRT DrVwP SVDr SVDr:SVDr{{SVDrALayout:SVDr{{SVDr#SVDr SVDr# SVDr0 SVDr1 SVDr3 SVDr4SVDr@SVDr SVDrD SVDrP SVDrQ DrHL DrHL DrHL 5@OS Root Entry!r\V)䰱CompObjEOle persist elements"SfxDocumentInfo uSfxWindowsSfxStyleSheetsSummaryInformation(0StarDrawDocument3$lm