ÿØÿà JFIF    ÿÛ „  ( %"1!%)+...383,7(-.+  -+++--++++---+-+-----+---------------+---+-++7-----ÿÀ  ß â" ÿÄ     ÿÄ H    !1AQaq"‘¡2B±ÁÑð#R“Ò Tbr‚²á3csƒ’ÂñDS¢³$CÿÄ   ÿÄ %  !1AQa"23‘ÿÚ   ? ôÿ ¨pŸªáÿ —åYõõ\?àÒü©ŠÄï¨pŸªáÿ —åYõõ\?àÓü©ŠÄá 0Ÿªáÿ Ÿå[úƒ ú®ði~TÁbqÐ8OÕpÿ ƒOò¤Oè`–RÂáœá™êi€ßÉ< FtŸI“öÌ8úDf´°å}“¾œ6  öFá°y¥jñÇh†ˆ¢ã/ÃÐ:ªcÈ "Y¡ðÑl>ÿ ”ÏËte:qž\oäŠe÷󲍷˜HT4&ÿ ÓÐü6ö®¿øþßèô Ÿ•7Ñi’•j|“ñì>b…þS?*Óôÿ ÓÐü*h¥£ír¶ü UãS炟[AÐaè[ûª•õ&õj?†Éö+EzP—WeÒírJFt ‘BŒ†Ï‡%#tE Øz ¥OÛ«!1›üä±Í™%ºÍãö]°î(–:@<‹ŒÊö×òÆt¦ãº+‡¦%ÌÁ²h´OƒJŒtMÜ>ÀÜÊw3Y´•牋4ǍýʏTì>œú=Íwhyë,¾Ôò×õ¿ßÊa»«þˆѪQ|%6ž™A õ%:øj<>É—ÿ Å_ˆCbõ¥š±ý¯Ýƒï…¶|RëócÍf溪“t.СøTÿ *Ä¿-{†çàczůŽ_–^XþŒ±miB[X±d 1,é”zEù»& î9gœf™9Ð'.;—™i}!ôšåîqêÛ٤ёý£½ÆA–àôe"A$˝Úsäÿ ÷Û #°xŸëí(l »ý3—¥5m! rt`†0~'j2(]S¦¦kv,ÚÇ l¦øJA£Šƒ J3E8ÙiŽ:cÉžúeZ°€¯\®kÖ(79«Ž:¯X”¾³Š&¡* ….‰Ž(ÜíŸ2¥ª‡×Hi²TF¤ò[¨íÈRëÉ䢍mgÑ.Ÿ<öäS0í„ǹÁU´f#Vß;Õ–…P@3ío<ä-±»Ž.L|kªÀê›fÂ6@»eu‚|ÓaÞÆŸ…¨ááå>åŠ?cKü6ùTÍÆ”†sĤÚ;H2RÚ†õ\Ö·Ÿn'¾ ñ#ºI¤Å´%çÁ­‚â7›‹qT3Iï¨ÖÚ5I7Ë!ÅOóŸ¶øÝñØôת¦$Tcö‘[«Ö³šÒ';Aþ ¸èíg A2Z"i¸vdÄ÷.iõ®§)¿]¤À†–‡É&ä{V¶iŽ”.Ó×Õÿ û?h¬Mt–íª[ÿ Ñÿ ÌV(í}=ibÔ¡›¥¢±b Lô¥‡piη_Z<‡z§èŒ)iÖwiÇ 2hÙ3·=’d÷8éŽ1¦¸c¤µ€7›7Ø ð\á)} ¹fËí›pAÃL%âc2 í§æQz¿;T8sæ°qø)QFMð‰XŒÂ±N¢aF¨…8¯!U  Z©RÊ ÖPVÄÀÍin™Ì-GˆªÅËŠ›•zË}º±ŽÍFò¹}Uw×#ä5B¤{î}Ð<ÙD é©¤&‡ïDbàÁôMÁ." ¤‡ú*õ'VŽ|¼´Úgllº¼klz[Æüï÷Aób‡Eÿ dÑ»Xx9ÃÜ£ÁT/`¼¸vI±Ýµ·Ë‚“G³þ*Ÿû´r|*}<¨îºœ @¦mÄ’M¹”.œ«Y–|6ÏU¤jç¥ÕÞqO ˜kDÆÁ¨5ÿ š;ÐЦ¦€GÙk \ –Þ=â¼=SͧµªS°ÚÍpÜãQűÀõ¬?ÃÁ1Ñ•õZà?hóœ€ L¦l{Y*K˜Ù›zc˜–ˆâ ø+¾ ­-Ök¥%ùEÜA'}ˆ><ÊIè“bpÍ/qÞâvoX€w,\úªò6Z[XdÒæ­@Ö—€$òJí#é>'°Ú ôª˜<)4ryÙ£|óAÅn5žêŸyÒäMÝ2{"}‰–¤l÷ûWX\l¾Á¸góÉOÔ /óñB¤f¸çñ[.P˜ZsÊË*ßT܈§QN¢’¡¨§V¼(Üù*eÕ“”5T¨‹Âê¥FŒã½Dü[8'Ò¥a…Ú¶k7a *•›¼'Ò·\8¨ª\@\õ¢¦íq+DÙrmÎ…_ªæ»ŠÓœ¡¯’Ré9MÅ×D™lælffc+ŒÑ,ý™ÿ ¯þǤ=Å’Á7µ÷ÚÛ/“Ü€ñýã¼àí¾ÕÑ+ƒ,uµMâÀÄbm:ÒÎPæ{˜Gz[ƒ¯«® KHà`ߨŠéí¯P8Aq.C‰ à€kòpj´kN¶qô€…Õ,ÜNŠª-­{Zö’æû44‰sŽè‰îVíRœÕm" 6?³D9¡ÇTíÅꋇ`4«¸ÝÁô ï’ýorqКÇZ«x4Žâéþuïf¹µö[P ,Q£éaX±`PÉÍZ ¸äYúg üAx ’6Lê‚xÝÓ*äQ  Ï’¨hÍ =²,6ï#rÃ<¯–£»ƒ‹,–ê•€ aÛsñ'%Æ"®ÛüìBᝠHÚ3ß°©$“XnœÖ’î2ËTeûìxîß ¦å¿çÉ ðK§þ{‘t‚Ϋ¬jéîZ[ ”š7L¥4VÚCE×]m¤Øy”ä4-dz£œ§¸x.*ãÊÊ b÷•h:©‡¦s`BTÁRû¾g⻩‹jø sF¢àJøFl‘È•Xᓁà~*j¯ +(ÚÕ6-£¯÷GŠØy‚<Ç’.F‹Hœw(+)ÜÜâÈzÄäT§FߘãÏ;DmVœ3Àu@mÚüXÝü•3B¨òÌÁÛ<·ÃÜ z,Ì@õÅ·d2]ü8s÷IôÞ¯^Ç9¢u„~ëAŸï4«M? K]­ÅàPl@s_ p:°¬ZR”´›JC[CS.h‹ƒïËœ«Æ]–÷ó‚wR×k7X‰k›‘´ù¦=¡«‰¨¨Â')—71ó’c‡Ðúµ `é.{§p¹ój\Ž{1h{o±Ý=áUÊïGÖŒõ–-BÄm+AZX¶¡ ïHðæ¥JmÙ;…䡟ˆ¦ ° äšiÉg«$üMk5¤L“’çÊvïâï ,=f“"íἊ5ô¬x6{ɏžID0e¸vçmi'︧ºð9$ò¹÷*£’9ÿ ²TÔ…×>JV¥}Œ}$p[bÔ®*[jzS*8 ”·T›Í–ñUîƒwo$áè=LT™ç—~ô·¤ÈÚ$榍q‰„+´kFm)ž‹©i–ËqÞŠ‰à¶ü( ‚•§ •°ò·‡#5ª•µÊ﯅¡X¨šÁ*F#TXJÊ ušJVÍ&=iÄs1‚3•'fý§5Ñ<=[íÞ­ PÚ;ѱÌ_~Ä££8rÞ ²w;’hDT°>ÈG¬8Á²ÚzŽ®ò®qZcqJêäÞ-ö[ܘbň±çb“ж31²n×iƒðÕ;1¶þÉ ªX‰,ßqÏ$>•î íZ¥Z 1{ç൵+ƒÕµ¥°T$§K]á»Ûï*·¤tMI’ÂZbŽÕiÒ˜}bÓ0£ª5›¨ [5Ž^ÝœWøÂÝh° ¢OWun£¤5 a2Z.G2³YL]jåtì”ä ÁÓ‘%"©<Ôúʰsº UZvä‡ÄiÆÒM .÷V·™ø#kèýiíÌ–ª)µT[)BˆõÑ xB¾B€ÖT¨.¥~ð@VĶr#¸ü*åZNDŽH;âi ],©£öØpù(šºãö¼T.uCê•4@ÿ GÕÛ)Cx›®0ø#:ÏðFÒbR\(€€Ä®fã4Þ‰Fä¯HXƒÅ,†öEÑÔÜ]Öv²?tLÃvBY£ú6Êu5ÅAQ³1‘’¬x–HŒÐ‡ ^ ¸KwJôÖŽ5×CÚ¨vÜ«/B0$×k°=ðbÇ(Ï)w±A†Á† 11Í=èQšµ626ŒÜ/`G«µ<}—-Ö7KEHÈÉðóȤmݱû±·ø«Snmá=“䫚mݱŸ¡¶~ó·“äUóJæúòB|E LêŽy´jDÔ$G¢þÐñ7óR8ýÒ…Ç› WVe#·Ÿ p·Fx~•ݤF÷0Èÿ K¯æS<6’¡WШ; ´ÿ ¥Êø\Òuî†åÝ–VNœkÒ7oòX¨Á­Ø÷FÎÑä±g÷ÿ M~Çî=p,X´ ÝÌÚÅ‹’ÃjÖ.ØöÏñ qïQ¤ÓZE†° =6·]܈ s¸>v•Ž^Ý\wq9r‰Î\¸¡kURÒ$­*‹Nq?Þª*!sŠÆ:TU_u±T+øX¡ ®¹¡,ÄâÃBTsÜ$Ø›4m椴zÜK]’’›Pƒ @€#â˜`é¹=I‡fiV•Ôî“nRm+µFPOhÍ0B£ €+¬5c v•:P'ÒyÎ ‰V~‚Ó†ÖuókDoh$å\*ö%Ю=£«…aȼ½÷Û.-½VŒŠ¼'lyî±1¬3ó#ÞE¿ÔS¤gV£m›=§\û"—WU¤ÚǼÿ ÂnÁGŒÃ ‚õN D³õNÚíŒÕ;HôyÄÈ©P¹Ä{:?R‘Ô¨âF÷ø£bÅó® JS|‚R÷ivýáâ€Æé¡è³´IئÑT!§˜•ت‚¬â@q€wnïCWÄ@JU€ê¯m6]Ï:£âx'+ÒðXvÓ¦Úm=–´7œ $ì“B£~p%ÕŸUþ« N@¼üï~w˜ñø5®—'Ôe»¤5ã//€ž~‰Tþ›Å7•#¤× Íö pÄ$ùeåì*«ÓŠEØWEÈsßg ¦ûvžSsLpºÊW–âµEWöˬH; ™!CYõZ ÃÄf æ#1W. \uWâ\,\Çf j’<qTbên›Î[vxx£ë 'ö¨1›˜ÀM¼Pÿ H)ƒêêŒA7s,|F“ 꺸k³9Ìö*ç®;Ö!Ö$Eiž•¹ÒÚ†ýóéÝû¾ÕS®ó$’NÝäŸz¤5r¦ãÄÃD÷Üø!°ø‡Ô&@m™Ì^Ãä­d q5Lnÿ N;.6½·N|#ä"1Nƒx“ã<3('&ñßt  ~ªu”1Tb㫨9ê–›–bìd$ߣ=#ÕãÒmU¯eí$EFù5ýYô櫨æì™Ç—±ssM]·á¿0ÕåJRÓªîiƒ+O58ÖñªŠÒx" \µâá¨i’¤i —Ö ” M+M¤ë9‚‰A¦°Qõ¾ßøK~¼Ã‘g…Ö´~÷Ï[3GUœÒ½#…kàÔ®Ò”‰³·dWV‰IP‰Ú8u¹”E ÖqLj¾êÕCBš{A^Âß;–¨`¯¬ìö ˼ ×tìø.tƐm*n¨y4o&Àx¥n¦×î‡aupáÛj8¿m›è¶ã!o½;ß0y^ý×^EÑ¿ÒjzŒ­)vÚÑnÄL …^ªô× ‡—‚3k Îý­hï]içå–îÏ*÷ñþ»Ô CÒjøjÍznˆ´ ¹#b'Fô‹ ‰v¥'’à'T´ƒHýÍ%M‰ ƒ&ÆÇŒï1 ‘ –Þ ‰i¬s žR-Ÿ kЬá¬7:þ 0ŒÅÒÕ/aÙ¬ÃÝ#Úøœ ©aiVc‰. ¹¦ãµ” ›Yg¦›ÆÎýº°f³7ƒhá·¸­}&D9¡ÂsÉÙÞèŠõØàC™¨ñbFC|´Ü(ŸƒÚÒ-%»'a Ì¿)ËÇn¿úÿ ÞŽX…4ÊÅH^ôΑí@ù¹Eh¶“L8Çjù ¼ÎåVªóR©Ï5uà V4lZß®=€xÖŸ–ÑÈ ÷”¨°¾__yM1tÉ?uÆþIkÄgæ@þ[¢†°XÃJ£j·:nkÅ¢u ‘}âGzö­/IµèЬ¼48q¦F°ŽR¼=ûì{´¯RýicS ÕÛ íNtÍÙï£,w4rêì®»~x(©Uñ§#Ñ&œÕ¤>ÎåÍÓ9’Ö{9eV­[Öjâ²ãu]˜å2›qÑšÕJç0€sÄ|Êëè0튔bÁ>“{×_F`Ø©ºê:µä,v¤ðfc1±"«ÔÍän1#=· Âøv~H½ÐßA¾¿Ü€Óš]Õ; I¾÷ç‚Qi†î¹9ywÔKG˜áñ zQY—§ÃÕZ07§X‚ Áh;ÁM)iÌCH-¯T‘ë|A0{Ò½LÚ–TâÖkÜ’dÀ“rmm»”جPF³ÖcbE§T€ÒxKºû’Ó®7±²(\4ŽÃ¸Uu@j™yĵ;³µ!Á¢b.W¤=mõ´êµK k ¸K^ÜÛ#p*Ü14qkZç5ïë †°5Ï%ÍÛ<Õ¤×Ô¥ê†C Õ´¼ú$ƒÖ“”]Ù¬qÞÚ[4©ý!ûÏ—Áb쳐XµA¬â~`›Çr¸8ìùÝ䫦<>ä÷«?xs´ÇÑ /á;¹øüÊÈÙà{"@Žïzâ¬[âß‚ U_<ÇŸ½4èN˜ú61®qŠu ¦þF£»äJ_ˆÙÎ~ ÞAã–݄ϗrŠD;xTž‘ô`É«…suãO`?³à™ô Lý#Íc5öoæØ‚y´´÷«ZR§<&JÇ+éâô´€i!Àˆ0æAoàðLèÖ-2ŸõW.’t^–(KÁmHµV@xÜÇy®Ñø­â^:Ú3w· 7½¹°ñ¸â¹®:',«Mœ—n­Á+Ãbš LÈ‘ÄnRÓÅœ%¦²‰¨ùQ:¤f‚ "PÕtô¸…cæl…&˜Ú˜Ôkv‹ž+vŠ,=¢v­6—Xy*¥t£«<™:“aîϲ=¦6rO]XI¿Œ÷¤zÚ­›¶ 6÷”w\d ü~v®ˆÌk«^m<ÿ ¢‰Õ\)ùºŽ;… lîÙÅEŠ®cѾ@vnMÏ,¼“ñ•ŽBxðÃzãÇç%3ˆ"}Ù•Åî> BÉú;Ò]V+P˜F_´ßé> Øše|ï‡ÄOmFæÇ ãqÞ$/xÐx­z`ï9"œÜij‚!7.\Td…9M‡•iŽ‹¾‘50ÞŽn¥ß4ÉôO ¹*í^QêËÜÇÌ8=ާs‰'ÂëÙ«á%Pú[O †ÅP¯Vsް.‰,kc¶ ¬A9n˜XÎ-ÞšN["¹QÕ‰ƒMýÁߺXJæÍaLj¾×Ãmã¾ãÚ uñÒþåQô¦¥ /ÄUx:‚ÍÜ’ Đ©ØÝ3V¨‰ÕnÐ6ó*óúK­«…c ¯U òhsý­jóÔj#,ímŒRµ«lbïUTŒÑ8†Ä0œÏr`ð¡¬É Ї ë"À² ™ 6¥ f¶ ¢ÚoܱԷ-<Àî)†a¶ž'Ú»¨TXqØæ¶÷YÄHy˜9ÈIW­YÀuMFë ºÏ’AqÌ4·/Ú †ô'i$øä­=Ä Ý|öK×40è|È6p‘0§)o¥ctî§H+CA-“ xØ|ÐXАç l8íºð3Ø:³¤¬KX¯UÿÙ ELF>@`@8 @"!@@@hh @@"@"~H (Y(Y"(Y"`` llStd PtdttQtdRtd@@"@"KK/lib64/ld-linux-x86-64.so.2GNUGNU XREFFRRouting؉""GNUэh{@7A a 8@"<@H!@ ,B0LxB `D,p H  AD D ZL` Bi*hh;E/a : ԇ-C~Y+mN^Le$GKK'%КK'+-Fop)slm]$4Q1GUx=WO$'wCE1¹^ ~y=ݠnYa?  㞻3btk,Cl,׎n[KYqX* p3=nR|m`^jD)ᦣTzyYdLeS}LyVod|ywVN5ןZe%e-j C ;ޞ٫1pP/O$ %k||H%:Əӱ= C52>Ln:|d f'La٤qM%s+O%󅃹if  N  DS6 3[0` [T< 'Ly'! Qi w DG 8 q "|%F`*`2 ] HS_@  ijMR *V% a /@"Z  d8It vU  =Ia j  "P"~"8 riu 2 oH PqX `" ` m /" ,P ` F5   F@Du 0w- co @"Y  `I"e v-z  /'  >"@ qi! P1h0pX " `b m Pz"{ ! "0  hI"0"U y z ye   " /q ep.4P;  zV $  "?xmWv- " 0Y P"HI"  `"r" F "J X" "`D 0"' !@ y oi pXp]NT (I"H rN `"  M w- "C1 H"  p"{ ~"8 p x "`" `"#  D!"  " 0"@" I9 I"D !F  h ~"libfrr.so.0__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTablefrr_help_exitlist_sortzclient_send_interface_radv_reqfrr_filter_infozclient_send_reg_requestsconnected_count_by_familyxref_block_addyang_module_embedfrr_runfrr_finithread_cancelfrr_config_forkyang_data_new_ipaccess_list_init_install_elementyang_data_new_enumhash_releaseyang_data_new_uint16safe_strerrorzlog_hexdumpin_cksumvlist_delete_nodestring_hash_makeyang_dnode_get_uint8yang_data_new_uint32vrf_name_head_RB_TYPEsetsockopt_ipv4_tosjson_object_string_addyang_data_new_uint8yang_dnode_get_boolsetsockopt_ipv6_hoplimitttable_rowsepszlog_rotateinet_ntopttable_add_rowqfreeinstall_nodesetsockopt_ipv4_multicastyang_get_default_uint16json_object_boolean_addif_lookup_by_indexhash_freeyang_dnode_is_defaultfrr_opt_addvrf_sockethash_createsetsockopt_ipv6_tclassstr2sockunionif_cmd_init_defaultzebra_router_id_update_readjson_object_freesetsockopt_ipv6_multicast_hopsvrf_cmd_initzclient_options_defaultttable_newif_name_head_RB_TYPEcmd_show_lib_debugsMTYPE_TMPyang_data_new_stringlist_newyang_dnode_get_uint16ttable_dumpyang_get_default_uint8list_to_arraynb_running_set_entryif_is_operativestrlcat_zprivs_lowernb_cli_enqueue_changehash_alloc_internfamily2strlist_deletefrr_getopt_thread_add_timer_msecyang_get_default_boolhash_cleanvty_outvrfs_by_namevzlogxlistnode_addnb_cli_apply_changessockopt_reuseaddrhash_getsockunion_sizeofprefix_mac2strzebra_interface_address_read_rb_nextzclient_newhash_to_listqcallocfrr_initfrr_interface_infozclient_init_rb_min_zprivs_raisesetsockopt_ipv4_multicast_loopsetsockopt_ipv6_multicast_loopfrr_preinitvrf_inityang_dnode_get_stringhash_lookupfrr_sysconfdirfrr_vrf_infovty_read_config_thread_add_read_writeconfig_default_zlog_assert_failedyang_dnode_get_ipttable_delnb_running_get_entryjson_object_int_addif_zapi_callbacksnb_running_unset_entryttable_stylesif_lookup_by_hwaddryang_dnode_get_enummg_insertlibcap.so.2libjson-c.so.4json_object_new_objectjson_object_new_stringjson_object_object_addjson_object_new_arrayjson_object_to_json_string_extjson_object_array_addlibrt.so.1libgcc_s.so.1_Unwind_Resume__gcc_personality_v0libpthread.so.0recvmsgsendtoclose__errno_locationlibc.so.6inet_aton__stack_chk_failinet_ptonstrtolstrlenmemsetbindmemcmpstrtoulsetsockopt__snprintf_chk__memcpy_chk__cxa_finalizestrcmp__libc_start_mainsnprintf_edata__bss_start_endvrrp_dbg_arpvrrp_change_state_handlersvrrp_garp_is_init__libc_csu_finivrrp_del_ipv4vrrp_vrouters_hashvrrp_ndisc_finivrrp_vrouter_createvrrp_dbg_cbsvrrp_debug_setcli_show_ipvrrp_zebra_radv_setvrrp_lookupvrrp_dbg_proto_caps_pvrrp_autoconfig_versionvrrp_pkt_adver_buildvrrp_add_ipvrrp_dbg_zebravrrp_dbg_ndisc_hook_vrrp_change_state_hook_IO_stdin_usedvdvrrp_ifp_upvrrp_ndisc_una_send_allvrrp_finivrrp_debugs_conflinesbackup_config_filevrrp_ndisc_initvrrp_set_priority__data_startcli_show_preemptvrrp_pkt_adver_dumpvrrp_if_downvrrp_add_ipv6cli_show_vrrpvrrp_pkt_parse_datagramfrr_vrrpd_infocli_show_ipv6vrrp_del_ipvrrp_eventvrrp_pkt_freevrrp_ndisc_is_initvrrp_set_advertisement_intervalvrrp_vty_init_mg_VRRPDlongoptsvrrp_if_add__libc_csu_initvrrp_autoconfig_is_onvrrp_del_ipv6vrrp_vrouter_destroyvrrp_check_startvrrp_garp_initvrrp_state_namesvrrp_zebra_initvrrp_ifp_createvrrp_ifp_downvrrp_dbg_automastervrrp_autoconfig_onvrrp_if_delvrrp_garp_finivrrp_signalsvrrp_debug_initvrrp_config_write_debugcli_show_shutdownvrrp_if_address_addvrrp_garp_send_allvrrp_garp_sendvrrp_autoconfig_offvrrp_ifp_destroycli_show_priorityvrrp_autoconfigvrrp_dbg_pktvrrp_debugscli_show_checksum_with_ipv4_pseudoheadervrrp_if_upvrrp_dbg_sockcli_show_advertisement_intervalvrrp_if_address_delvrrp_add_ipv4vrrp_debug_status_writevrrp_zclient_send_interface_protodownvrrp_initvrrp_ndisc_una_sendvrrp_privsvrrp_config_write_globalJSONC_0.14GLIBC_2.2.5GLIBC_2.4GLIBC_2.3.4GCC_3.0GCC_3.3.1/usr/lib64  ui  @ii ti ui P&y a_& @"H" P"`X"`"h"p"x""`""""""" """  "P"X"0`"""0"""P"""P "@" `"P"X"P`"(p"""h"""h"""h "ɕP"X"x`"""x""`"""x""ٕ"" "P"X"`""@a""""(|""`""""{"""ȗ "P"X"ȗ`""b"""ȗ""H"`b"""ȗ""H"b"""ȗ "`0"p@"a"P"X"ȗ`"p"p"""""""c""" "`0"P"X"`"""""c""""8"" c""" "0"@"d"P"X" `"؉p"("@d""" ""("e"""@"{"H"`e"""@ "h{0"@"e"P"X"@`"0{p""n"""X"@""m"""X"""@m"""X "0"@"l"P"X"X`"xp""l"""X""" l"""X"""k"""X "0"p@"`k"P"X"X`"p""k"""X"@""j"""X"" "@j" " "X "80 "@ "i"P "X "X` "p " "i" " "X " " " i" " "X "x "!"h"!"!"X !"@0!"P!"X!"X`!"X!"`h"!"!"X!"!"!"h"!"!"X!"!"p""g"""""X ""0""@""@g"P""X""X`""@p""""f"""""X""~""""f"""""X""p~""#" f"#"#"X #"8~0#"x@#"`q"P#"X#"p`#"p#"#"q"#"#"p#"H#"#"#"p#"#"#$"$"p $"($"#@$"p"P$"X$"p`$"p$"@$"$"p$"$"#$"@p"$"$"p$"$"%"%"p %";(%"S@%"o"P%"X%"p`%"8p%"%"o"%"%"p%"%"(%" o"%"%"p%"P%"&"n"&"&"p &"0&"@&"`n"P&"X&"p`&"p&"&"&"&"e&"o&" r"&"&"&"p&"0'"q"'"'" '"H0'"@'"r"P'"X'"`'"}p'"'"'"'";'"S'"r"'"'"'"}'"("(" (";(("S@("@s"P("X("`("{p("("("("("#("("(";("S)"t")")" )"x0)"`P)"X)"`)"z)")")"e)"o)"s")")")"~)"*"`t"*"*" *"(z0*"@*"t"P*"X*"`*"p*"*" u"*"*"*"*"P*"@v"*"*"0*"|*"+"u"+"+"0 +"p|0+"@+"u"P+"X+"0`+"}p+"+"+"0+"+"+"0+","v",","P ,"H}0,"p@,"w"P,"X,"p`,"p,","`w",","p,"0,","w",","p,","-"x"-"-" -"z0-"@-"x"P-"X-"`-"zp-"-" x"-"-"-"Hz-"P-"-"-"."." ."P."X."`."."."."."."ș."/"/"ș /"@/"@y"P/"X/"ؙ`/"(p/"/"/"ؙ/"/"/"ؙ/"0"z"0"0" 0"00"@0"y"P0"X0"`0"p0"0"0"0"0"@0"@0"0"@0"50"0"0" {"0"g0" 1"1"̭ 1"@|"01"g81"0@1"xP1"̭`1"{"p1"gx1"01"H1"̭1"{"1"g1"01" 1"̭1"g1"@2"02"g82"@@2"`2"|"p2"gx2"@2"2"2"g2"@2"x2" ~"2"g2"X3"3" 3"}"03"g83"X@3"P3"`3"`}"p3"gx3"X3"P3"3"}"3"g3"X3"3"3""3"ŝ3"4"4"̭ 4" "04"ŝ84"@4"P4"̭p4"ŝx4"ם4"4"ݝ4"4"@"4"D4"4"4"̭4"`"4"D4"5"H5"̭ 5""05"D85"@5"P5"̭`5""p5"Dx5"5"5"̭5"D5"5"5"D5"6"06"D86"@6"W`6" "p6"Dx6"06"6"6""6"D6"06"86"6"D6"07"W07"w87"@7"p7"wx7"7"7"'7"@7";7"'7"`8"08"'88"@8"Up8"'x8"8"k8"8"8"8"8"8"8"8"8"8"8"8"9"9"9"9"09"89"@9"A"p9"x9"9" A"9"9"9"`@"9"9":"@"0:"8:"@:"@"p:"x:":"@B":":":"A":":";"F"0;"8;"@;"E"p;"x;";"@E";";";"D";";"<"D"0<"8<"@<" D"p<"x<"<"C"<"<"<"`C"<"<"="C"0="8="@="B"p="x="="="="="="=">"0>"8>"@>"p>"x>">">">">">">"?"0?"8?"@?"p?"x?"?"?"?"?"?"?"@"0@"8@"@@"`@"h@"Xx@"@8@"'@"@"?@"@"@"W@"S@"A"b A"(A"X8A"pT@A"mXA"`A"A"A"PA"p\A"A"A"A"A"A"8B"B" B"ҳ@B"HB"XB"6`B"߳xB"B"B"B"B"RB"B"B"C"C"C"P C" 8C"@C"`C"phC"xC"NC"'C"C"4C" C"HC"`KC"=C"D"I D"п(D"8D"0I@D"XD"`D"D"D"PD"pFD"D"D"QD"D"8D"@DE"mE" E"@E"HE"XE"A`E"pxE"E"E"HE"hE"@E"E"E"F"F" F"< F"8F"@F"pF"bxF"F"uF"bF"F"F""F"bF"G"G" G""0G"b8G"@G"BPG"`G"@"pG"bxG"G"G"G""G"bG"G"G"0G""G"bG"0H"@H"P H"`"0H"b8H"@H"PH"pH"wxH"`wH"tI"I"I"I"I" %I"0*I"P)I"$I"$J"o(J"8J"(J"@J"(K"0p(K"8K"p'K"qK"K" '(L"8L"&L" rL"`L"@(M"p(M"8M"'M"oM"M"p*M"*N"p(N"@`N"#N"N"#(O"`O"*O"0O"P#(P"p`P"#P"ȤP""(Q"`Q""Q"hQ"p"(R"`R"P"R"R"0"(S"p0S"&@S"p&S"PqS"S"#(T"`T"p#T"`T"&(U"`U"0#U"U""(V"H`V""V"V""(W"`W"!W"@W"!(X"`X"`*8`"(`"`"{Xa"(|a"b"`xb"b"8c"c"8c"`Xd"d"؉e"0{xe"h{e"{8f"8~f"p~f"~Xg"@g"h"xh"h"@8i"xi"i"Xj"8j"k"@xk"k"8l"l"l"xXm"m"n"@xn"n"8o"Po"o"8Xp"p"q"Hxq"q"H8r"pr"}r"}Xs"{s"~t"xxt"(zt"8u"u"}u"p|Xv"|v"H}w"xw"0w"8x"Hzx"zx"zXy"(y"z"Pz"ʖz"z"8{"{" {"HX|"x|"}"x}"P}"8~"~"~"~"~"~"Ɯ~"ٜ~"~"~""~"p"~"`"~"P""@""0"" "("8"#H"0X"Eh"Rx"j""""""8""4""""Є""""""0""@"`"H"I"`""І"؆"" "X"""x"H؈"88"""NЉ"̭؉" " 0"̭8"p"B"X"""@x"Ȍ"Ќ"،"̭"̭""""""@""""" ""(""0""8"@"@""H""P""X""`"@"h""p"@"x"""""""""@""""""@"""""ȍ""Ѝ"@"؍"""""*""@*""(""("")""@)"")" ")"("("0"@("8"@'"@"'"H"'"P"*"X"@,"`","h","p""x"""""@""""""""@"""""" "Ȏ"@ "Ў" "؎" ""!""@!""!""!"""""@"""""""" "#"("&"0"&"8"'"@"@#"H"#"P"#"X"$"`"@$"h"$"p"$"x"%""@%""%""%""&""@&"",""*""+""@+"ȏ"+"Џ"+"؏"-""@-""-""-"".""@."".""@/""/" "/"("."0"/"8"0"@"@0"H""P"@"X""`""h"@"p"0"x" 1""`1""1""1"" 2""`2""2""2"" 3""`3"Ȑ"3"А"`4"ؐ" 4""3""4""4"" 5""`5""5""5"" 6" "`6"("6"0"6"8" 7"@"`7"H"7"P" 8"X"`8"`"7"h" ="p"<"x"<""`<"" <"";"";""`;"" ;"":"":""`:"ȑ" :"Б"9"ؑ"9""`9"" 9""@""@""`=""=""HA""?" " @"("A"0">"8" ?"@"`?"H"?"P"="X" >"`"`>"h">"p"B"x"hB""B""(C""C""C""HD""D""E""hE""E"Ȓ"(F"В"`G"ؒ"G""G""F""`F""F"" G"" H"I"I"5I" _"_"_"0_"6_"<_"~{"I"HI"`I"hI"@"""""["["["["["["["[" [" [" [" ["\"\"\"\" \"(\"0\"8\"@\"H\"P\"X\"`\"h\"p\" x\"!\""\"#\"$\"%\"&\"'\"(\")\"*\"+\",\"-\".\"/\"1\"2]"3]"4]"7]"8 ]"9(]":0]";8]"<@]"=H]">P]"?X]"@`]"Ah]"Bp]"Cx]"D]"E]"F]"G]"H]"I]"J]"K]"L]"M]"N]"O]"P]"Q]"R]"S]"T^"U^"V^"W^"X ^"Y(^"Z0^"[8^"\@^"]H^"^P^"_X^"``^"ah^"bp^"cx^"d^"e^"f^"g^"h^"i^"j^"k^"l^"m^"n^"o^"p^"q^"r^"s^"t_"u_"v_"w_"x _"y(_"z0_"{8_"|@_"}H_"P_"X_"`_"h_"p_"x_"_"_"_"_"_"_"_"_"_"_"HHq!HtH5!%!hhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#h$h%h&h'qh(ah)Qh*Ah+1h,!h-h.h/h0h1h2h3h4h5h6h7qh8ah9Qh:Ah;1h<!h=h>h?h@hAhBhChDhEhFhGqhHahIQhJAhK1hL!hMhNhOhPhQhRhShThUhVhWqhXahYQhZAh[1h\!h]h^h_h`hahbhchdhehfhgqhhahiQhjAhk1hl!hmhnhohphqhrhshthuhvhwqhxahyQhzAh{1h|!h}h~hhhhhhh%!D%!D%!D%!D%!D%!D%!D%}!D%u!D%m!D%e!D%]!D%U!D%M!D%E!D%=!D%5!D%-!D%%!D%!D%!D% !D%!D%!D%!D%!D%!D%ݙ!D%ՙ!D%͙!D%ř!D%!D%!D%!D%!D%!D%!D%!D%!D%}!D%u!D%m!D%e!D%]!D%U!D%M!D%E!D%=!D%5!D%-!D%%!D%!D%!D% !D%!D%!D%!D%!D%!D%ݘ!D%՘!D%͘!D%Ř!D%!D%!D%!D%!D%!D%!D%!D%!D%}!D%u!D%m!D%e!D%]!D%U!D%M!D%E!D%=!D%5!D%-!D%%!D%!D%!D% !D%!D%!D%!D%!D%!D%ݗ!D%՗!D%͗!D%ŗ!D%!D%!D%!D%!D%!D%!D%!D%!D%}!D%u!D%m!D%e!D%]!D%U!D%M!D%E!D%=!D%5!D%-!D%%!D%!D%!D% !D%!D%!D%!D%!D%!D%ݖ!D%Ֆ!D%͖!D%Ŗ!D%!D%!D%!D%!D%!D%!D%!DHPTH|f.fHU!Ht HQ!HPHF!Hf.H!Ht H!HPHְ!Hf.H5!Ht H1!HPH&!Hf.H!Ht H!HPHv!Hf.H!H޼!HHDH!H!HHǼ!ff.H!H!HHDH!H!HH!f.@H!HN!HO!HH}!ff.H=Ŵ!UHHATISH=!HH5!Hi1Lu"H;!O謭7DL }!1LDH=!H!H!dH=!X[1A\]ÿwHM!H>!HHDH!H!HH'!f.@H=!1I^HHPTL֭H _H=!H=!H!H9tH!Ht H=!H5z!H)HHH?HHtHM!HtfD=M!u+UH=*!Ht H=G!9d%!]w1HVH9WtF9Gff.UHHH`HhLpLxt )E)M)U)])e)m)u)}dH%(HH1HHEw(H8H0HPH@Dž0Dž40HHdH3%(uff.9PUHb!HAVLcAUMATSHBL%6!Mu;DHM$$Mt#ID$AD$tI|$DHM$$MuHcP,HHb!N$L4KH0MH5MHH=][!1RDPd[A\A]A^]@UHH dH%(HE1fUHW|fEG|E^E^=^t#;Et6HMdH3 %(u*u@8ruӸE8Bu1>ff.HH=B!ff.fUHAWAVHUAUIATSHJH8dH%(HE1H0HH@HH@HGHuM01E1E11HQHH9s+HMAH:EPPD9WXuMQLDHAH9rH=\!L}LHHEME8A,EI\$@Av\7I0IH5HH=\!1RrMeMH]dH3%(H8[A\A]A^A_]fDI0IH5ҩHH=[!1R@1H=\!1L}HߺE1LA,}I0MH5HH=\!1RAff.UHAUAATIH=֨!SHD,HL0H@.H A HH8AT$HH AD$ǃPCOǃJ^NiHH[A\A]]ff.UHSHH, tOHpt Hp1fH{f@ƃBC(CH[]fD1Qff.@UHSHH_0,H0H5H=OU!H1R2H0H5t!LpHH=T!H@DE|HH߾[]fUHATSH@dH%(HE1HDgXHEtqLHDp@IHH=!HuLeEXIHMdH3 %(LH@[A\]fDH)!urt E1@H !tHS@H5?1H=H!H٪!tSXHK@H5D1H=[H!\HS@H51H=H!H?mDUHATSHHo!u8HIHtHQ!uR<t/<ts[A\]fDHW@H51H=C!'DI|$ Hu[A\]kAT$1HK@H5H=?C!<uDI|$(Ht[A\]UHAUIATSHHt&HnHHIHL[A\A]]fH=!IHtH0HtHFHt%HL;htLGHtHCHHu1H=A!1fDUPPLHSH]HpWdH%(HE1HGHRLH@1XHZHMdH3 %(uH] H01fDytfAd@IƇB)fFfH1, f@tHt1 f.11f.UHAVAUATISHĀ,dH%(HE1`Ml$IHgHHXHXHHS 9u܃ uL`1AD$LHf`HCP@AT$dA|$A|$pL\HE1H:!HudH34%(DqH[A\A]A^]@RL`1 AD$ LHf`HCAUPo@oHxAD$h81H=R!10I$0LhIHME@I$0H54HH=bR!1ARBDA$,H[I$0IH5HH=Q!1R80A$,H[I|I$0MIHH51ARH=Q!yUHAVAUATSHHH8dH%(HE1HIWHHHHHH)HH9tHH$H9u%CIfLH0HDCHsHXDHHP@PH8AU@PERH IHפ!,HH=}HEL`LL|{M1HXALRHXI#TMxfTHEdH3%(LHe[A\A]A^]@HxH8WDHXL@@8,InH0MH5աHH=P!1R]@H)HLCIydff.@UHATSH_0Hj!HcPtC,HT!L$H0[H5MHA\1RH=K!]@HXH0H5:!LpHHiH="K![@A\]DE>fD,MH0H5H=(K!H1R7fDUHAVAUATSHDPdH%(HE1EHH, DCE0DSE#H5T!LxHHH=Hht Hh(Hxt HxHt HH{Ht  {fC(C3{1HB[1A\]Cf{C~HQ!t,H0L &L*HH51RH==![1A\]DAtH>H8HtxHHtpHHHt@LJD;u#AtEA uGHqHy I31I3yH t3HHt0HHHuU1H= A!1Hq9ruиf1ff.fHG @w@CHG(@CÐf9wHO fwH0~tuVAdvR)AfFfHHO(H0~tEVdvR)fFfHDDDDff.fUHAUATISHHdH%(HE1H_(H0xu Hx Hp(L(uH{H=! Ao$H8IAD$LAE5Pt$1HMdH3 %(HH[A\A]]@,t- uLH=-1fH_ H0HIuH"1H=?!1Lm,It$.L,H0MH5HH= ?!1R2gUHH dH%(HE1uHuERHUdH3%(uff.UHH dH%(HE1t/HuHuE HUHMdH3 %(ufD1H==!ff.fUHAVAAUAATISH@dH%(HE1HtPH}H= !@HuEHHt-HMdH3 %(HH@[A\A]A^]f.AF1<wɾ0H=!EHL`DpHDh!C!fC!C!CH߾ HC 5^!HHC(Hm!H=2!H0xUHH@dH%(HE1Ht0@H}H=!uHuHUdH3%(u @1UH>!HAUATISHcH,L,I$0MH=7!HH5ߑ1RMH=!LHH[A\A]]HGHUHAUATSHHLg A$PL-'A$,}SMH5HH=Lw(LDw I0Hx Hp([I8HH0Ht{HFMeHuKf uHPHH I$I3L$H1H ufI8Ht'HCHHtCHA;Uuu@A9EuI8Pu APu[1A\A]A^]1H=W8!1 [LA\A]A^]ff.UHH dH%(HE1HuHuE HUHMdH3 %(uUHH dH%(HE1uHuEbHUdH3%(ufDHHt0H{Ht?t}1H=!1hH}HEdH3%(uH[] ff.UHAVAUIATSHdH%(HE1LHEHqL MeI\$L5Hu5HC(L9hM$$M-I\$HHL蟾tHC L9hu@AtHv!H{ HC ƀAHC(L9hu@uOBhHv!pH{(7HC(ƀB=1H=!1HIv!H{(HC(ƀ@Hv!urH{ YHC ƀ@fH}=!u&HEdH3%(H[A\A]A^]fDLHuLÐHC ,!SH5_H=!H1f_HC(,SH5/H=!H16HC ,SH5GH=!H1HHC(,葺SLH=4!H1e@UHAVAUIATSHdH%(HE1LHEHL MI\$HtkMu@"DHC(L9ht+M$$Mt]I\$HtCHL9kt HC L9huHtt!tNjSLH51H= !1H= !1蠶H}7HEdH3%(u H[A\A]A^]FfDUHSHH+C`uHH[]HHH[]f.UHAUIATSH(dH%(HE1H=i!|HEHL Mu,fL9oH{(L9oM$$MI\$HH{ L9kuþIH{(;HC AH@HC(H@u1H= !1IfHC H@mDHC(H@MD1H= !1H}臺=p!uHEdH3%(H([A\A]]LXHEHtL MtwI\$L-}HuT@M$$MtWI\$Ht=;tH{tHC HxuHC(HxuHq!u+HE1H='!10H}ǹDSLH=!1n׸UHATISHdH%(HE1zHEHtAHHu7HHt#H{Hu1H=!1蚳f.H}'LHEdH3%(u H[A\]2fUHSHH[uH[]HH[]fUHATIS1ۀ=!t,=!HHHEH5݅1+m!dtH5مL1 N!fdtH5t|L1҃=*!t,="!tG=!tb=!u}[A\]f.1HLH5{蕶=ۆ!u1H`LH5oq=!u1H<LH5{M=!tLH1H5>)[A\]fUH5{H=61H胳H5{H=)7!1hH5{H=!1H5{H=f!1葷H5{H=!1vH5g{H={υ!1[HH5]!H=_!!花1111]Hr!DUHSHH=T!dH%(HE1XHEHt?HHu5DHHt#H{Hu1H=!1芰f.H}H=!1H=ڄ!MHEdH3%(uH[]fUHHH`HhLpLxt )E)M)U)])e)m)u)}dH%(HH1HHEw(H8H0HPH@Dž0Dž40褱HHdH3%(u[ff.UHAWAVAUATISHLodH%(HE1AE`IcHIu|fMLuAEAE|MNEFf}LfAF UEEfDE IcAHNjGHWfDOIcHʉHL)HXL}H޿L蝵H&l!KHl!!AEPL`1LHX=tg!HDžhAdAA@kDžlfA@Dž`=HA$\HEdH3%($HĈ[A\A]A^A_]fD,襰ME@I$0H5ʅHH=X!1R>@A$,kME@I$0H5؅HH=!1RdHXLI@A$,I$0MME@HH5ʅH=C!1Ry@A$,ӯI$0MME@HH5ʅH=!1Rioff.@UHATS,H_IC`uKH8HtHHu\]fHLHHtHsHu1H=:!1#LC@[I$0HA\H551RH=!]1H=!1ثUHHdH%(HE10H5 H=2p!w5HEϯH}d!@d!~6Hh!uhHi!u:HEdH3%(upfH5фH=r!1fH5H=!1f1H57H=!Hh!t薯fDU=c!Hmc!HLh!u]H5iH=!1]:f.c!UHAWAVIAUATL%g!SHRg!Lk8H@MAIHIL9t-HHLtI$H5L1HI+L9uH1[A\A]A^A_]DAHf!HH8A"H :HHt#HH9t0H@uL!HHuHHHH9u@f1DUEHSDU]D] u(}0EtqIH lf!EsH f!E2H Zf!thH .f!EH Mf!@tqL `f!@tL e![]Ets+H!'f!EH!e!EAADH!e!@ut@tH!~e![]EtsDAADH!oe!EgEouKEu@@tuH!{e!@H! e!:utAADH!d!E6Et[IIkfDAAL d!IqfD@IM489rTTq1H=^ !1AXTfT;1H=g !1ВHH=rZ!ff.fUHAWAVAUATSHH $HH $HdH%(HE1HHD II׹  LALzALnHLLЗEHLIŹ AH!LZzIc4к1$XLZLH脗EO LL3zIź1 HLLNEO LLzIź1 趗HLLEO LLyIź1 耗HLLEO LLyIź1fA EAHLL裖EO LILy1fA EHLLdI\HMdH3 %(HuHe[A\A]A^A_]YfUHAWAVAUAATSHhHEL}LEHxdH%(HE1HAH8, Hy(v4H)4HA fDHtH9pH8wfHxHtTHu Hx1RH@HxHt-HLMLNzPHu H1֕Y^@HH]dH3%( He[A\A]A^A_]@<BI?HAA o@AAH9EZH;MI?D7AAD9HuLRMEHfA9EAAAHD)HIHHDH;EAHEMhE1HEurf.IMAD8pvXHU.L}HuHxHHu ELzwHhH@HEH} GfH;uG<HoA譇L9Eu~MQH}u W!HEH]LM1LgoHW1H}H}H5IvHtgHxL0LL`f.IG ,H.LeLaLHReHHHsHu1H= 1m^H5aJH`HH5ZKHI1bH= 0!LaHb@HHHHJfDHt)HXaHH5JH1bHX9bH]c1)HxH`H5 NL)^LH5NH^IG(LpH5/H@LHHP@H\IHDg^HH5BMLQ^IG(EHLmxHp.L7d}9 LpLH5LL^HhH5LL]IG(H5LLC$cIG(H5LLDHccIG(H5LLFHcbIG(H5LLHHcbIG(LHH5LTLbIG(H5LL狐XbIG(H5LL狐`lbIG(H5nLL狐dSbLH5bLLq\IG(H8J+L"MIt$HtZL0LP DIG(,H.LbL]LH2bM$$MIt$Hu1H=b 1K[Lmx-.H5HL`H=m L50HMZAOH1HH5LHFH1H55F_LH1HFH5F_LH1HFH5Ev_LH1HFH5E[_HxH1HFH5E<_HhH1HFH5E_AOH1HHH5E_IG HsFH5EHL5EC1^IG(HaFHH5EC1^AHH FEIEHGFH5E1^AHH EIEH,FH5D1c^AHH DIEHKH5D1;^AGHEHH5F 1^IG HnKHH5ED 1]IG(HnKHH5ED 1]IG HEHH5uDT1]IG(HEHH5SDT1]IG HEHH51DX1c]IG(HEHH5DX1A]IG HEHH5C\1]IG(HEHH5C`1\IG HtEHH5Cd1\IG(HiEHH5Cd1\IG H^EHH5DF 1\IG(HEEHH5ZDF 1i\IG H,EHH52DH 1A\IG(HEHH5 DH 1\IG HEHH5BH8H1[foXHA..fD ))ƅ"HIG H8DJEZL2MNIvHt\L0L%B DIG ,H.L[LLHH1F[M6MIvHu1H=8 1TLpHPH5 ELUHLH5;'UHXH"[5DH=(!YHWHH5HXVHHAHHH.HDžHDžHDžD1H= 1SIG(HNCHH5@H8H1"ZIG(H8zL2MIvHt^L0L%m@ IG(,H.LeZLLHH1YM6MIvHu1H= 1 SIG(x.H5@LLXLIG(WfDU1HAWAVAUAATIH5CSHLHSH5'1LI1SLH5CHI1VEuH50LSuLH5BH1zVHHH5'>1[A\A]A^A_][Vff.U1HAUATISHH5BHH8S1HI1RH=LLH$H5mBHDH1[A\A]]UU1HAUATISHH5cBHHRH1I1RHLL[HA\1A]H5B]UU1HAUIH5 BATSHLHhRL1I19PHLH[H5$EA\ A]1]#UU1HAUATISHH5AHHRH1I1QHLL[HA\1A]H5A]TU1HAUATISHH5@AHHQH1I1QHLL[HA\1A]H52A]hTU1HAUATISHH5@HHHQ1HI1PH;LLH"H5@HDH1[A\A]]SU1HAUATISHH5s@HHP1HI1IPHn;LLH"H5CHDH1[A\A]]SUH=!HOH=!O19RDTH5 #TH5L TH5{ TH5 SH5 SH5( SH5 SH5 SH5U SH5 SH5s ySH5 hSH5 WSH5 FSH5 5SH5> $SH5 ]SfUHHH`HhLpLxt )E)M)U)])e)m)u)}dH%(HH1HHEw(H8H0HPH@Dž0Dž40TOHHdH3%(u Rff.1EQDUHH@H~ dH%(HE1HEHPHUdH3%(u1Qff.fUHAWAVAUATISHHH !HHL(MtIEHtaL=OL5OH@@L@H !t&@ MHLMEH5PH=N 1GMmMtIEHu1H= 1LDH[A\A]A^A_]ÐHO@HH=B 1H5[O8ff.@H !uÐUHATISHPHHK@H5OPCpH= LJDPChPs`PPCPC~PC}PC|PCXPB@LPDCP1[H`He[A\]ff.UH5SHSHHDH蜔H1[]UH5RHSHHH輔H1[]UH5LRHSHHH|H1[]UH5 RHSHHH H1[]UHSHHv (LHt)H8HH5FQqH;H57QbH;ʖH1[]ÐUHSHHv KHt)H8HH5P!H;H5PH;ڕH1[]ÐUHATISH !t<@H6MHGH 6HDH0H5MH= L@@1RIT$H=!A[A\H]p@Pff.UHATISHy!t.@HLHW@H b6H5MHDH= 1I$H=U!L[A\p@]cHUH HH5H=HHH=P!H$ H5=!GH Q1ҾH HH !H!JHvO1]H5Ht1LLDAHH9uH[]A\A]A^A_ff.HH[CORE] [VRID %u] [%s] %s -> %s[CORE] [VRID %u] [%s] Interface: None (no interface found w/ MAC %s)[CORE] [VRID %u] [%s] Interface: Multiple interfaces found; using %s[CORE] [VRID %u] [%s] Interface: %s[CORE] [VRID %u] [%s] Master_Down_Timer expired[CORE] Interface %s has no parent ifindex; disregarding[CORE] Interface %s has a non-VRRP MAC; disregarding[CORE] Tried to lookup interface %d, parent of %s, but it doesn't exist[CORE] Searching for instances that could use interface %s[CORE] [VRID %u] <-- This instance can probably use interface %s[CORE] [VRID %u] [%s] Failed to bind Tx socket to primary IP address %pFX: %s[CORE] [VRID %u] [%s] Bound Tx socket to primary IP address %pFX[CORE] [VRID %u] [%s] Failed to find address to bind on %s[CORE] [VRID %u] [%s] Failed to send VRRP Advertisement: %s[CORE] [VRID %u] [%s] Adver_Timer expired[CORE] [VRID %u] [%s] Adver_Timer expired in state '%s'; this is a bug[CORE] [VRID %u] [%s] No appropriate interface found[CORE] [VRID %u] [%s] Can't create VRRP %s socket[CORE] [VRID %u] [%s] Failed to bind Tx socket to macvlan device '%s'[CORE] [VRID %u] [%s] Failed to set outgoing multicast TTL count to 255; RFC 5798 compliant implementations will drop our packets[CORE] [VRID %u] [%s] Failed to bind Rx socket to %s: %s[CORE] [VRID %u] [%s] Bound Rx socket to %s[CORE] [VRID %u] [%s] Failed to bind Rx socket to VRRP multicast group: %s[CORE] [VRID %u] [%s] Bound Rx socket to VRRP multicast group[CORE] [VRID %u] Failed to join VRRP %s multicast group[CORE] [VRID %u] [%s] Joined VRRP multicast group[CORE] [VRID %u] [%s] Could not set %s as outgoing multicast interface[CORE] [VRID %u] [%s] Set %s as outgoing multicast interface[CORE] [VRID %u] [%s] Failed to set outgoing multicast hop count to 255; RFC 5798 compliant implementations will drop our packets[CORE] [VRID %u] [%s] Failed to request IPv6 Hop Limit delivery[CORE] [VRID %u] [%s] Failed to join VRRP multicast group[CORE] [VRID %u] [%s] Failed to initialize VRRP router[CORE] [VRID %u] [%s] %s has priority set to 255 or owns primary Virtual Router IP %s; electing self as Master[CORE] [VRID %u] [%s] Delaying VRRP advertisement until interface is up[CORE] [VRID %u] [%s] Delaying VRRP gratuitous ARPs until interface is up[CORE] [VRID %u] [%s] Delaying VRRP unsolicited neighbor advertisement until interface is up[CORE] [VRID %u] [%s] Received '%s' event in '%s' state; ignoring[CORE] [VRID %u] [%s] This VRRP router is not the address owner of %s, but is the address owner of other addresses; this config is unsupported.[CORE] [VRID %u] [%s] '%s' eventNo Virtual IP address configured[CORE] [VRID %u] [%s] Refusing to start Virtual Router: %s[CORE] [VRID %u] [%s] Datagram rx: [CORE] [VRID %u] [%s] Datagram invalid: %s[CORE] [VRID %u] [%s] Received VRRP Advertisement from %s: %s[CORE] [VRID %u] [%s] Datagram invalid: Advertisement contains VRID %hhu which does not match our instance[CORE] [VRID %u] [%s] Datagram invalid: Received advertisement but we are the address owner[CORE] [VRID %u] [%s] Datagram invalid: Received advertisement with advertisement interval %hhu unequal to our configured value %u[CORE] [VRID %u] [%s] Datagram has %hhu addresses, but this VRRP instance has %u[CORE] [VRID %u] [%s] Received advertisement from %s w/ priority %hhu; switching to Backup[CORE] [VRID %u] [%s] Discarding advertisement from %s (%hhu <= %hhu & %s <= %s)[CORE] [VRID %u] [%s] Discarding advertisement from %s (%hhu < %hhu & preempt = true)[CORE] [VRID %u] [%s] Received ADVERTISEMENT in state %s; this is a bug[CORE] [VRID %u] [%s] Setting Virtual IP list to match IPv4 addresses on %s[CORE] [VRID %u] [%s] Adding %pFX[CORE] [VRID %u] [%s] Virtual IP list is empty; shutting down[CORE] [VRID %u] [%s] Autoconfiguring VRRP on %s[CORE] [VRID %u] [%s] Failed to autoconfigure VRRP on %s[CORE] [VRID %u] [%s] Interface up; sending pending advertisement[CORE] [VRID %u] [%s] Interface up; sending pending gratuitous ARP[CORE] [VRID %u] [%s] Interface up; sending pending Unsolicited Neighbor Advertisement[CORE] [VRID %u] Interface %s down[CORE] [VRID %u] All VRRP interfaces for instance deleted; destroying autoconfigured VRRP routervrrp default advertisement-interval %u %svrrp default checksum-with-ipv4-pseudoheader /frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group%s/checksum-with-ipv4-pseudoheadervr->vrid, family2str(vr->v6->family)vr->vrid, family2str(vr->v4->family)r->vr->vrid, family2str(r->family)r->vr->vrid, family2str(r->family), c->addressr->vr->vrid, family2str(r->family), r->mvl_ifp->namevrid, family2str(fam), p->namemvl_ifp->link_ifindex, mvl_ifp->namer->vr->vrid, family2str(r->family), safe_strerror((*__errno_location ()))r->vr->vrid, family2str(r->family), r->vr->ifp->namer->vr->vrid, family2str(r->family), r->vr->ifp->name, safe_strerror((*__errno_location ()))listhead(r->vr->ifp->connected)r->vr->vrid, family2str(r->family), rxtxr->vr->vrid, family2str(r->family), vrrp_state_names[r->fsm.state]r->vr->vrid, family2str(r->family), sipstr, pkt->hdr.priority, r->priorityr->vr->vrid, family2str(r->family), sipstr, pkt->hdr.priority, r->priority, sipstr, dipstrr->vr->vrid, family2str(r->family), sipstr, pkt->hdr.priorityr->vr->vrid, family2str(r->family), pkt->hdr.naddr, r->addrs->countr->vr->vrid, family2str(r->family), pkt->hdr.v2.adver_int, (((r->vr->advertisement_interval / 100)>(1))?(r->vr->advertisement_interval / 100):(1))r->vr->vrid, family2str(r->family), pkt->hdr.vridr->vr->vrid, family2str(r->family), sipstr, dumpbufr->vr->vrid, family2str(r->family), errbufr->vr->vrid, family2str(r->family), r->vr->ifp->name, ipbufr->vr->vrid, family2str(r->family), vrrp_state_names[r->fsm.state], vrrp_state_names[to]r->vr->vrid, family2str(r->family), vrrp_event_names[1], vrrp_state_names[0]r->vr->vrid, family2str(r->family), vrrp_event_names[event]r->vr->vrid, family2str(r->family), c->address, safe_strerror((*__errno_location ()))r->vr->vrid, family2str(r->family), ifp->namer->vr->vrid, family2str(r->family), selection->namer->vr->vrid, family2str(r->family), ethstrr->vr->vrid, family2str(r->family), ipbuf!(r->vr->version == 2 && ip->ipa_type == IPADDR_V6)vr->vrid, family2str(r->family), whynot%s@%u224.0.0.18ff02:0:0:0:0:0:0:12InitializeShutdownNo VRRP interfaceNo base interfaceAlready runningVRRPv2 does not support v6No primary IPv4 address version 2vrrp autoconfigure%s vrrp default priority %hhu no %svrrp default preempt %svrrp default accept %svrrp default shutdown %s/version%s/priority%s/advertisement-interval%s/preempt%s/accept-modeVRRP virtual router hashvrrpd/vrrp.c(ln)->data != NULLlnvr->vridifp->configuredvr->vrid, ifp->namevr->vrid, mvl_ifp->namevrrp_master_down_timer_expire&r->t_master_down_timervrrp_adver_timer_expire&r->t_adver_timervrrp_read&r->t_readlisthead(r->addrs)!!selection == !!candidatesvr->version != 2r->family == afvrrp_change_state_hookStartupMasterBackupVRRP RouterVRRP IP addressvrrp_finivrrp_if_address_addvrrp_autoconfig_if_delvrrp_if_delvrrp_if_downvrrp_lookup_by_ifvrrp_bind_pendingvrrp_if_upvrrp_autoconfig_offvrrp_autoconfig_autoaddrupdatevrrp_autoconfig_autocreatevrrp_lookup_by_if_mvlvrrp_socketvrrp_recv_advertisementvrrp_readvrrp_adver_timer_expirevrrp_master_down_timer_expirevrrp_startupvrrp_change_statevrrp_shutdownvrrp_eventvrrp_bind_to_primary_connectedvrrp_send_advertisementvrrp_change_state_mastervrrp_attach_interfacevrrp_del_ipvrrp_add_ipv6vrrp_has_ipvrrp_add_ipvrrp_check_start[ARP] [VRID %u] [%s] Unable to send gratuitous ARP on %s; has IFF_NOARP[ARP] [VRID %u] [%s] Unable to send gratuitous ARP on %s; MAC address unknown[ARP] [VRID %u] [%s] Sending gratuitous ARP on %s for %s[ARP] [VRID %u] [%s] Error sending gratuitous ARP on %s for %s[ARP] Initialized gratuitous ARP socket[ARP] Initialized gratuitous ARP subsystem[ARP] Error initializing gratuitous ARP subsystem[ARP] Deinitialized gratuitous ARP subsystemr->vr->vrid, family2str(r->family), ifp->name, astrvrrp_garp_finivrrp_garp_initvrrp_garp_send_allvrrp_garp_sendvrrpd/vrrp_arp.cr->family == AF_INETdebug vrrp arpdebug vrrp autoconfiguredebug vrrp ndiscdebug vrrp packetsdebug vrrp protocoldebug vrrp socketsdebug vrrp zebraVRRP Zebra eventsVRRP socketsVRRP protocol eventsVRRP packetsVRRP Neighbor DiscoveryVRRP autoconfiguration eventsVRRP ARPTerminating on signalSIGHUP received%s/vrrpd.confvrrpd/vrrp_main.cdummy8.5.7vrrpd daemonVRRPfrrfrrvtysighupsigintVirtual Router Redundancy Protocol[NDISC] [VRID %u] [%s] Sending unsolicited Neighbor Advertisement on %s for %s[NDISC] [VRID %u] [%s] Error sending unsolicited Neighbor Advertisement on %s for %s[NDISC] Initialized Neighbor Discovery socket[NDISC] Initialized Neighbor Discovery subsystem[NDISC] Error initializing Neighbor Discovery socket[NDISC] Deinitialized Neighbor Discovery subsystemr->vr->vrid, family2str(r->family), ifp->name, ipbufvrrp_ndisc_finivrrp_ndisc_initvrrp_ndisc_una_send_allvrrp_ndisc_una_sendvrrpd/vrrp_ndisc.cr->family == AF_INET6./versionvrrpd/vrrp_northbound.cfrr-vrrpdVirtual Router with ID %d already exists on interface '%s'; created by VRRP autoconfiguration/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/version/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/priority/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/preempt/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/accept-mode/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/checksum-with-ipv4-pseudoheader/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/advertisement-interval/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/shutdown/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v4/virtual-address/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v4/current-priority/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v4/vrrp-interface/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v4/source-address/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v4/state/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v4/master-advertisement-interval/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v4/skew-time/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v4/counter/state-transition/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v4/counter/tx/advertisement/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v4/counter/tx/gratuitous-arp/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v4/counter/rx/advertisement/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v6/virtual-address/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v6/current-priority/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v6/vrrp-interface/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v6/source-address/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v6/state/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v6/master-advertisement-interval/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v6/skew-time/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v6/counter/state-transition/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v6/counter/tx/advertisement/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v6/counter/tx/neighbor-advertisement/frr-interface:lib/interface/frr-vrrpd:vrrp/vrrp-group/v6/counter/rx/advertisementlib_interface_vrrp_vrrp_group_get_nextversion %u, type %u (%s), vrid %u, priority %u, #%u addresses, max adver int %u, checksum %x or missing auth fieldsIPv4 packet has no payloadIPv6 Hop Limit not receivedBad version %uBad type %uBad authentication type %hhuBad IP address, #%hhuvrrpd/vrrp_packet.c!"Unknown address family"!(version == 2 && v6)version >= 2 && version <= 3UnknownADVERTISEMENTVRRP packetDatagram not large enough to contain IP headerIPv4 packet length field does not match # received bytes; %hu!= %zuIPv4 TTL is %hhu; should be 255IPv6 Hop Limit is %hhu; should be 255VRRP packet is undersized (%zu < %zu)VRRP packet is oversized (%zu > %zu)Bad VRRP checksum %hx; should be %hxPacket has incorrect # addresses%s!"Invalid VRRP protocol version"vrrp_pkt_parse_datagramvrrp_pkt_checksumvrrp_pkt_adver_buildno%% invalid input for %s: %s VRRP debugging status: advadvintpriopriovalipv4phvrid_strInternal CLI error [%s] %ld.falsetrue./shutdownpriority_str./priorityadvertisement_interval_str./advertisement-intervalip_str./v4/virtual-addressipv6ipv6_str./v6/virtual-address./preemptifn%s|%u|%hhu|%d|%d|%s|%s %s protopktsockYesNoNonejsonVirtual Router ID%s|%uProtocol Version%s|%hhuAutoconfiguredInterfaceVRRP interface (v4)VRRP interface (v6)::Primary IP (v4)Primary IP (v6)Virtual MAC (v4)Virtual MAC (v6)Status (v4)Status (v6)Effective Priority (v4)Effective Priority (v6)Preempt ModeAccept ModeAdvertisement Interval%s|%d ms%s|%d ms (stale)Advertisements Tx (v4)Advertisements Tx (v6)Advertisements Rx (v4)Advertisements Rx (v6)Gratuitous ARP Tx (v4)Neigh. Adverts Tx (v6)State transitions (v4)State transitions (v6)Skew Time (v4)Skew Time (v6)Master Down Interval (v4)Master Down Interval (v6)IPv4 AddressesIPv6 AddressesautoconfiguredpreemptModeacceptModechecksumWithIpv4PseudoheaderadvertisementIntervalvmacprimaryAddressstatuseffectivePrioritymasterAdverIntervalskewTimemasterDownIntervaladverTxadverRxgarpTxtransitionsstatsaddressesv4neighborAdverTx vrrp %s version %s %svrrp %s shutdown vrrp %s priority %s ../../virtual-router-id vrrp %s ip %s vrrp %s ipv6 %s %svrrp %s preempt vrrpd/vrrp_vty.cdebugshow debugging [vrrp]show_debugging_vrrp_cmdshow_debugging_vrrpdebug_vrrp_cmddebug_vrrpvrrp_vrid_show_summary_cmdvrrp_vrid_show_summaryvrrp_vrid_show_cmdvrrp_vrid_showvrrp_default_cmdvrrp_defaultvrrp_autoconfigure_cmdvrrp_autoconfigurevrrp_preempt_cmdvrrp_preemptvrrp_ip6_cmdvrrp_ip6vrrp_ip_cmdvrrp_ipvrrp_advertisement_intervalno_vrrp_priority_cmdno_vrrp_priorityvrrp_shutdown_cmdvrrp_shutdownvrrp_vrid_cmdvrrp_vrid%% Value must be a multiple of %u ./frr-vrrpd:vrrp/vrrp-group[virtual-router-id='%ld']./checksum-with-ipv4-pseudoheaderInterface|VRID|Priority|IPv4|IPv6|State (v4)|State (v6)Checksum with IPv4 PseudoheaderMaster Advertisement Interval (v4) RxMaster Advertisement Interval (v6) Rx vrrp %s advertisement-interval %u %svrrp %s checksum-with-ipv4-pseudoheader Show running system information Debugging functions VRRP information [no] debug vrrp [{protocol$proto|autoconfigure$ac|packets$pkt|sockets$sock|ndisc$ndisc|arp$arp|zebra$zebra}]Negate a command or set its defaults Debugging functions Virtual Router Redundancy Protocol Debug protocol state Debug autoconfiguration Debug sent and received packets Debug socket creation and configuration Debug Neighbor Discovery Debug ARP Debug Zebra events show vrrp [interface INTERFACE$ifn] [(1-255)$vrid] summaryShow running system information Virtual Router Redundancy Protocol Interface information Only show VRRP instances on this interface Virtual Router ID Summarize all VRRP instances show vrrp [interface INTERFACE$ifn] [(1-255)$vrid] [json$json]Show running system information Virtual Router Redundancy Protocol Interface information Only show VRRP instances on this interface Virtual Router ID JavaScript Object Notation [no] vrrp default Negate a command or set its defaults Virtual Router Redundancy Protocol Configure defaults for new VRRP instances Virtual Router Advertisement Interval Advertisement interval in milliseconds Preempt mode Virtual Router Priority Priority value Checksum mode in VRRPv3 Force VRRP router into administrative shutdown [no] vrrp autoconfigure [version (2-3)]Negate a command or set its defaults Virtual Router Redundancy Protocol Automatically set up VRRP instances on VRRP-compatible interfaces Version for automatically configured instances VRRP protocol version [no] vrrp (1-255)$vrid checksum-with-ipv4-pseudoheaderNegate a command or set its defaults Virtual Router Redundancy Protocol Virtual Router ID Checksum mode in VRRPv3 vrrp_checksum_with_ipv4_pseudoheader_cmdvrrp_checksum_with_ipv4_pseudoheader[no] vrrp (1-255)$vrid preemptNegate a command or set its defaults Virtual Router Redundancy Protocol Virtual Router ID Preempt mode [no] vrrp (1-255)$vrid ipv6 X:X::X:XNegate a command or set its defaults Virtual Router Redundancy Protocol Virtual Router ID Add IPv6 address Virtual Router IP address [no] vrrp (1-255)$vrid ip A.B.C.DNegate a command or set its defaults Virtual Router Redundancy Protocol Virtual Router ID Add IPv4 address Virtual Router IP address no vrrp (1-255)$vrid advertisement-interval [(10-40950)]Negate a command or set its defaults Virtual Router Redundancy Protocol Virtual Router ID Virtual Router Advertisement Interval Advertisement interval in milliseconds; must be multiple of 10 no_vrrp_advertisement_interval_cmdno_vrrp_advertisement_intervalvrrp (1-255)$vrid advertisement-interval (10-40950)Virtual Router Redundancy Protocol Virtual Router ID Virtual Router Advertisement Interval Advertisement interval in milliseconds; must be multiple of 10 vrrp_advertisement_interval_cmdno vrrp (1-255)$vrid priority [(1-254)]Negate a command or set its defaults Virtual Router Redundancy Protocol Virtual Router ID Virtual Router Priority Priority value vrrp (1-255)$vrid priority (1-254)Virtual Router Redundancy Protocol Virtual Router ID Virtual Router Priority Priority value [no] vrrp (1-255)$vrid shutdownNegate a command or set its defaults Virtual Router Redundancy Protocol Virtual Router ID Force VRRP router into administrative shutdown [no] vrrp (1-255)$vrid [version (2-3)]Negate a command or set its defaults Virtual Router Redundancy Protocol Virtual Router ID VRRP protocol version VRRP protocol version vrrp_vty_initvrrp_vrid_show_summary_magicvrrp_build_jsonvrrp_showvrrp_vrid_show_magic................secondaryprimary%s: interface %s addresses:offvrrpd/vrrp_zebra.c(node)->data != NULLnodefunc, ifp->name__func__%s: interface %s address %pFX %s%s: %s index %d vrf %s(%u) parent %d mac %02x:%02x:%02x:%02x:%02x:%02x flags %ld metric %d mtu %d operative %d[ZEBRA] [VRID %u] Requesting Zebra to turn router advertisements %s for %s[ZEBRA] Requesting Zebra to set %s protodown %s%s: zclient socket initializedfunc, ifp->name, p, ((ifc->flags) & ((1 << 0))) ? "secondary" : "primary"ifp->name, down ? "on" : "off"r->vr->vrid, enable ? "on" : "off", r->mvl_ifp->namefunc, ifp->name, ifp->ifindex, ifp->vrf->name, ifp->vrf->vrf_id, ifp->link_ifindex, ifp->hw_addr[0], ifp->hw_addr[1], ifp->hw_addr[2], ifp->hw_addr[3], ifp->hw_addr[4], ifp->hw_addr[5], (long)ifp->flags, ifp->metric, ifp->mtu, if_is_operative(ifp)vrrp_zebra_if_address_addvrrp_zebra_debug_if_dump_addressvrrp_zebra_if_address_delvrrp_zebra_initvrrp_zclient_send_interface_protodownvrrp_zebra_radv_setvrrp_ifp_downvrrp_ifp_upvrrp_ifp_destroyvrrp_zebra_debug_if_statevrrp_ifp_create2019-09-09module frr-vrrpd { yang-version 1.1; namespace "http://frrouting.org/yang/vrrpd"; prefix frr-vrrpd; import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import frr-interface { prefix frr-interface; } organization "FRRouting"; contact "FRR Users List: FRR Development List: "; description "This module defines a model for managing FRR vrrpd daemon. Copyright 2020 FRRouting Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."; revision 2019-09-09 { description "Initial revision."; } grouping ip-vrrp-config { description "Configuration data for VRRP on IP interfaces"; leaf virtual-router-id { type uint8 { range "1..255"; } description "Set the virtual router id for use by the VRRP group. This usually also determines the virtual MAC address that is generated for the VRRP group"; } leaf version { type enumeration { enum "2" { value 2; description "VRRP version 2."; } enum "3" { value 3; description "VRRP version 3."; } } default "3"; } leaf priority { type uint8 { range "1..254"; } default "100"; description "Specifies the sending VRRP interface's priority for the virtual router. Higher values equal higher priority"; } leaf preempt { type boolean; default "true"; description "When set to true, enables preemption by a higher priority backup router of a lower priority master router"; } leaf accept-mode { type boolean; default "true"; description "Configure whether packets destined for virtual addresses are accepted even when the virtual address is not owned by the router interface"; } leaf checksum-with-ipv4-pseudoheader { type boolean; default "true"; description "Enabled if VRRPv3 checksum for IPv4 involves pseudoheader"; } leaf advertisement-interval { type uint16 { range "1..4095"; } units "centiseconds"; default "100"; description "Sets the interval between successive VRRP advertisements -- RFC 5798 defines this as a 12-bit value expressed as 0.1 seconds, with default 100, i.e., 1 second. Several implementation express this in units of seconds"; } leaf shutdown { type boolean; default "false"; description "Administrative shutdown for this VRRP group."; } } grouping ip-vrrp-state { description "Grouping for operational state data for a virtual router"; leaf current-priority { type uint8; config false; description "Operational value of the priority for the interface in the VRRP group."; } leaf vrrp-interface { type frr-interface:interface-ref; config false; description "The interface used to transmit VRRP traffic."; } leaf source-address { type inet:ip-address; config false; description "The source IP address used for VRRP advertisements."; } leaf state { type enumeration { enum "Initialize" { description "State when virtual router is waiting for a Startup event."; } enum "Master" { description "State when virtual router is functioning as the forwarding router for the virtual addresses."; } enum "Backup" { description "State when virtual router is monitoring the availability and state of the Master router."; } } config false; } leaf master-advertisement-interval { type uint16 { range "0..4095"; } units "centiseconds"; config false; description "Advertisement interval contained in advertisements received from the Master."; } leaf skew-time { type uint16; units "centiseconds"; config false; description "Time to skew Master_Down_Interval."; } container counter { config false; leaf state-transition { type yang:zero-based-counter32; description "Number of state transitions the virtual router has experienced."; } container tx { leaf advertisement { type yang:zero-based-counter32; description "Number of sent VRRP advertisements."; } } container rx { leaf advertisement { type yang:zero-based-counter32; description "Number of received VRRP advertisements."; } } } } grouping ip-vrrp-top { description "Top-level grouping for Virtual Router Redundancy Protocol"; container vrrp { description "Enclosing container for VRRP groups handled by this IP interface"; reference "RFC 5798 - Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6"; list vrrp-group { key "virtual-router-id"; description "List of VRRP groups, keyed by virtual router id"; uses ip-vrrp-config; container v4 { leaf-list virtual-address { type inet:ipv4-address; description "Configure one or more IPv4 virtual addresses for the VRRP group"; } uses ip-vrrp-state { augment "counter/tx" { leaf gratuitous-arp { type yang:zero-based-counter32; description "Number of sent gratuitous ARP requests."; } } } } container v6 { when "../version = 3"; leaf-list virtual-address { type inet:ipv6-address; description "Configure one or more IPv6 virtual addresses for the VRRP group"; } uses ip-vrrp-state { augment "counter/tx" { leaf neighbor-advertisement { type yang:zero-based-counter32; description "Number of sent unsolicited Neighbor Advertisements."; } } } } } } } augment "/frr-interface:lib/frr-interface:interface" { uses ip-vrrp-top; } } ;p\,L |   L L\p||,<$L\l| 8,8 ,d    ,( |H l  | 0 ` \   \D  <    , L!X L" " $ \%%(&T't|(<),,, -DL.h\.|.\/l/|/11$2H2d2x 33 6Pl7xl888889<9$\98|9L9`9t99:<:\:::::(;X;x <<\=== >8\>\>,?|??<@A@LA`\AtAABC EP Fdȗ>ȗb"lȗH`b"cȗHb"Xȗ`pa"Oȗp  c"`c"8 c"d" ؉(@d" (e"@{H`e"@h{e"@0{n";X@m"3X@m",Xl""Xxl"X l"Xk"Xp`k"Xk"X@j"X@j"X8i"Xi"X i"Xxh"X@XX`h"Xh"Xpg"X@g"X@f"sX~f"cXp~ f"NX8~x`q"pq"pHp#p#p"p@p#@p"pp;So"p8o"}p( o"ppPn"gp`n"`peo r"p0q"Hr"};Sr"};S@s"{H#A;St";x`,z)eos"~`t"(zt"k u"P@v"0|u"0p|u"0}00v"0PH}pw"zp`w"tp0w"mpx"Lzx"Hz x"DHzP?șș@y"ؙ(ؙؙz"|y"O@@@5 {"g ̭@|"g0x̭{"g0H̭{"g0 ̭g@g@|"g@g@x ~"gX}"gX`}"gXP}"gX"Iŝ̭ "Qŝ̭ŝםݝ@"Ḓ`"DH̭"Ḓ"ḒDDDW "D0"D08D0Wfwfw'@;i'`'Uy'kA" A" `@" @" @" @B" A"F"E"@E"D"D" D"C"`C"C"B"KKAA}}X@8'?WSbXpTmPp\t8Zҳ6߳AR&P  pN'4 H`K=Iп0IPpFQ8@DmApzHh@` <<8bu8b">b"6bB@"b"b0"b0@P`"-bw`wtI" %0*P)$$o(@(0pp'q '& r`@(p'op**p@##*0P#p#Ȥ""hp"P"0"p&p&Pq#p#`&0#"H""!@!`*  P z@"8x"(oX0  [" 0{ oo0oo".o (Y"и 0@P`pй 0@P`pк 0@P`pл 0@P`pм 0@P`pн 0@P`pо 0@P`pп 0@P`p({(|`8`؉0{h{{8~p~~@@x8@x@P8HHp}}{~x(z}p||H}0Hzzz(ʖ HxPƜٜ"p"`"P"@"0" "#0ERj""4" "; "`"I""H8NZ̭ ̭pB@̭̭""@""""""@"""""@""@"""""@"""@""""@"""*"@*"("(")"@)")")"("@("@'"'"'"*"@,",",""""@""""@""" "@ " " "!"@!"!"!"""@""""""#"&"&"'"@#"#"#"$"@$"$"$"%"@%"%"%"&"@&","*"+"@+"+"+"-"@-"-"-"."@."."@/"/"/"."/"0"@0""@"""@"0" 1"`1"1"1" 2"`2"2"2" 3"`3"3"`4" 4"3"4"4" 5"`5"5"5" 6"`6"6"6" 7"`7"7" 8"`8"7" ="<"<"`<" <";";"`;" ;":":"`:" :"9"9"`9" 9"@"@"`="="HA"?" @"A">" ?"`?"?"=" >"`>">"B"hB"B"(C"C"C"HD"D"E"hE"E"(F"`G"G"G"F"`F"F" G" H"GA$3a1P? GA$3p1113@yGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA!omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1@z GA$3p1113zGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+stack_clashGA!stack_realignGA*s GA*GOW*GA!omit_frame_pointerGA*yz GA*GOW*GA+omit_frame_pointer GA*FORTIFY6GA+GLIBCXX_ASSERTIONS GA*FORTIFYyGA+GLIBCXX_ASSERTIONSvrrpd-8.5.7-02.el8.x86_64.debugP7zXZִF!t// ]?Eh=ڊ2N' )Pj=OL+"x+Jqm1%RQE#X=Y(  K'GK3)<<1r4&֥Q^5k= ]a=E+Rס*t^ ] <LxB\6^+ABUD0ᚂ8#699*,r7Pyv<ԃOEffZ_:Չ  [.n{Hl0+3yvCRw4|i<2EE@ot먭ӹ$M++l 7s/!i4#h-?Eyz[KT*ǸOyl mpb$qDǂ'k:Ya7喂l2nዹ G6 .CdetVx`Q%IT$hNh}EI;@ "YEMeZwX_*׎2 DIiYz u U&4r"k;7vǗ~SNW nN/ \TNrWoSiDA{n"ȆhܮP*<.шǓsb 4]^ ՠ7=ٯwC-ߏq;r+×HcM^g|{d_OŮ]N?KTnx]79U_lJZFfV ƟM Ep=rwI0$d!ؘz0)jdb%:wis88hS,CQb͗nƯ39I0c@K8Υ;3wRi>-Ww}n 3܋5/G}_~KQ>-irWBOՓࢗZ3Xˁ c;S@J#ퟑQgZ좍d~~+>?CLՐ`^+!g/ɭ@@c]cMH6S.ծ)ioswGkCB [}j!J,ٜ 04,\nxdY61^_~e^{K(a,f\Zsh|3|#h-gk6a/xNwFQ`nEpR x7uΎ^?O} gI)o{"$"5+l>OQwASisWo4D};A|U 'BtۊDpƾP6,Dۭh\!'[~T&sϓqjR;Wݝ>k=z."&+B>=SԶIGDlg G$GV 2WOkSnШQj)Fh{._[MI~JU˩[a4[ ukR[Q|๱Εރa-K@ 63=NywnlN+w @ٖNO{q[ˇݿ)%0 ?.CIq *gku:h3jXV? V#id2XsAߝ+u/fIL.lMOMwиLÈQ)Q,TB[d黀{Y4V!`Q vƦD4Ѥr D1&}2T ?` j*V-7~%0&rL?O7i!" K3% 2"4Թ;f$,+qI]$>y8 TkMF%G ի,^H"S:uZ?luj?+)﮷G8diLnr b̀(2 WjZhm;ԩ.QIACvѕ iKtHV'Kicƪzw῁-36V=m ca:[HMS;8\o\IרODuem9> BN4XOeN 00$QoXX[ (c00ko".".xo0000{B PPppp`@@Űzz  z zn t@"@8x"x("D (Y"(Y`["[x`"`, !",@"H@1bG$V4 e