From owner-freebsd-bugs@FreeBSD.ORG Fri Oct 7 10:20:12 2005 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7FCD916A41F for ; Fri, 7 Oct 2005 10:20:12 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id E288A43D46 for ; Fri, 7 Oct 2005 10:20:11 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j97AKBDh035475 for ; Fri, 7 Oct 2005 10:20:11 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j97AKBgp035474; Fri, 7 Oct 2005 10:20:11 GMT (envelope-from gnats) Resent-Date: Fri, 7 Oct 2005 10:20:11 GMT Resent-Message-Id: <200510071020.j97AKBgp035474@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, "Andrey V. Elsukov" Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6840416A41F for ; Fri, 7 Oct 2005 10:10:23 +0000 (GMT) (envelope-from root@heavennet.ru) Received: from mail.heavennet.ru (proxy.heavennet.ru [81.18.141.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 44CD343D45 for ; Fri, 7 Oct 2005 10:10:21 +0000 (GMT) (envelope-from root@heavennet.ru) Received: by mail.heavennet.ru (Postfix, from userid 0) id BD2A249F2C; Fri, 7 Oct 2005 14:10:18 +0400 (MSD) Message-Id: <20051007101018.BD2A249F2C@mail.heavennet.ru> Date: Fri, 7 Oct 2005 14:10:18 +0400 (MSD) From: "Andrey V. Elsukov" To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: kern/87032: [PATCH] ipfw ioctl interface implementation X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: "Andrey V. Elsukov" List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Oct 2005 10:20:12 -0000 >Number: 87032 >Category: kern >Synopsis: [PATCH] ipfw ioctl interface implementation >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Oct 07 10:20:11 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Andrey V. Elsukov >Release: FreeBSD >Organization: >Environment: Tested on RELENG_5, RELENG_6, i think that it should work on HEAD branch too. >Description: Through a pseudo device /dev/ipfwctl we can control an ipfw state. The access to ipfwctl device can be configured via devfs.conf. User must have a write permissions to /dev/ipfwctl for change ipfw state and a read permissions for read ipfw state. The traffic shaper (dummynet) can be controlled through a pseudo device /dev/dnctl. I has added a three new options to /sbin/ipfw: -C - force using an ioctl instead sockopt; -I dev - specify an another device name for ipfw (default name /dev/ipfwctl). -D dev - specify an another device name for dummynet (default name /dev/dnctl). For enabling an ioctl control-interface you should put two options in a kernel config file and recompile kernel: device ipfwctl device dnctl (IPFIREWALL and DUMMYNET should be specified too). patch can be found on: http://butcher.heavennet.ru/ipfw_ioctl/ >How-To-Repeat: >Fix: --- ipfw_ioctl.tgz.uu begins here --- begin 644 ipfw_ioctl.tgz M'XL(`'M(1D,``^T]^WO:2)+W*_XK>CP7#QB!>1G;.,D.,=CAQ@8?X'ARL_DX M&82M#:]((HXW\?[M5X]NJ?4`.Y/,SMY^UI<8)%575U575U=75S?#^6R<']GC M\7_\<5>A4*A6*@(_X8I^%LKE4D44"^52L5*I%*LE42B6]LKE_Q"%/Y`F_UJZ MGND`*O5JPP[,\_B]Q>>=>HBBQ^'(B? M?]X0\X5GSV>N2+7.>_UF_;3_.I7ZT5TN%G/'$^.Y(US/,B?>#7Z_-9V1/;O6 M"O6/SAO-5Q6 M$"E[,;X=>I.-[(;X4?1O+''VZN)XT.MWF[W>`'CHRQJ$-3.O)I;K5WA[8P]O MQ-"Q3,_"LA]-QYXO7>&8L]%\*L:F/5DZ`+\CK$^>8TTM,31=N'>L"908"6\N MIE?+,18=+V=#0IH7(%J+GJD)'\4[A04]L8"F0UOK-%R`K)"'/!(>(XY'MO#/(!IXFM9E_?14@#P#>KSY-:$2MS8H@JHFOQ%2U+$- M-#Q241GVV+%94?=$L5(KE&L535&+N_LEHU@26?Y2(1$#+S;\W[%G`V?Z*3], MI5B4)LK*\C2`Q6!D?[0<+PRSX(=AN.5T>@??0Y#JX4;V04AN#@W,&L[64Y8$ M4`U#S(;FX@$DB2!A-&/3]<:WH_6(QK>EB)!4'PXQGP!V&^5\?#N`PI-5Z'10 M>SA]@$%[MEAZ<9"0SLF.%->Z:;0:-]U#\-/:9N M=MIO=M53$!GT<_W-X+1SLO9MYY>+\S4`C>9Q_>*T/WAUVCGZ)0I&9`'HI4;8 M^%:5Y_Z_ZOD`V'W5Z34?>#TX;9VU^CK0GSVF_G^Z[/'B]L_U_TK58KDH_;]R MM;17(/]O=_?)__MG7&3BKNS9#O8=^I/?CYJX2FU7'UB3H)6)JX(#6"MK0^N! M42V*[`&8N7VR;_GV*.2ZX=@O_17AWI@+&/B51[)PYM>..84RO1O1>]ONG/=: M/<0PW_9P-:^<#P*J(@_O"S`XOX6'`"AKA6<@"=?+36#T M%/E\GLD0$M<8W@<<'GT=>^/)TKT)LQ7@^O`UR"03(VMB>4CRWRUG#A_@^UK> M9'[-Y`*`BZ.JY&ZVG%Y!6_HL_4XFV-T,:/#UYHN`B<('^)C/K,'"=%WX.K*N MEM?P"6[7U=Q%2D=WL\%[RUJ8$_#%OHF0D>U^5TK.%]]$#HA:=.8B("PL<^B/ M@MN$!?@=6P1KGLZ)!ZY!]IZ@!G@&4Q___IMK<]-Y_?\7\S)7M/+:MR6@E M.5'SFC18A#JODH@_"L*P]*&GC83A^T=0.X<_\)2J6C@6C+Q#?DRSXX,#8U]D M2Y6J4:S2('YY@Q-^#!A0U,$A6O$KV@+7`!3VS,-0Q!3F42#3Z<(<4H!G:FP( M.V_E#9K=SY<$)/Q)UZ:]$&-G#GUH=HLY%`>ZQ4J]&]L5H[GEBMF< M0@W.'0&#JMO^S`TK,O$N#_RV/-EV%V"'L389W,"P@-B!FQTYNR0^%M;0AM8" MG^3&F2^O;]"E@+9!B6UD99S(GF&8:H31EJ6+7)NB6[\4[GSX'L,?\7B*D$2, M4')8+;8P%#1(;C@TF%-P?TAX*##%#(H`O%,/WL'8X@;T#=!\FO[QZBT<0&-C;B;C)&*+["3T9P+095.*B5=FNE:N`H[^Y1*``_RASB MLV?#R7)DB>=^H&(X753S-R\3WV%$9/4[/YP$$-D5I0?V?/5KA4`")=3B#1>1 M-Z:S,'=L6:O8P"ZQD4VE1G-``H(W4JF=;8&-2+>^9F)'@JXFMGQ?>8B^:+MP`YL/2MCP&>F4)NI,=C]20AC.$ MIM@K!['W580FE0*#-@7K-YC/)G>,!+])JV=2H)?02#A9K?0%#S%\/;PQ';&- M>L&B&(`^BA=B4]?+S4,%I\D^"DL]%B&AV4"Y0=BBU3GJG_:.SAJ^H,5?P++B MES0^SNQLUC;!`Y)BWHR4/$DN>:)*7NLEH;6Y;*IU/CBK]WX98#RG\&DLKPVQ ML[TAQ#9UOO%\,N%A8FH.'6P];^G,L.,+RW'`1D&?=\UK"ZW,K07FD+H_=%UJ MADII']NA4MXSJKO<$(P`\8!0[U&NTEJ2H@$/2#BV"1"+%L40'^?V:!MOP?,R MQ!+>+3QG0`#@%64VLI]!00,D`MJ'I9TK'@(K%(CT+;PT,M"ZH3*C6;B,;WF3 MRSE+L`C<_U#@_'$8>N6W/P(`>@F`E=GX!;^/15H1BS5G!'*2`LN?MH&4SJ#; MN.P>"EN\Y)M.^_0MW.9R$C#EJAIZFKAS+?!]` M0&O.Y@C0K!\=-7L2")ZFBX;8?.9N&B)<`6._AS_WDARW-1X.)<>EUALMRD>_GY8C@'^_Y"B>M0>T=3 M&GX%7R-O7/OO\AWT-HD3J5G=KDR=[.ALB9AT`P/B;;!8:)@,L<65,)?6Q+4> M+->+E;LG@C055]+1A1-77(#@3ILH%_DJ+I;@18)4XD(YODQ6;S3P.5(: M>]>OOSK%"'DON2B_!L2]UO\T,TJU4:U99BP(E-GQ92!K)IUE)E#88GVQ7KP8 M<:F:YQ`LV+T_5("95+X\#*HP"K@T>N!@"H-J'F%X8*Y4"C@B[!;VY:(HB0V7 M3FEDSN"@*ZLHT*C+FB^'-FI9^5H.%?XPH08(.2Q@FS!R5UI71`W?I<^?KA\/ M6J"PANAUCGX9P&0`63_O=OH=O('RJC1I%+G-I`++`U6W+TY/J7+2R>:O@TZOV>U"KV?P3:I*L3F(NO95. MZP.>V,X@49GG,TN@?R=#9CJRS)MRH.`"I+X[5 MQ7S)$+CANV=4,_M&KGS1!H/8,5-`>4:Q*ZCZ@^NL,9+MMHN$! MCXWBA!X\6T*0U1`QFM'3R;!GMDCIVU"XJ M(>!22@,Z7P3-6>3Q;C!S0'$6^;$+_^!&=N1H%:R/4=39KT(MX5/AOH_N&/SU MAU!\@M5"&P+'(`>Q)7@JE1%?J`MBNSY_+DH5):U$,[R`U1JA)*E8L+#9V+,,EF<@?5+2&?2XP/93E MD692"_`O&`HKU;T"R[&B;#[C,(=2WV$Z/@2S[E#$R(+IN&VIJ)`^RBD_$`=( MK"$VKH5YB?4*Y@QQA)VEF`AT\$!_5$E)55@$*3F"0?$\>0,QI_Y_FMV.^`O! M8M_:K`^'\^4,`[C,O#7:K&V>SJ\I?8]>N;R6BU)G.>[O8L2_LK>[9^PK2VY^ MS&:Y4YK#7"ZP)5&AK30_V`:/,BHDCYA-"0ETI67ALFL,BRY=F,6;]L0:)5@_ M,CYLF1/:P&^$Y@Q#D<_0->/64!6R(/=*15;(@[+OF\E)QZ$R78$(R;F*Z=PC M5`Z\)0IA2-;7:)L&J8D$R=('LU7.55P22@['&#$%06*_4J+0L.&G2ZAHD<-7 MM+W]/:-4!@'M[Q[@%RDAZ)G^C+D0]4'A`UV=OX2FL#@'KH6>X%"H^-H"A+[? M#]\SJSW5F#(RMD"M5LU[-+B(9)5HF>I--&\H"2!P4YL#D)H-W.45S)"&TT4: MG'Q`3Y'H33+"!6G#8J:;:Z9F-8C5O'K)`].]$&QT_%['&:XI MA1G#R8JDEMHKYFMC;5)VL`G'O)F'19KI`KR;7)#1(\4&H/&)(:+E&F3.CR(ZKD@1H8S#^ZR6>6N!F/?SK,E&'ZT,WX7 MPY6FP*`F@2 MV2B@4:U\KZFZ`56OP)VX+`;4F,YU>.&%R\EE%_*5)+WDR`AV;`)J=6*M@%CK MT\)VR%<($\OBK>QQ++)T$*P3IFZLR2*=T:'1`VUW^MUF_>AULT&N9\!K:S6O ML:5"C4^*'GP#CS/)HQ\Y361QM[!'6R.RN\5JP2@75*P-5]W9_X1*?H/:BN^P M`;6ND:#?PW%[MJA]Z`5*32'DM46.&N-60BF_,Z2'H:XP#%KN<1J^5H-YK>)? M0B7'`6-@,X?6.E+_<(T*2=,GL0TD_MF)S4_7HZ[I?(0>^1^Z!>"!_9_%8E'M M_RSO%8NX_[-'\]/W+C:C1R&48K)++AK( MKU2L%;5-8Q4#!F$EO5_..HT7.+U4>PA%KWO4PR>A/81HW`=7HVO<0?7[I4+; MRW`H6B&3/UN7GZZOOV3VWI]H_RO54F#_JX6]"MG_:N7)_O\S+F7'DK<>Q^S_ M;F2O:W*QL/TJE&H5S7[MTU9V^"MGH4GIIICE*O@"=Q1#`_",=^D:])7S@G&+ MF#?W[A8RBA]#545<@X^FPQFHV1_M,0PD0C-F01&U=3>2`XN/Q\.9-WET;FS6 MST,<20>;L_AF?'?HOY9!BB'XV.ZM!)$W+V@^E!_Y7KO041C\3DZ[,,:O2-B4 MKSY:CHMIJ"]$`_?)]EJ=-KRY3ZP;$U$'G!UUB#*R9F`,T,S+A)Q+S.,&)3`Q MP_6CZ5ET$@(-&=@RN##NVM/EQ.2<=4R_%;B`?HM).TO<^`!(<"D:BMQ1$`$S M/C]Q3CFM8:NYN8AXLRQ]1Q^D,)O7/QE7`G`8KQ>]-%*0?VW#A;^903RZ5P/AB M%71XF<\?G]-TMXT`2:\'%.\E(!DB+QY4:$VK>+!;D6LQ]V$N-W)^:9@S)].S MD7T0QA"T\(Q?!R/;$?"?,V1IB1&7)GA5A5-H*3K/,>:!1[?XU5!JY=U0SL2V M-\I0W@5>O`)YM1P;\']4H M55`!2D6CPFL&>-WSA[_P>M'&#>D4?I&I7\@;!@XHDJK(XM1C3.6"MT@$J%J: M!4*T8M7Q5#?`MJU2]UXR#(EG.\CGPX]#!VW.1A/+\3NJ.L/$#T3(72OJ ME)`TJ(?!^>^&[#X&[DS*(+:=L-H]T&,VLA*`TYY_I]*);]0Z[*U*T@4A)1:S M!8;PI@NZ`8&KG';1ZW3.^T>=\[>M-FL$"G]BS8RI/<.\0/%7(&XT%Y_I"R== M$>N!DOTUU-2^CMDS"6E@@\)?1&>D)=[,(9=C?9,X0BKW7/BP\K5?1[/5?E,_ M/50UZRBB:IL.(=!UE]X<1E%+RF4K,.6:JDKP>_[D#VF;I6F6XWG#=G')XI96 M?M'>4[[978X_X.EPZ5@"9A56'I4N1^TH^V_NI:\L+UY`"YWW![UFG\*'"BSA M'7@&8S$8'$,/>M5K^*/CRQ=B%P^@JFSD?"9E]1/KHS4!8ZE7ZHUR+[W18#ET M+%#,,G7.5<7BL$(E;\\=#.%K/5<^!)`?*1N0S5RY9)0/T,Q5J\:!//6'AV9E M[E@R:BE`(Y16N*5(_)6"Z6H;5`WX5DLJRB+4\.B>Y>S];'X[4RJ85)J*9)\U5APJABB&&,WOKVE-%![+>+S-<1A2 M'+(>).&HR;7Q9!P&&Q^R.5+#??OBC9A;/]*93"=O(T!*(^-Y1CQ,(!4F$J.% M'U.UGV7$;0H,;BF+1G4G62#F.LB+VM:_DD@UA"V`@103S$[&E0 M><0]RZQZGO%'5,D1+A^#*@4F*O#X.,]+D;Q*?-[MEA;#?5O8\+J,B]5/MW$G>7I;FT#OC#BEUB8FOK M06`T.X\`XR$E$V>(O;P5'$G-);Q*9T7($PWK+>><*8?)$!I!*G4YI9#AP+@5 M'A8U`O36.EG16MUFO<&-Q=^^I:U^B.\8^SI117Q;FGIO9W3)^>PJ.TD:G]&V M[#&.'UZHS71Z+0\*_.0Q`I>5;F>BDH_:YYB_CC-+62B1MT2F`OJEIU@+\=)L M=\#^T-14,X7T]I#,>1!"TE.=501K9G,8A"9I[.ON\R:>(NZR+O@S>CQ6TQQZ M@QO+7.2E3H>>P1"$&ZQ=?6X7`IB/QS)9)_``_&GK8.%I+4.!N;AU3?FQ,F_AU_26'JSC-&3^5RW`WTW>E8W"9$FD?#S1:M&\2\*5[9;OM:!B"``3*&&` M4U#\8,"CL;\KJG!0I5,9B@=EN3%QEE*IRW@ M#A4\F:_8FS!#_'I-5)J"K-$(\WZMO/M@8)I+ZJ>5[=;*X8-`"T9!9(M&A3)X MP"?)D5-R!/W(L:]O/($Y)@@LZK.18]V)-WG1G+C+]W,879]?+?>&-Y;S\QWX M,-:GO+-\B:4)0]<:V7B.R=72/QR`DJEF,,HO,8<#GUS9,]Q\A*>7N'Q`"CIZ M\J`40@-38GML#RG0:@@3)LD+RYG:'IXVNW#F'^T1G5QB>I']]OZ62I?08,&I MA9T:;HKY"'4N'I8AR2(;.UVZ'CIRICTCO.85NJ)#)13"`M=L#@J&M@F/:%%' MV@8U\TEO(;*@UN'$M*>6DRF*>KLAP*'H=UNO+OJ=;D_\[__6>P#_TT_XBE#5VV]% M\]=S/,=80(G6V?EI"_``XFZ]W6\U>X9HM8].+QJM]HDA``UFG@DZ+1/`^AT# MZR-,\:*BH=G=9;9\U&7@`94+5HOFFV^Z+W&H_\U3B%?R%&7S6!1LP4)5Q4 M$3#::'6;1WWD*/AV!'(#\G`D/6\>M?!+\]]I@&U].M$`*`!B<%K^/[JHMW'>;W7:&9[U="Y!.$!O M'8HW2-"=-K$-1?%2I*KHSAZ(,&C/J'30*%>$&I? MXU>TFR>GK9-F^ZB);SN(Z;+5`Y^YWFWU$*#%55_6WS*;%R0";#&@CK]J.FQ0 MNXK6L:@WWK20?`D,ZM!K2=7I'!.JWL71:]D$08_X3QF5^T\Y9:-AB&:)`]VU M:W4&KP?!627Q=P,NJJ_;P41H.)_Z:W*)YVFH68VZV`L[3&&@4IW806:0YMK! MD2%"^)[U#B=VHX7A.#_8![F204.D M\Y%@:.:,&7F0:!D]&OA;4JFG05M/S>$-H,*CNH?OW26V.`9-?OWU5UX[EH]E MNJWFY:@\G^^R#!RL_^()"6O6?Q6&^/(OOOO=2[]\6L-APLJO MMN6>^@)X`+SI^,KVT/6@S>FLJ>E"/E\N9NAX!M'BT[80"D9?%T,TF,[%!YSY M`^1P[CB6N\`Q&89?/#R4MGCN[U8PO3A;WJ\>&+O58,D3%[5X5>LS`'^YMKQ[ M%Z+:=F MRX&L*H-!0S\`PUO-!D#9H1\]T\)JY.#@/=ZB"3?'8VL(4R73#VTA!$_IU'J^ MFQ>$!X7XV$6PU,.+8)^_;1DLM#!%X)%PG%IP^O=:+XNW`#1CJ`D>LP"Y4O88 M&(@+_SO*/"JO5>**+X\GR9'(90G&ULA7"5".[*J?&'KD4D0CEWZ'ECLX?RN] M(ZC0>26&RN3TU0&8Y3GI:"0WL@Z0BBT#0KUH@5-"6RO5YW[K M%TTY^\;U;#Q>&\LR)C2Y$WW7+XP3Z&E<6;S[-T]@.Y*Z2+@Z>MJ07+Y8LR2+ MIW9%D?R@D,"H/&^:J% MWE7%DA9ZPRN]"0U,Z[SH4TE"127_21UK5-[?IP-=R@>E@^!(&UUU@8EUB[ZI MZ)*OBLK*XWEJO!.>-L=N<[+U$K.[L)NI@S*!1<>2?0=&A1Z/IW3'1!X4B[A% MO'RP6_*WB`,VZ"!C"\:FO^%$_6_+Z4*=!*K;G3P#T[9[*!!L>N2!DK-;\/.R MWNIW?J$>DVS`@CP=WBY.8SDX!D1H>FMBWEE.>0#>MCW3TWFX0:4Q>F29\+J: M;XI#$+B-,2%)1UN]9=GQ"2D@O/V"=E0*P"P&3`7^C93,Z:T(_:.VD8T^$'Q^ M2"!/W:=XM%S]A4P^8B&$@Z0<7B\DRY@1$?GXZXX)2$02@DB_D>'LG#X*W%C# M]W3XPX!+RC,@XNMSF7#H?55!+%![Z2`&%&DI[DS[:JCYUVMTF/R'`$T5\+4E:5,YQ M,89XD4`>SFGE*>'`-*!T7?MZ)I,`0KZ75OP1I75%QT@\[4E/TG1T<0KOI-U0 M._M5A0DRSE!H)'8FFFR[E#Z]?$%/V*?0'G_1ZQ5;XA_JMOA.;/DYX^VT MAI)LE)*OH4#M/?]'NOC\.?@B;QKDIARJZOQ'X(G=FG>NTF$I=G7X6VRQDGO8 M_JY1*F$/*Y7]<4(S^GC02RW\2+E#M%_;=*XI<(V3$/6#-(LYYGAUS]OR'6Z_3=6Y!S.MQ^`-JY)*W`L\8JW#^!;. MGR/(9\##2F_8=S]YR`DYL=H[$=HEJ[67?WH) MC=X\YD1/A\"#'-@#6&?OZ(R3J,`MG7]KYB_P)L@N>D1*M)@Z[D>S:CY/D8%2 MHSWM'T>"7S#G1!Z[4"B6Z(BA0L4_\NK?@7TTG^O9IV_R9SC4,3B%4H6%L5N- M"(-L:;$*`R*?Y/&0%+"NJ!3P_!%#OUDM!?W@F*1BCY0"Y6.Q'*BD8K-%C$IV&8H+2!ZY8$JCRXT)0#NMF!42F@Z''*4=I=T>/$MJ9F\3%` MQM+T@VV48QD)M\4.NLD$)PY&AKJH0._]2<;*Y#O_];;_D`ZPT`_063F75(VF M'ZL3HZW=.6N>K:)MM3+ZNF2$A;2JP\7A=8E%^YNBDIQS*JK[Y@F$TIDW?A0/ M/W.1QF/W9PUR>EY4SZ9#PRPS7US2FNP9GR\3S4Y"/BY0\IK`55A\VO3)@-'=JW M.@=6/\GO,6"<*KL6\,$*'ZSJ$970\9MK(4(QZU3JNZ?V:NN9WSVSU_\=@.^= MV;M#&XVU/F1I/8B6\6%F-KMF&K@;YM7T?:5Z<7$MY'>I>;A/(ZB(7&N*T?E]7Z^X M_[Q$ZV3U_ZYYUIP#J%[WTC'"1PD1X]H[=-*\**\_%3Q$/?@TJ M\9W,'ESCCSQGQ M!Q_I%[>JNS*)_'-L01S7K%;+*I(\SG(+A)!`N#% M0VQ$[FKIM.,)9I2;)7:2GR=GL:U*-2\&>6PK\*7.YC,N5,;?Q"Y4:Y6#IRSS MIRSSIRSSIRSSIRSS?[TL/3"R7\:!U*>6,%C.3_R63R_T@A)Y< M7M`3Q.6ON,4*Q=+*BXFEH@GE2L9(S9]]%MK3]70]74_7T_5T/5U/U]/U=#U= 53]?3]70]74_7O^/U?RU1(Release-Note: >Audit-Trail: >Unformatted: