From 9906fc5d874cc8579207415cc593d46f796b5ca5 Mon Sep 17 00:00:00 2001 From: Yuri Slobodyanyuk Date: Thu, 18 Feb 2021 15:53:41 +0000 Subject: [PATCH] ongoing additions, changes, and fixes --- ...and-verification-commands-cheat-sheet.adoc | 9 + ...-and-verification-commands-cheat-sheet.pdf | 426 ++++++++++++++---- 2 files changed, 354 insertions(+), 81 deletions(-) diff --git a/Fortigate-SD-WAN-debug-diagnostics-and-verification-commands-cheat-sheet.adoc b/Fortigate-SD-WAN-debug-diagnostics-and-verification-commands-cheat-sheet.adoc index ea31f77..34803c3 100644 --- a/Fortigate-SD-WAN-debug-diagnostics-and-verification-commands-cheat-sheet.adoc +++ b/Fortigate-SD-WAN-debug-diagnostics-and-verification-commands-cheat-sheet.adoc @@ -47,7 +47,16 @@ Yuri Slobodyanyuk, https://yurisk.info |*diagnose firewall proute list* |List ALL Policy Based Routes (PBR). SD-WAN in Fortigate, after all, is implemented as a variation of PBR. This command lists manual (classic) PBR rules, along with SD-WAN created via SD-WAN rules. *Important*: Manually created PBR rules (via `Network -> Policy Routes` or on CLI `config route policy`) always have preference over the SD-WAN rules, and this command will show them higher up. +|*diagnose debug flow filter* +*diagnose debug flow filter * + +*diagnose debug flow show function-name enable* + +*diagnose debug flow trace start [number]* + +|Use `diagnose debug flow` to see how the traffic is being rotued via SD-WAN. Look for something like `Match policy routing id=2131951617: to 10.10.10.13 via ifindex-3' and `out port1 vwl_zone_id 2, state2 0x1,` here `id=2131951617` is SD-WAN PBR rule as seen in `diagnose firewall proute list` and `vwl_zone_id 2` is the SD-WAN zone in alist of virtual-links. + diff --git a/Fortigate-SD-WAN-debug-diagnostics-and-verification-commands-cheat-sheet.pdf b/Fortigate-SD-WAN-debug-diagnostics-and-verification-commands-cheat-sheet.pdf index 1b83f4c..c3143e8 100644 --- a/Fortigate-SD-WAN-debug-diagnostics-and-verification-commands-cheat-sheet.pdf +++ b/Fortigate-SD-WAN-debug-diagnostics-and-verification-commands-cheat-sheet.pdf @@ -5,8 +5,8 @@ /Author (Yuri Slobodyanyuk) /Creator (Asciidoctor PDF 1.5.3, based on Prawn 2.2.2) /Producer (Yuri Slobodyanyuk) -/ModDate (D:20210218154726+00'00') -/CreationDate (D:20210218154732+00'00') +/ModDate (D:20210218155336+00'00') +/CreationDate (D:20210218155339+00'00') >> endobj 2 0 obj @@ -1103,7 +1103,7 @@ endobj endobj 8 0 obj << /Type /Font -/BaseFont /358d17+NotoSerif-Bold +/BaseFont /43a3fb+NotoSerif-Bold /Subtype /TrueType /FontDescriptor 26 0 R /FirstChar 32 @@ -1151,7 +1151,7 @@ endobj endobj 15 0 obj << /Type /Font -/BaseFont /e49b8a+mplus1mn-regular +/BaseFont /97e145+mplus1mn-regular /Subtype /TrueType /FontDescriptor 34 0 R /FirstChar 32 @@ -1161,7 +1161,7 @@ endobj >> endobj 16 0 obj -<< /Length 3855 +<< /Length 7460 >> stream q @@ -1182,6 +1182,14 @@ f 297.64 636.09 249.4 148.02 re f 0.0 0.0 0.0 scn +1.0 1.0 1.0 scn +48.24 503.85 249.4 132.24 re +f +0.0 0.0 0.0 scn +1.0 1.0 1.0 scn +297.64 503.85 249.4 132.24 re +f +0.0 0.0 0.0 scn 0.5 w /DeviceRGB CS 0.8667 0.8667 0.8667 SCN @@ -1436,6 +1444,255 @@ BT <7468656d206869676865722075702e> Tj ET +0.0 0.0 0.0 scn +0.5 w +0.8667 0.8667 0.8667 SCN +48.24 636.09 m +297.64 636.09 l +S +[] 0 d +0.5 w +0.8667 0.8667 0.8667 SCN +48.24 503.85 m +297.64 503.85 l +S +[] 0 d +0.5 w +0.8667 0.8667 0.8667 SCN +48.24 636.34 m +48.24 503.6 l +S +[] 0 d +0.5 w +0.8667 0.8667 0.8667 SCN +297.64 636.34 m +297.64 503.6 l +S +[] 0 d +1 w +0.0 0.0 0.0 SCN +0.2 0.2 0.2 scn + +BT +51.24 621.126 Td +/F2.0 10.5 Tf +<646961676e6f736520646562756720666c6f772066696c746572> Tj +ET + + +BT +51.24 589.566 Td +/F2.0 10.5 Tf +[<646961676e6f736520646562756720666c6f772066696c746572203c66696c746572696e6720706172> 20.0195 <616d3e>] TJ +ET + + +BT +51.24 558.006 Td +/F2.0 10.5 Tf +<646961676e6f736520646562756720666c6f772073686f772066756e6374696f6e2d6e616d65> Tj +ET + + +BT +51.24 542.226 Td +/F2.0 10.5 Tf +<656e61626c65> Tj +ET + + +BT +51.24 510.666 Td +/F2.0 10.5 Tf +[<646961676e6f736520646562756720666c6f77207472> 20.0195 <616365207374617274205b6e756d6265725d>] TJ +ET + +0.0 0.0 0.0 scn +0.5 w +0.8667 0.8667 0.8667 SCN +297.64 636.09 m +547.04 636.09 l +S +[] 0 d +0.5 w +0.8667 0.8667 0.8667 SCN +297.64 503.85 m +547.04 503.85 l +S +[] 0 d +0.5 w +0.8667 0.8667 0.8667 SCN +297.64 636.34 m +297.64 503.6 l +S +[] 0 d +0.5 w +0.8667 0.8667 0.8667 SCN +547.04 636.34 m +547.04 503.6 l +S +[] 0 d +1 w +0.0 0.0 0.0 SCN +0.2 0.2 0.2 scn + +BT +300.64 621.126 Td +/F1.0 10.5 Tf +<55736520> Tj +ET + +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +321.2305 621.126 Td +/F3.0 10.5 Tf +<646961676e6f736520646562756720666c6f77> Tj +ET + +0.0 0.0 0.0 SCN +0.2 0.2 0.2 scn + +BT +420.9805 621.126 Td +/F1.0 10.5 Tf +[<20746f2073656520686f7720746865207472> 20.0195 <6166666963206973>] TJ +ET + + +BT +300.64 605.346 Td +/F1.0 10.5 Tf +[<6265696e6720726f74756564207669612053442d57> 60.0586 <414e2e204c6f6f6b20666f7220736f6d657468696e67>] TJ +ET + + +BT +300.64 589.566 Td +/F1.0 10.5 Tf +[<6c696b> 20.0195 <6520>] TJ +ET + +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +321.5033 589.566 Td +/F3.0 10.5 Tf +<4d6174636820706f6c69637920726f7574696e672069643d323133313935313631373a20746f> Tj +ET + +0.0 0.0 0.0 SCN +0.2 0.2 0.2 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +300.64 576.621 Td +/F3.0 10.5 Tf +<31302e31302e31302e313320766961206966696e6465782d332720616e6420606f757420706f727431> Tj +ET + +0.0 0.0 0.0 SCN +0.2 0.2 0.2 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +300.64 560.841 Td +/F3.0 10.5 Tf +<76776c5f7a6f6e655f696420322c20737461746532203078312c> Tj +ET + +0.0 0.0 0.0 SCN +0.2 0.2 0.2 scn + +BT +437.14 560.841 Td +/F1.0 10.5 Tf +<206865726520> Tj +ET + +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +465.4165 560.841 Td +/F3.0 10.5 Tf +<69643d32313331393531363137> Tj +ET + +0.0 0.0 0.0 SCN +0.2 0.2 0.2 scn + +BT +533.6665 560.841 Td +/F1.0 10.5 Tf +<206973> Tj +ET + + +BT +300.64 545.061 Td +/F1.0 10.5 Tf +[<53442d57> 60.0586 <414e205042522072756c65206173207365656e20696e20>] TJ +ET + +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +443.3659 545.061 Td +/F3.0 10.5 Tf +<646961676e6f7365206669726577616c6c> Tj +ET + +0.0 0.0 0.0 SCN +0.2 0.2 0.2 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +300.64 529.281 Td +/F3.0 10.5 Tf +<70726f757465206c697374> Tj +ET + +0.0 0.0 0.0 SCN +0.2 0.2 0.2 scn + +BT +358.39 529.281 Td +/F1.0 10.5 Tf +<20616e6420> Tj +ET + +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +382.939 529.281 Td +/F3.0 10.5 Tf +<76776c5f7a6f6e655f69642032> Tj +ET + +0.0 0.0 0.0 SCN +0.2 0.2 0.2 scn + +BT +451.189 529.281 Td +/F1.0 10.5 Tf +[<206973207468652053442d57> 60.0586 <414e>] TJ +ET + + +BT +300.64 513.501 Td +/F1.0 10.5 Tf +<7a6f6e6520696e20616c697374206f66207669727475616c2d6c696e6b732e> Tj +ET + 0.0 0.0 0.0 scn q 0.0 0.0 0.0 scn @@ -1578,47 +1835,48 @@ Q endstream endobj 25 0 obj -<< /Length1 11444 -/Length 7207 +<< /Length1 11580 +/Length 7296 /Filter [/FlateDecode] >> stream -xz X[י9^=/!JI`!  `^,HFd#pBNR;1'~4Mx<ٓvf4ݤ;mf8Nw:f&g`쐦o{?k#JE%HN|3_`!,6ڟ#$;5.DH~h:&C{h>49e -#\;C~`m-;Dɿ~R /3%U;?viXʙL؞#m3ڟ\KBұ]Qz}cm!`P -4 n#JBX'5-]!˔+RFyZt<@!DI@!B mH͋# ,-F6:A< (B -&wQlV$a>24E#kߏ'wUU$a G["~~\;f -A"T DiX!'B[a+k$瓫`EI iL#E:q4G+^llZcq~iK_:-MvOV,:e?n͖gJBmzNS6-JWd[2o1z 4==3OBϑ!=+T>F0H$,4ȖfZ?|>~#=^RVmTV } |nӥ+z+ 1o*34m9vã.^5^9HBmpRRhfh-7K[U\4Ϡ&NX̻W"S;*g,J-/&YT45r.ŋXl'`be`V3= -mZ_ -I1IoSGxNFnrϒ|XiKN%TXҕ<7)gsIE܄4ngO[P)נ&^VٶQ9P'X_-4bx}Q5*>3(?p B5$5ys֔okL/`ON%'Qgi$l E"-Bru"JO("oRjlv7tN4ommzpxQcKS;QiIU+ꬢs [ܳoĬ﷖; -V֧jـ+hƆJ-nkitbw Z&v -aYɪFװj,f0-$*JU&K0V49rXPL"!Jc /-OgrskkcC@rRFie8MpoKFѱRZWOM0/n6QW ْ[Fsnh|װ%RO\l4Į%k9d&kba+qadHRef݃/n4 )/+ԅn8Iw :6g96\vL]ᢆBCqJ$inԁ {E(G&T˦FtGfȅ"ֈY1-Jp uj::efM|wZ^u:N+ƿV|4n2N5% Q{[sJZ -O$V)ȗLOz]f<=prGr `[Js'ewn|+Tu}6;`]5,v{'|F[k6Wx;L~et[lrleE͐⿄4*X^YㅣZLUFo{;?=V{WW"0Ib^'ş-h/Kl.bMku$tjC5GVSf'ɺM:mHU]-zc+`h!`X@mhls*p ԚmʬDni=Jzɒ+g閉6}HS|TsT-Th)m&Y'X\9E(q3f-y1IKJ쌾ɪSAʕYKsj d%.YyB7&bN* \8"nq2䤍!%Rxkx, - -KZ77>zʘWP^JDS[B B,NjeAM%+*7%8'@?,8'ƺ5]_V4+޳=={t7yD`Vg7M :"nKyc+k% J-WWa5g5w8/V:gN)m֒@- :P>{Rش)]ZI<\袥U-Ι OLj4?b}bYDq(x\r ~hi]ÉQ=G'myȶNb"%%JSzsiYUX/WeOT43)o\?7W)]EH>`.WB77rD!A2H(p`&p~Bɗߍ6K3ta>Ux [/dAI?!J4u7/& -K27 K) IoA~ۂB0&QhA2)kRnd>H,BP_{C m?G[['lAFj7È! FJEWDh"7l@&WPCԼHNB|x,Bx$rFxà 8HFN$%zi:om4K "YLP u{oo;$A|?w]иzq4wC.EPRT )r6Ԏ: u.\E} c MȃF@-%o[qc$Ay 4T.: NLF鲒2= -Ю1 <5E]z  -- G(&$B8pmڡ7 )ȅ@0SXk~d Gô;0UEp` 't8:?| LLsr2' !f(m~;YQl$K-%l(X!h0TiVX[3˖%}tt|;ZW8Y% -jNYpaNuqHww"iz0 3u2 @>r>z28yz?4 -L-Y'9)ฃ;?W&G4!LF3V=ck  [ȌZH.Vt[1 -phad]<+ƱD!-́"Bm(Gx -#`ɹi`Nh L',3#9 iZ]nvMޡAzS@sϠ{kP3Bwzt ҁ{gf @e M"3xpMO&@l(a2C/]i6sp%I~qr]8Qpl -cOsi9hF$G5 ^΁ӷqC1` \tG$s(TQ^OW 69Yݜ5{p/츃 y]G9nw>ö}m\j}Ѱ U:t/Xf[NYN`Y n6,`m>pcƸ Rqmn _p8[x$?f[lBō^͓deJ$Օ D#Hpuߑ6" n pRO~Ytӷw%˿d _ΖH\+PCLءA!p&`dy jgkL.j+0=P^r#oy(,c2- /YZ^"ӗ_"-J69d94)@R1N44S o )`$=%a1E^4P/P&>/Sgӳ5g4ggȓ@3!OO\>A&㗏׏/'>{}h:玒|;8GoD@v =~-hJ~= =p^(J,snhy+&ÏnƄf9w0j늕=1oHW ; i9%jD"Q`hBXiEP8 :%:75DL &Te+a9SdnkA9tltu9-Ɔښʊ\\h4 V%ϐ&K""hNK e`::,[Tk&F{92vJ;PAiOPW)Gbб } {}бϸFM8 FάI^k5:߹dI+9I24+dfF5Bg9H{V;b.vׅZ91akLı }ՅChהg-郱 saX)V8bE: 4Ċ3fbv ukJ {Ȑ^OoxP/=bm`ޅ6n[..-Rf\JŒ,<0cmFbR$m`6zkbjm -Mu#0lղdG$`8B#4#lϫ+=!gJp/r{bg`ヾmOYW0X Ye5\ ,0jvȂn$^aCa 8߮,`@ca;a>r+\tpYiY'+3pCa1yk yQ1L;S=<ࡑIb!-tV X -1hp.x1WU9N{ژ}X0`͢@4-']htQO5/teGwa<ϘX/=B) 6h0-PDz1)8òaRO{`^1bE3X66Z;V Yv#c.&'b+]`áXgV=La&阽ƚo ?_o ̄нƌkkUnJ7 f ,sg@ ( 3x8zq^ ;y@}; us1$s ~?P< `e.3G0)o[F( +B?诚OO"DOOjtob~llgo}!Pȁk VB`%),FV ` 3ŒlL@9JU^>*(}%]UD] -y$kq G,-FV6A<(R-2뉾}Կ">ۇe)X /|;g>s]ue + ~ wN.0+r*&2iQeJky#Qո\++tfLH}) R5o*s2–L:W8PȄ)9*U."M,5WZ- +Ե& 5P(%@k\W=EgA!3BZV2`4E:(Z^@p +`3VrsvC)6;<9S^zViWټJGO=ŬoӤ+ V9LimuowǏW yi^RO1IH`vTS,;ReHu!^6 ^E|j㟄C)yJʔ)sۯa-.m `^Y&@ԒZ bDGq$XgA:$'f"acڮ"/%qOE܁ +f-̛&RN1D=$׳m|(OfwL\;oސxm=Q;eC sjHu!.\P IMޙ;eҊwR5,:ajĒ1A4V"&Bo"9( Y?w9l76L4omѬ|th}ׁ/o(lIQ+PMu iExyeI?l+MEѹ`-pE&alp}dr:F&vw%Ӥ خR!,KE#Yꖍ%L +fLb2\͒jLUYJ)O%SIl TWS@E|ؐ.<+Ϣ2Y8?XFTڑ24P%, ӘFC[w\Q0hJz-z2%>OR|)@+D[hTw|^ +k?خ,~B~5XO_Z<œiز6l|+uV;h}]5Y9&Ii_:5RP0&_/gZ%`7HVf ×FanK &ؓQypa&[QSmϏY+ˠ(LXe׈ 7Ie} VQy}(tz]98v#\C}QMT_cU) XYu8X`mFՁ̈́hPArX]@r6s& yx4Kߐػˮ[1fqVgU[|ϒ7rC;]G8gM_~(0qcbmVVS_L|=.wzu%ρ˛(/^,x18n#{D9"+rzDvrkժ ]tq)z(ڙpnF cxπ/L{UYg#K u|jAP׬KeJ"lS5BaJ^i=~k8v?|yU*Kkqc5}WGL +^[; /V9* 3U%U Ql-O*N}*I,), muY><5Jk4fw»ZeVFM7WjǪ65jM5huzxoSkK\hdt!5Z9ܐUd&DS3-mڊM.CE>7Qe%e*a0zEb򜘌k-5s%I/AN2+ob&MZfϷmY5Ko,N3 ^[_U~~ )VНWG`'p"?c%y^gb\0O?To9+! FVm%}bqT@Tl… gDPwWS/j1S?1|,;!'IrUlTx}5+ r=t+G-2}_SPqZUtm^ ?^ ?@mO|Љ3p +*r$~3'qn^ʶ' >zezvm ڊ T=1\Q0$V6dZk~~Z"nԶ|ϔGشn\' Y7(~Ţl=ǯn4uCDDk?eSm&IRbj!T׌ǻ{]HҺi(EEtJ,h B RBMbo::yQM%':/%'A§ƌ]W^,'ڳ=3}b;yX ܦ=2͜Mm]'[4fcn~kbuqtfZ]a4l)y ׁ +oU,yMjۥľb'-vnrLw{eoz:U_)Ro=B<д^8pPNV g(G'ݪ $n2j0+o18q AL]XCN`j ?0d=P9Gdv +sZod2Y+OTy3}ïzzx dŧڨ"ރ4~94Na[xTO)!Y]h?[|$>jۨD5nhP E{(]^bjVi![ڍ(bk)oP̨j A,Sg~Yx!xW[Y-Ѣא8HFPQ$%zyF o=4@ "UHP< u{OO;(Axpt: @q4K-bbT)JLWlՈlȎ DP'x^ԇ$2&FàGm`8c[J1#Ij`rl,[n@l+]bg9/(L9fv9—,1z#;&7h;RɬyQzT(9GwL} Q`j^Ȫ8IM=YFafz 9|&@htl~LyMcy5 a3Q`Q Ō~&`rמ&0FX99qW0%G@+x.fAITvǣxglcXrv矡~{S A)}74L|Ht&0: >;Ek]ӥ[]NW)938@ojop:\tO?mw8{jNg@?3t 4 ZVz<$2 wjb;ZLgB) +DQLa+<;C'XB/jL.6Qn5 ' +ay=x[lTMr.X#]8s*Y+3q#{G4 +RE%xzZiŭ`<؃{`fHPw=u+a9kR{74N֙23܊p2pzZxiu9WٕW$24KeY.%|1IlH~C.lF&ة< p I8xu)/Efш)3架{Fta}>m&N Y'IW~pMcߟY'*}rgpD.隵Xzbu +ס)026C Cu(1.E,^ޅ̅= dS \UFM82 Nw*ENLR`px*Bx>x07q͛:>B&_ZA*oB!hB¹/*-F["y$N7N\=AxNN:xWO`9v1S^:Fq1~>8L?LVBXiޘ:qs{Ij7ge[yg{[$p;Dv b4  LYUrlP3A +K73̫20[H+<|=72:/ ;c1DLbk[HD lvGXw|а矓H$5p&$V%P[#x+KamBM Pr5DfgT9W_oOƮ Ύ6P_W[b6K:mQH%̌TQPQ$ytLG/ +*cmib#WSڀrJ[ҶLt=7]3e<;3L>6tjA;r&t {hGmc~REL_d,EDLV>1 N#/vUj`\jX1ǒC7_Q![1 cH1!Vc%64J#f`v/ywJi ='ȐOVcI _+bm`޹6ny//eh13w.-mnFnuyT1g&m`6z kbUjMWu#0lVlC0Ulͥ ۳wgyovs1J1!ol(68JeI0GKTN_t`rD +;dN'^`$a 8<ɿ96: CMqb^(`331)ӲOV,G$Ť1Kvvf1_ɽGO;>usﬨ YVAczT>X[ن0A ,DSsňwqO +`QZ=l*3& +i7"P  LK=1VE lXnؠAX ۓt,) ֎%n|>*:K 覓!뀎.R YpPsXn 3tfucy$i ?IV ̄нƌT+kenR7='d:]s,s&(m 3x8y1.w!v,ԉ;ZZ1s6k}1B&Z=-犠}KX4 rR.cK8. x GJl}K9`c90HJa4?-&b-T7X͉̟r6)nE@+?8R='w:.M_=¯zt~}s~;<\c 5DU.31 XlZZ" +_%k]$6 j +> stream -xW}pSו?I?lc,?2`ۑe#%ْcIF$HhR&ôN~fd:6˶CJiIMɰ-ˤi&vw{Ϲ{}@ DȂoc>w~v̷\=`jfIRgGeD#Or( Cke@y剅bJuY]uXG?@k.}+t@w[#ϠlY]_)08o4>'?r_S/k h!U9y -tzKJl͕U{&swTHl:nM'HΝW +3&.#dce@iqm/~gQ! a*j顾*h[ -0v3pA %6kþEk5k{ee^)ڪMZ[xz)oܬܚ>܈S2>~A1:6r?x}+uhB&y -:Ag3tW9 -7:ʉ+׹[xhMF}rb[Ыf-ڑVGTU=4jhpCYr׍̕QG翉x`x*"l"D&Wv6m5SbW}CO4TpljB7jμdױt]닜P Pt:(b-3v"7lx#c7vm5Tv7ʹ@]Ez.lr.SqyfvjijEO>RݺgT^\X^^^amss6фᣓd> p?an7 y9b5[0m6{~e]n]fr΀ZcTeGS>xMJg<;u6WgHdgSV+觥zkIHomUk_ ^ jiyqR;l)'<+Bε5{2<+w땏}77dT1q|<8)B=, V%oȕƈ^nJy:O$9فݹmД00_WX1𸻲Gobm;`*UE@|9wpR`ivBaGܮqc4Dީ\\hڋ ]LI4d0Ms[%lr.rec.[~2`3ȦʼnNn`g3vN;qiN -O -:ۼܹ9nn9i,ٍDMԯ_/ ԩ~8Ro`#^5 ,Ó*!%$_$ϓ$UrvnpǸ*TIU\uV}k8<ȇ~݆7f\xK֩n}ߨbC}X>[Fe^IgN3 Q:0_ C$?ܒL./+w]]󬧎{x:!7ڷItv-e&[;?<>)"|l^` {`Fq?F3J[!5T F> ^V -=(z⼠Ո;EF?*,( Y> *Ak4)?T*6EQX) k TltUZA?CObh2:IVy;+񣞑/@($2 HA=a+#i tj W!\"fs,X5C | Fa] JSDr6[-"ݰc5);"GmI 3$Îu"l -Eci; -ݿ&3N.Fq"XHa^p N l>h-/-"HcR#J-hjbbђX -s ,_)h+y w(,"|!,0 Ht(ESNƢ7&qM%Ű⺚@<ćdtz))3$$kK)>Eg@ -|$zbd0?J* ceB嫻PzFƽ.k`MD0̵u9˸#38rj,GyB]u lybO$H˶)Y`^Peڧv&|S6֋`ܟG!D̔ˆ0sRGs$>oOvR$#qW4v9֥z0E/ӓSړ+"y̹=U{yDh1#DęCwm82.N!Jx@wG m i +xX{pGɒ_6ؘOgɒ 6–6,f ’-K2IDL ɺRMv/$uTT-\dTR\G(*ۥD'&v?o!dlP4>5}y{"qI@MφOZiHL@YhEB?`S!5I +W**^]#_+*׮2V>u)$CJ,*¢8S z|lC+Q-~h6Ea:l١z͇]L֪ׅ+ZZRo@0gZto 5.~O!hsDXo1۬uJM9oPv ͭ`UK}Wm'K=4,\yd[<8xd[ JەVE߿&?B9YE]gjkoPZmNx~A#5מIw[wUqqUO+NHFgsY.)A| W."MmYiAmѪbRiJRAs:, =8>x臈܂ +K>mn$RKehqbѪH;FGB_K}~u5ڒ}l^o)77l|gMa-]xf|b]ct/+i܄+!Woi{W/>_O/c*Y)WuarǭuطW61 +7|ɥ:ٙ7Rٮ(@ +ҲݛNju87oh UI +!|QեNB<*ompZߟT38-V9x5h:LƲr('uG̖y6gCƯ/UjBE4̶xIV!ZRv+  +G::ri›Eݭ~kr-*8 Z,=ů/ns;7cx7mm(Ԉ>r+ rm6bF +!#6x/mLVφwhC%MIwE1ZYTv|ƍv_$߈ݼIn?bRS|l5%~p9Rܡǒ:|v,Mie_|jR`8rJ*6) yjܠ؅퀍?x;'QWj⨰/q BWrGjy7[[tꀰ@wˆQ757v'[QP!S-$ΘNtx:FG|]}><󑞒¨ZձS\|h8V˟N*jL63p/ +Z2:T1tvN67F2nx.Wv!I1F?rdoɌ{>0?mbR咺hdDlo"vwe?% nv΀ +j"@W81:q‹m.]r,rհ׿ttQ̂{@[X>^zu2Xyܾ- 8Ľ p˛QڌG$c~hI+qy|@DY[W6/;){GvMڊvmGlB\l吱 1xe\cQ2A.9.%p>rZ&P1Ht*5R? O;$ +t ?!WYI?3%<-l/K<*^QKrwx14i&PQ%CkalCUAч<ĦFݰk-U"(NOS@h=Ǧ'$pt̖j, i 25L6,+–(fjTERϕ +NτcQ$,~ `π1Rm_oY"S{fz:eF(PS`Ō)6vM1P |#Лsg@qɔA BSPx(mAn&6d8Tp:azĴ?Jg&h`_?txx Ǎܾp<ŦY"@x<< 58 ґHpz,쟜O$`au@jmk 06p[<nk &BpxMqfaf 6ZhSl{"LMJMx01zcR,><&gxLz!р~ccP3.iDeoIҵ#1er%. ~w4NNhl^ҼڭУS7jC&a@ +^>bTn1O +33@yG;„ G}Bt"c^맿가]{*A) !3̻# 2wwTGA{=%$hAaPZ/QR˙#)q{_}zaݚW>9L_NŇx$]W0>{]Q'|=I:V'Uۼ +ŘD:7ٽחDBn1ڽ>$֘ +]MfWU'm}.M.mU'F*w{?*7_y+ɴ*o}M|f\m:0baumEI0J+ԴLJ7Ud.6pIYY%I& ?G;Ez(FԈ..(OYF3'$8/ؙ|+ʰ4:~>%xOM QB)H VxP/.'  J[.KgH>o > startxref -52935 +57298 %%EOF