From 12ead0b6c2145760628c59ab48a7ac5265fb37b2 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Sun, 11 Oct 2026 22:42:14 +0700 Subject: [PATCH] =?UTF-8?q?fix(ospf):=20=D0=BF=D0=BE=D0=BA=D0=B0=D0=B7?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=20=D0=BA=D0=BE=D0=BD=D1=84=D0=BB=D0=B8=D0=BA?= =?UTF-8?q?=D1=82=20=D1=81=D0=BE=D1=81=D1=82=D0=BE=D1=8F=D0=BD=D0=B8=D0=B9?= =?UTF-8?q?=20OSPF=20=D0=B8=20BFD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(main)/ospf/page.tsx | 10 +- docs/ux-ui-external-acceptance.md | 18 +- docs/ux-ui-plan.md | 6 +- docs/ux-ui-progress.md | 18 +- docs/ux-ui-remaining-acceptance.md | 22 +- docs/ux-ui-stage-12.md | 16 +- docs/ux-ui-test-server.md | 18 +- .../ospf-bfd-deployed-smoke-2026-10-11.json | 49 + .../ospf-bfd-live-source-2026-10-11.json | 36 + .../ospf-bfd-sustained-2026-10-11.json | 6078 +++++++++++++++++ .../ospf-bfd-conflict153-1440-2026-10-11.png | Bin 0 -> 152258 bytes .../ospf-bfd-conflict153-320-2026-10-11.png | Bin 0 -> 55255 bytes lib/ospf-state.test.ts | 16 +- lib/ospf-state.ts | 15 + tests/e2e/ospf-bfd-conflict.spec.ts | 37 + 15 files changed, 6321 insertions(+), 18 deletions(-) create mode 100644 docs/ux-ui/acceptance/ospf-bfd-deployed-smoke-2026-10-11.json create mode 100644 docs/ux-ui/acceptance/ospf-bfd-live-source-2026-10-11.json create mode 100644 docs/ux-ui/acceptance/ospf-bfd-sustained-2026-10-11.json create mode 100644 docs/ux-ui/screens/ospf-bfd-conflict153-1440-2026-10-11.png create mode 100644 docs/ux-ui/screens/ospf-bfd-conflict153-320-2026-10-11.png create mode 100644 tests/e2e/ospf-bfd-conflict.spec.ts diff --git a/app/(main)/ospf/page.tsx b/app/(main)/ospf/page.tsx index f4f2337e..8c75409a 100644 --- a/app/(main)/ospf/page.tsx +++ b/app/(main)/ospf/page.tsx @@ -5,7 +5,7 @@ import { OspfTopologyScope } from "@/components/ospf-topology-scope" import { usePrefersReducedMotion } from "@/hooks/use-prefers-reduced-motion" import { deriveOspfRouterIdentity } from "@/lib/ospf-router-identity" import { buildOspfCostIndex, ospfCostKey } from "@/lib/ospf-cost" -import { normalizeOspfState, normalizeBfdState, ospfNodeState, type OspfNeighborState, type BfdState } from "@/lib/ospf-state" +import { normalizeOspfState, normalizeBfdState, ospfNodeState, ospfBfdConflicts, type OspfNeighborState, type BfdState } from "@/lib/ospf-state" import { useMemo, useState, useEffect, useRef, Suspense } from "react" import { useSearchParams } from "next/navigation" import { readOspfUrl, patchOspfUrl, type OspfTab } from "@/lib/ospf-url-state" @@ -62,6 +62,7 @@ interface OspfItem { } interface OspfNeighbor { + neighborAddress?: string id: string localRouter: string localLabel: string @@ -136,6 +137,7 @@ function backendToNeighbor(b: BackendNeighbor, ifaceMap: Map navigate({ q: value }, true)} onSelectNode={node => navigate({ node })} onSelectServer={id => navigate({ server: id === ALL_SERVERS_ID ? null : id, node: null })} onSelectTab={tab => navigate({ tab: tab === "interfaces" ? null : tab })} onResetContext={() => navigate({ server: null, tab: null, q: null, node: null })} /> + return navigate({ q: value }, true)} onSelectNode={node => navigate({ node })} onSelectServer={id => navigate({ server: id === ALL_SERVERS_ID ? null : id, node: null })} onSelectTab={tab => navigate({ tab: tab === "interfaces" ? null : tab })} onInspectBfd={() => navigate({ tab: "bfd", q: null })} onResetContext={() => navigate({ server: null, tab: null, q: null, node: null })} /> } -function OspfPageContent({ search, selectedNodeId, onSearch, onSelectNode, filterServerId, activeTab, contextError, onSelectServer, onSelectTab, onResetContext }: { search: string; selectedNodeId: string | null; onSearch: (value: string) => void; onSelectNode: (id: string | null) => void; filterServerId: string; activeTab: OspfTab; contextError: string | null; onSelectServer: (id: string) => void; onSelectTab: (tab: OspfTab) => void; onResetContext: () => void }) { +function OspfPageContent({ search, selectedNodeId, onSearch, onSelectNode, filterServerId, activeTab, contextError, onSelectServer, onSelectTab, onInspectBfd, onResetContext }: { search: string; selectedNodeId: string | null; onSearch: (value: string) => void; onSelectNode: (id: string | null) => void; filterServerId: string; activeTab: OspfTab; contextError: string | null; onSelectServer: (id: string) => void; onSelectTab: (tab: OspfTab) => void; onInspectBfd: () => void; onResetContext: () => void }) { const { mode, backendUrl } = useDataSource() const isLive = mode === "live" @@ -1272,6 +1274,7 @@ function OspfPageContent({ search, selectedNodeId, onSearch, onSelectNode, filte const scopedNeighbors = unavailable ? [] : filterServerId === ALL_SERVERS_ID ? neighbors : neighbors.filter(n => n.localRouter === filterServerId) const scopedBfdSessions = unavailable ? [] : filterServerId === ALL_SERVERS_ID ? bfdSessions : bfdSessions.filter(b => b.serverId === filterServerId) const scopedRoutes = unavailable ? [] : filterServerId === ALL_SERVERS_ID ? routes : routes.filter(r => r.serverId === filterServerId) + const bfdConflicts = ospfBfdConflicts(scopedNeighbors, scopedItems, scopedBfdSessions) const query = search.trim().toLocaleLowerCase("ru") const matches = (...fields: (string | number | null | undefined)[]) => !query || fields.some(field => String(field ?? "").toLocaleLowerCase("ru").includes(query)) const displayItems = scopedItems.filter(i => matches(i.routerLabel, i.interfaceName, i.area, i.type)) @@ -1350,6 +1353,7 @@ function OspfPageContent({ search, selectedNodeId, onSearch, onSelectNode, filte
{unavailable && Контекст OSPF недоступен{contextError ?? `Сервер ${filterServerId} отсутствует среди доступных устройств.`}} + {bfdConflicts.length > 0 && OSPF Full при недоступном BFDПоследний опрос: {bfdConflicts.map(n => `${n.localLabel} · ${n.localIface}`).join("; ")} — OSPF Full, BFD не Up. Проверьте канал: Full не подтверждает работу BFD.} onSearch("")}>Сбросить поиск : undefined} /> {/* data source banner */} {isLive && loading && ( diff --git a/docs/ux-ui-external-acceptance.md b/docs/ux-ui-external-acceptance.md index 5eda356e..f92db034 100644 --- a/docs/ux-ui-external-acceptance.md +++ b/docs/ux-ui-external-acceptance.md @@ -1,6 +1,6 @@ # UX/UI: протокол внешней приёмки 12.5 -Актуальное продолжение 2026-10-11: завершён12.5.152 — WireGuard IPv6 static lifecycle/create/PATCH/history/delete и single-address RSC/conf export/import.29 real API cases, native handshake/Ping3/3×2,33 disabled-server API/SQL cases всех трёх типов с zero ROS contacts,56 backend tests/профили GRE и контейнеров/live maps,10 E2E/types/ESLint/builds/984 parity/live PC/mobile passed. Runtime backend/frontend ux-wg152 healthy;12.5 открыт. Следующий153 — OSPF/BFD sustained gate: BFD-only loss при сохранённых OSPF Hello на собственных GRE, восстановление и independent cleanup. +Актуальное продолжение 2026-10-11: завершён12.5.153 — предупреждение Full/BFD Down с точным device/interface/peer binding и переходом к BFD без потери device context.51 native rounds/30s подтвердили поздние Full+active при BFD Down; sustained route gate не гарантирован, а не ошибочно принят. Recovery/Ping3/3×2/10 baseline collections×2/cleanup,3 unit/9 E2E/2 real source UI/2 deployed smoke/types/ESLint/frontend build passed. Runtime backend ux-wg152/frontend ux-ospf153 healthy;12.5 открыт. Следующий154 — OSPFv3 IPv6 routes: добавить оба route catalogs с family-safe IDs и проверить собственную GRE IPv6 пару. IPsec78: реальный PSK responder established, mode-config198.18.78.10 и online=true подтверждены API; точные собственные объекты удалены. Сертификатный/DN online, late failure и history restore остаются открытыми. [Отчёт](ux-ui/acceptance/ipsec-mode-config-2026-10-09.json), [журнал](ux-ui-progress.md). @@ -696,7 +696,7 @@ flowchart LR ## 12.5.77 — основной блок IPsec (2026-10-09) -Актуальное продолжение 2026-10-11: завершён12.5.152 — WireGuard IPv6 static lifecycle/create/PATCH/history/delete и single-address RSC/conf export/import.29 real API cases, native handshake/Ping3/3×2,33 disabled-server API/SQL cases всех трёх типов с zero ROS contacts,56 backend tests/профили GRE и контейнеров/live maps,10 E2E/types/ESLint/builds/984 parity/live PC/mobile passed. Runtime backend/frontend ux-wg152 healthy;12.5 открыт. Следующий153 — OSPF/BFD sustained gate: BFD-only loss при сохранённых OSPF Hello на собственных GRE, восстановление и independent cleanup. +Актуальное продолжение 2026-10-11: завершён12.5.153 — предупреждение Full/BFD Down с точным device/interface/peer binding и переходом к BFD без потери device context.51 native rounds/30s подтвердили поздние Full+active при BFD Down; sustained route gate не гарантирован, а не ошибочно принят. Recovery/Ping3/3×2/10 baseline collections×2/cleanup,3 unit/9 E2E/2 real source UI/2 deployed smoke/types/ESLint/frontend build passed. Runtime backend ux-wg152/frontend ux-ospf153 healthy;12.5 открыт. Следующий154 — OSPFv3 IPv6 routes: добавить оба route catalogs с family-safe IDs и проверить собственную GRE IPv6 пару. Подробный объём, протоколы, схема и ограничения: [12.5.77 в журнале](ux-ui-progress.md). @@ -1669,3 +1669,17 @@ Runtime backend/frontend ux-wg152 healthy; deployed live read-only catalog/creat Протоколы: [native/cleanup](ux-ui/acceptance/wireguard-ipv6-native-2026-10-11.json), [API/history/import/export](ux-ui/acceptance/wireguard-ipv6-api-history-2026-10-11.json), [33 SQL/API gates](ux-ui/acceptance/network-disabled-sql-2026-10-11.json), [до исправления getter](ux-ui/acceptance/wireguard-ipv6-before-gate-api-2026-10-11.json), [compiled](ux-ui/acceptance/wireguard-ipv6-compiled-2026-10-11.json), [live UI](ux-ui/acceptance/wireguard-ipv6-smoke-2026-10-11.json). Следующий153 — sustained OSPF/BFD-only gate и recovery на собственных GRE;12.5 остаётся открытым. + +## 12.5.153 — граница OSPF/BFD и предупреждение конфликта состояний (2026-10-11) + +В существующей OSPF странице ReUI/Frame/base-nova добавлено предупреждение последнего опроса: OSPF Full при наблюдаемом BFD Down/AdminDown. Correlation требует точный server/interface/neighbor IP, explicit active/useBfd=true, одну direct multihop=false BFD session и свежие данные; чужое устройство/интерфейс/peer, duplicate sessions, unknown/multihop/inactive/non-BFD template не создают вывод. Native Full/route states и правила RouterOS не меняются. Переход Проверить BFD сохраняет server/node context и атомарно снимает search, чтобы найденная сессия была видна. Референс остаётся существующий ReUI Data Grid/Frame, новые vendor components не устанавливались. + +На обоих CHR собственные GRE198.18.153.0/30 и OSPFv2 loopbacks198.18.253.1/32↔2/32, hello1s/dead20s, BFD200ms×3. Два own firewall правила на CHR2 блокировали только UDP3784 input/output на own GRE с exact private src/dst. Protocol89/ICMP не блокировались; OSPF Hello отдельным packet capture не измерялся.51 native rounds около30s: BFD Down наблюдался, в поздних samples после20s оба OSPF neighbors Full и own route active. Это подтверждает отсутствие гарантированного постоянного route gate при BFD-only ACL loss; непрерывность каждого пакета/мгновенного состояния не заявляется. Data plane initial/fault/recovery Ping3/3×2. После удаления fault — BFD Up/Full/active, затем собственные firewall/OSPF/BFD/IP/bridge/GRE objects удалены.10 static collections×2 совпали с baseline; filter/BFD config order также сравнивался. Default/public routes и пароли сохранены. + +UI native positive проверена в source Next dev3133 с настоящим backend8000, без JSON mocks и browser mutations:1440/320 показывают alert+native Full; переход ведёт к реальному Down, сохраняет server и очищает q. Скриншоты [1440](ux-ui/screens/ospf-bfd-conflict153-1440-2026-10-11.png), [320](ux-ui/screens/ospf-bfd-conflict153-320-2026-10-11.png); мобильный экран визуально проверен.3 unit cases,9 controlled E2E с recovery/foreign/non-BFD/unknown и previous data-cache scenarios, source types/ESLint passed. Read-only deployed PC/mobile smoke после cleanup подтвердил отсутствие ложного alert. + +Frontend production build прошёл с окончательным source context; frontend ux-ospf153 развёрнут, backend ux-wg152/PG healthy. Первоначальная SCP сессия истекла в ожидании пароля; первый frontend candidate был собран без delta и не развёртывался. Context пересинхронизирован/хеш проверен, финальная сборка повторена и принята. Backend code/build не менялись, broad regression не повторялась. Только собственный завершённый container6a521d… удалён после exact-ID/state check; background main polling продолжался, собственная SQL база не создавалась. + +Правила конфигурации сверены с [MikroTik BFD](https://manual.mikrotik.com/docs/user-guides/routing-and-networking-protocols/unicast/bfd/). Протоколы: [native51 samples/recovery/cleanup](ux-ui/acceptance/ospf-bfd-sustained-2026-10-11.json), [real source UI](ux-ui/acceptance/ospf-bfd-live-source-2026-10-11.json), [deployed smoke](ux-ui/acceptance/ospf-bfd-deployed-smoke-2026-10-11.json). + +Границы: sustained BFD-only gate не гарантирован на RouterOS7.24.5; программа показывает реально наблюдаемый конфликт и не навязывает новые network rules. IPv6/scale/independent WAN/continuous packet loss/SLA не приняты этим блоком. Следующий154 — OSPFv3 IPv6 routes; существующий catalog читает только /ip/route, требуется family-safe /ipv6/route.12.5 открыт. diff --git a/docs/ux-ui-plan.md b/docs/ux-ui-plan.md index 4465ef4f..817c3a46 100644 --- a/docs/ux-ui-plan.md +++ b/docs/ux-ui-plan.md @@ -1,12 +1,12 @@ # План реализации UX/UI по пятичасовым окнам -Актуальное продолжение 2026-10-11: завершён12.5.152 — WireGuard IPv6 static lifecycle/create/PATCH/history/delete и single-address RSC/conf export/import.29 real API cases, native handshake/Ping3/3×2,33 disabled-server API/SQL cases всех трёх типов с zero ROS contacts,56 backend tests/профили GRE и контейнеров/live maps,10 E2E/types/ESLint/builds/984 parity/live PC/mobile passed. Runtime backend/frontend ux-wg152 healthy;12.5 открыт. Следующий153 — OSPF/BFD sustained gate: BFD-only loss при сохранённых OSPF Hello на собственных GRE, восстановление и independent cleanup. +Актуальное продолжение 2026-10-11: завершён12.5.153 — предупреждение Full/BFD Down с точным device/interface/peer binding и переходом к BFD без потери device context.51 native rounds/30s подтвердили поздние Full+active при BFD Down; sustained route gate не гарантирован, а не ошибочно принят. Recovery/Ping3/3×2/10 baseline collections×2/cleanup,3 unit/9 E2E/2 real source UI/2 deployed smoke/types/ESLint/frontend build passed. Runtime backend ux-wg152/frontend ux-ospf153 healthy;12.5 открыт. Следующий154 — OSPFv3 IPv6 routes: добавить оба route catalogs с family-safe IDs и проверить собственную GRE IPv6 пару. Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-10. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат. ## Актуальная точка продолжения — 2026-10-10 -Актуальное продолжение 2026-10-11: завершён12.5.152 — WireGuard IPv6 static lifecycle/create/PATCH/history/delete и single-address RSC/conf export/import.29 real API cases, native handshake/Ping3/3×2,33 disabled-server API/SQL cases всех трёх типов с zero ROS contacts,56 backend tests/профили GRE и контейнеров/live maps,10 E2E/types/ESLint/builds/984 parity/live PC/mobile passed. Runtime backend/frontend ux-wg152 healthy;12.5 открыт. Следующий153 — OSPF/BFD sustained gate: BFD-only loss при сохранённых OSPF Hello на собственных GRE, восстановление и independent cleanup. +Актуальное продолжение 2026-10-11: завершён12.5.153 — предупреждение Full/BFD Down с точным device/interface/peer binding и переходом к BFD без потери device context.51 native rounds/30s подтвердили поздние Full+active при BFD Down; sustained route gate не гарантирован, а не ошибочно принят. Recovery/Ping3/3×2/10 baseline collections×2/cleanup,3 unit/9 E2E/2 real source UI/2 deployed smoke/types/ESLint/frontend build passed. Runtime backend ux-wg152/frontend ux-ospf153 healthy;12.5 открыт. Следующий154 — OSPFv3 IPv6 routes: добавить оба route catalogs с family-safe IDs и проверить собственную GRE IPv6 пару. Этапы0–11 завершены в локальных границах журнала. История выполненных внешних блоков и доказательства сохранены в [журнале](ux-ui-stage-12.md) и [протоколе](ux-ui-external-acceptance.md). Реальная Telegram доставка, Portal SSO, multi-instance и оставшиеся профильные сетевые ограничения открыты. @@ -371,6 +371,6 @@ flowchart LR ## 12.5.77 — основной блок IPsec (2026-10-09) -Актуальное продолжение 2026-10-11: завершён12.5.152 — WireGuard IPv6 static lifecycle/create/PATCH/history/delete и single-address RSC/conf export/import.29 real API cases, native handshake/Ping3/3×2,33 disabled-server API/SQL cases всех трёх типов с zero ROS contacts,56 backend tests/профили GRE и контейнеров/live maps,10 E2E/types/ESLint/builds/984 parity/live PC/mobile passed. Runtime backend/frontend ux-wg152 healthy;12.5 открыт. Следующий153 — OSPF/BFD sustained gate: BFD-only loss при сохранённых OSPF Hello на собственных GRE, восстановление и independent cleanup. +Актуальное продолжение 2026-10-11: завершён12.5.153 — предупреждение Full/BFD Down с точным device/interface/peer binding и переходом к BFD без потери device context.51 native rounds/30s подтвердили поздние Full+active при BFD Down; sustained route gate не гарантирован, а не ошибочно принят. Recovery/Ping3/3×2/10 baseline collections×2/cleanup,3 unit/9 E2E/2 real source UI/2 deployed smoke/types/ESLint/frontend build passed. Runtime backend ux-wg152/frontend ux-ospf153 healthy;12.5 открыт. Следующий154 — OSPFv3 IPv6 routes: добавить оба route catalogs с family-safe IDs и проверить собственную GRE IPv6 пару. Подробный объём, протоколы, схема и ограничения: [12.5.77 в журнале](ux-ui-progress.md). diff --git a/docs/ux-ui-progress.md b/docs/ux-ui-progress.md index e7a5125d..e24c179a 100644 --- a/docs/ux-ui-progress.md +++ b/docs/ux-ui-progress.md @@ -1,6 +1,6 @@ # UX/UI: журнал реализации -Актуальное продолжение 2026-10-11: завершён12.5.152 — WireGuard IPv6 static lifecycle/create/PATCH/history/delete и single-address RSC/conf export/import.29 real API cases, native handshake/Ping3/3×2,33 disabled-server API/SQL cases всех трёх типов с zero ROS contacts,56 backend tests/профили GRE и контейнеров/live maps,10 E2E/types/ESLint/builds/984 parity/live PC/mobile passed. Runtime backend/frontend ux-wg152 healthy;12.5 открыт. Следующий153 — OSPF/BFD sustained gate: BFD-only loss при сохранённых OSPF Hello на собственных GRE, восстановление и independent cleanup. +Актуальное продолжение 2026-10-11: завершён12.5.153 — предупреждение Full/BFD Down с точным device/interface/peer binding и переходом к BFD без потери device context.51 native rounds/30s подтвердили поздние Full+active при BFD Down; sustained route gate не гарантирован, а не ошибочно принят. Recovery/Ping3/3×2/10 baseline collections×2/cleanup,3 unit/9 E2E/2 real source UI/2 deployed smoke/types/ESLint/frontend build passed. Runtime backend ux-wg152/frontend ux-ospf153 healthy;12.5 открыт. Следующий154 — OSPFv3 IPv6 routes: добавить оба route catalogs с family-safe IDs и проверить собственную GRE IPv6 пару. Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md). @@ -36,7 +36,21 @@ | 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 | | 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 | | 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 | -| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–152 и ограничения ниже. Runtime backend ux-month149/frontend ux-sessions150. | +| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–153 и ограничения ниже. Runtime backend ux-month149/frontend ux-sessions150. | + +## 12.5.153 — граница OSPF/BFD и предупреждение конфликта состояний (2026-10-11) + +В существующей OSPF странице ReUI/Frame/base-nova добавлено предупреждение последнего опроса: OSPF Full при наблюдаемом BFD Down/AdminDown. Correlation требует точный server/interface/neighbor IP, explicit active/useBfd=true, одну direct multihop=false BFD session и свежие данные; чужое устройство/интерфейс/peer, duplicate sessions, unknown/multihop/inactive/non-BFD template не создают вывод. Native Full/route states и правила RouterOS не меняются. Переход Проверить BFD сохраняет server/node context и атомарно снимает search, чтобы найденная сессия была видна. Референс остаётся существующий ReUI Data Grid/Frame, новые vendor components не устанавливались. + +На обоих CHR собственные GRE198.18.153.0/30 и OSPFv2 loopbacks198.18.253.1/32↔2/32, hello1s/dead20s, BFD200ms×3. Два own firewall правила на CHR2 блокировали только UDP3784 input/output на own GRE с exact private src/dst. Protocol89/ICMP не блокировались; OSPF Hello отдельным packet capture не измерялся.51 native rounds около30s: BFD Down наблюдался, в поздних samples после20s оба OSPF neighbors Full и own route active. Это подтверждает отсутствие гарантированного постоянного route gate при BFD-only ACL loss; непрерывность каждого пакета/мгновенного состояния не заявляется. Data plane initial/fault/recovery Ping3/3×2. После удаления fault — BFD Up/Full/active, затем собственные firewall/OSPF/BFD/IP/bridge/GRE objects удалены.10 static collections×2 совпали с baseline; filter/BFD config order также сравнивался. Default/public routes и пароли сохранены. + +UI native positive проверена в source Next dev3133 с настоящим backend8000, без JSON mocks и browser mutations:1440/320 показывают alert+native Full; переход ведёт к реальному Down, сохраняет server и очищает q. Скриншоты [1440](ux-ui/screens/ospf-bfd-conflict153-1440-2026-10-11.png), [320](ux-ui/screens/ospf-bfd-conflict153-320-2026-10-11.png); мобильный экран визуально проверен.3 unit cases,9 controlled E2E с recovery/foreign/non-BFD/unknown и previous data-cache scenarios, source types/ESLint passed. Read-only deployed PC/mobile smoke после cleanup подтвердил отсутствие ложного alert. + +Frontend production build прошёл с окончательным source context; frontend ux-ospf153 развёрнут, backend ux-wg152/PG healthy. Первоначальная SCP сессия истекла в ожидании пароля; первый frontend candidate был собран без delta и не развёртывался. Context пересинхронизирован/хеш проверен, финальная сборка повторена и принята. Backend code/build не менялись, broad regression не повторялась. Только собственный завершённый container6a521d… удалён после exact-ID/state check; background main polling продолжался, собственная SQL база не создавалась. + +Правила конфигурации сверены с [MikroTik BFD](https://manual.mikrotik.com/docs/user-guides/routing-and-networking-protocols/unicast/bfd/). Протоколы: [native51 samples/recovery/cleanup](ux-ui/acceptance/ospf-bfd-sustained-2026-10-11.json), [real source UI](ux-ui/acceptance/ospf-bfd-live-source-2026-10-11.json), [deployed smoke](ux-ui/acceptance/ospf-bfd-deployed-smoke-2026-10-11.json). + +Границы: sustained BFD-only gate не гарантирован на RouterOS7.24.5; программа показывает реально наблюдаемый конфликт и не навязывает новые network rules. IPv6/scale/independent WAN/continuous packet loss/SLA не приняты этим блоком. Следующий154 — OSPFv3 IPv6 routes; существующий catalog читает только /ip/route, требуется family-safe /ipv6/route.12.5 открыт. ## 12.5.152 — IPv6 lifecycle WireGuard и общий допуск выключенных серверов (2026-10-11) diff --git a/docs/ux-ui-remaining-acceptance.md b/docs/ux-ui-remaining-acceptance.md index c0cf59f1..a514eb58 100644 --- a/docs/ux-ui-remaining-acceptance.md +++ b/docs/ux-ui-remaining-acceptance.md @@ -1,8 +1,8 @@ # Оставшаяся внешняя приёмка — 2026-10-11 -Это актуальная матрица после 12.5.152. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии. +Это актуальная матрица после 12.5.153. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии. -Стенд: Debian13/Compose, PostgreSQL18.6, два CHR RouterOS7.24.5. Backend `ux-wg152`, frontend `ux-wg152`; production lab использует AUTH_REQUIRED=false. Подписанные JWT/RBAC проверялись в изолированных процессах. Все собственные объекты112 удалены, исходные13 коллекций×2 (включая logging/certificates/files/routes) проверены; пароли не менялись. +Стенд: Debian13/Compose, PostgreSQL18.6, два CHR RouterOS7.24.5. Backend `ux-wg152`, frontend `ux-ospf153`; production lab использует AUTH_REQUIRED=false. Подписанные JWT/RBAC проверялись в изолированных процессах. Все собственные объекты112 удалены, исходные13 коллекций×2 (включая logging/certificates/files/routes) проверены; пароли не менялись. | Раздел | Подтверждено | Осталось / условие завершения | | --- | --- | --- | @@ -13,12 +13,12 @@ | WireGuard | Native handshake/data plane58, deletion60, live create/peer/disable/enable/delete62, mobile64, export/import67–74; native IPv6 ULA inner/allowedIps/handshake109; application static IPv6 lifecycle152 | Клиентские ОС и произвольные конфигурации, IPv6 outer/scale, from-pool/EUI-64 и multiple-address import/export, физический lost ACK и устойчивое восстановление; `.conf` с placeholders — шаблон, не принятый клиентский tunnel | | VXLAN | Собственная пара/private Ping/catalog/URL/export75–76; bridge/FDB/port loss/recovery107; IPv6 ULA inner по IPv4 outer108 | API приложения read-only: create/delete проверены native. IPv6 outer, масштаб/производительность, профильные mutation RBAC/concurrency отдельно не приняты | | IPsec | PSK и сертификатное шифрование77–82, active peer/online/mode-config, scoped NAT/group, partial/unknown/applied receipts, restore conflicts, JWT; full DN/специальные символы/online110; literal CN namespace guards и explicit FQDN111; certificate/PSK shared ID unknown/recovery112; multiple sessions controlled snapshots113; shared certificate rows/target guards114; preserve-certificate UI/native DELETE115; explicit deletion binding/PSK collision116; legacy export binding118; real duplicate DN sessions/Linux Ping/UI119; DN DER/ASCII tag и FQDN SAN native120; implicit unique DNS SAN/mixed IDs/API/UI121; короткий CHILD/IKE rekey/reconnect122; server pin и unbound same-CA certificate refusal123; own RSA Root/Intermediate/client chain/CRLs/IKE/reauth138; external revoked CRL new-handshake refusal/existing-session boundary137; certificate-bound malformed/signed expired CRL IKE refusal/recovery136; certificate-bound missing-CDP404/IKE refusal and recovery135; external HTTP CRL download/404/cache preservation134; isolated diagnostic buffers132; own ECDSA P-256/Ping/API export131 and final18×2 inventory; isolated same-key/CA time boundary with explicit AUTH_FAILED130; valid-renewal control timeout/clock/log observation129; original/renewed controls and time-invalid timeout observation128; CRL-issued cert/CA no-write delete guards127; own CRL-enabled valid/revoked control126; local revoked flag/CRL-disabled reconnect observation125; certificate reauth/CHILD absence boundary/UI124 | Реальные duplicate certificate-derived DN sessions приняты119; arbitrary custom PKI/OIDs/policies/path-length and missing/intermediate-revoked chain; native intermediate chain accepted138; ECDSA P-256 accepted131;128/129 timeout cause still unknown,130 time boundary accepted; periodic refresh; existing IKE survives short external-revocation observation137, automatic termination not guaranteed; direct CHR-to-CHR CRL HTTP failure cause134; reauth/CHILD loss принят124; длительный rekey/переходная потеря пакетов; прочие ID типы/ADDR4/manual DN/custom PKI; native edit identical matching rules rejected; клиентские Windows/macOS/iOS/Android, прочие DN форматы/custom OIDs/IKE ID namespaces, полная PKI и policy/profile/proposal restore, физический disconnect, durable retry/multi-instance, IPv6/maximum throughput | -| OSPF/BFD | Real Full/own routes84–85, раздельные наблюдения BFD86, effective disabled/optimizer cost/partial/RBAC87, alternate path90 и CIDR91 | Sustained BFD-only gate не принят: в86 сосед мог вновь статьFull при доступныхHello. В90 переходный Ping18/40 с55% loss: бесшовность не принята. REST timing — наблюдаемая граница, не SLA; IPv6/scale/independent WAN открыты | +| OSPF/BFD | Real Full/own routes84–85, раздельные наблюдения BFD86, effective disabled/optimizer cost/partial/RBAC87, alternate path90 и CIDR91 | BFD-only sustained route gate не гарантирован:153 подтвердил поздние Full/active при BFD Down в30s samples, UI предупреждение/recovery принято. В90 переходный Ping18/40 с55% loss: бесшовность не принята. REST timing — наблюдаемая граница, не SLA; IPv6/scale/independent WAN открыты | | BGP | Established83, exact /32 exchange/API/UI/administrative withdrawal92, BFD primary GRE loss/alternate/recovery93 | Hold timer/TCP loss безBFD принят104; packet loss в переходе, разные внешние peers/WAN policy, IPv6/scale. Два логических пути используют тот же public WAN; physical redundancy не принята | | Recursive routes | Production PUT/change/own history restore88, disabled guards, partial/unknown/applied outcomes, live формы/контекст | Автоматический rollback/retry, durable receipts и несколько экземпляров отсутствуют; PUT не является idempotent noop. Полная произвольная legacy catalog миграция не принята | | Diagnostics/terminal | Allowlist/native reads, Ping/trace/route/MTU/DNS, actual avg-rtt, disabled guards, JWT/live PC/mobile89; real default memory tail/log limits/API/UI133 | DNS использует backend resolver; MTU — ограниченная оценка, не гарантированный максимум. Stop ожидания не доказывает остановку RouterOS команды; arbitrary CLI и physical disconnect не приняты | | Portal/интеграции | Локальные и isolated JWT guards; UI/API error states в границах журналов | Настоящий Portal issuer/login/отзыв прав; RIPE SDK two-IP/no-fetch passed140, native IPv6 ULA flow pipeline passed145 (IPv4 transport), public IPv6 WAN/local licensed MaxMind/S3/container/certificate jobs и Gitea delivery требуют отдельных тестовых endpoints/аккаунтов. Не отправлять сообщения и не публиковать релиз без соответствующего поручения | -| Общая приёмка | Локальная12.3.83; UI1244/context221/compiled984 parity139; профильные build/E2E/live проверки последующих блоков | Traffic initial live mock-id gate passed141; IPv6 special ranges/cache passed142; unknown RIPE coordinates passed143; IPv6 synthetic UDP/worker/SQL passed144; native CHR ULA/IPFIX/API/UI passed145; ICMPv6/IPv6 endpoint labels passed146; HTTP DTO validation passed147; scoped flow catalog/serverId guards passed148; strict monthly calendar passed149; Sessions labels passed150; application GRE static IPv6 lifecycle151 passed; WireGuard static IPv6 lifecycle152 и disabled SQL/API gates passed; следующий sustained OSPF/BFD153; последующие изменения проверять отдельно; scoped axe не означает полную WCAG сертификацию | +| Общая приёмка | Локальная12.3.83; UI1244/context221/compiled984 parity139; профильные build/E2E/live проверки последующих блоков | Traffic initial live mock-id gate passed141; IPv6 special ranges/cache passed142; unknown RIPE coordinates passed143; IPv6 synthetic UDP/worker/SQL passed144; native CHR ULA/IPFIX/API/UI passed145; ICMPv6/IPv6 endpoint labels passed146; HTTP DTO validation passed147; scoped flow catalog/serverId guards passed148; strict monthly calendar passed149; Sessions labels passed150; application GRE static IPv6 lifecycle151 passed; WireGuard static IPv6 lifecycle152 и disabled SQL/API gates passed; OSPF/BFD boundary/warning153 passed; следующий OSPFv3 IPv6 routes154; последующие изменения проверять отдельно; scoped axe не означает полную WCAG сертификацию | Доказательства и точные ограничения: [полная история этапа12](ux-ui-stage-12.md), [внешний протокол](ux-ui-external-acceptance.md), [BGP93](ux-ui/acceptance/bgp-failover-2026-10-10.json), [паспорт стенда](ux-ui-test-server.md). Невыполненные пункты не являются все блокерами данного лабораторного сценария: для выпуска необходимо явно определить требуемые конфигурации и принять их либо согласовать ограничение. @@ -584,3 +584,17 @@ Runtime backend/frontend ux-wg152 healthy; deployed live read-only catalog/creat Протоколы: [native/cleanup](ux-ui/acceptance/wireguard-ipv6-native-2026-10-11.json), [API/history/import/export](ux-ui/acceptance/wireguard-ipv6-api-history-2026-10-11.json), [33 SQL/API gates](ux-ui/acceptance/network-disabled-sql-2026-10-11.json), [до исправления getter](ux-ui/acceptance/wireguard-ipv6-before-gate-api-2026-10-11.json), [compiled](ux-ui/acceptance/wireguard-ipv6-compiled-2026-10-11.json), [live UI](ux-ui/acceptance/wireguard-ipv6-smoke-2026-10-11.json). Следующий153 — sustained OSPF/BFD-only gate и recovery на собственных GRE;12.5 остаётся открытым. + +## 12.5.153 — граница OSPF/BFD и предупреждение конфликта состояний (2026-10-11) + +В существующей OSPF странице ReUI/Frame/base-nova добавлено предупреждение последнего опроса: OSPF Full при наблюдаемом BFD Down/AdminDown. Correlation требует точный server/interface/neighbor IP, explicit active/useBfd=true, одну direct multihop=false BFD session и свежие данные; чужое устройство/интерфейс/peer, duplicate sessions, unknown/multihop/inactive/non-BFD template не создают вывод. Native Full/route states и правила RouterOS не меняются. Переход Проверить BFD сохраняет server/node context и атомарно снимает search, чтобы найденная сессия была видна. Референс остаётся существующий ReUI Data Grid/Frame, новые vendor components не устанавливались. + +На обоих CHR собственные GRE198.18.153.0/30 и OSPFv2 loopbacks198.18.253.1/32↔2/32, hello1s/dead20s, BFD200ms×3. Два own firewall правила на CHR2 блокировали только UDP3784 input/output на own GRE с exact private src/dst. Protocol89/ICMP не блокировались; OSPF Hello отдельным packet capture не измерялся.51 native rounds около30s: BFD Down наблюдался, в поздних samples после20s оба OSPF neighbors Full и own route active. Это подтверждает отсутствие гарантированного постоянного route gate при BFD-only ACL loss; непрерывность каждого пакета/мгновенного состояния не заявляется. Data plane initial/fault/recovery Ping3/3×2. После удаления fault — BFD Up/Full/active, затем собственные firewall/OSPF/BFD/IP/bridge/GRE objects удалены.10 static collections×2 совпали с baseline; filter/BFD config order также сравнивался. Default/public routes и пароли сохранены. + +UI native positive проверена в source Next dev3133 с настоящим backend8000, без JSON mocks и browser mutations:1440/320 показывают alert+native Full; переход ведёт к реальному Down, сохраняет server и очищает q. Скриншоты [1440](ux-ui/screens/ospf-bfd-conflict153-1440-2026-10-11.png), [320](ux-ui/screens/ospf-bfd-conflict153-320-2026-10-11.png); мобильный экран визуально проверен.3 unit cases,9 controlled E2E с recovery/foreign/non-BFD/unknown и previous data-cache scenarios, source types/ESLint passed. Read-only deployed PC/mobile smoke после cleanup подтвердил отсутствие ложного alert. + +Frontend production build прошёл с окончательным source context; frontend ux-ospf153 развёрнут, backend ux-wg152/PG healthy. Первоначальная SCP сессия истекла в ожидании пароля; первый frontend candidate был собран без delta и не развёртывался. Context пересинхронизирован/хеш проверен, финальная сборка повторена и принята. Backend code/build не менялись, broad regression не повторялась. Только собственный завершённый container6a521d… удалён после exact-ID/state check; background main polling продолжался, собственная SQL база не создавалась. + +Правила конфигурации сверены с [MikroTik BFD](https://manual.mikrotik.com/docs/user-guides/routing-and-networking-protocols/unicast/bfd/). Протоколы: [native51 samples/recovery/cleanup](ux-ui/acceptance/ospf-bfd-sustained-2026-10-11.json), [real source UI](ux-ui/acceptance/ospf-bfd-live-source-2026-10-11.json), [deployed smoke](ux-ui/acceptance/ospf-bfd-deployed-smoke-2026-10-11.json). + +Границы: sustained BFD-only gate не гарантирован на RouterOS7.24.5; программа показывает реально наблюдаемый конфликт и не навязывает новые network rules. IPv6/scale/independent WAN/continuous packet loss/SLA не приняты этим блоком. Следующий154 — OSPFv3 IPv6 routes; существующий catalog читает только /ip/route, требуется family-safe /ipv6/route.12.5 открыт. diff --git a/docs/ux-ui-stage-12.md b/docs/ux-ui-stage-12.md index b2d1e018..85fb377a 100644 --- a/docs/ux-ui-stage-12.md +++ b/docs/ux-ui-stage-12.md @@ -1,6 +1,6 @@ # Этап 12: итоговая приёмка UX/UI -Актуальное продолжение 2026-10-11: завершён12.5.152 — WireGuard IPv6 static lifecycle/create/PATCH/history/delete и single-address RSC/conf export/import.29 real API cases, native handshake/Ping3/3×2,33 disabled-server API/SQL cases всех трёх типов с zero ROS contacts,56 backend tests/профили GRE и контейнеров/live maps,10 E2E/types/ESLint/builds/984 parity/live PC/mobile passed. Runtime backend/frontend ux-wg152 healthy;12.5 открыт. Следующий153 — OSPF/BFD sustained gate: BFD-only loss при сохранённых OSPF Hello на собственных GRE, восстановление и independent cleanup. +Актуальное продолжение 2026-10-11: завершён12.5.153 — предупреждение Full/BFD Down с точным device/interface/peer binding и переходом к BFD без потери device context.51 native rounds/30s подтвердили поздние Full+active при BFD Down; sustained route gate не гарантирован, а не ошибочно принят. Recovery/Ping3/3×2/10 baseline collections×2/cleanup,3 unit/9 E2E/2 real source UI/2 deployed smoke/types/ESLint/frontend build passed. Runtime backend ux-wg152/frontend ux-ospf153 healthy;12.5 открыт. Следующий154 — OSPFv3 IPv6 routes: добавить оба route catalogs с family-safe IDs и проверить собственную GRE IPv6 пару. План: [ux-ui-plan.md](ux-ui-plan.md). Фактические результаты: [ux-ui-progress.md](ux-ui-progress.md). Подготовлен после сводных проверок 11Б; завершение каждого блока требует локального коммита без push. @@ -2974,3 +2974,17 @@ Runtime backend/frontend ux-wg152 healthy; deployed live read-only catalog/creat Протоколы: [native/cleanup](ux-ui/acceptance/wireguard-ipv6-native-2026-10-11.json), [API/history/import/export](ux-ui/acceptance/wireguard-ipv6-api-history-2026-10-11.json), [33 SQL/API gates](ux-ui/acceptance/network-disabled-sql-2026-10-11.json), [до исправления getter](ux-ui/acceptance/wireguard-ipv6-before-gate-api-2026-10-11.json), [compiled](ux-ui/acceptance/wireguard-ipv6-compiled-2026-10-11.json), [live UI](ux-ui/acceptance/wireguard-ipv6-smoke-2026-10-11.json). Следующий153 — sustained OSPF/BFD-only gate и recovery на собственных GRE;12.5 остаётся открытым. + +## 12.5.153 — граница OSPF/BFD и предупреждение конфликта состояний (2026-10-11) + +В существующей OSPF странице ReUI/Frame/base-nova добавлено предупреждение последнего опроса: OSPF Full при наблюдаемом BFD Down/AdminDown. Correlation требует точный server/interface/neighbor IP, explicit active/useBfd=true, одну direct multihop=false BFD session и свежие данные; чужое устройство/интерфейс/peer, duplicate sessions, unknown/multihop/inactive/non-BFD template не создают вывод. Native Full/route states и правила RouterOS не меняются. Переход Проверить BFD сохраняет server/node context и атомарно снимает search, чтобы найденная сессия была видна. Референс остаётся существующий ReUI Data Grid/Frame, новые vendor components не устанавливались. + +На обоих CHR собственные GRE198.18.153.0/30 и OSPFv2 loopbacks198.18.253.1/32↔2/32, hello1s/dead20s, BFD200ms×3. Два own firewall правила на CHR2 блокировали только UDP3784 input/output на own GRE с exact private src/dst. Protocol89/ICMP не блокировались; OSPF Hello отдельным packet capture не измерялся.51 native rounds около30s: BFD Down наблюдался, в поздних samples после20s оба OSPF neighbors Full и own route active. Это подтверждает отсутствие гарантированного постоянного route gate при BFD-only ACL loss; непрерывность каждого пакета/мгновенного состояния не заявляется. Data plane initial/fault/recovery Ping3/3×2. После удаления fault — BFD Up/Full/active, затем собственные firewall/OSPF/BFD/IP/bridge/GRE objects удалены.10 static collections×2 совпали с baseline; filter/BFD config order также сравнивался. Default/public routes и пароли сохранены. + +UI native positive проверена в source Next dev3133 с настоящим backend8000, без JSON mocks и browser mutations:1440/320 показывают alert+native Full; переход ведёт к реальному Down, сохраняет server и очищает q. Скриншоты [1440](ux-ui/screens/ospf-bfd-conflict153-1440-2026-10-11.png), [320](ux-ui/screens/ospf-bfd-conflict153-320-2026-10-11.png); мобильный экран визуально проверен.3 unit cases,9 controlled E2E с recovery/foreign/non-BFD/unknown и previous data-cache scenarios, source types/ESLint passed. Read-only deployed PC/mobile smoke после cleanup подтвердил отсутствие ложного alert. + +Frontend production build прошёл с окончательным source context; frontend ux-ospf153 развёрнут, backend ux-wg152/PG healthy. Первоначальная SCP сессия истекла в ожидании пароля; первый frontend candidate был собран без delta и не развёртывался. Context пересинхронизирован/хеш проверен, финальная сборка повторена и принята. Backend code/build не менялись, broad regression не повторялась. Только собственный завершённый container6a521d… удалён после exact-ID/state check; background main polling продолжался, собственная SQL база не создавалась. + +Правила конфигурации сверены с [MikroTik BFD](https://manual.mikrotik.com/docs/user-guides/routing-and-networking-protocols/unicast/bfd/). Протоколы: [native51 samples/recovery/cleanup](ux-ui/acceptance/ospf-bfd-sustained-2026-10-11.json), [real source UI](ux-ui/acceptance/ospf-bfd-live-source-2026-10-11.json), [deployed smoke](ux-ui/acceptance/ospf-bfd-deployed-smoke-2026-10-11.json). + +Границы: sustained BFD-only gate не гарантирован на RouterOS7.24.5; программа показывает реально наблюдаемый конфликт и не навязывает новые network rules. IPv6/scale/independent WAN/continuous packet loss/SLA не приняты этим блоком. Следующий154 — OSPFv3 IPv6 routes; существующий catalog читает только /ip/route, требуется family-safe /ipv6/route.12.5 открыт. diff --git a/docs/ux-ui-test-server.md b/docs/ux-ui-test-server.md index 99cd5f09..f75e6341 100644 --- a/docs/ux-ui-test-server.md +++ b/docs/ux-ui-test-server.md @@ -1,6 +1,6 @@ # Тестовый сервер UX/UI — 2026-10-10 -Сервер161.104.46.222: завершён12.5.152 — WireGuard IPv6 static lifecycle/create/PATCH/history/delete и single-address RSC/conf export/import.29 real API cases, native handshake/Ping3/3×2,33 disabled-server API/SQL cases всех трёх типов с zero ROS contacts,56 backend tests/профили GRE и контейнеров/live maps,10 E2E/types/ESLint/builds/984 parity/live PC/mobile passed. Runtime backend/frontend ux-wg152 healthy;12.5 открыт. Следующий153 — OSPF/BFD sustained gate: BFD-only loss при сохранённых OSPF Hello на собственных GRE, восстановление и independent cleanup. +Сервер161.104.46.222: завершён12.5.153 — предупреждение Full/BFD Down с точным device/interface/peer binding и переходом к BFD без потери device context.51 native rounds/30s подтвердили поздние Full+active при BFD Down; sustained route gate не гарантирован, а не ошибочно принят. Recovery/Ping3/3×2/10 baseline collections×2/cleanup,3 unit/9 E2E/2 real source UI/2 deployed smoke/types/ESLint/frontend build passed. Runtime backend ux-wg152/frontend ux-ospf153 healthy;12.5 открыт. Следующий154 — OSPFv3 IPv6 routes: добавить оба route catalogs с family-safe IDs и проверить собственную GRE IPv6 пару. | Параметр | Проверенное состояние | | --- | --- | @@ -14,7 +14,7 @@ | PostgreSQL | postgres:18-alpine,18.6;mmapp-test-postgres healthy;SELECT version() passed | | Данные | Отдельный Compose project mmapp-test,том mmapp-test_mmapp-pgdata и каталог ./data | | Доступ | PostgreSQL не публикуется;frontend3000/backend8000 привязаны к127.0.0.1 после запуска | -| Образы приложения | mmapp-test/backend:ux-wg152 и mmapp-test/frontend:ux-wg152; запущены | +| Образы приложения | mmapp-test/backend:ux-wg152 и mmapp-test/frontend:ux-ospf153; запущены | Compose SHA256:3052bd6ab5d9865f97605cebfb5ff27a4410cd3357b81153a65a87fb7c92582f. OptionalBACKEND_IMAGE_TAG позволяетобновлятьbackendотдельно. Локальный и удалённый файлы совпали. Шаблоны: [Compose](../deploy/docker-compose.test.yml), [env без секретов](../deploy/env.test.example). @@ -1400,3 +1400,17 @@ Runtime backend/frontend ux-wg152 healthy; deployed live read-only catalog/creat Протоколы: [native/cleanup](ux-ui/acceptance/wireguard-ipv6-native-2026-10-11.json), [API/history/import/export](ux-ui/acceptance/wireguard-ipv6-api-history-2026-10-11.json), [33 SQL/API gates](ux-ui/acceptance/network-disabled-sql-2026-10-11.json), [до исправления getter](ux-ui/acceptance/wireguard-ipv6-before-gate-api-2026-10-11.json), [compiled](ux-ui/acceptance/wireguard-ipv6-compiled-2026-10-11.json), [live UI](ux-ui/acceptance/wireguard-ipv6-smoke-2026-10-11.json). Следующий153 — sustained OSPF/BFD-only gate и recovery на собственных GRE;12.5 остаётся открытым. + +## 12.5.153 — граница OSPF/BFD и предупреждение конфликта состояний (2026-10-11) + +В существующей OSPF странице ReUI/Frame/base-nova добавлено предупреждение последнего опроса: OSPF Full при наблюдаемом BFD Down/AdminDown. Correlation требует точный server/interface/neighbor IP, explicit active/useBfd=true, одну direct multihop=false BFD session и свежие данные; чужое устройство/интерфейс/peer, duplicate sessions, unknown/multihop/inactive/non-BFD template не создают вывод. Native Full/route states и правила RouterOS не меняются. Переход Проверить BFD сохраняет server/node context и атомарно снимает search, чтобы найденная сессия была видна. Референс остаётся существующий ReUI Data Grid/Frame, новые vendor components не устанавливались. + +На обоих CHR собственные GRE198.18.153.0/30 и OSPFv2 loopbacks198.18.253.1/32↔2/32, hello1s/dead20s, BFD200ms×3. Два own firewall правила на CHR2 блокировали только UDP3784 input/output на own GRE с exact private src/dst. Protocol89/ICMP не блокировались; OSPF Hello отдельным packet capture не измерялся.51 native rounds около30s: BFD Down наблюдался, в поздних samples после20s оба OSPF neighbors Full и own route active. Это подтверждает отсутствие гарантированного постоянного route gate при BFD-only ACL loss; непрерывность каждого пакета/мгновенного состояния не заявляется. Data plane initial/fault/recovery Ping3/3×2. После удаления fault — BFD Up/Full/active, затем собственные firewall/OSPF/BFD/IP/bridge/GRE objects удалены.10 static collections×2 совпали с baseline; filter/BFD config order также сравнивался. Default/public routes и пароли сохранены. + +UI native positive проверена в source Next dev3133 с настоящим backend8000, без JSON mocks и browser mutations:1440/320 показывают alert+native Full; переход ведёт к реальному Down, сохраняет server и очищает q. Скриншоты [1440](ux-ui/screens/ospf-bfd-conflict153-1440-2026-10-11.png), [320](ux-ui/screens/ospf-bfd-conflict153-320-2026-10-11.png); мобильный экран визуально проверен.3 unit cases,9 controlled E2E с recovery/foreign/non-BFD/unknown и previous data-cache scenarios, source types/ESLint passed. Read-only deployed PC/mobile smoke после cleanup подтвердил отсутствие ложного alert. + +Frontend production build прошёл с окончательным source context; frontend ux-ospf153 развёрнут, backend ux-wg152/PG healthy. Первоначальная SCP сессия истекла в ожидании пароля; первый frontend candidate был собран без delta и не развёртывался. Context пересинхронизирован/хеш проверен, финальная сборка повторена и принята. Backend code/build не менялись, broad regression не повторялась. Только собственный завершённый container6a521d… удалён после exact-ID/state check; background main polling продолжался, собственная SQL база не создавалась. + +Правила конфигурации сверены с [MikroTik BFD](https://manual.mikrotik.com/docs/user-guides/routing-and-networking-protocols/unicast/bfd/). Протоколы: [native51 samples/recovery/cleanup](ux-ui/acceptance/ospf-bfd-sustained-2026-10-11.json), [real source UI](ux-ui/acceptance/ospf-bfd-live-source-2026-10-11.json), [deployed smoke](ux-ui/acceptance/ospf-bfd-deployed-smoke-2026-10-11.json). + +Границы: sustained BFD-only gate не гарантирован на RouterOS7.24.5; программа показывает реально наблюдаемый конфликт и не навязывает новые network rules. IPv6/scale/independent WAN/continuous packet loss/SLA не приняты этим блоком. Следующий154 — OSPFv3 IPv6 routes; существующий catalog читает только /ip/route, требуется family-safe /ipv6/route.12.5 открыт. diff --git a/docs/ux-ui/acceptance/ospf-bfd-deployed-smoke-2026-10-11.json b/docs/ux-ui/acceptance/ospf-bfd-deployed-smoke-2026-10-11.json new file mode 100644 index 00000000..a6620c31 --- /dev/null +++ b/docs/ux-ui/acceptance/ospf-bfd-deployed-smoke-2026-10-11.json @@ -0,0 +1,49 @@ +{ + "date": "2026-10-11", + "block": "12.5.153", + "runtime": { + "backend": "ux-wg152", + "frontend": "ux-ospf153" + }, + "cases": [ + { + "width": 1440, + "status": 200, + "api": [ + { + "path": "/api/servers", + "status": 200 + }, + { + "path": "/api/ospf/catalog", + "status": 200 + } + ], + "pageErrors": [], + "noOverflow": true, + "noConflictAfterCleanup": true + }, + { + "width": 320, + "status": 200, + "api": [ + { + "path": "/api/servers", + "status": 200 + }, + { + "path": "/api/ospf/catalog", + "status": 200 + } + ], + "pageErrors": [], + "noOverflow": true, + "noConflictAfterCleanup": true + } + ], + "bounds": [ + "Read-only deployed production frontend153/backend152 catalog after native own cleanup; warning correctly absent", + "Positive Full/BFD Down source-preview3133 UI uses real deployed backend8000 and is recorded separately", + "Native OSPFv2/BFD IPv4 inner over IPv4 GRE; no IPv6, physical WAN redundancy, continuous packet capture, SLA or throughput claim" + ] +} diff --git a/docs/ux-ui/acceptance/ospf-bfd-live-source-2026-10-11.json b/docs/ux-ui/acceptance/ospf-bfd-live-source-2026-10-11.json new file mode 100644 index 00000000..3b7bfabb --- /dev/null +++ b/docs/ux-ui/acceptance/ospf-bfd-live-source-2026-10-11.json @@ -0,0 +1,36 @@ +{ + "date": "2026-10-11", + "block": "12.5.153", + "cases": [ + { + "width": 1440, + "errors": [], + "api": [ + { + "status": 200 + } + ], + "nativeFullAndDownShown": true, + "sourcePreview": true, + "serverContextPreserved": true, + "queryCleared": true + }, + { + "width": 320, + "errors": [], + "api": [ + { + "status": 200 + } + ], + "nativeFullAndDownShown": true, + "sourcePreview": true, + "serverContextPreserved": true, + "queryCleared": true + } + ], + "bounds": [ + "Source Next dev3133 proxies real deployed backend8000; no mocked response and no browser mutation", + "Production frontend build/deployment is checked separately after own native cleanup" + ] +} diff --git a/docs/ux-ui/acceptance/ospf-bfd-sustained-2026-10-11.json b/docs/ux-ui/acceptance/ospf-bfd-sustained-2026-10-11.json new file mode 100644 index 00000000..c67f012b --- /dev/null +++ b/docs/ux-ui/acceptance/ospf-bfd-sustained-2026-10-11.json @@ -0,0 +1,6078 @@ +{ + "date": "2026-10-11", + "block": "12.5.153", + "name": "mm-bfd153-1791732031266", + "devices": [ + "194.226.121.150", + "104.165.244.7" + ], + "observations": [ + { + "elapsedMs": 489, + "states": [ + { + "serverId": 1, + "started": 1791732324658, + "ended": 1791732324676, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "200ms", + "desired-tx-interval": "200ms", + "hold-time": "600ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "284", + "packets-tx": "284", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "200ms", + "remote-min-tx": "200ms", + "required-min-rx": "200ms", + "state": "up", + "state-changes": "2", + "up": "true", + "uptime": "49s", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "49s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732324660, + "ended": 1791732324853, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "200ms", + "desired-tx-interval": "200ms", + "hold-time": "600ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "283", + "packets-tx": "285", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "200ms", + "remote-min-tx": "200ms", + "required-min-rx": "200ms", + "state": "up", + "state-changes": "2", + "up": "true", + "uptime": "50s", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "50s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 1085, + "states": [ + { + "serverId": 1, + "started": 1791732325355, + "ended": 1791732325367, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "200ms", + "desired-tx-interval": "200ms", + "hold-time": "600ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "286", + "packets-tx": "288", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "200ms", + "remote-min-tx": "200ms", + "required-min-rx": "200ms", + "state": "up", + "state-changes": "2", + "up": "true", + "uptime": "50s", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "50s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732325355, + "ended": 1791732325449, + "bfd": [], + "neighbors": [], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 1675, + "states": [ + { + "serverId": 1, + "started": 1791732325950, + "ended": 1791732325961, + "bfd": [], + "neighbors": [], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732325950, + "ended": 1791732326038, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "1", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "ls-requests": "1", + "router-id": "198.18.253.1", + "state": "Exchange", + "state-changes": "3", + "timeout": "19s" + } + ], + "routes": [] + } + ] + }, + { + "elapsedMs": 2263, + "states": [ + { + "serverId": 1, + "started": 1791732326539, + "ended": 1791732326548, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "1", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "ExStart", + "state-changes": "2", + "timeout": "20s" + } + ], + "routes": [] + }, + { + "serverId": 2, + "started": 1791732326540, + "ended": 1791732326627, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "2", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "ExStart", + "state-changes": "6", + "timeout": "20s" + } + ], + "routes": [] + } + ] + }, + { + "elapsedMs": 2848, + "states": [ + { + "serverId": 1, + "started": 1791732327127, + "ended": 1791732327136, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "1", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "1s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [] + }, + { + "serverId": 2, + "started": 1791732327128, + "ended": 1791732327212, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "2", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "0s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [] + } + ] + }, + { + "elapsedMs": 3423, + "states": [ + { + "serverId": 1, + "started": 1791732327713, + "ended": 1791732327723, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "2", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "1s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [] + }, + { + "serverId": 2, + "started": 1791732327714, + "ended": 1791732327787, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "3", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "1s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [] + } + ] + }, + { + "elapsedMs": 4010, + "states": [ + { + "serverId": 1, + "started": 1791732328288, + "ended": 1791732328299, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "3", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "2s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [] + }, + { + "serverId": 2, + "started": 1791732328288, + "ended": 1791732328374, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "4", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "1s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [] + } + ] + }, + { + "elapsedMs": 4608, + "states": [ + { + "serverId": 1, + "started": 1791732328875, + "ended": 1791732328885, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "3", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "3s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [] + }, + { + "serverId": 2, + "started": 1791732328875, + "ended": 1791732328972, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "4", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "2s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [] + } + ] + }, + { + "elapsedMs": 5197, + "states": [ + { + "serverId": 1, + "started": 1791732329473, + "ended": 1791732329491, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "4", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "3s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [] + }, + { + "serverId": 2, + "started": 1791732329473, + "ended": 1791732329561, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "5", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "2s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [] + } + ] + }, + { + "elapsedMs": 5793, + "states": [ + { + "serverId": 1, + "started": 1791732330062, + "ended": 1791732330072, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "5", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "4s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [] + }, + { + "serverId": 2, + "started": 1791732330063, + "ended": 1791732330157, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "5", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "3s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [] + } + ] + }, + { + "elapsedMs": 6371, + "states": [ + { + "serverId": 1, + "started": 1791732330657, + "ended": 1791732330666, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "5", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "4s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [] + }, + { + "serverId": 2, + "started": 1791732330658, + "ended": 1791732330735, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "6", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "4s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "ls-retransmits": "1", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [] + } + ] + }, + { + "elapsedMs": 6953, + "states": [ + { + "serverId": 1, + "started": 1791732331237, + "ended": 1791732331245, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "6", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "5s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "ls-retransmits": "1", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [] + }, + { + "serverId": 2, + "started": 1791732331237, + "ended": 1791732331316, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "7", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "4s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [] + } + ] + }, + { + "elapsedMs": 7537, + "states": [ + { + "serverId": 1, + "started": 1791732331817, + "ended": 1791732331827, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "7", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "5s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [] + }, + { + "serverId": 2, + "started": 1791732331818, + "ended": 1791732331901, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "7", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "5s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 8136, + "states": [ + { + "serverId": 1, + "started": 1791732332401, + "ended": 1791732332410, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "8", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "6s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732332402, + "ended": 1791732332500, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "8", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "5s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 8743, + "states": [ + { + "serverId": 1, + "started": 1791732333001, + "ended": 1791732333012, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "8", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "7s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732333001, + "ended": 1791732333107, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "9", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "6s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 9332, + "states": [ + { + "serverId": 1, + "started": 1791732333607, + "ended": 1791732333617, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "9", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "7s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732333608, + "ended": 1791732333696, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "10", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "7s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 9921, + "states": [ + { + "serverId": 1, + "started": 1791732334197, + "ended": 1791732334211, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "10", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "8s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732334201, + "ended": 1791732334285, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "10", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "7s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 10503, + "states": [ + { + "serverId": 1, + "started": 1791732334786, + "ended": 1791732334796, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "10", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "8s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732334786, + "ended": 1791732334867, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "11", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "8s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 11098, + "states": [ + { + "serverId": 1, + "started": 1791732335367, + "ended": 1791732335378, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "11", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "9s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732335368, + "ended": 1791732335462, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "12", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "8s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 11699, + "states": [ + { + "serverId": 1, + "started": 1791732335963, + "ended": 1791732335972, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "12", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "10s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732335963, + "ended": 1791732336062, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "13", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "9s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 12291, + "states": [ + { + "serverId": 1, + "started": 1791732336563, + "ended": 1791732336572, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "12", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "10s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732336564, + "ended": 1791732336655, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "13", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "9s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 12871, + "states": [ + { + "serverId": 1, + "started": 1791732337157, + "ended": 1791732337168, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "13", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "11s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732337157, + "ended": 1791732337235, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "14", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "10s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 13445, + "states": [ + { + "serverId": 1, + "started": 1791732337736, + "ended": 1791732337745, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "14", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "11s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732337736, + "ended": 1791732337808, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "15", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "11s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 14043, + "states": [ + { + "serverId": 1, + "started": 1791732338313, + "ended": 1791732338324, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "14", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "12s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732338315, + "ended": 1791732338407, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "15", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "11s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 14624, + "states": [ + { + "serverId": 1, + "started": 1791732338907, + "ended": 1791732338921, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "15", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "13s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732338908, + "ended": 1791732338988, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "16", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "12s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 15212, + "states": [ + { + "serverId": 1, + "started": 1791732339489, + "ended": 1791732339500, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "16", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "13s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732339489, + "ended": 1791732339576, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "17", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "12s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 15790, + "states": [ + { + "serverId": 1, + "started": 1791732340077, + "ended": 1791732340085, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "16", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "14s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732340078, + "ended": 1791732340154, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "17", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "13s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 16363, + "states": [ + { + "serverId": 1, + "started": 1791732340656, + "ended": 1791732340665, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "17", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "14s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732340656, + "ended": 1791732340727, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "18", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "14s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 16946, + "states": [ + { + "serverId": 1, + "started": 1791732341228, + "ended": 1791732341237, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "18", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "15s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732341229, + "ended": 1791732341310, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "19", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "14s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 17528, + "states": [ + { + "serverId": 1, + "started": 1791732341811, + "ended": 1791732341819, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "18", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "15s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732341811, + "ended": 1791732341892, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "19", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "15s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 18105, + "states": [ + { + "serverId": 1, + "started": 1791732342392, + "ended": 1791732342402, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "19", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "16s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732342393, + "ended": 1791732342469, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "20", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "15s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 18691, + "states": [ + { + "serverId": 1, + "started": 1791732342970, + "ended": 1791732342979, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "20", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "17s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732342970, + "ended": 1791732343055, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "21", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "16s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 19274, + "states": [ + { + "serverId": 1, + "started": 1791732343556, + "ended": 1791732343564, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "20", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "17s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732343556, + "ended": 1791732343638, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "21", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "16s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 19849, + "states": [ + { + "serverId": 1, + "started": 1791732344139, + "ended": 1791732344147, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "21", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "18s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732344139, + "ended": 1791732344213, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "22", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "17s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 20429, + "states": [ + { + "serverId": 1, + "started": 1791732344714, + "ended": 1791732344723, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "22", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "18s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732344714, + "ended": 1791732344793, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "22", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "18s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 21009, + "states": [ + { + "serverId": 1, + "started": 1791732345294, + "ended": 1791732345303, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "22", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "19s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732345294, + "ended": 1791732345373, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "23", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "18s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 21587, + "states": [ + { + "serverId": 1, + "started": 1791732345873, + "ended": 1791732345882, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "23", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "20s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732345874, + "ended": 1791732345951, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "24", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "19s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 22164, + "states": [ + { + "serverId": 1, + "started": 1791732346452, + "ended": 1791732346462, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "24", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "20s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732346453, + "ended": 1791732346528, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "24", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "19s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 22743, + "states": [ + { + "serverId": 1, + "started": 1791732347029, + "ended": 1791732347042, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "24", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "21s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732347030, + "ended": 1791732347107, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "25", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "20s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 23323, + "states": [ + { + "serverId": 1, + "started": 1791732347607, + "ended": 1791732347617, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "25", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "21s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732347608, + "ended": 1791732347687, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "25", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "21s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 23903, + "states": [ + { + "serverId": 1, + "started": 1791732348187, + "ended": 1791732348195, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "26", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "22s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732348188, + "ended": 1791732348267, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "26", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "21s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 24504, + "states": [ + { + "serverId": 1, + "started": 1791732348768, + "ended": 1791732348777, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "26", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "22s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732348769, + "ended": 1791732348868, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "26", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "22s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 25104, + "states": [ + { + "serverId": 1, + "started": 1791732349369, + "ended": 1791732349377, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "27", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "23s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732349369, + "ended": 1791732349468, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "27", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "22s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 25709, + "states": [ + { + "serverId": 1, + "started": 1791732349969, + "ended": 1791732349978, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "28", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "24s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732349969, + "ended": 1791732350073, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "28", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "23s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 26314, + "states": [ + { + "serverId": 1, + "started": 1791732350574, + "ended": 1791732350582, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "28", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "24s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732350574, + "ended": 1791732350678, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "28", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "23s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 26899, + "states": [ + { + "serverId": 1, + "started": 1791732351179, + "ended": 1791732351189, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "29", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "25s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732351180, + "ended": 1791732351263, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "29", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "24s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 27486, + "states": [ + { + "serverId": 1, + "started": 1791732351764, + "ended": 1791732351773, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "30", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "25s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732351764, + "ended": 1791732351850, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "30", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "25s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 28070, + "states": [ + { + "serverId": 1, + "started": 1791732352351, + "ended": 1791732352365, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "31", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "26s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732352352, + "ended": 1791732352434, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "31", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "25s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 28649, + "states": [ + { + "serverId": 1, + "started": 1791732352934, + "ended": 1791732352942, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "31", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "27s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732352935, + "ended": 1791732353013, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "31", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "26s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 29226, + "states": [ + { + "serverId": 1, + "started": 1791732353514, + "ended": 1791732353523, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "32", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "27s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732353514, + "ended": 1791732353590, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "32", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "26s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + }, + { + "elapsedMs": 29809, + "states": [ + { + "serverId": 1, + "started": 1791732354091, + "ended": 1791732354102, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "32", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "28s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732354092, + "ended": 1791732354173, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "1s", + "desired-tx-interval": "200ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "0", + "packets-tx": "33", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "1us", + "required-min-rx": "200ms", + "state": "down", + "state-changes": "0", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "27s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ] + } + ], + "cleanup": [ + { + "serverId": 1, + "/routing/ospf/interface-template": true, + "/routing/ospf/area": true, + "/routing/ospf/instance": true, + "/routing/bfd/configuration": true, + "/interface/gre": true, + "/interface/bridge": true, + "/ip/address": true, + "/ip/route": true, + "/ip/firewall/filter": true, + "/ipv6/address": true + }, + { + "serverId": 2, + "/routing/ospf/interface-template": true, + "/routing/ospf/area": true, + "/routing/ospf/instance": true, + "/routing/bfd/configuration": true, + "/interface/gre": true, + "/interface/bridge": true, + "/ip/address": true, + "/ip/route": true, + "/ip/firewall/filter": true, + "/ipv6/address": true + } + ], + "initial": [ + { + "serverId": 1, + "started": 1791732041487, + "ended": 1791732041498, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "200ms", + "desired-tx-interval": "200ms", + "hold-time": "600ms", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "32", + "packets-tx": "30", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "200ms", + "remote-min-tx": "200ms", + "required-min-rx": "200ms", + "state": "up", + "state-changes": "2", + "up": "true", + "uptime": "5s", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "6s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "6", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732041487, + "ended": 1791732041565, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "200ms", + "desired-tx-interval": "200ms", + "hold-time": "600ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "29", + "packets-tx": "33", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "200ms", + "remote-min-tx": "200ms", + "required-min-rx": "200ms", + "state": "up", + "state-changes": "1", + "up": "true", + "uptime": "6s", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "6s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ], + "initialPings": [ + { + "serverId": 1, + "sent": 3, + "received": 3 + }, + { + "serverId": 2, + "sent": 3, + "received": 3 + } + ], + "initialCatalog": { + "neighbors": [ + { + "id": "*F3FDDC00", + "serverId": 1, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "address": "198.18.153.2", + "routerId": "198.18.253.2", + "instance": "mm-bfd153-1791732031266", + "area": "mm-bfd153-1791732031266", + "areaId": "0.0.0.0", + "interface": "mm-bfd153-1791732031266-g", + "state": "Full", + "uptime": "7s", + "stateChanges": 6, + "priority": null + }, + { + "id": "*F3FDDC00", + "serverId": 2, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "address": "198.18.153.1", + "routerId": "198.18.253.1", + "instance": "mm-bfd153-1791732031266", + "area": "mm-bfd153-1791732031266", + "areaId": "0.0.0.0", + "interface": "mm-bfd153-1791732031266-g", + "state": "Full", + "uptime": "8s", + "stateChanges": 5, + "priority": null + } + ], + "interfaces": [ + { + "id": "*26", + "serverId": 1, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "instance": "mm-bfd153-1791732031266", + "area": "mm-bfd153-1791732031266", + "areaId": "0.0.0.0", + "interface": "mm-bfd153-1791732031266-g", + "cost": 10, + "type": "ptp", + "disabled": false, + "inactive": false, + "priority": 128, + "helloInterval": 1, + "deadInterval": 20, + "useBfd": true + }, + { + "id": "*24", + "serverId": 2, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "instance": "mm-bfd153-1791732031266", + "area": "mm-bfd153-1791732031266", + "areaId": "0.0.0.0", + "interface": "mm-bfd153-1791732031266-g", + "cost": 10, + "type": "ptp", + "disabled": false, + "inactive": false, + "priority": 128, + "helloInterval": 1, + "deadInterval": 20, + "useBfd": true + } + ], + "bfdSessions": [ + { + "id": "*1", + "serverId": 1, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "localAddr": "198.18.153.1", + "remoteAddr": "198.18.153.2", + "interface": "mm-bfd153-1791732031266-g", + "state": "Up", + "uptime": "6s", + "multihop": false, + "multiplier": 3, + "txInterval": 200, + "rxInterval": 200, + "holdTime": 600, + "packetsRx": 40, + "packetsTx": 37, + "stateChanges": 2 + }, + { + "id": "*1", + "serverId": 2, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "localAddr": "198.18.153.2", + "remoteAddr": "198.18.153.1", + "interface": "mm-bfd153-1791732031266-g", + "state": "Up", + "uptime": "8s", + "multihop": false, + "multiplier": 3, + "txInterval": 200, + "rxInterval": 200, + "holdTime": 600, + "packetsRx": 36, + "packetsTx": 41, + "stateChanges": 1 + } + ], + "routes": [ + { + "id": "*2014D000", + "serverId": 1, + "serverName": "CHR", + "serverSite": "", + "destination": "198.18.253.2/32", + "type": "Unknown", + "cost": null, + "nextHop": "198.18.153.2", + "via": "mm-bfd153-1791732031266-g", + "area": "" + }, + { + "id": "*2014D000", + "serverId": 2, + "serverName": "CHR", + "serverSite": "", + "destination": "198.18.253.1/32", + "type": "Unknown", + "cost": null, + "nextHop": "198.18.153.1", + "via": "mm-bfd153-1791732031266-g", + "area": "" + } + ], + "instances": [ + { + "id": "*12", + "serverId": 1, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "name": "mm-bfd153-1791732031266", + "routerId": "198.18.253.1", + "version": 2, + "disabled": false, + "inactive": false, + "redistribute": "" + }, + { + "id": "*10", + "serverId": 2, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "name": "mm-bfd153-1791732031266", + "routerId": "198.18.253.2", + "version": 2, + "disabled": false, + "inactive": false, + "redistribute": "" + } + ], + "failures": [] + }, + "faultStarted": 1791732324364, + "faultInstalled": 1791732324658, + "faultCatalog": { + "neighbors": [ + { + "id": "*F3FDDC00", + "serverId": 1, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "address": "198.18.153.2", + "routerId": "198.18.253.2", + "instance": "mm-bfd153-1791732031266", + "area": "mm-bfd153-1791732031266", + "areaId": "0.0.0.0", + "interface": "mm-bfd153-1791732031266-g", + "state": "Full", + "uptime": "28s", + "stateChanges": 5, + "priority": null + }, + { + "id": "*F3FDDC00", + "serverId": 2, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "address": "198.18.153.1", + "routerId": "198.18.253.1", + "instance": "mm-bfd153-1791732031266", + "area": "mm-bfd153-1791732031266", + "areaId": "0.0.0.0", + "interface": "mm-bfd153-1791732031266-g", + "state": "Full", + "uptime": "28s", + "stateChanges": 9, + "priority": null + } + ], + "interfaces": [ + { + "id": "*26", + "serverId": 1, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "instance": "mm-bfd153-1791732031266", + "area": "mm-bfd153-1791732031266", + "areaId": "0.0.0.0", + "interface": "mm-bfd153-1791732031266-g", + "cost": 10, + "type": "ptp", + "disabled": false, + "inactive": false, + "priority": 128, + "helloInterval": 1, + "deadInterval": 20, + "useBfd": true + }, + { + "id": "*24", + "serverId": 2, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "instance": "mm-bfd153-1791732031266", + "area": "mm-bfd153-1791732031266", + "areaId": "0.0.0.0", + "interface": "mm-bfd153-1791732031266-g", + "cost": 10, + "type": "ptp", + "disabled": false, + "inactive": false, + "priority": 128, + "helloInterval": 1, + "deadInterval": 20, + "useBfd": true + } + ], + "bfdSessions": [ + { + "id": "*1", + "serverId": 1, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "localAddr": "198.18.153.1", + "remoteAddr": "198.18.153.2", + "interface": "mm-bfd153-1791732031266-g", + "state": "Down", + "uptime": null, + "multihop": false, + "multiplier": 3, + "txInterval": 1000, + "rxInterval": 200, + "holdTime": null, + "packetsRx": 0, + "packetsTx": 33, + "stateChanges": 0 + }, + { + "id": "*1", + "serverId": 2, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "localAddr": "198.18.153.2", + "remoteAddr": "198.18.153.1", + "interface": "mm-bfd153-1791732031266-g", + "state": "Down", + "uptime": null, + "multihop": false, + "multiplier": 3, + "txInterval": 1000, + "rxInterval": 200, + "holdTime": null, + "packetsRx": 0, + "packetsTx": 34, + "stateChanges": 0 + } + ], + "routes": [ + { + "id": "*2014D000", + "serverId": 1, + "serverName": "CHR", + "serverSite": "", + "destination": "198.18.253.2/32", + "type": "Unknown", + "cost": null, + "nextHop": "198.18.153.2", + "via": "mm-bfd153-1791732031266-g", + "area": "" + }, + { + "id": "*2014D000", + "serverId": 2, + "serverName": "CHR", + "serverSite": "", + "destination": "198.18.253.1/32", + "type": "Unknown", + "cost": null, + "nextHop": "198.18.153.1", + "via": "mm-bfd153-1791732031266-g", + "area": "" + } + ], + "instances": [ + { + "id": "*12", + "serverId": 1, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "name": "mm-bfd153-1791732031266", + "routerId": "198.18.253.1", + "version": 2, + "disabled": false, + "inactive": false, + "redistribute": "" + }, + { + "id": "*10", + "serverId": 2, + "serverName": "CHR", + "serverSite": "", + "serverCountry": "", + "name": "mm-bfd153-1791732031266", + "routerId": "198.18.253.2", + "version": 2, + "disabled": false, + "inactive": false, + "redistribute": "" + } + ], + "failures": [] + }, + "faultPings": [ + { + "serverId": 1, + "sent": 3, + "received": 3 + }, + { + "serverId": 2, + "sent": 3, + "received": 3 + } + ], + "fullWhileBfdDown": true, + "recovery": [ + { + "serverId": 1, + "started": 1791732411787, + "ended": 1791732411796, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "200ms", + "desired-tx-interval": "200ms", + "hold-time": "3s", + "local-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "1", + "packets-tx": "99", + "remote-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "remote-min-rx": "200ms", + "remote-min-tx": "1s", + "required-min-rx": "200ms", + "state": "up", + "state-changes": "1", + "up": "true", + "uptime": "0s", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.2", + "adjacency": "1m25s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.2", + "state": "Full", + "state-changes": "5", + "timeout": "20s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.2/32", + "dynamic": "true", + "gateway": "198.18.153.2%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.2%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + }, + { + "serverId": 2, + "started": 1791732411788, + "ended": 1791732411874, + "bfd": [ + { + ".id": "*1", + "actual-tx-interval": "200ms", + "desired-tx-interval": "200ms", + "hold-time": "600ms", + "local-address": "198.18.153.2%mm-bfd153-1791732031266-g", + "multihop": "false", + "multiplier": "3", + "packets-rx": "3", + "packets-tx": "99", + "remote-address": "198.18.153.1%mm-bfd153-1791732031266-g", + "remote-min-rx": "200ms", + "remote-min-tx": "200ms", + "required-min-rx": "200ms", + "state": "up", + "state-changes": "2", + "up": "true", + "uptime": "1s", + "vrf": "main" + } + ], + "neighbors": [ + { + ".id": "*F3FDDC00", + "address": "198.18.153.1", + "adjacency": "1m25s", + "area": "mm-bfd153-1791732031266", + "dynamic": "true", + "instance": "mm-bfd153-1791732031266", + "interface": "mm-bfd153-1791732031266-g", + "router-id": "198.18.253.1", + "state": "Full", + "state-changes": "9", + "timeout": "19s" + } + ], + "routes": [ + { + ".id": "*2014D000", + "active": "true", + "distance": "110", + "dst-address": "198.18.253.1/32", + "dynamic": "true", + "gateway": "198.18.153.1%mm-bfd153-1791732031266-g", + "immediate-gw": "198.18.153.1%mm-bfd153-1791732031266-g", + "inactive": "false", + "ospf": "true", + "routing-table": "main", + "scope": "20", + "target-scope": "10" + } + ] + } + ], + "recoveryPings": [ + { + "serverId": 1, + "sent": 3, + "received": 3 + }, + { + "serverId": 2, + "sent": 3, + "received": 3 + } + ], + "passed": true +} \ No newline at end of file diff --git a/docs/ux-ui/screens/ospf-bfd-conflict153-1440-2026-10-11.png b/docs/ux-ui/screens/ospf-bfd-conflict153-1440-2026-10-11.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d84624cddb1eadaf8d1f92437225eac352c7e9 GIT binary patch literal 152258 zcmd42RajiX(gg}30fL5L!GpU87(94z2r@Xq3GRbW2<`!bJA~j&aCdiicXu0XxRad! zobNu}=er-~n;zM{ySu8ZYOU3wDoQe#XvAm;2nd+6pCmscAiT;#KtS3T>vSxGT<_q3yBl#jST3WT%7^gkVM-q3st$@!l1ok0T6aRUMWRc-Z&-wahXf#8&~ zZWUHljaBf%j7IfIWL=x8s;UFkz>ns)nroCyiO0ynY;?@b+ehgDL znG!(+RiHtDXn!9S-t*t9tv5LAKkxp&>Htt3{@2Rt_D4YZUrR^m|NE;m@+w~c@$moq zeHNqGH>CglmzA6h@xP5>d(P4ME~yw-J_z;kOjLmw^AfIRzdoE32)o zEh{UQe|we+!`|j^6$YBOva+&Y9UUEIWnWvZU|?dHI%&JP@xGv7Agy9z>WDTb?eDM$ z8Tg7=3A|ZD_=rRt83o3hXCa7Gf{aE}!RCL+=84CkKHKz}zA;Ds+mXAdgQP^}AP>if zH>hagXyI~!9nm5!VoMzPlY1C+lN~vVz6QRCnbDhM1==0JCP2gZ7U){+GGNv6F=|r= zw`CLFO%@aB@$BXSAH!TU_aqSp88T9^)XT^38|DFI$++84n9U-0k|nA*oN z%UZ;8i@7%N&kyR}y!98r<|qA`3Y z&vm0yP~lTr@G*D%y6%22a$Vd(^*`p)#H^#EgB*l>cXy{^olD@pyQUui`l)%@NZD&z z5g?B9f`aJr_hv0Q4-VW`RK#?38)X}^I|A2o-u&y`9e6eml$B+iS}wp{k$NF!#4V(q zH*R@$;}dX}x)R`z*gCFgF4N0KErW5oJyEGh;w;c?B(d3`=L-`_$ z=u2e^i(5$e_mPDBEE?74oP8lEQ`@};+@w_*8j_ck5+Cueu z7%93+TUsI$^p(m|#k<$}lo*+GMX(weA@0}pS)Jh*UQ=U&OeD5L3F?#6(i~?&xx>e< zfq}Q84wNX*{7qKZIxpKEq$lz6Q~5w{GL2a7IkvjikGI={Kn*S-k9(WN(ZxeGy#EZ8 z4H|GY!f=cVCLbh})CKuVc{ra_k`_v~=3NH1J72tbyRG$)sj{%NJN0FjU#`UKHhK zL;I0X*&fO{vv0 zt0@gJ%+KbVDNWrx&{#bnjbSX@_iw4S%c0>unx9ZLr1ZE`Rwi? z1ANA?@u}*JqKvPBQjfp(L=zvtK4lA3c@~Y=o})5p3ZU^ec#Ad z7u2R}WMX3S<;&Qb9O<&fBkU={fJ|Y&URF8hS%>_}n#IZ>B!Q8_)Wtu*g!EqLG^FH?b=+BSVkj&FhND}^VKk#&~qo<>@d)g-iKaaz5Ws;Lp@bK`CmO%)?+z$Plk21~x zQe=P5C5r-+SvK&|!sVmK3&Z!HM*9lhu4&;_Wi{J2UPTNIl_+p^kByBL8ya%8`B9Sz zp`%|v0=CZktNJB^G0dF-+R56%QIGP-Dg;BBCf3$oyGlc2+5W>rLm9$eEk>K>kA&<_ z&d%w)u5S&P;^Z8I&Po?2Cb|2B-&B1eAB|0nO>?>*;s?$eyng)}ice|g8vA+^$w5ft zI>%w-!i-YGK=1`?f|6+K%CKVq9me?U-BtuMv;Pj|FH}$8&y?1ge_+UAiWq{2K9|$xqa`WFJLuthHevt z7!^Yulv|5TXyEltqHL<(ncmxo0@r!A5iE*}i|h9>D?eYxeD837K0mrqiz>9mQLUOF z%8upv0-ZPYdhjManq2g5d$&|mGojNvh?tmIuaO|HxLDBQMu9F)TSsT$U~DBXzcN4g zVfs*2L`1@Y<^@E=wC_EsA^-%V%J@@Lqa4BFmoadUXSd>L0gUK zWW+;DS2~>LFFT@|AKxCH$*X{m->g}-7c6@}5Q#Q>tac3- zv2@qv2Ajz$C^#|l&-PCiUEQPu2g+)+cA}ny8proVSZ8(i+)Qt&v3$n=Nrwxwc}rx1lBJ-Z#9%2_;|o*XqjUN`WvEf1q> zFuHg9`81^dk&i9Y4^bF`cuKg539tmy(HPOqb}Fw-ij)`Hj!Bza*l;PQ)DOw#%w!IDd_Og^zsH`0Lqj zZf`{C+vPTxus13@Z9du2aWPA^o^Vlg%-%>)zcZNnV3sd@gUwGJ@vb8Gc8wlZ6Kz?tduaCu zAY~V`ndh@%=VBt}R!5we$*8y%9X!Ao7VWA)y>CA|_B|U~suje5xpoZ(`*9|p;6uoY zdT~C*-sHIkrW8D(oC3E8wUsfzAhfCdYF)C1r)O2ZKCbs5@H(~S60jXHgY7=B7II|R zdZAJgG;BKKU@Ov;E5zkXU*RmC6E{c#E^ABm5&gx$NYoW~;4q zp@TADSF6O)cB%HyU2F!`&!+aJdsI0`yXu)&6iC}ErUxee z{7FO8#KCK~eWFwqq$7w_0K|+j3brY2g4h+56GH^_es_BpQ5l zumajH;sNlE7slzYw)g~L5DghsLiFlqs&z-}Fa6=MqtW#+4E^?&A~Ki6(ed1l{0SM8 zC?h#pHpW+Q7c z)QOoYi;f0?G`4fx$VCjI1`7P54yVk-5C^_)vY8Ng^H7Nht&(yMuI@ZHkw96^f><;hyno&3lR4hvgQ>23jK8;O`8hzL!Q%lMaqFn= z6Ml9dO|-qaIj+Q?yXdtui{9fxS<~BPD}6>tU247Z$%lCxc@A)UOSE;8l~%*M{@z69 z^kQOw$n}$a`O1|MF}y(?SEjb> z!m9i8-G-f|rRa81PlueDc9L0Z^Ym~O{(Lh;*Km|mS-;>}QeiECV_aUR z1AP&DdkkTguEk$oArk-{!%SIk>kmQ741+A*bq|-_gPOLDjDM~&o{l|@d1`pW^AyuG zwR{_mBZL$4dd;(+R@pn}MV_BRf6zugq$e5N$xBL&)Y6NEQ`TguvduOs6Mo*mUTYr8Xu9ql;N5aZssGKp&GH@$E0M9Zmw6PB5V%shC<`h<0CJFOGeUlcnWW) zLVo-g3rNM80Hsx}FAZk~QB8eqtNZw@jlL5}ow*abuT!Hx53GfTWFokvCYEH))rmbkbk%C;%f96BGS~URRO2)%LGj98!2)(K4XdwW}KAn367zG+?}E_qC6w z@W@@K#}*~_>vzk@a6fHgh9C%06kgGIT^}~O4$?i0q&r@<_w}h%-&gLAI)2$6-=u%_ z%3EKb%*14q-GUf%fDV`TZBzLS6(>|wX4^ASz?)`FO}EzW+Gw?#QDm*f353FP&8F6u zMHsK)9__85r|&h(FBI0JsxI)(F-E-)l6I-hMv=S@_PE#Un#LhZJ`}iRxUI}ZNx)2d zDt*4$9}ptNZ5@X}4ZTmL`#r}Iyfif>lfZkvLZE&>-b?D3U0mubbOcWe@+*CdI$te zO+}H3jxUyC&*w3`4(2^m)D#-;ECfE>)D&HP|Ng>zIw%FJ<>FwxQ+Bm&tiS*3?g$xl z>cq@AM{%*nl#jG1FOiDP5^zXj)gkpbr*$od3ocF5U>ux6x_n6BdAh+SUO-%4JXpCs zq%pm_?spc;hy!5xr=P{z@`cl7S2p*ML_eBz`DiA>$`iTVW|{w(WE61p$+JU*ko5|Aw4JFU!=67)|2)Zp9V) zl+Q62v2TsbLh3#}kTA9w(nO0&Kg7)yP9frMb>bYC`!4|kYm@_e-v4yXta(Hf*^EE# zJ*{qDdOZ${_(ey}G%Pu>7%F}Ah3+6H_$+AM64_Ifm~<_xb-11VPz~By=MDnZMv)0Z zp&0FsjeUbaIXNqve*b9KdOf9V70(-&ld){!`OLruO=)Qt0STJ7F__9>VPOuw>Y{+F zj|5RjM550XxR7F<0BTe_yJme)fy4cMCjhBXxTxDVS2@Dij`V0M7tPySjWNj?n~>%0|MD^w2R+GGoCJ%cS{t5y9#8%*pPQ| zw92P+-~XYqXDdHC+h;N?E`LX=j*n}+AeCh4Ot9AB&*wVuJKKMe8U?Mr85RzcSDJUH zva@5q#X3P1Zr83GxvUXL+@;^3_V<92t7_iBDro#vLh4Ev6U|O8ZLM}{B`fx($EzEe zGAvJS)zZVMeZeO}%ZSrGV@7i-RK0tlmAm9mMY~H+dr03$5790z9bEh|tZ3+3{*-?W zwzsUVE>Grn)>KfyP@3{qW(J0=Qu~Cbgp)VWo4$V-n6~f{K99(+W|V6|Gyck$d z*R;|z^93>sOi)xX2Ol+mi=2}(t#tJL%vB3qdx2*=UyF+cOJa&nmbl!_fg~!1HC)EW z=M{>O;Ex^Z&zk=zC0+fd$0HMD3GjSR5o{?bb@q0k5)bXI>a$|jBmG1ZRjQP1yY`^9 zk{S*z(4)9q@*~axV+l?k)i(b1B5-YJ<%b3O zOz(+oiOt}&zTv^}@aWUoS?8otl|pq-^j<8hveW=-!o}L>g12ZM}i`M~}k zKhDG%Sh|h+?4tB>aSh?v$l<|(TwW|3s}!gW7$tnHGn(vr?WZK%0KPWsOEmN;)w$a0 zp9ISGlPxT!B)!|TnT5y{zaTYvlDWM-pnr3g2)-UZ$EBZz*>6u3##w`NWaH@8_ImcY zEeKh$YN~B(oqKuJa5t!9&Zx%Q+gGHB8rv(Cwx_lF2x$qz6TQiuVB!JE+SV1vqj1!f z@(l6M<)MAL&(~ug%AH~nbdS4N9f$o_syn|m9hkjC`VF3 zuD4M=3Bibgj<<0rZijiU*G^s*UaCv`vt+Cq>0ccb7OH_hou~#vilarY)I7{eUgv4h zBx77W?4l zL)Aw3oyFE$wZP^%iv4X&NTw!ZW!^*BDrgkuJ6YN6JHV9f`LsKqV_hsB_mC-7?R5<4Xyv_3DCW^@pudIGLHa6u+^j)PuOG>T~-uHh(kLFn3K zeP=LCRk_}a?{_dRj^M$#|6Y9Vz=Yh*^Q~3q`(E-)YIR@qqUQ`~Zf79amHL2p%`12n zgQNL2PWb{=BOSK}3(NIQWXuB_+NBgdkNPt0is5>xzS!bvLjGAMB?;BLi-Vg^0|{ww zvLV-@Na0?JUq_)|Cf1$TeaxQIMPY|KpFX(u0;38tuC|tk7-nxKAaCin!zg_x*xUvX zWN=((mvyL7kP9IfiXQ|#1l&vT z6=twqSM(TMT&jlteCrzFhL-JUz~#Jc=6{Co>Ou1=xgUffb}FkDr5~0{V*2!AVx`%O z`sY~y6OKjO{8(zc7$&Lo`0TE^scD9Yb6G-~hsPZdBJ=b(I5ITEGAeQ+hQ6!O{|)k- zDdf|$eeenln+Fai2C_ZpxLQvpLSoqrTjXXyU&^&MAA3u5?l9;50tHB87RxVdMcs}W z+1PF_FRw4jvUO-;H#f48OyN)pI7D^8KG4@^IbZQ3 zE9*|we(_>*W*D7tWY+;uaL4at`3$bjeN({R=_k=3Ye&(n_v@?Cc-&;8+p(sIU4oAU zenQv}zpql(*r|S#zi%LUgy>|;VRG0BbjY8mXpGVFKpV03SR==c{DNZ{Jw@G`0l?E% zuG5*>rSWmL({)S@l%_!O*KeCcSXPskAFwDy-Dt~uB1^Q5CaxJCDO)@}XY(Wz(*4Pb z=rvq&4K{<1!+n^lk9ZoLtovjyJ+*V@7;v(*qW1|Tr6nv0#?wg zZa9*s`2HpIhUbU(4wLr_w>C$PQ>VFKBENZ}mz0tL>Yp9A&N^w2Tw=q>x0YX>-z(_( z?Dav}u1c)Ifs|Fk2caQ{La^PBD5l4^$66?CavoZfc~9~BAOlMIQT)~W^B@XCQfp7I>So;-He|<*MKb%%g9Es8S@^RKK~;5NmnBRPcr(z>Y!yT6LJ? zx^69c&7zCvuZ-IG^3L^BLrv+U`fT?C-uWpEK)KbMum1p;`GAp=qa%S!FH`R*aP7|P z$az8BelD2V2-g}7Q7FQ*`sI{#&ixG(wum?v_2{o~B z*u}(nV^nB2Fp8MSBZK^j;cUlx?CEl}qJp=!1uR591_hfu=kwQ0h17%PRe2vcdpr(e zeulHfPc^osgltKNdvn*_;axn|zHQwrO|B2dU9^Sj2mAY+-bvV443;e3vnQhLdQAZm zG-6`tLpnfp-Ntt~$*HN#F`w*Kn)Laf4FTO_ZEJ9#mGBj-JKi$@HV!8mOt5c>kx0Q$ z&5*2br_+$r9?U}lw*z#zKPH>fr4{@n=OWluVy+T4(&yLSt~}!>c$z)=eapQM54R9kQ>|@I8s_JYc;h50SW&U7<#&s z-kG279I9Zm)B00x6H^f?=XuaAJlT--GyK_xO`d?3)PPVE5+{0?Eowi1f0^(DQHPPR zHke$DqVD_SBe`%I1_s7kT*IjhXHZ+tS+RHH*LBtJP0%=I8Dd%rJrOgHd5@g4eHbJW zn8r=VuHAf{Fm-vz>>&kgIgkhc*&NhPSs7|guo2Guy8ry(lV?Q&As1I-^UhBm0p&-2P6vpQOW*wS_i$^tXPyRhXR4IWUZ=IXt(hT|W;KJ&mJY zmro|OX2$V6x(I}xbAC-O;#38(peWb!UZ)zjHy+y-k;Ak41W)khEK zEhmo+d8#lRG9Qz*H6y6DjqM^WO_NG9!*$}>O3ZkqRJgxdtXdQ)|2Gp-Vf`hX0{q^O z^mkq5bN6m|5)94vyQ_5ENFw^%ew)covNO#{5B4(?#(5n4gH8*xtCOKaf#<;;ki^=$ z@W@Dtud|Borz+C|R<|djWcZeuzII+^MKKgOZ|)B5o^e73_9gqE| zYQ=-C!&)9z?(-Ahy;|AsF4+I-7QPYW)zv{ey2F=A$^1nPjg7|5pQ1@L!e1cutnVRX z*%r`iIvK@32WljoNTd&Ig=9KNHWQ8l7wH>p=n06>PSQe{(4}p#_x|X|n>2!ZFOt!- zkx0d@hxOJgMF=wEm7kC7AuC(I21-0fqPx07!nrNprU%X}lM|&Iiab6#k&MQ$(b>Q% z{Vm9U(vBXM<`!*0QbaDRK@X5pq2SvIrLsP4T5fUKRHS1*T+C!$3sM1)a`IJN<}0FF zXrbCX|F25Qd3BF^(Bk$oN~CqVYGE4_T3|@`N5yX;?CL}7b^c5R=7&MbeFv@RfbUubVPnkmsP zEHo2S5lDx16B{&l%DS0RyDDHTB(mX1HUC3xTQBsgY zGCp9`;7&jQ=<%apq3OxaExruugrua_7RGYfpB#0E6Qrru1RSiS*VVOvAXdAC62Vw2 zRUU^mnZ+=Myu9hpsvGIK6_^-+*qlcyRn}xZi<0Z1g`3WE7JVeL1`g3yb>Ud?W8UjU zqd+hWPW(o(2SvqTNd#n8=eam6x;lJ8VH1DM-xgJm*SfiO<}{nF`X`<^RfB^xTXl%l zZIl>~Aox1J=!w)Pe&olppkaO>bp_TC7{Xa^;#?96QfKGO-OeSk$$Edd6H^?C)-^)uROphbVgy*ag@v27T-r>kH zFnaK?+U)5XhSwVSBiSFGZ}#H2qdUAesRF;(R)m)f1h!)St zCgAb_YTF+l&b72Ub1Y(Wmb|B8g#fj!JAVY^TAZq2k^X;!!r93hi7)gBeN`b|&bl#E zAu2~)a}wZiMgijE1J16viwFo1k6KwJUl?`J7exZJX?u;@+R?AOzJIS+z}1*I<-li()vnE}5qL z?r&+#$b|P9P0ng`F2LSL4H@tO3zq~3r`%)Eo>!Z)Z6-=w`R z5rQ+wfik;_4IL#a>gqIansNcOf2Rw9gO}I5TI?#{~>q!gv* z3zB(oqn)NEEK*hPoB#3S2OovhD{ll5!wTqHy98q){xyOJ0l{X^-E*B0t|vGwJiNNP zn$ez=xjR^x4eg&~?HlM-rqBMKN( zV^fG6ZEQ^BF7?GwQ@%j4+Blhc=!-!D6o`#%gg)EJtV>=Q^qYQ0Y<;bB{{Plf(bCdN z1xmrkI$TO$W&Y}vv?=`J@&c|18jjFnF|O1`^)@|Ajav1bl1$-hbA+#y@6-JGy?boO9=Pf}2x8uY4-L8H$cEgs>v<+7- z6N^F|;);r}K6L@Whp1fri7HV+O0##M{lrjYLchxY6gwBrY(aX!R-&j(? z{RGfc?lI}f)ibV;LqbEE@g}TmVPV0BAY3|sHoqG!%DV5@=j>1FdU_bHeE*(v1wB+U zHZG1j-T@O6^PDzLl7$T)P1jQ<(jKdqXYYf6fB)3vB%JQ+9mo8uTBD{5snZjNYXIAN z5nGp`ioNziR#b{aYgyx#aETfvC1nxbbbK~b%#kS`&npQee=M?v#`=1=hRtElM#B>f z@rA*1xw*JtjkuF7&BsmkmAA*D4%Y{+PK;4@L#f=Ux!oS`2=jAGHxC7y;1#7I_#roe zeqwx_laJfFsD<7Sjc5}U%OC=YbeO(DjB23>buAVD?>Mpo+Y?Xb`T3!~_$}Ibxy2@5 zEI;1uQIkS7Nmp2DY4ZvTA*n`#c&>mdKgh-Vp7WSC`wx+FgM*_oiuv#?KGXXm^qzqU zmrmjA=7x@5y|Zg$4|ybr*zRbKv!1^`k&1nD-|g5&XlePZ)Cn$YgKuki>idF&)72n5 zJG;3COgJ)w!v39L=yd<61kItYvC;9m-s|=xy2TN9bR^~OYrYbhqaV8gjiyHrn?C8% zvflY%e_x+Et=qv|d95`&E7rr^WxypN)%}$tA0M}<+v7`LHYaMwm%B^#=%`cJM4KP~ ztro(E^tZGxb>4f|heNy~BO~SI<>4a0EB^cS?8$u_-tf-xx8YKXB+DO9;fh3z)m$0- zlE`|GTe~O#lb^(EHsN%ytG%1W(?)DE*zM&0WP_Wdidkjl;TIblyodKu5rDP1uHs+6 zqR5UHYO3iL|7huIZ;)J?x*&O7TovY;%tpDn!C}vg4DwARB&fHqfq_9Z`Eq}q{iy+4 z9GxNqT-zC%D-&H&Q{($2Fx=V6$|`)kP+f4c+~`qPFCCwV@t-juWMxCW5&vmYp(lVy zX^FK?sUKKL5NBclKuP>+wV=hfuB+1S`tKwA#jpxSVpM0l>1mv15De)h+c zmpGm&uK$%)^Ul`J4ig@l1_=REJQG7n!RgPqbbkrTX|KcM@n$c$EEGDE=@4Q%(RF@u zVh1P(of^RH^jY^3$-vBet!|}RKZCxht$dvg3k%RTK3?Xpz!vR=`c(8+CJetmZZbY> zTHY5Mp0!&$6l`1{eqd&nzj9mau-3sNq!4w;0tI6ozk1>4Sgc9NW>8fBPBL3F0xLH+ zS0Yz~m_@poh}>Ynl;f;xfv0$(ijy7}&SaZgS;ZzNOYtgs+%XmASK?;0h5n|aTTcZ` z4txydx}Z^#lj{-u1-Jc?biwsw@D=p+|2+#_IovqChR_Q~2%DP`P}rJ&O95ui9zDe2 z(VI3e&p7mDuiyuBdG9+pnzzX*?}|U`R9k6$)+-7V+}he&n0IYEN9A%iva$+8BH!O9 zGGsH%HW(?2Uo9wdwR8lS4l@+0r$8^vwzi8+8x)v)ZjSil<@POS+dDh;m4UZA!;Amb zFC!qFl2-fOjl=QIaa}d9^=NY89{>{qkNa6>=Vniom?9=&I68z@;wmx~9-Hiz7q0dvcc&BG_Kodl8m^ZcZ?Q;) zOifJ#{K+99^P3$#xA>FRn?YHjb*k1Tb!KP?npWqCWM$zPt(+P{!_R1S&hQ} z)xSsl`*MoW{U@Hts?N}NW#eQgEJaEEDiY3#=KP+lDXp%r_keGj*A3)J*?wYh8=-|M&W~gZzT@zYPS-^Y?B4;`!fCz7b&m|M9CmRD`i9 z&npMxiX?Y&mba_TB>o>Or}CqFtF8451DF1b1Cp}jZ_^Yd$I z@mnA4lKfAqHudov(l@%9Lg!sd5s~@iWcP)+sVa4?d+0dz6`~2ryRq<#aGI`{`5#0L zLv+3y`oj7vqh%~mWTrkP_&n(;sLqt;0^`PH2Kwi}4keXCxfVgcPS-nwjZc=u)>u2U zF~QG{_s9WBNlEfJgcq0S{}Feq{H3K7Bb0LE@$iqA>XDS$4IYUyN>@D-s3mr;M?`D9 zcOxraTGfUcqAXNi*xNm$bZWv zNl0jt*4Wr1t^mo5{lL24n$1^F!h1T5T{p~>pa9U*(;wFG9x###x-~hh>uu%r!SUnU zgXzX71QbWTYKd5Sl$K?DX2>UA@`f#LW!#_O&BQ+@{isuYi;Igrzx8!VNJv$62yc+0 zT(0)kKbY*mlN-2}EhHpFXI9g<`Q6Xae%idde$M>cOked+L$UUXv;&ZIUaS294P!`# zfRCW!f6h*%Fv9ijV+z_)?`%fJS=*ZRbqiYjk#EJ=u^zq4%q00ZNSC39r#^7}3d2_G zTPN4vRyjnt{#EqIDRg&i*jTXjE4Q>K8}!&RA#hdmYP|!V=OZEabamlv?H0c6Hs+L? zkBLi2sF7qT1ByksEt9Gq2~RiWSrg*EJovsz?EWmH*W|#tK{d}sE82>H!gI0`*{&K5 zS4iU;wv;q>%iTOp)=q@H7M8alM2QaNrcLG5>!VA2jho9R+z&Kkl^u~Ph}3Dw@Tg_G zX_k4#?1ecVFre1QxVXH;9I$V2 zDoIaYz=I14bDGGFbOq|Q5`^kuS|1huFhiKV@p0qy!rtvfAw9V88HHbNLed-Ka+WYy z;R3>$z)?HAn(Olen{OAJRHG}hxbcv_iR%5iq%S zFO1HUc)Z&2yo$X`H(rBL^ex?TLjZ1`hM^SErc#ER&K7SgbsSw(?|5YE?a3nSQW;YR z=T(`(R=-qeu*k7+cu9rhS>p3e&oRaRervn=;ahLNd7qvjNY7368k#eC+G4fmHl;>h zKv`u+0*brNAvJ808w@*JHY_)Fl7cOwbj$=BYHVj-U1KR*PhYmQ2s|~mp0%pA&W|TP ze7TJ+1)fC=NAL{l&7Ff;=e_Zp&F+zdpa%_dJbqh0r$TY*Z`_&VS;TW!Bugk1lTeOEr~47>*D+d~j@HJzE2_8G$AXZ6t>6xtT4S9% z#Qq{9eQ$?`g|X?Vh8ZmKW0y*b=8x%u#K8HTCVI}igwv#Kb!MWt7;$Jn7rVojkY&Cuviu$wov?fh1_RgO7td{?atyx6> z9GZo4{ccp$_IPm=UD>dnG&wdUjCjOR9ela*&|u1=(bB{14wa;dv(_gjJUIuU?_g?9x>ZN>zE9RaGhtMj^FCKX7Q5WKzV#`A5e;6L zATzw1aU;1&rysHpQ8&v1 z?pR0Dzfb=RL(MSn_eaVK$>ut$ERstys6|itEei&dR>Xiov3GZ}qg>bebfx@T^R}|J z`(Q@-^i5IbF*QR5yp2C^QiqlBViB`X7mzP_%h1(Ct`*V{<@Ktz*?>jHy|C($DFQES)HfjM-G?ARbOD_gShYt>oDSNG?`Br-E2J1u{gAr zP({0!2;|Ft3g~p4ASLnUd3z)OVZ3L>ZV9M{@^I7Aa{1dSTj{*HbTv~c4p+I#TZa$Q zPFD^TP$C|Wi6O6d-L0=W8OU*iIW+aT_D~r@Uc=aDNab9vuE*8Cq*zH*=^;I&0&Rd6 zX_+x@CtzK6+&fkoAI{!xulJ`T56w&+>k*;2J-XW3iYWl!y+1Mi{fvOB_4N~JWPrN- zY{?Tj`-Il_TuLlDGuq?gpGjATvy)(2x*5ImS`&H->^f`eX3HK0CY$?f zLoL4eyQez~8o>KUr5tVTZ~iAstA6odi&1Quj17L=Oj>y%J$-)8m@Tuqpv@bMqWptH zyD;CR>BY)a^oM&h${e_yYw(9iD+O~aMPnG?Q@jTLg%X76p-<}`OPT_~IuoC{k5GK` zkJ(o~Y|`R_kZhA(Zrh?FE}-htxdiB?D&j0{7;pggv{OD z&lB>K0S_z2oSJg0Xgel8ro;Zo4;AbElY8`!b|VDGDnLQ`B95Dm`mh})Em&kL`>h^l zT{;rBtTlrQ{+a{nrb!&h?a%EmGIk%m(nRk@rp2AUUhLZ*mQ4iS_0^$dSnpPDEc&7L zzl3a*Wr~o;1+Gw%wtkY6>lnx6Dsa4Ba2*vPw{FEgob25kD%=D=DF(1vh1vbYO|UvS z{Nk63NkY27k12OZ;wOk*2Y=7T6!>{B%N=mLJ3}BI9;KPkv zIDcT+jx`P#I(A?&q0OkVE{*0goSyq;KC#}NaTJUl+u*XD1M)kXn^;^-jaV)0RE;KA z8iC8odb*}eB)8H?&WSP%mLG`qgcDbrQ^|7AV8gwZKMCtqJiTU97A4gfky71m+{gqi zH&+>iNf~L1KUo6o4i!5aEPm>4tPRwYYA2@{K^s|^xj;Qz~kKPdk_f%tWe*+O4GJu#HsPEsmA4>)DR z!N(1922D;+)3TQyvII{q)+!%93NDVCsCx{SzLoQ-!`#Wh4Ro{s|rqxWWQalXcj|Eh}{n2)&H&xucKO zYn)@yG)~X?y(>u^=cTvObhNfs?))X$Q_;oGD011TgF%dj@A0S-TAZvB>KU0l6SO16=g%xEa`J~%KJ}}VZE2OxjaK8>e>wdh7t)6ySID)FOVPT#1?)2-iSySyM z0b_AL{8Z*t6(0NN)5mIQB0jg%&zKWi9OuQd{?cA63vL?PVsx!JFd%DztwPHrvJ{Ux|rP;W#>qI?o(|vB)Dzn~w#i ztxTWY_Qqk&@E}_s@rSz1) zjto1Q9-Y*|F20AFRIO(RO*eih@pojw_lxBfc8vL@k@XDhmtj4TS^P>w9f|@(fTy9e zdr7<$$pl{|{q(x6b`dhqyQD?ViZVk*NgIuCo!)cq z>;?v=TF_Tir0plQYl~t!_{>%SJ5`@WIZGWv%I$eLrXy#c=%CYVY~-u{<|`)qaFTax`x4ND@d{(4vSrzut9{}2=j-+mQ&XP4MZ{f3mf|06 zUr2C(oyf=cwVOF5bA){_nq}bUqjBjYYOA*NOO=7S;6NL!qv{@Kv8myi_0*A8aZR7y zk)(xJ_(imU5>jv2#R)#&6(&x%0o(cty`Ip5>dY?yy5e}mXAB(=}% zCZz0s0h?=tLST(RU~cp>wK+3)Q}$li+*dfC{$X7+pXR0xHi^`b^((Gc5$UOSolMGG z`7rwOvdL9_KDhu3D0=w_lmwA?jyFy~>{p9{WqJ*GF$DFE)0yTUT8FJtH;4_ z>+SUs6{T?uvZb{80tULWvOVN;jWw|*DFMw9wwu!Vi7u1iQ_6n;!_I3s!0>@y{U?Rb zl@pGqnp8|9j5h@b;4b~ALb*Mba2HG&BuAOo-SUT&uu9$IRT4$BBL9ZT#rg2Mhsg`! zbmRvH$TxVpYa@9V3VdDw)0I{2yojIu9lLeetIIxj`Clx+csrgiYwN%eOrk(?Nc?6? zkF|9>YmFUw9lQ-^UVC98iPI-)SLCI4B1iC;S8!6s_o;uq)1p>{h<9-E`H&1YfM+x@ zT`C`Buh`)iu}`^9=RO{RnZX_Ms(%-#q^WsT_rbc~JPxx`*dowlq@z-5G>Sd5LI@|D zk#c>P7X|bA0A%({9D20nlqL!_f21*!&st{&Lqfh_Jo|*NIKfY4LV-0wN7AQw{{1YB zjG9UVL<*Ym8Gy4_H-lXbOdktEeW1n)`B7K1w^Yo0U2;)%_f@Ho%OQ;}vCe2gCn~!= zj$ko=R+H1W@;qd7bGA}uA|rhSCPw_?p3bC~?O|Rbc8)5thKAst zp?Q$W$&bx$PZK2Mjj_)@pcY5I%=P7g-?V|+w^+v_pDnb46}|Bp@_&gx20EaEDVy$Y zasRGco31#gjad)^^!?u6f$6XO+}mu6(F`A<2LiMZa>SC7Qqakql3T5jnHdj!Lxwy0 zSyfraN_8<1_HZhCh2@BWG541Ym7NzF1?>yXKAH^rHV^Z1ti6$!oSsp|>T_~V-9f(7 zK)2aL{vZm6He?*julK*@zWoowOf%Hvb0L=#B$bmNJfhJ&ZaY6a+O2+dw3dugy}jyI zX&Jj8&mMZNrXJ#_t^i@%y$j5}?d+fT7f5pdL)h+kT=I-O)Lwm&%JAHnn3gs%-(K!J%{N73 zAe=EbCe;s&qMJ<@-JhS7c?8zSSI`K1-F)EVM{4Hd1f7^#n5SrKr3re`@#pzH6!}>R zniG31S?SGsJQ7mdzIiLc@08b#5&HiS_f}DHEzuTeLLh<$cL)xR1q+S4HP*O8aEIVd z2=4CgF2P-byE_C3?(X__&N=tqG2YMne0=l|V~<_6t7_G%HKovUe7gu-?(UF^+5T~m zIA!tzSm#}5MCSi%P2t@B73}s;)Bpa|I0Na-|NQZXy!+q6;{V6L!U!lG0a4c6O6w)k zCBiv^)yvIl;{~=~=U~?f$IU4&C;6A_UzHnF|5wZHSej0J)n^>yL(uFvFgoCJe~BAm z%rrPQ*V}8fk^ilwP#XWjM*oS+-lQTgPYD|N!by+xzg5RqErv+Q-w;oaSBqkPZ&1m8 z33wsLfM2k<&d$68!xiX61V0-rVz97OhhURgtu#H|JE+;`=;(}D{U&JCY{h0olg;2w zNyvzp+n*boS{NuQEZlA9VgiU;Wg02#Xt(Y^va()B^tnCWo&h?xlIefp%YQ!0cwq0u zq~$ogwzh{0Hv)l2#{@h#Z5*UX(QJ+Z8H|$!rC$F1ds4f=!RF`9<)Qw-1_fo?zP|NoHO&uU+x6;*HepCQRHO0I-l!@OKrjE=H7wRjmMDwbzioA^ zxBBwMGAG;m)2sb3aAa`sztusY=o%sGWBv^XzaB)xFfcGGm$$jS2`}mA@BbF?tswZ) z943+i2*dGkasTwgg?nhWxl^#S-~8%o2n`)(OrW>?y=Z^?GwaKjFHR?`t5t>?DPOij zu;~x?4r7y&fq$Hae@7k|G1v;;tL0B98*BD+ZF9Ml?#U_ZCbxJ)VN(AVfjvL8XJ=|%Nrbzngp{lCkjmm-_n8O ze{>NWm1)>rU7lLV$RIELq@dwg7%k_~hWo!Ep3eK#)eSgyFykT~)Xf&hULRRiTD9vE1FJQw@uh+8Ydne4kF&J z<=3x~F)_`~6P+1#R=uc^yZG!O!NK!%%C4@Wa&k7=5&Z6eBmHOE{QdE2f+A|LHQ)xOq#W$ZwE;tg0WVJt1vHaU-y=k5xnK#m z*lqhGe-R+#7Z@8DJhnRV$)tiwemWe?f~$q;8i_nMBKRCpE^s+5=AndymP%iWgqhuD z5sReq$F`UgLnr0`EL872^SBbchFWv}znp0bm|i2x@5m4$AtGH|oD=bQW~T!*}rn8Ol|Z4k2MPJS+?|{;1a*f<0VZF2_eBL(8k%Gjtp>ELOlEhW87j z4!20=pT)Xrp?^E){tb_K%|spG>*jxFW+NlB0~RnWf6m&gcmIQMoywUp0I_6+V0!J} zM}Rr3?8Alof1rtp)&H-kf{ADr^y4e**97YSwyy=r9`+TqGa-!*D`dc6d=HV+M<7QY z^SxJoKo>r9qb4XyJP)l>l@u)q10Fp4?=#K{e}ku7ks@-y$RCr+1q(R1iNfyhitw1n zH9qyP16VfU8#P5A#RM>PX_V#FL9s(y|3Po#s=$-PTv#D_Ib~&KIYPcH)Qaw0t%{1l zjBJL?xXUW8_A2 zaqT&?$Ae*EqEtg)IS+kX19bW8A1YNf6;=E7m>mF7zP*Dgfun$@0N~{F-ypFPz=Ava z5X9IK!w~oEMNR)2{V>6-d35Nq$;pJ*g(C-a^}ZvQ`GNDFkx|&I*T|<)dX=gG<$@JY zsADIj2MxBvO-WOc95uxLs^Ru$Eb!%&{~cm4e{WsAUwwg)JljT1PM;4GNaOBnLa4-% zw?DhzQSl1@w=rar;3@cYwb>Q;A?!?<814Z2|0LSBXJlD`axM*M{tdFFC|9et3U0+B zP+yHi)P;Wu=%NA9#fpDwdYz2w&X0wO2@p*F2-QHLfqw_Z3m_1*;n~G}6k`uXL{h3| zF_t3!VnGcsnw3aLy{buGB@@H@WtZfD*7q819prG8)r?4j`)hg$$H75+kSAYTHx~qP}x0B~5 zfNRC$^xSDI8Bh8u7EFK~(?i$K$p4B}vPYyx(}RH*npH3N?`!r?c$}CQn`&u7dKPOR z#<-ZA&PuBlBL3PtuzxYW9(J)awz;~3bALWsdI9+Q$gunzfG<;{luY>42YwdvC~*v1 zI9@2pf1n)y6PudX#&N3~qfRT}TSIDmHnWj1q%z$YpPtU(Cpa)VN>XAmUsJ36$Q^8jU*5B8<0gD|%0?wC8b6LH0$*VoMi=D*ed}%7}Z3>jKHC1&G*SMOUv34>>onJu!TL$UY$h5sJT`y+tLE%neX$c3nHVH zge7(qqR$JhxmG3;Uj;}}vNN+TH|nQ=;NHZ1EKvLd!QEnsUE$~j;AvNNu0Zccmh`e_fbH@0Z1?_Kx?!mZs7 zTu=9M&qU1c?~k0O>&^sg9VO#?HEiZxjz`bvd=o3}P7y>$PTPlffKWIHi`8Ow)$InL zZ%qN#M#;&^pT;|ZSOycXpS- z%Mz6e4o8Q?3X2Zg6K#vos_F>fWWnc*GgqucTh&oodMFg|qExQx%d)$_3y`XW2C-O~ zixl+La54RbPr~+$FrXNuXKMmIndM4NJvUzV_+5EcNQuD2~T)v9lO$`mI zabg~Lt8_hCNVZKiHHwssTqD+o2ILq)tjeEX(_-h5WS28SY~oLy9ajW z@Wk%S4pn8A&EuG>j=S@DIxhkM6{^tl{QLso>=7Pv#Z-&>``?-=f1-{Z%mti)l)i9> zDfBnI6$_avOCd`N*Jl8$3MqpsO{PQ{VgSz^AjdJeI~|i?G++3QvAA(ruf+53O7>D; zYv_H#z~iOqDabD@V#|LUP*Bj9RK24Z$M!8WN9^Xf@CV?q1>nr4y1F*cop6AKkwJD= z7D*VSdh?9a-egR#+6E$FO7r}%u$~F@hW^{12I&+J$$xKPDfLHWE>oK z5n67XPR9VX?gsD^GH*lag5%_LY;@n+e|o5N#yarF_!~rGqnXe^RwulCxWCEPYTrUlP%x2m`6@S3( z)PP-Q!Zu_@?}X^zC_c?l9qBC#Npr3uMRko^ie+C(w!nz<2&*2=FtWm$!S;?e_~4F|0R!zuSLqqCw{@Erk&BYrc;{RGVJU8nm%{@i z3UM!o3l|g5KL|N%oPM69-kxKsIr+q9=&Z3USNuoU*Mn`uC9QPs>m31uvj^Y4DRTEU zF=`FCaWK)B+GzL0bRr}Dq6Nvt10&-v%W2SSY#+T*L5osa_0l#n@TO)zb9sEaMcgv3 zh1|!yJFD<3jM~c7cvsOPzbg22-1SZ^Hglts?ko2;CCWh$}S}7afPg)#8_xV zNKAnvEjaoj%kZz{5t!gu(dR|VWd^sbS5}aiw45&s)S%lRREk01H>3V5ILPd&oF1Y) zO>(keSKG_^AkYMQE}|W9G)Z&?9KSMP_)u|wcih6cr?SwN$iIB5h>q575f@&|$vR?X za&D@xRUVykt01S;@|V`&E~gDq&74^*PII6&nt3d9uB+QNP-!STyuX)zac^@<0qrdw zaX;pJe);~Bxs_?_R9)$}xB{(4$?W2LFFYob!q&=10X$*$f11tDa{f6iSXKd7dhW&} zCM?^#?Dn2Z(OUlvrHRyEm7Qm%llVsbns@+cKC23lSHSWTrLH{tlp^RmT5>%kC$@Sn zm`<+$vLX^iA&n(m!D--lt*z2SK5iG1f-WJZu#YUv@UBDM^Xv@{n#nV@629!R zHQK%zdOfnTBZ)=K?MzKki|Zg`VMuK}8I_5FSMX26yo|`(6FZGSrvqk!j#JCQZq^<^ z?S6T|$wJ7(PFq9ai*Rpa&ZA@D-j%qK;Be? zVc7FKh{1XvCOM2O;QE5j1>Er?8J(qkosBpf|DQKyF1U;otjEmwT1=AzXACbROLbE+ zPeK3tagoLk^&nB&*%K@r3!RlRgGs-u0Af&qJsm*vk9*I<5Vrcm0SFz;7oY%8o^kY^6NI{u!OHCxpNxyJB{;<+wL89uydBbVUw6!lcFOO+)4Oybs&kf#iIiYCi2_|~(^sk~u3{6c{ zym*G1=yzIevCdmNcSNRE#WNz&7i1Snru;(4U*KBkWz)*&%9O|@FUT~?k1Jo-<^1=3 znT<5@AE`N zV-so_5U5|J&T1e6NZL0PH3H6Mz<8=Mesdf!-Lq3-S5}8GD|LYWh22{H`)2=-iJUjd zvJ}W~kt+8J6%nNs|D9;n3Uv8DQyA!8106MsbiVM6&v^)B!u?JdG7wj_)bOq$X)v8Q zjHZN7r0*BpQ}p?89vob)Q-FZ+9zOLu(TVDP%aRD+?DHnPFuDNqqu&U9;tYJk%i8Z* zQNV>i^a%iFdCs;lsgPnY%!{S+p)_WlMQoaAP`ruizG2>1Oz7zOzekAMpAxx%%b^)5 zaH7hj6G&- zQ!w+GZ!GjmN6B|EO1%9P2!`-=v8KrCtMh-8P2O12+ib*RljOX&-HmEa6c9#XtqSDx ztBcDJ{3cW~^hGHwj*~?Z?ONK#i^=W^=54YH-adrqa}uU^#}d1IEUU6Q6K$>$pP{dH z{t3yt4qJ;)(R#3w0frneJ!N#`Js8eE z#?p1W-Ar}g<5fG3bkB6`3i%dB#*--$%o=?%ha$6Krf;ZK2jzo7RVP24i1W_rbF1@%TDP-)GOCie z493~v^p&Ikz>F^%E^6++L1FB+07<})7xCsrGWLacZa$_*rIn@ROZsPrA zKDs%^jUX9g#?A7ne$wF-99(Bn2|)XU=Cuwouor+zg+V7 z_jo+%VH)qg{)V7S%p2%YV6D0eKH}`D0gV? z(J-yf0<>*VaB3Aj&L{FeFV_T;Qqer{o_ znN?*mEGA^u()A<9*J<7R>)IY6=PHuGCWWNTKlIy5+Hg$9XmM7;lC8C*Wd9szVelxrkhPNVPFC@#9C z?`08$!Cjlg^H=nvT4qC{G^hslIZ_Z<9;4Xq5kRK53qv5W2@$)>$)I5Lw`MXn{#+G( z8eTR_$KvPh#99A~O&kP9`gn)OLL9H9KNN5uBxN%4Jodm1>6Az7j>||lp$(~UmYUE z5iM?uPJI_-v)F^R(Z7TU1y}x3E5OvbWzVdldoiQ*E6A z)X9FEC~Y1eQEd$)$^*vjx8$AKjGe9&T!=tlN`TqC!{Dtq!PW#CIdg?68avAM;fYDq z;9OyV>=&Y+-m#3!BO1(xxfo(qM9N6t3U&Lh?1M&z1d)E)QL&6GnVisxp?;=j2BO7j z)IYu_tfG=A+S8`n(4YbzDW0Z3U!^a@QE!41dx9?Nt7OXQdKUJVlzYT~2~NirD9IPm zEWF31Jw#P+4LPb4GT(zoM&0t4Ti?SGMeIemE(csHw26 zg#z3ZWve(Oq-IRwEHTg-wf-}w^dkWdX|}}lZdvMC<>0Yk?1B(gh{Zxp^{>N)Bw>@U ztG)8|G|^sem(M@+S_OOKMTW1?wv@{-UG4^W+Qvz}#e_4kZL0|A))drK`SuirToRL%)Lba`jqZm{C6^nLXnRcnaHN@J|GlLKbt-kG#|83A3`?o5W+4BRS z@&c8le8gA_z7c3eGm|x}+?C!678XYc_8&yBMi=KsZ(umxb8Lj=zPiM)L zXLw!n7ld|jE>RY=QuhjRanWeM(mfj8WmJ0gi?C?qYlYc_<*IkaY1IxQ%hj17vl#@&YD$a`*#Ibn&hrPQ9s;(K{ zi~L!(kYS8B4TND++?j+vf! zXYjcnSUxN7GkuDJ#fzdrYQOruYTeN5nUrPEOjWkF=t7*zSWN!>#6dYGX(4-2ZPdoV z;jR|i2He%E+L6Cr&#qB%CCg1I(sUSK>uX$UJ+O| z3P1@JipgOFNz+AO_PKvWTiXZ;N%)jr!pct{w!>hv4wypL=!-Ks=t|tOulsFY`MdFAG*Q&fJ z4TS$hQ;87;ySF#wvZYaLUiMipzeNlwrIIf`Tq-Z87jlFfdz<2rh95ibR6)s}B8Mdn z6|HF45+F37-m!`LRMwJe;i{RxY#KS;Cy;I%qMfnN@j~EP-|| z(MkOpYVHW!sIt=}nr#ww19G^yuzA4+n~*l^+`@O+#9dLzqj(|E#0K#$%ea_(+xivx zN11M&iYGOt5^4)AitBuMIbdsX`CFm^rq@4?|B7*`(!vBlvP4{X^{etpaV8w)+gqjW zd+^VY5fBDFAxV0bCbviuDa7#jF{n}*Ihx4n$ z{C)EEQ4|GY>&Cjh7d-~j0XghALR6CZrOE`VW8yZbF7(({vv%3~2Mo~D#PIt#e-yd4 z!h*xR=E0i}8I4aT_Yt`zu@X9!3T;-&)XufGb%~yiJa!H`a+9itH>p05&UZys!JP>- z%8Xx+S(T-1Fw5l~VL%YWGKK5QMnn99C;6jrQVb^OynI2^&sw@${?0GIAYn^b) z7R`KXX>_DceXd1*MFGj_eHloOhfYL^*~8Ks=Ef%Q>m&qVnK20H9?(=Nwf-cyU(gwP zt6h||2of~wG`!wlEsXjHvLR*+)}>{E?RY03rb0!=(>iK#WMRp|f@jNx>2>p~rgksH z7j_zh_keN5so>X!zvdFucAM`$*+WWcFu#!$1P5nXVlr0g-r{T`Ynnl!Uic&M_{*t? z#p^A)_TD@t&P8YZWjYL3zvTKXlGv`IIcn5)z? zvk5G{Pni1KX10phZ}IfXKPs)7F2b)WQ*)JtyHYz3xsKr$I`9v7{%g&zzA_&(8YEPZa?cNN{naz# z3MDn}EQkm8Tf^?yf~B%qT}{!8%T`B3O&94aYFv_Pd<&*yy&<^rXnP+Tr>hv~$#+Y8 zjT!R^O1Nam5wz%QdPoZT4hgNXltRX)KUXpSZ9qr!Sw0*1xtY-K<=Wmx>{W|3Ae(j< zUvWc1J{)88Ri+HS(@@*@>4^p`fD7QVbLj?w{P17Q%&XU|6OX`p(FK336NYbjSra%a zc%cj}f5Sr7P1RIua&Kuc*WmE+KYb&+rj{BA?6vJvlao^k?dF*4=jO%7X=*^s+Wz3!bNu_ef7y~3(9)L5Z24^O-r=lhz`VZN1Jv|Q zd^EpwWoX$YpQ%>xZ(jf>dC3*(jz8P82OYn@17-lnR;}MHzABP9?=f@w=o*@GSRa>4 zMkS1;wFjc3qiKHvo*4OnY_KLqCE1wA#FYFY+=^SqlUAty-=q8~N{tN>a@U_fVSDR-s ze2y=;=ynNGfWr2O#Xhh(g*K&UfA26<670Td;_CXg(GM9p?Pb1}is{S{P@)w`C#A-x z*IgCpq^7#wMqD?$UoAG;VcXl=8;$+F0^)S6{hAkm^nnmu`1Tze5f$0rPQQAUT-Lkl zN48WTEVkMaL3!w(Q&F(9%u&sk_8b%+ugsNF2Y@J^jTSUAec#V&q?_yP@htlz1yb0{ z`(7iY^74LLZe*cS_PlXu_e=-VtsgGyFJMbDYH_nW43f9hs8pnP1>7a3q-+2<)V5U0 z7u~1w#Xz4sLXF%P=o+in0)hk6Y!<~ zwceR;F+MWEArAW}v2n-L!JM^O_xmb)PRo(SpIXf?(-RX54>!jXIZuBD%oP zosWTuIg)(07d?grz%YlaIemcnJ#EZD!B}EhNr~k3FI1bo^Lq#Lov{pb>=$vR{EU;p z=cfmWyeiNbX4{?^0mA~|k44<+Dg0{sjh`T5cOewOg4ldE{;Q5VmHv8-Owj(x2m4^w z`q8F~l9>r~Z}fFd)zo4FK^&i(Bj&b;mB9sf zEG;yOjirwgAU6YS8Nl)`EHw1_>1G!gwZ|v1n34^p)5A;I{HAM15(OOldq5q@TwQhN z{^K6~%64yWZSC}dxS6Es^}cYy)YYXuQ2SS-!%Bf86Z2~NAmR($eefd_3W_8B`$d7J zx&%P?Vi2?9s?{)v)pAQM>n#i5qCha$@m=iUU7LiL5JSSo_*)Jwb#+h-`V0eL4B)&S zx<^1Sqiv<_>go#IDMBT0%G$!(o|)076L>01FGt$kE5L4a$(62Q$-2?E%+mD^^(0Eh-1OL{J zOtN2znSsJT0kKC2nIL2(v@vO67T;pl?M8o(wMm?=S28WtHI$f7 zMneN%HlzKc&5ib<*XxyL&sEc@*<{hYq{Kvvm#qRD{l4yAUa-SG;^-7`M+-y3$(^0` z6%}X=n@$63aAs=hc}Q844knWs-fyxv4wVAJv|(S+#MX{VdoV; zIt0Rt>#X|3n0X)Ug3_PdU{x$|O;SXSAFK*II^tsq7ES(hX`Y>YP*D;Ou_Q z?HjW1LoK}VOW}gH*e1?Ns8N@#wTaSG0|*eT_|lGCXC1$~e*Fshy{uWn{?)V)5CXS( zJdksTs8C}7!ryv}1;;1X>00wSv54!C@6HLLIXyi+e8BB5-QO|*n$6A#iuyx)+?#jE zINZ*k+H4cSBp+9q0Z4t_iB=`%NV8jSAWKN>+XuW1+I9I&?4dUG)_q_m&Aw%Pl4rZ5 zdzJX(2XB07X(nt(N(WQ;;h_Z!3rnSHYC=K;ud?nc#=CiCN$IZ|9%4fDL3;b0@+81s_@aK=kXwb++H@9P ztgNW)+)7M`Sz&i|L2~nJ-N6SS*-BvzY;t|AZ(K{!ay;q5BEqdj-jFq8sF5eWKJ1d0 z)jJ&Ag@`?wCNp~88(98OG&htZ8dH&0m;hR8lQPlq^h@;!sJ3TetI9{}aCu+jxtrLn^KdZj?e_@j4> zvIE5fhJK%L**qDScDVCgNwWJ67t9CK>nF=&pgHy5dRK)`WVQ&sb+j(Ew{J_f0(^@O zFX3m>b90x!R?I8cQPFw`NKkuoyKc%DjZc|{#1<181@E6|b@DB)^hFt&iP_F}xnu3JjUZ!1UA_TqSh@YWA5PgE%AFm2SdkofhMP(e3VKQmfaNhBzo(cdI7pYmX2k?hu8$lG6)H+98 zvecpwb-ckEYp|{Yg#zw0{pu7-<~FiUFl;jjE!<9-AWw8djZbb|{7*S|_|2KCCf_M8 z*BlcOh-%3#u;4!KFvrZT#Z-EvUT^;sDq{*}Rjg-bLofI1WBHp|csFaBK{~D%Ts@GO z=`iNf?&CT4g6U>^uu=wsC4y>6d-lmD8N14Wqq_*ZJXh7?Rk4PXT4tE{4(Wu@;66I) zaHgtJkDkB#H5%#xk;Ass9}F(Y=9eQ(_K#z7cy;^@uF12NX|cdeS~zc=^{hS6lw_3q z=Cqh67ObSpW*MqCH!08lR)36r7&E9l`!uQ3A*MFqu}z#`>Gbi=nQlLv+CL-I{bYDG+Mi`+jt@N?2rwksmP7&+V<$G^xn)>2SA8|`(vtdF}4 z&qzBtXyN<2ub#`ZcY}YXH^ODm+ioEk2g4Y_-(W@yV6`-Zt_?aq4NO+%{b8wXI;4A` zQ*;-=9V!Szy?aaRtMgOv9K12@ggVCWo`-$KiC6^DpERxF~ol~aU=07mQFRwj)q!HW+ zDrgXoiUjrN5-y!r3bRAe--7#`+(>qVH(=cL4GHmjE5u+4*^7450KlqWVzX`{w`7R zMvBX)W>dFFm;m2YL^(lN{VOCx!pQs0q98x_2b>^!A3VEw)NF2|Z;2g6Y-k@aj)iht z+%B(zFq_{eI2O3`pyMaCV(JxXZPc>I<_PYmlOti5*vu_3&6#q=MMdo5Uz+e$R>||v zr1oyxKFF9^n=@@Cs{2yVDH^17_pJs^8tlJM&>Q;_1YK8i2KtGd&QCcSnf&8_J-kiARq7^VgD)1`hRhUS+=J zCvzpJvc=bnFY&i<%z|GOTo!8d+nHvyl#e&{AW(9TekqO#{G{^EtQaZTqnQx`a;8yT ze~Zj0vD^E!(5!Sp4Ker6)J87-RgC6gq~>e8y6zYrS_|x=Ta0(G_u;Cs^7QSCw8ce_gY5{I6_Sg25c5(*Je%&>+Z=_;Y%{(k zu70B>`D0<|4F=kjWNRL`)<0NAU{!+hP)arv-4n1ez38~rAN`Q)69dy(xY9mGF(Uc0Ux$PffynyJcF~;XBoy8APC;CXn*x;4o_e2uz@X)`wjCA{9 zF;bzUEA)9EbX1-!gUNba?q!;tq*df5SgWGg%v#|olXo`nSx8?!to+bs)-QMF$z~Yg z6oU1x-Njztq62oC8jsfJ)wl`Z8v-K$+}S7b#|NHRo!E{xE}5pYjRwg?QbHm#SY5Kf zoy6uLpj0pOJpw(_&$9Gze`IvziGqSnG+I0Q+|qY7m^Y_d=4#z$S(YE@NmBF<)$xwA zJ*VV(r)7sdAR8q+DwIYP-v(vK2*}%f3Q>YeP;2dl)ONW6qEu4(E}y1>Z94Y{1z&nP zhmA?U0JS*JlL5<*6KKrTy}$iRT&Dqmk*0|pe(ibxerQ;xKHUOQ6rBjl0G$>E=M z)}j?44K|Ok#daMq+&M+5GG;g*9leY9cZ+WoO%I!%O*HccDcL*O#o=MI)De{1D^*{7 z*03*r#PSe2^}A}m?XH-XobZ82G)fyb!mE_&!onN6N`%5@b(^Qh7UXTA%e8aknM%Z$ z$G(?8eW1R25M0j%!o{X{p8y>wob8h`h!Atg(LiYdb-73Os!wxBq<6T z18rzY7%WZfTF`oyC1y5cCo}dcfcBbvOwh<$N`j-}&lWLP57;r-!UpPqI;L@GEVEh} znCxvpso6bNuF7*yBmG&*YJgv0=1Wnk-kbr`OX+NluR1$r{DdK=Pl2OA|BPU^)Vj}x zQBHrGm_kVwr13Iv-;nA?WLp2mWS^wi@3)LR>F@(Izh{3y(c0THfxn^9&E18P)} zcL;TNz$j!kT{0v@^iPQJHCR+l)uxW8HU@*oaMdOu^*XZpW8R>MDa9aJs){hdz^&!t zXy*wb7xjJ^Ug@2Ee9$_WB(6eIh=KWWyZ;`a8F^C<)(>6-yYVEf%G~QsyAATAvXC0u z7LjMywH>Ao4bIuopVPp{ZBteeH+?ve$=45P`+HzB6O}!T?)e<$*u{EW-k%1Zp0@Gl zOQ9w|*0cL%iZ5wOZenP3wxQk8Q>R?!lNEzE-+Vr@|Nf%`6;L%u?rg-wY#Iw2S{9=7$7DegFv}7z8 zi6i*bI>TB8BIu&1QoH5Mn5Io?v_<`W!(R~y2$u8wezur!V=}r@En>mfX$Hb?n6;AV zpY;@XO&BSjcOl4STDs)K*BJp*{Qa4(-{S2*7H|gGC(JhYharrTw05uO9&12J$d^S$qg=7XUweVeN4j)r&6mr;(y7)%r z(=wFX@MDu*giLRz_mgj%|L{{lO8&dC`eMKsOV zg;j~;1Efm?vo(x+-4294mDc)uhe4NV&9OVO;kNE)-;LNNgf-*Zc?FGwotcrSZf>sw z@g;>gE0Nrl#Xm2&`Zao3N_4P__M;5id86GQ&lp}&PS^j)ljOP1JD+}+Aw)-`2A11* zi&)9?w~Y@+J>c1Pe#zvnHT*1NO_RpyUunk&e<#!Idf?Iwz3 z2o4>C+qY`kNV*K8ZIDJ%Y=BNhr1QC{*gCRdx_@C9^EUR9b8FNrYCw&Cr~Rxg8{GpJ zJR}EO+vWmjQ*U)@L}}b+i@`F_27hix$1U>ftA2a#Vs{2>6>uY(6`qxM5R385O%@F* z2(^x8`!S#egr%CAA?X%Kq5C%tsailfi7~3I z+W8MVGdlCDfU#(epiY`qX_d5_%vzD{b9k z)J0;lpMmRb|7ec?v5{4V9NsgRdYVK;^DnS#d~u~TdPGU$RZ)Ms0H5-Ty|*CUcyXeRaiEu9%!F-lQqH>7t^|9DxX>`3B*6{C_R4sRdi#DB%F_#nTmQ_>AEShj~IL=OTQ?v;5WevgYxYDNb95QFFhHFp1wn_p!X{GxeAj0h3tEK872f z9Fi~I4NAx%xpzZ{Bed7v%uOVDaPCo}z}G_QEkbN-n5Mec?2@?2H;FJl&N$S{JwIW4 zpU~g3SFwg^JI;?qr8k>2;fXYAfo6NZa^oLu(HYpRsP2j}AL<}Oyc^(qj-;%{&rQo7 zp*109@r422$*MdN+4lZ7X3T+wi?$*rnTePxXZQu4kHa;QIg0sCd0;w+YqPC~?872E&?o5H!*Iz0wB(nAZ_F{Jc!no!jLq{_ zBF!W;EhDPz0%Per^%>rPFqiq_tELm;T?a~K zF8ljzAJIE5FoLYA9J%EhA~0m{L`jnSG>^*fG$l7G!z^$W+M@u_k(i8m=r;O#J8dE5mw&1n~*?9hDVu|LHc5X3l^I$u7jV0TFH|46gi%(>tq&Cq{ea;HRTzM@=4DYmeE)n_*7m@cFE3%hrfJqU72-BvL9MNmOv6}g8m=0+s^6{N z?q5a?D`+I}YsI8^PB@KJ* zC_xF>A)KPJ(Ux26U08sam8V%EPCiROMas0yhBFY?OGC!MTAmE$oHC$*4;a_nij@cC z(~=Q|R!RqAv0E4h<2ey5eF;ho$F&3UVKwn1VaFdEoB9bL6{AwEpN)J7+)jF zCeL}H(XNyEpI0G(#gZx`uUi~kny}D58_e(;I*7YK&qhTlpjhey_!_wWcuqNw2MjSp z86Z+#u0`ezz5D0$&%zK49#31E2onyG;VLAIHsxEH27th)`B7|Dp^tV_kyoy2S+|s0 z4_2^tPO$h%ObiJ*@(7>g53v%VMXc#Bb#ab{xR|uzfv5(zG1}Duyp>q>bC%P9sN|>j zY+iNKmYJn`Uw-&yuk6;j#}J9wYS=*@&w^LMR~rFC%J0wj+lvfe-(QcSy(2VRwuBI# zB={5SWuJGZKheeOn(o?4*uT~$U8>hK@O}fo|72;-+1%h3yznR1)}2S zjTcfCO>#adq9SJ~H}5Plt5)_g2%LHD{gZ?A*mCrid;#z@AeEEovA37tIo24Qk%v*31uhMklt~-T#1x4XbBaXr1L`$v@-hQ0$wUuO-Lh7 zgb9AgEF&qeFu0}j>zC+3dSVapg44I?P$|CE6%KOrsH@X`IFCcD6v?*lO@DtkED#%; z%ph!;hg@dDG-E}kvWi1G+Yxz!Kky)X^tQ7pnNn2DpYMdo*A*SyGzD{!d343zt+=n92g8@%o0fwTwq@s!&`W2$^R2_R! zBee=+u{#7J=k}dikOp+ZCAy-oSH$CTHcHN`cl())7o)a?G;C|5K@^RiH)5XNiVWh2 z58@gx696_pGbzn(I)Ym+h01>ONH8}vn+l+zn$Xa&zAg>~o46~O4X>*G>S>QbGJD-^ zTwcPN=?~NTqnA*Gt>p6W{+754x|O)Pm7uVpP-vrTRvG|h878zhvbE{3J$@w1)}qqi zN718t#Ji%9p}YUl6<3mL%H906->D44RgD^`heO^fMQT(oTycD5ovQKcey>+8!c8d> zDF(1~3e&LVGFIss)db1RP?JGAa?(5Mcu>dX?2`l9v>=>iZFyxFbFu2fyavv{mM-G? zWf~8+x3RIYz@1U04TVsh)l9&Im+0onMqA3aX z8E&#wl8T~f`D6@?Q(%8vBpZ^>X=rH;Oi9fASZt*}5?fw%sjH1MzSOj94teo3ys28D za#Ob!WfkeGF-SR8)_XI$0Mh7w=~BfTjX;g%7TE3E>g2J=?33}TfS?Byy>gWj7u3%X z)}EmJl`+!`5nRE<6qklTVu!|Tc+MBrKkpM=;< z*6lnzWkZT5wC_~T4-=k zH&uePc%(v`UWTUPOT^KFWX2W^6Qz0u_0GXW%&uEPbXYsF0p^k>G2$I7cG515o$S?Q z_8{JURP9tykRH4qH0S$QzsQH5bRb33G9J@uB^mgu2`!g=_^V^nMt@A=j_cmr=8_3F zrBTbgWaZP)Gxio+gvRsh;*;0@1bxjShQ`_ep>T_g2mJ`#ElH*(P}@o>y@gJ#R=+1; zpnzRYH!ZLovWs_MHglen!>|QQm2Ylpf+I*`utj+{$^YRcRvDWa66n-cqQ1Rv4WYlI z-*io;rE22};|ex|Zn4We-9}x6(k$Q>woR{tvwl&qP)XhdOq#j1vp#)9mohA9N3F~O z8;?k~R;m3F$7s@|Q&%{PD>*ytbjqHWOsI5qRXZWkT@`nwo;vuu@#rF8mQV&apn!=C zSZMv})}3r4Hmn^QgE#~YSDS2kv`CL5WJy@l&1c9tz2lkX52r$UZK2&S(ry_(-R!W- z;;@-aCia}+R^;5@J-@y@yE&ckx?MkBA1yUI9f3d$MBMh@(n=DzdG8*G+lz>(h_T6D z@mlqTPboC4FR*OgZgWg3TM*MuNamf$6vrP^RT)C{PGy@bd#@?Gf4^-#UOyW2-@Znk zJTjLQ3;;2z)f(nB(XQhwBdA!NWCoTu@RoMiMdqjKmCw1;3N<2)W_z>_*6Er#xeOAH zl;MC9gME5GrsNGhYe8cTcCbV7;JsyG*p#ZEBnR;!Y zm@G-|HWw1&DA&~efYMF#@;9xH9aKK>GM;I=X7wbbtu1mRqFE?a#&DG+VvV`{G#vJ* z-bCLFbGsn8BX_FUDff+zYT?n(z$CgddJF4>xo4cT6ymf@pLp(&9Hm3qJ^x)@P+MPP zdb^MXr4zkk^oW{#y8(yU`@0B3g5Q*pB9>aN=QeOPex8zshMLuKUo^X`?JITzd87iq zD;3o0M0`J;Fr}{jwK|Mb@%`vH-pf9313`U&Bb*vmTb4KRYe(}`E&3^CWmwF1>g>d? zB}rW$TT1N4cxwnYrSb;MJOT;F7o`VO#GYjD0FC;{6!eo5#hU&So_=;bkqo1~eBiLLx)snIJPp#jB33IiZ!%PT0@0^T~+4krEYxYZ7Mocbfw_~ zVWZ%Z5BE+Y>_oR~(`6DuN57yQOK>${v%~9T#DnSuu14pfp;=6r%%^}ycGC|P%B|NW z`*It<;M;w!vbo&_cN$OUGTQG-eKeNtRJq;l67oD@YggGq+e$~5b=zCoaXsOuE9}(+ zhdN%*m}U1>dXB22;mQYCmdBw|-mN_As-J|caMz-Fi^9|^1P9$~Q8NkC*{U#oPI#mnjO5}j@NA@k zHAM~9JK3aDe9D`hMTpMWYk;WU#-JV$E72RX+O{?&F~Ji*P1`x*GwQw3G4$<+a(l3hu;GF`Z(8PcfMC@s zJ!$7mc6laU+TM~}L8A~0^Yu?8by_?HUgF+Vg1PSo6QQ=Xj;!)@p-OX=c;Z^JO(ny=;q?eQ`v1* zV$<(|)UJtWJG-!M6jZT*35WiZvYE*zo1X-s*y&L)M&(J}7FhtBbsraNLM&>9#p}b|MhafD{MN=bf-1r&nx%w|rdA^j);Hb}`VLDhYUaka z?42t*mfIS7c7C8QSycC?ir`gAL0MRbP-kFkXqjNt(wSKo>kX-HTaC(qf%D(1f~n} zyOeNhx(VDZd)&J?#ly!XdgU*9>QAze!G{zHIVN18iHC-Cy%K{|o4?9g3^TQEAFOG3 zNo{b?;_Mb1mx!3&tg?s3jU=n0x-GM5eXCr{$<>KbF!Usr)GsXW6MhVQnQNqz{K~Pv zuKaFk+Lc8d+A3LEbFbQUo{rhV;+BZ;1&iO%ZP3+%DFaVJtvW?8X_S84h4hq^=E@u# ztSv>vI&4Gf=zd&JG-nR-U6!*+rAlJRE{?1^v1-Qb_jr^oi%zNhBa?Vted!GfU42Jv z(%Pgcqh8zNTuVU(>4uF85+GRCRO&hbk|fvdsl5wSx1=n`=A4sKBC19B-4otPXh0n5 zjGe3wA)LxpKnnz*5WOJT$Bn<7zm+h$g-mR47O ze%B@op`QNq#qDi8hb(Z?IIzQKfo@L-+MO0ze<4@XhpN{O7kM_jXuNxer^b{fnL^|K zIw9p|FZ7z90sELt#ZAN^Y6(Kw(;mB21u{wXE~KiA?s`vfJY!>Oi(<6kG)VbDE)VP= z++mNj*3I52cOlzI?{e1Vl$3ub_)uZ-d0-2N<>5+})@EZRzqP=yv)?eF81w-3)98o1e_B- ziz|*9+3s1Pre+e^{b26OgV{Fpt~AmVCv(xa??o4vVRPMCk8vi`R#mmV^sLkYNpfnL z6cVk9oK1~*v6Cv*wcjnQwT&^Y*22f+j0Tb`;v3y}Zx{pQ=PV*9e0c6?#n|GX)$At0 zt*wF{kdPrkfJGJr2QQ!gOFeG1l%R7xb|8k^J!WIEqn^bzZ&$v@)kIgPH}h#5GP*4` zp<>N6cdO}QifjY(jXZr&>jBpCj-34k8vsFs3*%JOn$5=WsfTQTTeX<32^kyLf4#ZA z|6eZP7aU%1IHw|u+XE8he!KH3!OsEz1Q77>6d265JuMCh}gBBfcQhIQ? zI&vlv;T$e^$>0N6PyMg)lCgVQZD8S5XJ|CWm|>t2)HmyrChj0*Vn05p+S z&&CbRoxao4qaZFPf0i;5nSx@kWiVaMI6p6siV|hrp~d(Zkt8qD#9kOuElx#6FrqPJ z7_Prlh;|iZ-fy*WxVP6zoL!dYs5@AJ_mHcK^G~}9sxi1t(q8ftCvv-(bq}|U@g<(z z-<++c>3Kjt03-9P?CgZNIH$@gFZ88fj+0;OY<31MA@6vf?j!<(P3On@bm-3}A4)g< zTrK9{^pNN2aygn3+>j-ECdy#2sA6N<@fSkwvu?d4`0DQj^Uw*C<|xPyzDZWeSUUSIj^D(0D|_WHvq0_;NidbpVkI+@iVesM?m zSXH=8DhSFT30`vgwruR$T?EKjOGrur#Q*!|5jg+`B=GHFW?|aGL_fZHtKJ8QjfRIOrd(K#$V2j`#qCvFdm|!y?dMOQx{d7M z;7$z`uwGh0b#a_uAo{f`;F5p+hi6)(dPj!gT?M~%9o@5$Q-a^o#a0v$7%2Y!O~b(b zGLLJd5d8SJz6n70|GiI>Q!zqf9S(EUuhL28+_kxB@K@RG9RtCM^_m|DmkA@p%h^9T zzcbN8fYN?>)s_%nS;?xZ+mr$^o54(4&vZi9!G&?8^Y_gdM*UlQ4%lqbqCybNlo&xF z$h5EG(G${1X(;_-D5a5(M$=ja>)rmA_VP;(1O81yf_Zaw35++g#>bBVfKv3I!~q5z z9!VPW19-@h=rJrd{8jL$keWz&6Mve2$5y4IjOves7mRJb3}MB$gaXJJ08}GtBVVFL z=dVJQ0=v=%OQ3W;ESU1KWSS-dX1AmMtwJ37|6M4vI(fR+eWm_pfeWxH&U>N)H2?r$ zp?6N98+wYZKo+@BhgnC$z77OiFy2?vBp8_J=)kEXBRgA?jxZIo?4u5q4r3k9U_l~#0GXVVou7j4Z z$-BoOJ}yom7_y!a%GdJCm*A$EV*x*2%dc*~huhj;GffGynq^Eo!LAM&6;bRtMSHSF zxoFVZ-F&Fo*y*$-a0-~pCe7xubFY+FlzRw}wWK#ubx^c#jWK)h(I`m$+U03>p+a)r z<&P*ThI)4yDSIZUMde}Gz;4Eft30UN%uyq0yrU1J^Zd>(w~d^?2)#MmTyEmCxXZl! z0*rVrFAu}gamKQSh}y7pJufN%S#G(-_xlY33oGlciE(yPlM=9+yLZ z&mf2W`jU`;D3C_ab+t+JWJl$|+Ad92YHQ7>LqZ2AXUW8^FMkSC4GXBrPfuq8g%m*7 zX>+?lty=X^-!@nz^r=}5DWOoOJ2G3gtjzBJ=v94y7A2d&$U)0vu_xQKY^;>Y#c^>= za1fgqS@(I(h^cInU36`KUr9m3b+tWL*UP*md%!zGj>6W~_T*Kl&9V?uQyGl+_cj3i zfq9FLzWn??Z4-kMLrDc4CGwFgZqX?=$uC^Q=$e(`$-*32rkSPZKu5*JoK(lI7iu!$ zGFbj<{CzH_rbVMV>w=3x3;ATuhQ791p&R~FJ}ChM>k^aPpF?~nN-QBXlP8ox7o{Xw z@1~yHybUYT#O*GEMzvA1pcQhPzc2oB+c0Qq%Z1uW@&rj)W6ng!+kK9UUhKN3`@7A; zxvRsaWDb2-*_t^{ zYPo}0iAvb1sWqu0KvfA6!KQB;DSPwE%1Wd2h#(-E18XC<+w+-XE>A~0JCBE3md5^H zd|pLmkz>hTM+ft{#A1??$$c!$%m5A_)3d>zq^Ga%n|v~V6T}`~@@Wwl@O*%wowYZ3 zg_8_86J>NUD^-B$RFI+W3QRXWpH;=WdPY_w>)2Ki%tI-tVK`EGME1dup^66J$B*r( zMZ8tfHq`FSy@rfG?7eTBZ4hzgHz@8Fx(9m)`-c3tMc>xT*rEx4H2IVn6Gb7~?;H>r z`;wHo;L<1Ohihs5q`!@bGSo>#NXPx&7x*wicv_O)3C?%WLdIc$8?wA+KoFyA)Hpe~*ppwUQUChCvKDH#<4%-F!1nZc0*dJN%x(Y(Wo2ZZ zE_Z1E$jv_~+$ ziaOtKM@j9a^oX;djbQxm*oi>FqLUpT1uapt!SJ_y9XdGo&*4s>GTi>99+e zyT#UV$NIUydLy?bK(T*E!gJs3=Qx*f$G?9~WcGu7Fo`AISe6`D>;oHH zzDG1xvghjl_*!qYxy&HX@fScaWzR!(xq+);w(qFAmUn|i;PkjXH;q%Dac|_07SA5T zfTsO0Jk{m%4!}hz*}K0Iu7;sb}+ z4m*OEZT_Jj!7E7r-S2qhjIk51dJGW>RC=T3-uy&7qQl_%fJ+bnNmm}}Utu{!k2Nm2 zhpbnQ+q)K7D|xg6YZ2k+T;Xqxq*qVjCL?maF1SF1JxW-rElp^aPO%rQG+zIn2vh5% zHUf?$W1&uLE&rt^>%mn5D$S0;bIB{H+k_HgojOxHrc#Fnl}m&Nd*KEZ>*c-m+mAnUIejs=u=K+Y9ok}wlY&q3b4`m>4D+^mtg?D?0)7YkL? z1%-vj2g6gQrXqe0_QDd`BV;lN?jX5#pDt$L4H+q(L7Iv9PWq46lPACxP8Bb)KSbu{ z3Dc?S%E}(C=Q07a#J1EB#J#p!hdm7ig`Y7obQCo0E68Bhlfu}dn03WE;m2t=)%nw# z|2A-7{ny5Mx}6%KLu~4Yk&X>!qhDw7$9BCEk^@<9i5N7+vhw}ml81Y#urTCAVB+4z zPOO=4#a>K@NliVjk?6>ODeza*KEt;vrjVO@LrBytux1>ai948DC~6xcGgGjbLL^H( zxEK^D`+cI;5GoV0;n*rh@A}<&4_3O5Sbn|P<;sk!f#0u1x{j6P%|{|Lmiu7aE0tYe zAnW|+0iRn~0K`HYoXC*=d7#$k9Ai$E`aRKi5^55fZrVzHfI_y?9(@(q?DTwHQ*$D&>`&JZGX4IJSoY;@yk=LkpCsS?a9s0j`Vv`UYFbbWFax; zBEicEa?~K3&Eeu0b&XRqufR}8JR*8sc`E@s1|kI-3=d9^Jm5-r|BlHhN+f|5u))l! zQlleKJUe;34htK%feUQY<7L;M&q7|awOCfjk{mGbGgs??on32h!w()|o<6mEVK06Q znurc7#fJQXwyAZWN<{IklD%sd;HMPU`MLXlBofSomq+`vt&RItXh~y~&s{g0P z?&oK{CVTEnMSLY>i+c95I_j;_UEe*!VVnKaBczp_F@(oZak=FDkU3|#exku+&=naI zO7cFfLI*t4s)@zkAch#W9~YIhNXF)d<)h301qqgTw5GhzYlr{_Fq)~mkWsWE5BCMkbFvQCuSa#Ff$k1U=gtb-jac^O9m(x#OuKc zeCB9tzn?k}8tXqTukLpV6Fr=GHe_z3Hz+a7M+_4XkUZK#wE1`7*N4MG5brNY@GI5^7?6(f@)Ep?cGLuvV|=S4p;cvYCa-h9vJi%@G{ zF`3|SWH)(5<{RKd|99Xrfn7BDr3SuqxdAOEW*7?ryWw!fNWgblyLWPRc_HZe3L!LJ z0@(w|Sj+^%irn6QAJ!B`Yvn>aQt%Xbu~_rJWw7@%S;iY9Y>561oTO$#oB&TKnU9k` zwLV(C&Y9rVuMm9aLvtJ{7D6AWG?{*4&pleqk%Yu2yShf+@-wM0rlOQH?`gK{dofdyxel+ zMAl0{{ex(Rrppd*H6nWc3#cc@LGoo+7m)_O;{a9U(?^x|&a~zD-yc(E7{*nWBbCR6 z|I)$fYuZZc6ghq2gm#W zoIJ97`0R@rGJH<^-v}4M; znobC@7(gDUBq`(qjdoK;^TYga<+=CO(4dlzoJ31@Zq5!!f_Ov8{}9&0T^=48`COvL zE-sMDT+s4MFtxb_B|=;ReAaVS?;A7s3 zQF%42o?_nYm9cTMSD;CErBmMo3QLitE9a{qhM4Cpzr~UO*)MlbA2|xWGPNHsF@G-? zx}5|9i6LyU!_w&E%O?IwQxhRAvfts#xBx3P0NQa2JNB*ix89 zxL;y^4QhS8s%NtT<6T8h7ZT_t{@eLa zI?rH+5vHIrctybHnC{&k6=z&;2c!MN>x!N|%WxB1TJ3Rb_HPV!o#)zK`}>OnBV%L4 z?>`kJ6)lF~uqp498F|M4JmutlM0vTa{TWy%h=@2CF)=gK&{2sZrpbwupjud1U<83H zP{$Gmt^5MXB?bM7`)9WA%O;Pfw)wTf3L`! ztTlxYFGeugm-AO|V&S?LhD0|R6}oX#1>MSX5S4>mq3HCgN>@-&ygGWy*6%{nz%8u1 zI;2N@EclZnt}5m)RaH(xWkaKZt0l>yO0V1B-;a&+;RU7ahS!sW+fU0PHcybyo?Oh^dAHavJzLBis;?iyUGd_0GbTU{St z1M@yE$K79%iFVuFOKBqDrO7;@dY5W>B5(8N2E7{Fs zAfNYm6N~qM+;Lrxh4S)qJ50LU|KnO%_ok)1F4Vw!_{TYa#VdSK{5dsSto$Ao25v7B zi^{TGt9Qh@{5TfXcQ9py+EqT{qakW;MtOO8b+s^2#QT4D-8^^o=pTUiu-hl#3-x$A zN5J>(K|IU(>Pn;O(CxpZ3m%f!a$m=i*V4k&*w|ttQ;4XftgO{or@P1W>}BP_;e5>; zuzwDXiQ$bkH!%s1ilT|^1IEz6tRs=fTvWx;@uN*oIH7N?gWYdl{mU}rA>|=1hu#cB zU78NGYjrKx3wwuyhReG@ZDOI1k9(Io4ca={jh(THeT^`k0IkwxS%-vYogyq5q;F&t z^Yb^6ieuL?4dLgEqaXKQfoH%kW}Ex^nlecViNVAsm=~d8>e(`huC>+MJ3A{oQ^mS` zF89|Ld*iO6ocw)Xo6>=gQyfB8iro7*s;)t%uc$&}R;R^0pCgd)zc%r%+UG$=GdHy0 z04r0zr`bBdPtOx3NG62yTkYFOeQ1CVL;UqCA(qXg8NwDNQKs$l56=hanya0s<qkZ2mK(7UeAQ<9<12y?w$71~Jp!+N$FuFN-Nh@gfO}|Y092N>m*lHo#6odtsi
6?f|~pj`i`sjilajIZ-eqDN5Xpy*ioP>4H!8FFIj6X{|zJ%N+*xz*6&yK`15%0T#hlX zt*R_T%ZvxMXU1Utk^2YwTm=VudwK1zb-8^Y5g8bqx}c$^XDjQx_$noQfQ!4Ye`qrr zB(yUZ*A+Mt%K-z(bU|W;hjCMQXwfak{yhn zpgY2H|LfQ8VEz02aZXsY^CsR=wzZY$1ZhBk&afu=K?vh$eC0Rx48O(u`b}( zW25wXLP}ND33$*`s}=_d6TRZ)1;A)AHZwS#WqtP5RS_lpS1zaPHogh@!|GZG1wT?8 z$Ojg-2I15yN%wyki!;7FLYu(~m&6yg&ZkMe<3CNWmr;(rakB z9|YOIpJfZTA!()X(#B4Z{5N*L?ZG5Wj-*t~mI6HOI8F;uV}HwZ(J)11++}YO@L<== zeH5e0yu1)ZAQRV`FoPv{1)&G25_Zg5-;2 zmWJr0GTG_;3O|^@Zj)}h^kU0yi+;TRCI`^3-6I|Cu2o*~O1w;igz}Lr)&XBPIgOMl zoxsXo?nCfWaE){A&0AbfM-uLJe@*r7;Z_`SwYwsovk%0yl*BhP2VRX-<}ED8`H>7m zKiapZko_);OFl^NA;COcwe*qv{$=lW#0D7z3BO~Q1!;7y2 zpKSIqpoYQP%`b(u6P0=r1eCG7J?fFrk z15tnSa(q@7OPmSRIH|#+dH846B={^_IHyBEBfWV?sVu7+hBt1yl17>>o1FOA^K3EH zS$1uitwo0!(81o1ay!8&DVao-{SS>|bNlV&1!R3g60ciU$qCFLfA)w-Zyz#wHvU>y z*x2Nx%8>Pw=YArWliNAa{j0+$r~p47J6cM*ns+FasIcTxFwN#GU157(YIR1LR2d2Y zMOD|IxUiw+)eutKtbffM*c}ZibE@xZ9tu4<$o4FWzkavcz8;BJ zFzY7E9j>>-=XYK0iSc;wMrFK;x6r@H%VhO#W)~vERQq@9gkH4O%b>zOL$;tzn-F27 z7t~-T{JyNZ{3=`b5je-0pC8*e!s;m_i&zz^8g!jvew03E}*jE4E7*GotCSiWa>TkFp@~iSh4~Fu~X6GrfXf_ zYZHh?uA2ung-HldY>#p4>cEEbUOSdx7-}=({V|{ve97D3f5!Z+u~6rG@pp%ZecGTh zI&4>Z&985g!*CP%DoN^uu{>~jbEgy$4jXK31@1=2_<2HBy%LUvnXDo8puaNC>8!lvt zw9!ZueVM++{@)0(SlIcBJuThJVv#w@D_ywWlwR<7$1AEP5tV2}~6hPU3b1?%jCu`n* z|0pMUSAv02ctN3;$os>o9?{&uL&R|Eu<2NFc?ZPN+}iu*)=7(IdR-s;0 z@(%(zyFb!D_`#4W^?E(XNu273i0qiFP3cPzzf>?MJLu)7ZLHINX%fHO=utas1jzSHHs^#8E?g(HnY z_5sk?eNwE44z+o-U02?S%3{WnhY_q%Kw(Ys_iEta1u*DcSi{ZCnXIYT$!;$#z6y9X zQ+Gt-UQyt*ZL&8bR;_C>%^Kt}nm%MKKQsn8uWqvheZYTqnRMTOUb`vee08zACrWDY zy1FD;Dxn;4V8O{i9mifFZXzRc$Yf8ST@w?(x8B-UD>?ZM^AS@$!%9_pLp?O%({z+! zL-0s|{2AT(lC|mC2Z2-WZ=$NYv2|}?%ffIu+whn=x}yAex#1^iPtcPS_>RjY|E~SP zl1YcTG$4?wHZ^IKBsD}M81a`kgo&rULjWD?W1UC7ewU1a1rqLN^Nut2Qv>KIGmIko zm>C!PT!gd%?6)Fc{p*C9n!f&woa7=vSj0#ymsV%edo-rJCcZwf^7N1Kbl|$77RDsi zReSP4WT=%6$}g_F-9ovG@zWVn`yNiSv0Cepje_kh7c=a*Hj!arPa?r{_fSt^dvW>V zBbG294*SU{!4`^Zg=g{IrmQ1*NDPq@?o-$7g+V3NUS(5Y^`Wj|hKFCEBAsP@zs~gQ z3IlYw*H0jDZG`csy%!B3qqYn$WA6v>cIR3NqEM&(nFdLH0$fwm;))7~?!L|2 zGJAs2)b0I_Uc^7O2)L~to|m`zq6OxBpQ<0rBIOOvq7hXiT|3n-X7+hgq)$8Yq(9}A zI9{3RTHgwCo3+={zVXb~sA7E!=ciYaG1!lbMNvx!L#_lH39p6|#AHChp|vE&is+EeLp zf4QpQWcLO8G{zEW%&LEKRxGA{6w>XbsCF{ z9jexQIttUb&1G%?RBu*+z zoQ9I3+v=w)ZuJ{2bh|)7K$Q36c(#RUlspe1n0%Q5VLz@$xiP0As2sZEGB735G*E2IoMLPU!<8WDU zm1oHOS`0=5S`@pNp@jcAE`jM)$aAvEHJw5q7Y;5_REV85l|RHhS5W?`$^CD}5uCX> z;kiW-)4s?E+P4bGKVCt-Cfs)V511H_@GP5S-)8>5Utodc*MIi{L5u&F5&Q4w;Z>H> z0Jx!6B6jDJgaqoO(9p&b&xfq2@$rB58^38-pMHP+zvCem8#~9Bn{7g#EX7vd zbv-^jEdx+sLPX5BbR1_^s#~%ocH4CbtjC;=i9XCo9bS02_~NAPg{8gE`-y|y$c&BWaOuh(W7-v^d24_5#ryPySiFh8qG1GxlfiqYiVh5yUHGa?%DipUW!anRZL70XH4(IyWu4|h-GOCbhrRv1uZR5c&4SMM1m3Y z{OTP;VdE|@tE(+PGdp(!3{2Vv23Tsj(`=TPKc{sB`iUGMDhun`bcNypyGRkOKoZ5< zivwcPZY5w+BX$>tKhaw~5!ogCIQ?KO)vt|{PzlBoRLrX%?u#wH(3fZXAY~$7Z_;wl z;acko?2U-4jQdTR=Bkd~;ovxwmnnKJDx_LJ`FJJqda(XaAJh9!ACsPw1B1zHx_S-f z+*c>od(*l4f~`S`O^-ScAG2lRz7==c5Gp4r@!-g)dM%ch+cP2$=LGpS`1`vl*fRRc zTuvz&N93pVBGxL!6onW;k@7k#GX?{Nl!At)o%||? zG({m7iv9jeN*J;COM%a#uHS`c87pxihQBauBizS!7~xbfw(8QqzPWCCS)=vb{k%m@ zj}gt1NRgjNxn|`sKUnUAN2@%b(2ZcQsZlTG9xxQm!#&?UGm`F3OGC4|O3<@z_#zbK zN3;nlD;3GPI73(sx>IzW?t{|_H#au{GW2|RBC>yNx}r~f3B_VgW9``xjvXiNaVE_V zjr`T>7Znwi!~-s;oz)NS)yRv2+zT~|U96i%O;5ERD_>opB%EIkfeyReDi-|i@_;SX z)dihXry@!T*DwX*BWyruW5mz+yv3$Y z;Inf^Lo+|`y3zz}rosb&SxRJ_IXx{sJv|p!S6c&3^GJRye51?b{*0Y%B>-aTE};Mm zT)U&OCSd*rk4gLa!!}sl3SPV^x7N8j3|%iA$t2Xhyu!bq2(&sog9nO}z-<4JcN1CC zIKNkln=Wf>uR6k(JeT~8v!zMlvd6a7)zyKg(Bydr$jq9Vn7ogi@bD+(;eq7CySZK; zQ->Kx5R0|7wX?yMkd*~)TbV%R=jsnI1ggoJ6ci+aI1u${*Pq(_ae0rASN!7{7;97W z^L>SIK$a2={);bhcf{Qizc-n^?*!pLWdwT+TFicYU?5>~&7Z1c6xE-#bJZH^QS!3O zhm?e5Tpc|WW&ZJKFucWAH0-p2;0{8J(;9}4i78Sm&}wJT?qcXShblwQ;m(plhgL37aE)TN-PsO`#mb+jZ)gtAocB3U6$f-X;~gxmez7|>Ov zq=J>FAPn@;?!hpVqoiVE8hGS)xwqxAe;p7tK2^b8{QpQ8R$;k=(0bI}GYd~X9{i_r zU~9xzp_iUO_xl3l%ip$PumwVHlel|se)b%298?xba`GPd9E9zTk@+4!P?V?J;RS_1 zGN1dKG^3BIV$lA0&lY0Ki7mS9*XGb(H}ApCrTAdaw4;bIi-sXBtDkm%rvf};BC!xs zQJIo;TCf^7KEl}rea^^ea<;;$7{uP(?}{xlzqy|gu^`PXmB5JwjV;)uF_{(OqNGi_ zmR4$Kdv$-~bTC6FDje96CYvqm0PJxH(8yjb&*V>~cV{-Z*7RSWqupod7OM@esV~!# zjB(96{HS-|klHXKOZmv{eEflnt1i1N@~9gHJV5Yp!9#2L)H}YrKkkP+R#csm@}7;J zo{hfBCycwENJo1{0O1=4#0vt?>-WL~KVvFclYzS_#4*xJG2Z=#FSto>C^IRvx2RZa z&!c;&O?Y}ID_yP6LcI(1hvsKZjfRp^w8-Z@)_bdqD)Xs=Th9Zt5;fby``Gaj*T$`t6Nq#b$z z!eW|Ys;Xf{`)sdRUeUcEP$G)R$*KO)^U1{2RPocFm@s_a`(uG0@uU_Og@P}hCqqY3 z;uOpuhQ+{b@bUH%lUoL2d6`~8M`9M&)F}#z3z8egn*Ij5L2;!GaNzadrNYXK`bgZlddBxeLUzM!1 zIbv-@xCsC2`y9yjP3I8;mA#_K2uejyUo?h|7a2(yH;r*KD%_>Uuu_=h~V1U|R9 zc`uMe2mDygmi*u`J>2Keyj4w#sCy#&XlZFaRxmO%%1FqpQloR@9|T{2fW8Q;2pQ09 z`@SV!dbAkS4P>+|3>Hg`4cY!%jUFvCGe1i!?c=Lgs&3liaZE8MdydTy=N#uS}+>;H9V2;aaS2i{}tL* zmP0J%FfU!z19F_wjHRb9GT@?P;?WPaFkD5FT2;SMKF6P3i!Q{HyV}WWZ<2PZNTaZgSleOUKBT)|=E@yea^g*np4r77o<_f)7MMdQvkMWhzm`;$VPHTZ(8S_s+tHjHZ z;ICb=n&mf0Pns2fVpk4yw=OCx%l6roN90)-z zwoJOCOT%%%1H1hjqwVv%+;u(t zu-BA$Ib%7XcYSEuMbHyWv+$f%7#Dy-8u+bEbFogkm_J8G~rg>Qt(NQvxMUim7X75tjs;kk9htHt|s&a8AS%0J_f>Y4LF+k9QtVeHvn`N3)3ACCQ7%i~gv%N7L@mP?>L}LUynSOL+G+ zh+Ot*N_o}uyEPg4?=)x&e?yE5fnMfxBvPN092@KO^vFYQyrobToHW%@yOuHFCnR}5 z+adTfE;mtrSdfIIhjP7c*^B-+hnsWP6WQB&_PzVtp)8LY7FMqwyU^l>_Z*v?V1nk& zNpadfSvXgT?<%+YHlI!#`uvn(icADgRMy>`ADJFL-Vx^B;IX|3$vu9Z^E~P1Mwm~2 zq)_ME;ncWG&HWslQu7-pXrczp(t_@cU24cL?OAx6KYJGDzwKbjz#|HS@{hQBOP4WuIs*xB4ys;}EY;P`s95ei^RJ+d? z*KmrJ?pNs-vEYcOVBM!Afgf@d7;r3vc>Wu@P%c=oA?JSU*S8{e#xluVXU?T^zuawW z$r{`fjC4f>WlTe+#v|=*H_uxUFIb{u=6}X2hs?3n6&rqr^web?Rd;nb`}*;zidb~X zYxB0rc(nM_MO@x39p6RYtE~*L%_gR+H@TQ*>)#Ml1mu~XawY3{{rWc8IXH6rehc`D z02hK0I1yNsFBTQ?w>$VB;Kh`OF~1I^J?#q5s}w5aj_0B3o_rSuGiYk+{C4G^1vE@d zXN*;z*f@m`O;hcNOG5;czqw~?F6xbDTE&x@;WhNmuT8&yWw(#3PLqsPL8~2d;UGEp zA}44%AbSI&VCBwc)k^oABe=krb5rAkCep|FMshg&c+8YKGE17BBFlGtLXE~6(r?uBzNbZYIZEw@3LPm<9hn?xC?}G~hY;a^os-jq&2$a)4Ypc?V z8Yq-#kb!VFVmJmntX9N?J8n+U<`}%cWzrEl>*}n9 z%sRV&YMh$3d^>zGxAl5kGE?AADc&$t;0 zS6~Dj`BncT56HIgM-NBtj-+?JOL!Nn$;d_gAQrfZ3mrJxV|2+W&??|+wg+Rg>1CmcD&?<=do`yD>|;=Vm+QW%b!nNoFxSHlqLRkD?Y zL0kTyQ&*oXa$W5IjR49N<;t%YV%y#_scp(H-9>onN$ z3Bsg9?_* zXT{xKSoxA7dtt4$%Xw?&nG78%XjZwWX=tPqDXvn+sCqmllBw|qyCEdeZ{#E;@^P-D|#CvFr}zn);fy7_f(P@k z#`EcOf22S1kd@|qkWuj6!TkZT?q;#}<#>&J>w}W3hrn>)YBrFN&|*}fOhBSF&K4F>zW5i1{aQx(6aOG z!ZbhlN*s4$b?F}N@621hQ+TDtrSI%j#cQh%`XB1}2&Uq%&$a)Y^!A6go=dhQ|8&?o zln9v%nG-xq^o?mcFqG13dop50t@LucLnl~$SAG(SA49U+)UckfUzI7Cj8d0n25+^y zCaza(iO5lPp@Cp?{G>M{ZoJBJk&a9Tjd+5pHKFp^)YSfBE6zN<*D7_G%4B^zh4KM! zI~(6rw5CJSGQcr9BGd4cFDMI_n#RrbY=UBST7TyBJ@hJ*%Vc>EF|-TpnK8TM)3DWQ zB}o+}&QQ^g>@GYQT6ZgT_F_DS8PB>`oyfiHL}!e8e@-L@@PE2K4W$$0@rg*{w`0Qa zP;U>F-SWEIi$kw#9-5?eBnf$ypxk=IP-o~SYvr7vBz$%A|0C|L-=g~7aACwiKu~E( z=>~2ZoyA-Rk#qz32P|Xa6)8tYI(qUTZyd-}jRy zzt#dfgC7Saz5eC7l;~awy)Mb>O{nzgeuTlQI*Pp3mhZVr1W^gXJ??$4ApWfUschfY z-+Mh;`UtP3!Z*Ze2L>D+9ksPr3#{t(osIIg>AeUCuZeI#pvR95)rRT4Xerq)k0wEh zuk3PBue%e8@wPq@2f#)9C-lo&b;gg-^7z=WIUO?Vc1pk84SZAuu=xnn0#qY>&ypUw zH0)WJZTc#+h6zswGz~h~IA)Y2?d&8Y?oIYO$|I>4fENh=wY_{YCf*#Qk+w!q6Iu3^ z%i^|DKPUzyV7@i{h2mlNd7K>Ul75fGVi{KwekEmp2Jdp6gx$TG?1pm~DSd5#2MS77 zCJS`;QR3%2jV?vzGD7`#UhWGuGcwqd&7DJSlLr2wpYOjC)SE9i7^bH|X2AwwgKOE_ ziN*z4tGwWZ4Ls5~91C>Sn#@K@8C%PpH(~R7Yc1^;JBwQ+k?D=~+P^uiLr?@0Dr)Sa zQ38B5III#shvU#NXp;I^-Om?kYJY&rkCclSUC$XcJ-b#YwlrLw&NRgSOyO|Ltv?#4<`ZyX z(cc9xY!$gfk9F48!nieTzq5F(_*7=3k6^2!BFZBA5TkL|?h((&ix6|U6&>NQ(*WTH zfNcOdS)FVjnHw5rrld3i2jSkHG5!i3NR2h%i?g#Da+=5beg~!43Xb{S7Yf#`%}GC8 zj`Xxj<5rlH692sQtsh#d=GUW=gekCQe#xm}Ib^B%+q}~w`n{Znc8tyaT#BC49|CG| z(4-KQ*!k*#|F~yWFY+`>qfV$fKUOS5&5JZ>+V{*#%*}mk+`^bgItR3`9uvZwH;V?< z+}#r>ZZ!eVv^lm+#A-ts{l7@rCh8uIV7Hl8GppI{K_nKTw zuSaLD1N|v>adA>!qq~Q3LM|)EA|IO1N1L7bZ;~2{teA;ER}g;iSTL_|8BUkc13Y-+~ytO0UXT8Hbt8FU#9UG z?xgUHwl^9s`|D)I^lrob?jfH+K_O<&&aR1s>o*4ROUwncju%56k@sM<|8fCebX>2| zZP_TQ;>YuL^H9HtJhIfSFr#PO-+x5~nW1a{lDE?a{AiF^<>N0+HKFSS*(`0^rkW34 zwCBTM<}vHvR4))kXTumo2OP9lTlQE=JS%tMOt*2OGW|Kp7^=(MZO}x^lmb<4KPgMe z0V%%TyBB|~@MoI%W~b91gBH3&hRRYTY*m)~Ipvag2iV|ub+_Lf2xNt>Az6%W_`T)D zgAGpC9ehdO!@>-aCxyh&ZpbV*R)c(=_Qt>#U2-jWt}j_6Pz5|y2ttBe?{=M3Lw1*b zst)5FMLRhjFLEYbiJBQN=y{{M*q#mZ8J?e{kUJ3td7KY=KDT*%h7P-42#zpn!{-io zxO-mm2q;{rSUwR3vc2LQ_O`qFXBil(J=(mX4KD=!=Dbe@o+IoiN=!~tm)$^R3XS-x(xM{k)Cl=25ie5$$+9k7+ZP;z^Bh zyD{Qy8n9d5xa5UMax@>slK7z=S28|C1cfkX&CHgKRWG36XNoRnji8L2H1v+oHM}y! zrjc@LYSQU+Rb}E6;nJw+@ZsY3)!{_kx!9=HlXcRD#$)bt8oRh69dTaR`wmOQm1M#F zI$2{?2y$xGov_zJJIVC}MSjm@7*dV8%%I^R%XH#0>FGjhOwT2c#M79JjBYS!zPSU) zBT&3S*=HsJymy69Kv7aTBrXm!!qR-TCZ_SNxrx6}C$LAxyP`pH zh6#oAZHn48>Vlp~!iHo~i>tDW`8x@VhdjW?;yV$ap zdn$n`sC0-L`MSQw-E6~;vtgxoUOyIkdDlCRzl(IZcs?|%ijWPEAt2QL z?(aYQeTfVBwAsFDg@&`wvOm2c_|x@nkP*CjkQ$$?4Clb=dTN*3nk zKsOVwNBE)V!$grR0nT?IQL5eVR^1+eNR`B>Cv7-XP>OQN4Hf^7!}|@Y{hRiUl3Q z^b5Y2%$%5wsUjPI!2f5OWFLH=X7e|ATz6O?QYx0Hq;s=ojIaEpTy_Yki=NhiJo5{D zG_Ik9e{Iq9k=}fg-J6n}+TsjHoB;N8@iV~s|L_+DO|_u@AGYMxjC77d)z_mY*5Ew6 zS}B!~=G|#pll^^npN`(y7a!3Pia+x*jde|u(Mt@fm=zn&6j?U=mYU|LzfTXON0hZodwg}5gjJV0kskbY@T%~}y z3W_th;*8LlU?{j^Xl%IUVdbQB*9@<}+>;=X6?|DzIIa|lTT=2BBg9ATSCRbw*YjU$ z3@r{%vM=^@1RFIoGcqnWZ&B|KpI-vSZ$WI*jwjie=s~3lG|s%lC6+bn>ReBXU+?WB zq1lZi0jDAGp!KZPpDPfLs7^BwM*)5KB+#;FCI{J?JDoQE{2BovApil%Th5u+he9K_ zH9enu0>z}Z#`aHu3tTEd30$xdL{9I_%aqkO(q9ZFnENwe@h#yqR-1ogl=1(hp{C^W z`!PZwJ1C;AuIjbnTiFTYKa2xv)JKTlEdLuXst!80e>`@GM2RszRvf4ni^ z1-}NM3}i{WHk^b7LZ2Ngeer?}`O$xD=0xZw#5@qxyl)^s(N%i*fpTUos+z339cWO z5XW^o&DlM+fO-5I_ycI=EC_T8G|D%^!^5|3z?*$m>)*DprxDq9zPA+h_s)Vd>ze5A zvt+2GrDa(^d{DT&t!m*dP%QaU^6?3cGV=&;tvOCm_uI2u2Ar_A9aGY#?*iiEi5cVd4`w+^ff5z+xQlYsVq>SNSU;|v%NjN*g`OKh4dHgkj?aG z({ZNY{GA|z_g!A>lgRo&^z+LrM$O^4U6{xEH|HC#zb_5AN%pLY?XxzZyI(>AWmsuS zmY~irBQrB{oUnf{cAVICvj*o#h-yBhol@#_~;4v%|dLjZr0~dv!J7lNA`u z-2*7pjivKB-CzHsK>wMJ3UIT#yE~SYa50Y1ov{bwyYUWEF|okNNc2-VLILA-1SQP4 zI?uLJb(as%7jK-W>_bvyeECt#=+%$%-c5-`yv$|euyaV^KlaPyYx?5}{=G`2UT`*O zT8fE@RSp-*W~edD281PnnbjbN4(l)BWJ3NO;TM>) zXD$z2{SqN5fV9j~JxmHS4ZmdGpL5dT0i}*>* z(6G`S7k77mivL@s+Q!D?@1CAEHhYPUAH~!FY!fXfB*({ZXw?0h!E>TW+W3{hU_6xD z(RfUsjyB<9a_8r35`JA<3Jl~Y&cb{5p8?$<6_f-;QM$;HoW};Npl;HCcT^yvBV5nU z31YW!pEq{|zyrIZ8OD*BnZYmEQj=5h@q^J`_0*q=m@l>IP4~YAp$lE6lQgrmCp=@e65i9rgzS436&g!#TnMCoYgpgy# zH!qE&bI)YU4zEqwJa&ilS@84oo}l}9%S-$={Wl@+ITg;1j{xW)kx|1K!w(5(galOl z*eNWY$sciPHU*xO71-V0?xCgtvWu>`DIjIsVM;nvHc5HuX7?Ra!K_sfD+^0#Ap6}F z>dofmZ+jJ8-OY2%qL+eiS-c0qT(#hW%kRLcJpO-=qjvB1}s;(RCn6qe6BcEC>IzQ$OdZZ8v5yAXb3)Z zvU-x;^J25d-`_T@v7w2Ik}3veDtu-AyrCDU1l<9`Is-c>;alEwU)8^g@q5bry^kOV zHgV^tvGcv8d8rwCrPs!R%hCo?0lvmX_>^ofk_tM~aut5WOBDbJ{E{zXV!e`*k~OwW z;H|%3Mkw}0iCRY}t~RxP7NpKNGz37xbSsmUIYLALk`n#;rA-bBR=``rzk{*6s1Ov0 z*+``lgxeQ{wY2@WP;tAxFVjUtdHCukY^^6sA5P0aN&(S~$KJC{Hk0U!yB?lXoP9REueM{5=sgS10>ke<4KtwO&mW5=Z2(tZ(x8XncHp zOi6$SnCJl>{#>+F0WYztj?Vv1c(gxfuI1t7(8WISJ0#rjw6hu7fVG-OjirE>{x1-7 zK6teX>U_(m9uI#zk+ibP?ll@3Q51U|#0c9#rJj^{8PGKsG&T>jT5HtljSk(b{5I5B z(Hs+XBBsp;S;5n|@VYM`LZhf%F7E1jA+sa_g7&FHOs{jEi=t7X2p98uaK^o^;v zc57ELM5${Qp33Va?IRf<9IiO-XO|u5?1=S&V2Qp-@ zfo|wk089`ACou2t0?qCPSg#6{K$T$MWdHwn5V5BRdwul_k92X^+m_TZtCKNgf@2OB zugut7(18ee2Ny^E89FK%I&6tkUtrZM9fZNaE?vUF?QqyAz`^Um?KsfyyW>d$w<=3x zVC4u)=8DUa=60_r_g5zzdu-zh`^7KQP2vPdr)WytMSk73GrP>Br#ykkoCOw5=sj8~ z1Cg+2lILMOC99K~wcSXvOTm_mxAyL8-pkEWLB-IunPVZqM z)c#>?-0DtUKvoFn9$Kh1kzd*51U_|R>Q2HM!N?DK_M9Q)-d;z4z2jVe?KG8lDH7I- zHq{lWH6cc(TXv-75m1AFxiZHZ#5p+naOROd#QZ1fw9BRsx!Z;Oi8}YYfvEFwjs70H z2gYZ7HfTi7k)`p`o^GMWfBGZUh%4lHd9X7y4Ts>J#&dPg$7WRS4kX>&$AD^a3V@&-RAsdCkNaskltbpAJ~ zYP!N&cQQw&d9spmxny~#K`YW<-V_JpJi$C7PCCmK)H0Z4GM138WT%yNu@_(fF=&gK zCWc5u`L+0n%p2c*{Jc>Vr5QGMYLF_oIHwUu^3GL%?fC;g5(14k7m%8)S&~cY#8pvWIm2&?4S%+dRR^aW zJ1f?6LLPw{pIldd1#6KovC-0XMw_z`(o;kSw59L;zfxeORb4`nTEUo(u2$d*!&Gyd zAn2})d0)gUE@E4tH>&lh@}p{z!^gd|)#U+;hA3td9y`^856&mbUdJk*WeHb~U1+0n z$x_6Z%`ndoZe^3%2DwhJ&%Gj72JDE~%yP2~`8C7%m5lBV`I@aE^9c+~q$IMZiWd}( zIFToXiWVbZUz})(jcUD_PWNW&$$UyR3bWr&8bZ{X)XjQZEb!`=7NPUNB6@ zF6(`=YB6FOKdaGoAk}yoe^PJL){gx({ca^_MPIzgAqYdV#75@l#nmK8+#l(v!A~j_BOFXSzNLg^!Q*g`}`i z&~JPZQU2128;EnFO+2e>u;@3mF}6)cEugcMOWnp*Sudn#hXUPOpYs)24jw5mp&w(C z3k{}+PNA4a^R^P*(UivHJA)aGNuLH#u#qi1E&8AKJ>@kPprAP`p8fy@WK<1$b?=`qJoTz_s%g<;OlJ?N)morT4ru<1S6&s2KQb6H9a#kk{fuY$?#+ zkyESu4 ziS*IYu0^c7p9}lEke!pflhQFNMMT?Y2yN~aZi_%z*-k14)Y5=4u|Ra?Wmp2s;j8qe z+xfH5mYxMUtzU}F%cE=L7T$U%wJ$gKKb>s1-^qD0PhGDbr(yFwyAw()oHR*x;kbq-(BegZ;@foFV1`+Qy#YY3I4f#b0_TqsO*kuj$d7cJ8=h|#!P$Xt#voSO2Ho9;R=1n1V32R{Wv=aC6{(Mfb)e7ckFsy9M^ ztrJdR54&iuY0hh}FQ=5(8n3ph9=b2!KcR{#Qf0{i9krQ*i?rN=yT-PG7`Njky7v#8 z|LTlo_vd{q#5D+vVyJPUi#G#MY8Leofml2*{T$WafrzZrNtKQI#=#71vunGnj=#>O! z7V#4zzS>(YaV9m;qEhvfCAXuls6e-O7(T*L17XxoAKs{Qnhd%*9;NBb59ID;BdSX> zlgR$+r2W>5^i&q}v+VUYBntV#fmV}A6H&yBKNvXNX z_+t2eSQAuIl;@4-iuPzs$_nWyILyxUT-1eZd{cCf63xP}E7$hmabuz6 zpghvj-RE;u>%ROr5jE&3?pLl;-gtc&9!#1yQQF5ixabBR5 z7`BGQJc$W&7ne)_V6!<7&!oEbI%8~cL;Dt)l)o%6B*FnIGRhnktBirZlnf3}`r2@B zD#WdM896dC8S8+j|4rA7G}d(S2Ul_D>FB$)f#_hu=I|_5@{X2#=<7=cw3i3_+T#bA zpFTak$U+Muy-aLd>tlU9{(MABcL8^AoHbj{1s*xU8@|3wOn#WYAl#yg&+Ucd71JGt zk%n6oIvrm0=Hyjr89Fbm2lci90kA43oP0~YlU*Y+S((RuN*M+AcIY*uJyZ7C9$?>Z z_gR+K2FJ+x9@>U(M5Plwxy@>lIKA41S2K7j{lLJl4Nt=PMb{#vS`D8TjZW6&_;YB- zb#RfOK|d(d1&hu>apcdi6PIsnb>bz%cA-w+)LGse8{hkm>jZUfy=dV*P>qKKGM~G+ zHU2&vOXzpnY>|ZHh?IPQ5c0d7ym7NoLVAv7qI!n(OKW}plfgAr#+rF~{k1`%>iBl{ z1IS`>7r+y=-7OV@6iwh9I0X-XcHP^rAP1HW8yWKqtyJ}wL)>Iu7EiLk*8|^4E199x zjqYIdvF;)+mzcx?+q0AX_mlkHu~TLOT0wg+5Cr+dfshKr@Bpnu89Y^p7FJ=o+VWZV zBbdL?U~KAhXb}OG{lfZ;of_)}%}veq2_b=>dP|GIpr%(}J%-m{q}al}GH@^`=XjWQjJxcuf0LA`!Q~w#$wfBiUQN z)3{iU!OqF}?PV7Ogr@@o3CN5xWKi=N&BwLB$U3W)UUzA$Q%MSFlsRAat=fw1a_lE2 z_H8-KtjrVnYmYX*aBxNheyhH-_rS%v#hmd*$E{V|LsvQLKBtSX(@~ujJcO!e!Qahp z%?YV{ujs6r*?*|XiA1`fbx|@u%Lll*2B(?`e6*1vr;Yz9S zI(42@DeLuB>#jCx*zwl>Ph25AloS5U?Tu3q#rN~O4Y#Y~!PbYZRPxkv>vH{3HQwT( zkSp9^xrRDV;XtH2WadZrT!}a~Op9lcCp)q3)&>oQqq12z1Zv+mh323RQgEXLa01IX z=369^r1{I3F;1MeJaF@ZC$zf~3*&xlFreIARL6IpNH!RB@CK8z(Qey&ttKXm;q~M% zndZv<{;A2-eU@(nll+iJ-W&;6ug5~)qB)ww3)RIRasqhQ`#o*ieUWO|UXPqQ$g}ZS zt~V|*NRV%-wU<~Db}6K+*Ze2G6(00X0`G6FqBc?1vTn^}@9drAIWK0w^fh@IjjLWK z>7GPU=1nrc7-d*ajwTX^y+Z7mg7{F+Aeh?O6J*dj;_c2+afmGZ&St_15h?|zcjB_^ zoqVDd2_qC5+~jx7Hc^N7N3$$3vwYlH#OEY_uvqcj95;I?h9YiyaTapD7}#OztI%RP%ZdoCI z{D!)qh2~uRi+R(p1(QARh3co=giHDFLbI#RPfTqS+mc=3tKiAdboQj17Re#!vhCOC zzrrM>r?8Me&wH%QECr53gG1+?9j598=L;f4nJ^paOF8!8hV*F7x5aRrlIPu^mPL>} zf3yANSJ^Za&!rY2Yidv6F$T11?wJjEK^RkYwtCTpj;O+%MTlY3HV2-NXqlj+{F~oNl)KKNHve zrk^s2+L;B4{;PIEUAag%wV2wRhug=Q@2;z1L9M1crqaOb}xe_OcMP3#$|z`ZwEu~ zZB)El=*sd09V7TNJj8ymRZWr}_0Gcimv`Tg%jcsDUsMiqq#FmUfOMNP(@Y05K9AQ+ z#lhnp3eAZ|-)P8E7M&2sx;zdPb*NM&sxn!Q8DH*=tH$-;`bFuU~%yS|RfRzi!T5m|`y z=iJy;XT`h3x_wqVDJ1eP@_{~%fXV7j4E)FZZCpwK3HpF8*@&4oGuV|lKAL&G&VRmV z?0FQNpHaWx&4b)VRls*T3QJ_#k84kwUn=0U`n}3k&Z~+dsg8e6+^k;=P8dU9dKBl) zaT{uQ^v<*RC*YYH4Eu1Eg-2u1LFtZHZ{4NdVu6CJuNA|(``e30RIxNcQr)q)r z`#m}Wf-jJI!v=bK8_Vljt+ad<`>38>@j}8Qj30DiE)V(m@r|hfq}`P}cZztZv^u|aidj?m^!3@P zVeGffM2|g(1FGot9tK@zyU_7<>Y`^KCDVAWeMV12iP}xiI<82SVrDB`+Zu zY2GHVFctIh4cK#G88XMRMWWB3;!P~hN00VjN@htJOt)_8K^^jicls0aeG6ojuZhbg zUP&jUP_ll=F;bWiWyefSj(&ITlpYksHi0IE<3$Fl6TioyqNvNC zkJh{+lTFJ?bc854|Ag|T#aZ8te#3Pkou}ZSXPayAhenaW*0w6<+bnoq2D=SySClqt zr62^+neQ@F#Zix?kHvz2NQXbcj!UE84M|qRGoZ*XPX~XkVtFf_8Xz^oV*}Q5&F_WKVwbW2dfBJGym_w~ zqSy!8%Swl@&GI6icatfLd~zmhqZ-g_ckgYW;9%{}9}AaXGz=s}zlC*FgT_K`g^{(r zwkF6M&hB65n8);0(87tdMg!xgo$azPbg(ijKI|DuWpzC4JF;{Ur#`o@d970OcIEam zMRfm3(I@y1hF2UtB<_83tO#~S{kV2pzppl6>fzdJY1S% zmv2R%^=TL*5*GaR?|y3xeL%(ozr7qAREvXNuqsBv>Wt=_F?Stfq!UsV`pvxNQN=w! zdt$bqtW&qxHn-@AA7SuYB)N(N*kUN!x;EWM)7PU^`=i%U4aCIsm_dp%rr1jb63K=_ zn;h47sV^4nJX$1-2b6XI7z)c@ydhAR29OQZ?E(h9;v@;@+0TtXswWFN3=PE<6%+t` z^lB>E8+YQ8r<{c779k;y2MgihuNog@*E&u+_vx8ap=fl;0iV82dFYa)iId_=5nSaC zj^t98F;C`}tw^(0R^+Tnu7+T7vvEjF=?|tomvd{5le~2sL0M|L0~zfR9@jjwGu2Vt zO~S*VTT}7G8Oy&ZEx#Y@c1N~U32c87N^NQMvdeogN5zb*iN8^mYHPUq@Vm3Qx(?es zh*%q^^0QN@O5qf-LotwVP^#}D2A$(A^^wzW+QLl?AwE{P%$nybb6Lz367VZ zRVt`XDPT!y*0ZcLZEu3hYX)c6sY$!AcGlGAkQ(_LBiPRgG_oU>Y;xokh+XAgpvxuG zaQ+Wh_|wIh@zTSwHtwo!i}B^>r`uzCT@IGJqcW8_De@C*@;tIdlJ!oz@+UEmW#2TM zxl^|F3kvfMLXJ{-cGoO|cQ?#)BxI$g?9L94b`>s;l|dpWHSn5kieujxx4FbcVYdB^ z-DpB=QpPJ-9!j(AT-Rxa9Qx-=XjsaTJ0IuV1<$P;v*frr~ zwlI>D$u!ZO??Q4~A+{#lMJye|QA|kRk_R6Psy5faj>TiW^}@jneInCBVZ?8fHRRcm z73|bGnvv|o23n7m6jeEb@d@61QSFyWOhmD-k=B@-;#d~52+lbdW~=?KRW|DEEBixR z@&H-OhJf~6WzX=U2;1ADL?!l&GCdJf&Ys^4YP@RqJFEG1Mi4w zG8GMzyY9pH%}h=_#N4)_IGM6zk{*mFI-FTz#J?#t9FQ6I#5C!Z{21=E>#a|ZPPHqW zn}AItIP<}`JI??WNgT=5)aDXg8r%$hDX8}^6Al!im9HQ08FC9JB0^V%p4(Hz4FD|0 zD+t72C?_W8ZJ1U_quh@;#hiG0fQU}P!?Qag&H;**e`pd0eKdwA<=L|7NTckGjhe4& z-#LSQ&1js3Snw_ifyUiGU!{w!cJc*RVod0GHIxO20=b6nZNZGi|*tZ||{x`^#e~|QV3+*DxM+S{ zhUEbMo*Tr?ek^j9Vi*VZT3~(Ddh2nti)qsMV+}e#lKya;1X5yc6dTRpJM5B(>mc?^ z6$oau%_BrhBBe)3rIU8EzTp`0r*%z5)|Lr$Z!>R*eJN?%k26B}l$Nr^EBO|eWZCtD zd#viTuQ9VQO*q0*V$OXfV>Aw7A*m&}XPRZH?~*hxlm zYG(!{Tpp?tLiLYtL|>xmY#XM%V7jwSPId7FjV&Z-Jkcv+yee=@! zk_5cei!CmyX)UVtErIl)!pY^Ahep>kD~TYksYC~bLF6E6w+bsQhL024tqFEq41C`Z zPKVpDHnneB66VwBE)3l=$gbyoRGA;KoV@Cpx#}LwZ}p~w9kBv^0%&0t3X|n|6_;~Q z3rFFTsy~$ZBjiR&#^2t*50!C#l#a?rZ7*YdgbEK<%JKx9qNhQxXiAjjc=C9!hi6N3 zQu&=-pq61F<8YeXl(5dzd5sac6dvlB5fCEKhNfkp_cpj376qoqeV(gyyU$BR4Rw!S1}>T1KCC61~_!KEB;K_wzh-Zgc;Xr zo!pmU4#^G0veThgq&u3>(Zas&A=j9z!a{`YP}x_{LaXojAu|;j7R~07u-HDKg-D&sqy9g4t$Ev-@M!#9>{z&VBlyaBP zlwn2HplJY8I|;}@MC8i@rQtP=KK<%?IWEA@Dvl-ReD&%TyVde|sm9zDf#=(>-+XTN zMJYz3nL~qvcK{+_rTJDqlO>`MSx~qWT!9Th&{Scng5#zpJI}IlBz|7|=p-h5sf}x0 z1`#oFMjt3j%%RxPE2NyH85cQBOY^t$0b0m*`hW^y{E`4WmSLSL_qy2{U%OF8{ zK2w~AIg*Oo=LXNn&__qi6=jIa)K0*V>MxGgMh=Y-DNC`1rM-*$90-ejRI(ZtLUyuL z3@Z1K01s)so1?pWGXot6=%Qd~s)0~RI`&%v?H&g@iy^e%~) znx2J)N-}wj1deAD1*fyXlj3ZAqRyBkYRnLbF=v!A$6e;w$jHX!bG*(cqBH$3f%pL^ z^9256A?F0JGLygqZG*jlLD!C9oy}Rjze}|*`9@BcOS)TJ00GEM@uwtxk9;Cw32vpK z2?+&)@8_G2q2mOpAwOX5ORwJX1|v-K5i%u-kwLDmesa9}BurhS-sUa;=NIWoX)nPs|GCM5rpS3r=N(3cUU-SXQK_dT%SI5JD%RbwnOrO zt{~mvXf}?PcRN+gdx0`f)MLLK9xfHC@$2;lDG6vbcq3qa62>QF593GUgIWEgPdU7flr>H}SC zEk$v08PnTMcTk+1IGBPkIrZO^`poL->9GR1rzX;BWJWFuYij_8^84c5$^-2F>QEXX zbTV>r9e|Yay12Tgs+Ur!h|%Y${DA=mH2-_V-h(A)lyq9K=J706fz&d9PA=jKf}Ql7 zpW?jxb>98@r%sD=r(tzUm%$q6?DDc^CbhgI?MC94t-c7Gih7M!@O`a7Sy32)*KLW@ zskR>yn*OY-tF!(7|r!KkBkwbzv+LDDvj@k$3%|s{n3#*zm8oHgQ_a79{HA$%~+c@oN_`gHCvfhOG^uR;u+`iN@}Ub z&y-g)lasOCV62m3H;%`tBG7YUe)k%aOB_T67K>oNiW|sEq4EwGEKyahJQ%v{UWK6H zCW{g^wrgsc+4YR$&4xFAU+opiYTwfT>hE`g#<}eEUpt-^^)1PX;KbYRvre$t9#+!G z=KhRemyW@?T(?x)%d0wh@on;#_}U3SlUQi7cv2+EE7|X^fgQc&I%DV~gpKcFz89fq zMYtZ%s#D@rKuMN{8qcDXW>=oxmt!xnjTK&=J@I71q2OYHoVA6W4>MxOs-xkJmnM)? zvt3;8cNdWlwb}i}KZ1CH)tmmhQP2xsaZPQA9@%q~oW=fNyFY1=n-K-HGa~K|jLJ1( zE}wmh1TjKM>Repprl${k!7QaI-A)%3>e`jh%35t)<14uf22)W}JME2+E-el9_0cmt z2lUghG{+(&E*1k?D2?t9c18Y0@9jt@9!V)h4* z6V&W!ZMW2^(NyRsfY=Y#3r+^Y6{0=nP8!)R(4oQ}>zz~AaN|(2H$2MGtC9X!&EW1U zb`R@=X`2uq;h+vKrK>hglGq_fJQlMi)!rRe(!P9I-upI=Df>g!dlKx0Up0tzC&Yzc z#mjnG3-SkkTlwt)HTvl_Yp-3Xn@0;(=;4)LP zLw@9ckxL*d;9-j_x8h1C9MeV+m$b_sGCNyB)0dFvlJ@Pwdt1<;})MJ&-Vvp;IbRPGZ){V0Gf3 zkQwC zioah0Of?|%C3wYqF?UzMvchD(u>4xw47XdDylQv!-MW`=AnD*D15gR>$Cf4AJ}P)p zZRB0Ki5bJTAfcUv!~T#NDHmiQ zRQ)Ou-DF>o_;+afgL@jqTEp8k4XGzc(o@R~m$*!;UbP z?ZEljk@PIwd8;i;*SyqO^OPEFXVc9VUh zQqi>xd~bq0v)7d0c2Wf>j(!oN1lfK(-C6+HVm4!$&!3~|5d*MULiWDS)m7jyPO07n ztdOBhmZ^osOrBdksUK27VIi@AP3XcyZ$z46ig|~(Cx~B>Q+&TuIEaMTT>>@A#SIJ1 z)V*zcie#=VrxGvsX_GiLwYX%R{}*Y5!QLM)f-MD)O*W3A2_32K48#U2uh!r;jH*!l zDm(03+N3hS7xoUcO-#oroDYBZddr@ zLwzj}M5;ht+Bw&bBpc`RS#Y#N6lqcH=gFN)w>gW zFSHy^mR;0;g-aQFK)%nFWrSSUmH)P!=60JE*JLuj)px$|&wckc=< zSLJt47HGS@4V%7)5<`v_JRWtBLM^51?+(1ARm<-TM-CEPTrTwbqRQ1_t@ZV)?-+9? z-rQw3XII8v5wHU}NZcQds>p63(48i%oI0(^Y~VQZ6=OLZ_gVeI^MmbjLd7C<88ZHB}CC$?S={pKhNM{=8ePM z#&>=uOL9ma+KSV%yPi>l0p4cJ@$T>OkBg)F-a8rMHmtTxW`BN1PdU0fgu@Lh*5s*G4u_(4XBWxb+#Z#pCP0i|hMj)3^-)e=QOn zT?Wjv)z{n83ty`$A0%%6ObXJq1+-j4Ematd5fR3dclg7SAofsQ9dzbbm<>_d7|G2R zJ5OYLgqURAK69oE|8QvKu%WGjGopWQ>m`FzxCjrnkT(V%E6%-r(- zOy6FhsYx+(Y*mC*eGnpxkqYq%pd@7$PU5w}%z=m|8j91I9EBWK@_8&jPZ>GhDz};w z;V7>`gY0eUC#7T5OKq`2@zO~GZGW$M+5!}gh8Z5i%+PJPi#IhrP&sE)5s2Tl@r zPEB*)>ykL3x_}+N+L{7d|IBgKxV14Dn7BxJHApspG5Yukbk8~QK*c$3n!p-0)w&4L zaSEn-G4g1uT&6sLiBj;kd5&1ROaiU3(e|kym4C~)%(Wys7MeB4sfLW|dMc@&emLa8 zXrd5l6kRv-cl2+a*R=hz&AG@LKtjTyoy3it{bxKPHF~;D)(4NqD3I#N+n9LPrQ{F^ zR49StI`deHUb|)@bwag2nWOFAiR=aiz55&x>;qw}c6y(bpxTXf!dIRGhu+k?rACIY&$_oeyOIBjWs7 zW5)VFzCQ!>WTszFPLjWHc!j1F??QmpxGk#wyZ#Tp)jKf!A1MO(e82?&ga2LGs{r)& zf1eNd{vZ69siey1>3#LrRKXCbQf~Jfnt#y(u!6Ky(5&4XkHVnT@^qTZH7-N3V~_vv z!oYl|bAM>(>KYihoQ;2{ClJ3Ir})M2ALT;u*fq}1+CQD|_Rk4Z`3=52zt*vrNTuV<^*UQnpSWn{p*7uSHCfs3Z)8h@+XHGnDF-_7d_ zr~YsBPKl{EImLEY=#CCLF(|qa8wHTpN{W{HT%rPMdJ9BXg^vJ*5PGb^%g4)IW977S zP&5 zl~!*I=iPBRgSRKQVwL*aJa#@Ud;nrJB3|e0ObIM}SH0t=D`eylP_;PJ@-&>}aBn*~ zGqde5icf}8x6=8ph876eryvVcsNY>kJ&=^^G8zgLz`YwhTjli%=i7M_Q*=mO%qb#+ZWE1Wq=A2 zV+4K;#CZSsm`(pouza>OdHB;)r1|;zaY*>S615!R+K3LO)80&VA7BhzuMP$bt2Jt@ zbD)jQ|uRX?5QZ5AG6@~*wVGP3~&k;M5Kjv}#dW;eKNY%m`Nd=rS zh0o1@m8yEeW?G_*rXCp6yl#zq?J*evMhqyf&Zo|QcC03m-AZD89SFBWcUbr2{zi8H z-WU)e3;1qrHC7W59wmd&K;u~g?(Lyp0oM@-&D<1e0o8cm=`H05Hv|1zbQ-KHdswdj zIzLxO*l(~vM~{g(B&;kTYwNMh6>JpBYR+$h0=4R`dsAa@e(Q0-C%U$1zdl}Z8%ngW zS5a5L+oY6EX$97vq?hCVWTS;fyHe4pOzOiEt%tQF>7Z7&8mlaA#ge1(4RWueRky8P zS^TaWXurVmQti;_==u5iVx`_(?(eLrF6s6g^P}VmOzLn{)b{_jZZ?hzOUFmk?O>q8 zE|#`wOlqpSJ)@Sx?cj`b5))>|yI{20QdlIvacVF5$#RI=?Qtrwh(|Kng!7B~;zL3r zU7)SBAW|&ktfCg0N@C(99+SzQ{O$Pga2cxIEtjk}7B9hmv~f#yS2K|n6-=e?K=Tth zaRQ92)`DL6`X-0F^ccuM+-Iz}*EyNz>D1*cOipfRcWE{!oW^FCFrW`)i}dOW`UpS| zj7COAR2>^9v*BEX($doCX-W-YCo2!~S=?fn0K;Yx=n?wAjqXkNbCQs-+Hj2iW7Z4A zqvIn9Q7k!@AJIeQ+RdXfZX3XMIBC5n%ZaANB+2Ta2!Dl^CBjErnVHGg%)`T>ReR7Z zc`EnK*7fS>+)FwMV7CCRV)??NlJq49EeGo9RmVA>hy9k4lJm^G&}2%&ExWijohjGR zK@W<{%(Q{I8ZXs(+BT9=s}BAuKyFe~n_pZ^MIPDP4>7g~xJ5=rmd_Nqym=_o;^A^t=3%>it~K&fdng8(s~+u#YoV+2{m>m zmnT*2SCRUvE&JH|&ub3!JfZ;dFdap^6N+CmWl{kuO=)9P26m=?O+?h|2+JCaxfK3i z=7cHMVx&zHtSKrrc#JYXmO7rm_U-I9x(eo0fuxU6R>^UDJIe$hgPfZJQ2g%vJ?orv z{QNxLC7}8vG6m7kyr6ZpKNagH;^ogOe0p~cw;Yker_V9LzxePbtlG|2E|WVhiQ3I- z@);0NLp~Y~(=_2J4z`f~ZfIl!c#QG-()ld!o*)#9BIb_>w94n`i5=!0qu+r0~dEVrce4_o-se(UK7MoPe8xi&sviRf1ZmbMg4O2a%L>j29 zM(&&$lG{52etuBgv{VSNtAVslyW5=O-7OzEAFS)QG|0Bn&|#q70LcGsed=Cyb%XS8 zbO%-~q?^r^?eFim^0`iPtd+IdQEyI(q9(f6NtAx+>!UuJuRNUIX9Y-9ydI0w-AIpQ zsc>>5Ky~^Jf~3eN+2^M9>XRH}{ay3r0XrtH(*8CF=G6G54O~bZ$}C@D>R|5ItH5LV^%%y+-f7*XXw1drJ_}qxaqk zB05o`_bxgSUDVi!{;lntb3O0#UDx~n-Mi+e(5*HAa5NN8 zqu!@i&v61%&r zM!3XWd?3{ubu;yv9xi&m_W{XQ?@^eOy6DEn#HPo)+SP)BN|k^NXeFhvxF-sx2n}6f zTqVKc+F^9AsJWrx3jD}ZU{R^^6RJp0{X<9_DGdN0AHU|5&}J-<7c6Ytz{j9im~Cs1!!Z$;u_ehji*f<*6;LtW>xTP$Fzqx8y4!YJoUpqn}g{(6BBN zyGKVA#a6fbH3W8!9(eO-f9zNXyBwHz4Dtwy8`S5g5;fXog>?PH2`1(m^Fj3SX(sp}lEfHNi@ax8 zu6io%EJ8CrJw4JZ*+ZlPnfjQ41>imsVqzS^Fk0sYbZ{WrEX14x2f7$jrH_XR6sRvp z0He}WO%UrD{Ph+{>|sdAEi4RHu!FF_DOQ!H(W(wRs&PwUCIXLk=nWW3Ug_N^%bJv) z&EGR3E(lq4A>^LT9K^z;bCw*y_7=DI8-au>^XW459o?3m!}`!6a5 zH(vhP3RY8=L%8}_{B+mVA8QZ`0v&jI@4h!e6dzWHjYWz#>CAS4(X&JXCtW=9^izGw zPN6Qv4*HaVN~^I`Lr~oZ(<-fd0u)sRNR#*G#w^@&)61*xfz#BW+@0nJ#deSCg<-rZ z9wM41;lc`5;j+Vv8rVEKf8vdyhyf*!$lrF(ClCTR#16jZB2jr$q+a|#7bfcNU9KAX zy$(_n==%Y2@EXLyAKo2&jsgRfL<6BN1R=qBniyPB2(gsY&-fhvJ9G?OG#=ujm0bNk zhgvrMcmN&`7hzb}hW(#Ef6yS4==sWBOr|rhz~8(QL5ybqR+L&GVic*{SM1}YpCkFt zDR;YcA}y6{*~LAG)Cne+mB6aRdKnuBEk zdr3$Gya)eloh>0v6}fdNCTXO_%X)YB7!k7*4RH@bM3%{nQNI3Q0)sYr-$A2F&Af}E zDa(s7;P)g&gL{D_Px%v1IsF6~%7{2GD!6uXWqu?qFJ9h@W0)=(63A;L$`blbyah%E z2S0lX))C}P{iy~Z6&ve#zH+i6B_*Tx2V{3l#K61*E2Br%1uIgCT0*zgHQHkrdr6Kc z`7O8)D88kZ{?lu?nYDF$$+?26Gm*1|vzv3F^Ynd)KH__Bh{?+xk8SVG=f;6)d3AVQ z0$#>-Hq#!Oqg#azpq@Xp)as|;62#r;yv+x-2XB1>aB-ZX*{VRol$zRDIc#emI?bkW zC2bZdaQ&CAo4tQjajN15ZS)IbfxU@u5Dn^Pw$KfrJ>9)_nkqR+W>DEuAlc4xz$97C z!uD!XTQ0w_JxMtjDBDY|XeAM}mF-;gvcn{O87-MKSSJysTW#MG6!buj0Y6kGvE2Lg zd^{MNVyx>^6tdFl)V=#`p-C5vNU z5cdq4*>yQ|dfwG{mjy@et{T!#G8N%(E6DH7l3v`)gk(P}rnnyCc-t*%kgIWQ6!~fy zM_byXwK5Dj+}2v}_Ml2*0^*{>zZ11x;ViW50Dde|SH@c)!&$X=wsL>j2q$gJ*kJFQ zlKQ!Gfl!d^eMLP)C-t*OB#SRzxxeW^M1s^0-h68I3K+;p3OF6X+MCbM%bS^-c|HRKT;6yS^WujFi3*VyEyjXdo1!u83fE58-<_h36PK>FQDvXLyft*IkApxT zpX3W#e*4Jf!gjQ7qzy%~(A-h+`&_b#L)RV#-`pI#4@6h({R2=Kw~TMTai{aTWL1Vw zuM(y6xR9|sa$(xPem+ocBRcw8MrI%&7z-7?x7geyi1*WCZnAH*&HkYEyF}E}+%OQ7 z*_zvJuI^3MDO9Y|$&aOd@ znXZzde!f35-qSC*-mAZglwVFfysjAQZd>!`n-m5gz5Z&Ecg+2H1 zJ{fbm2Nd~4{3c^M^_tbKdp{&w@oHQL>Z~Z#ke7s5c@bUL&##O)J{00tv%4@(M!&)8 z|7EM2<<}7R96!2KuSwauS3K5?TvzPe?|#^stv_c809X;>;0F%i8lD^?1``eFD}005 zC`kd*E(8Q^tF|{+Gc*u;eR*(%iv6_4c71zyA3mfL(dE%%a~gewVbD4530A+vJ~UsMt|BE4hWe|J_K;z}@|67S zC@-5__ffqO>4CnTA6IkcE0ylr<=~0s{dF7THa3eL-nYLNikq!52C$E+rl|SC)RF0i zGe*ZgXZ_enM?Kw{DwEk{(&IVXni^QH3gM^=kx10{nd5~`T%=1xk&l*Y+~5kGl>WZ1 zRF&VmgzxMcs@G4JDiA5C+*7QWn!ibkI_KRQ3zUJAHAP*$?S8C5&Y8zwe;D=lXbJOB zT#a_?@6iHK==N?kKgfi3zP8(EBpDkWY*~4$uu1}T(j2vD?8Rre#3djZK0G?j$&OGd z9Qk{3@r`qP5$PKF2fz>X78}kW6lj;lsHePyXeJ~0-02cPYysVIiNSMStE_N`owjc71PNX zREBgLg{g65pS<4yn=`%k*Ig-b7*|JUr^&5>-vqpP!W~)RkUi=*jz?} zK>T!TsSIS~AQL-SzC9b9r695eN%;`9#0@#W1{J<|Tgqqv;wO%dTf5?aZ4B zM%TODtIiaHiR#^jU#-h#Vh(kplCO4C{jP9d#+c*HXH2HM5TW!{Yb$XR7RSreyCbu_r9W(p+7kDiPksB8YU z)2Sm$Sh%?ywq0zDL?dy%7}NroVMKyz2~D^952&XS%|xfwTkO)#fx_w)H13y={PMo_ z7A&hgJdq;wc+Qv;lV1oE7>Ch?aat|q%dFI?jqA2gO%$X&A;r^Dw|qHdPdqoThud-; zO7(>s$zlztWUK7hs6et@pD)ieHO=U$q9@*WEo;&&!ANj44V0LE-rVQ|?_S(H=IvLw~!*jR-hdq4? z(k2K=nb%q7Bg_4riDs#-S)vCXa^5`dHIHMy7)L8VcxJRp8~FNn%G{WV?iE{3o*_XVHR%cC452}vNpTjXgf@_?q)oeTA%nx=p{X0 z-wUVInW)X-f@k4VRxNh(u72}lw9SpKMMS2tft{3uOS4Q}(ED$Z=5s4Q&@1Iv*W|k0 zxnd8>-B9_Gj~#Tm@r3Dgvgn6jpd1{P&U@Sr!d`5qgI!fhG}o4Y+2WIzzr0CNOL+S3 znm^FvjC%huuET0%;O{weYcGk$5S2m!-&!*xv9FBR7wMw$TET6@0LuHLVkVclFc9Rs zTLs_wZJI!Svc)~b$wGMC5cnK7^&`g3)f3XN{Y*Z15?JWyY(7$Sbbq?}B4ucW&rbJJ z?YZUn?s=n|mqrh$iN4^-jqU`Y24+HXa&lD_hR^7IkAVH4kita_nwho`2S)){KX^{hD0& z_Lo}|fhLBf_-RCXs#b3I$q`1{Zek{$hxPo@sC7zzGw!!#i%H7Hewiw&v)Qi2ODfQZ zFY2OKxbq(tKykC0bW`N7zbddRmWV&nadyC0NWAXgFyb3qDbf^`zNDukaIstKgOh+X zL3aWB0QY>9e&aZq)pNLg(bF9=Mv^!Y&(Xz>gLZ~LXFBE@S%y_!~>Liv~Xt{_gXWlnW{5__gm-m)qpYPC1u2XN^ssk5ZV{UM)K`Ns?&P3n8zq zu1=J=Fo=lcwxqM3M&dk$ZS~H8eJ^ZLDQra5G0sq6sDcr!X_7Qjyn5b5F4j zsL8NqzbmQwS__g{HW&s*SY96bx7#U87uVX(?r!xnIUeWTwaraZQaqUntVpcvY|e7s z7ExrfA)V@azk?-Uq2gRYFL0CG(o#=#*0H*i`q2Zf^K%!z`|a27K=E$jAR2xhCC1EL zJL|R~xsgxtYD?;PKYRb4mF8$Xv$D2w6eNdR$iXTLG2Y>f@C-g+lFiP zAt!sV#VWZnCq{8o!(vVcI@@(;RFh7bz<^JNo~;_eLDciH$ajfmc``Vdft)LtrxF60 z%dNK%FVst&I$Htnzgt~Sa+KL2T6mmwW>Tgj6^Ee|As&Y#OXFO1)f-(V%k90w~W zWB@7Tc*SbLov;%Z?x+c|=MoUs>B8Mb(gi>vQ=$$&z+M_M@om~^vV3Usy1l)98x)^~ z_`wTBG?x@ep+|lk)gAl2vND!yKH}v@om7t!;h_4WP01m2w_2I`>5nv(__&Hec?IS= zZ+RoxHDjqch6i6`jh;$KXW;qs&^ze6iQ)N_s+k93tDv)WjZ`I9l7jL{op;uu;a8@y z2uqdMsmwygBDtg=x<7cG?Y<;2l#-G!h?2mjcmO|;z#!u~@7o)- z#?EMQC`g@R1(F&#`s*n{_Dh1y=Hzs7yua8qNF_H4K^+?G?XCB_)o(i818(q{{9fWa z>D7lFO<|}D6L#ctm$cpZ$XoA;iCCB7! zXF!i<#{48ANyNgMldaSsB%ja~ShcB0=7gL@nTs_gg4JdZQ&SrQl%^k~gjV{w+Zf6n00_!+{i~>;Q}gtm~nO=GE1VZj}4* zlTq|7(nC0mamacsN33G0`Czg1yN5VZ){ElQ2bhNVOygPNhB+3_)V5u1?P?H3JYX#U z2s1*zmE42{1kII5Q<54TpCfXswgE@`#q%Ay)1>%;3aSwk~|SI8>d?9-h%0xmDo`n?I8O81t`Kuq_zmf7Ku^Sw@2nPWZ2-U!* z%gL`{Z!I*TY&Wx2UT6C(RtL*HYV;8H$OdXgOeg%MXI-{qEA<3jn~R?slkp%$hCs_n z)JtL}j>^e?q0ysC^R68Wq6+GEps=}f^y7=+-dvsCQjXY|tcXa5ezVtv+TgFzx(_UG z9z%+_q2+IkiMK`gLe0jXNK{sm#>mUp_@rw3cW(j%TB!BP#*fbyX3GL_1EDc8ZGXa! zlb3hk8yGTvYa1JdbiTevKVF0;8^)D`xNCH<=UpEc#4_nf5GUl=Q*v=o=36xSOGgS2 zF|qHS`qlBeZU5O?$!#YsUO;c^qE~JMi>Ie>s0)KgQqFN}!A|oQ$u{Lp!Zvmk#k}8^ z5hId?1<;y=KuX?V?6pOhk4V>>x{nQBo*fXAkc_`YEtZtP9xgg#XR81!X`V(7uwA?>q2;#+K)R z_8euA3r4J#)5E#UR>m}ZF2;`nw2TY&zvr4&bT-@{`+q=KG(w6vo)1@iHzBd4+jx;u z&T@*?&8{sdbWPbp_NoQ{)%F_P+lcof*1|4T7{r-tz_rC$t!$7Z^ad@<0lpPI2p^2j z6?fSmpIvBwKeRE5DmN;YBBe2QFYg0f%fojyj>+}?uXFKogU z>|`XZ^)#Qoa4Ia!q=aB1134madRDfo{v@s3t&)^ve`6qBmAilT)dWH62(2z&8THH#nWG%(4wW$%o7z?)1+e z^*xXh8Bo8UWeDVy??Ak)?+%==>3!C3CI{QAqhXXt0Q~NIarY}Bk%VY?eR$11ewllt zl&Y+4hIZ!D;C+$9?R9!11@7>fa_JP1VVq=YRJjMKxC8rkl>DGyonIN3G17%VplASw zMqqC!T%o4JshnOjUz8M9e<5N{N^2~gY{f%&KINt@`R($D5d1sbZ8G5IFC_!eB$d|U z9-RF0Iz8Ic9~_3@Mu**U4Gkz?6GG?uyDJaJYV|fjAOK9ijy->h5cznXk&tkKVqPfN za>zRjotAnd9{>N2>%On#_`UgUNW)^ahDPnz$`_Jmw2QP5Op)gSM~O^&OpSk`OtwFE zJqRKkK6d?@DsAz=^|%FT4=|*G);{5(=2&62{&msIY<^7qAZXr0Po?i%f*Nh_eI{s*IKQv z4^w%=bLp@}cyIKzDy({CJN9-QHMU$d+_+0)K>R*ttHbKXm#i^?mc2T=<(2)VUB7_@ z*2(~$^}g6GKP<9Gw+eXk-sV>`w>}MVAGj@e1O#qCO-iFeAMh72abzwr34%L@dnM^= zKJG{E$K90fF{C2xyuQ1X40ul=DU&$2M908DI( zINaQb3{gMt=IRHmSHD|-{bo=7CRdwZc`u=lq?`y}-RK$^2vTMpfYKh|8BEO0S#E@H z`}($UH#7h+XX)yi5<{KA5LT~Z&Ck7F7Gdpy2YHEFBNN1o$cNiM=hQZCv ziWWCyiCB;}%kChyP@agtC@ael6x~?aI5Dtq?WT4PaB*>Aw2RYCc-@?KV|;9EPSX@# z?*q>8fX?UpuAF7UqjT?KMrMBgArL7Pn5*P2%Z(}6edTLVY#Xujmsih-qByxg6UrS9 z!&@b?icKa;s70TXgzT{VH-acRj^HF;itp$va}ng;_u(%e(kwzxr_!t zvl_ZRe0Q-zGjg9L5-4WY>kdczMG;_9SYP^V#+Odp1_d=VuwQy~@Q@UK3<+Up<|UY^>Zg7Am4!R@vss*Y$eT9wx8lrh7W*JTGE8JQ&_W=pvMrc(IqT>$KF zz(afIq6ZM~;z9YlVKY#wLlq;^OrPa)4sBGwwuWV{#^9mn*VR0cm zBAl8!7X_0{Xq6R8Rb{bqgXMsWO5a@&z29S>raq1}iT zJ|0R;Ogy&yz(K*Fcn>g6;cxH^m@eDDFCmce>6`itCflp^!lh;}Ou)@~S?k@!d3nq8 zdbOkYSRljc8lHSctB~KSh(&QVFfvm2ghIICSh~ z^FWjeNC!htN($b7z$$|u5m`tT( z=@JD!{sc-D=JB1u4@XVqAOCNf|1fvn9nD{aNjHuG-{!c<|+ zzE@jzbdTr!QHnr|jK!f5u$eOL;S!I0L{+h9onHj{gh_U*tNcuPl)*NTD~_VqRFGW7 z2Fy$8=>$3HpHKKglm6x}+m6QY!!Q>~Tt(W_OBZSNdwoPuXv3kY1 zfcvrmsE22aVSSvEB^(*QDXm<5yjXFJYEgYxCH0)3FlN5FB=rFS&}UXRrEHc+!w&JW z`w+$B$*n(<4{I{0va!amqv6u6KI@D?H;|jnGNuNAf+t?V-3?lO9;&l1t zSkKMPomU&!@JPQVqXWr)k>@Rd-K!Z!TkX08Yo!`cXbc6G&oB z23$6k&m_TBFCluBmSh*y{^gqNSl2j0MDgF`tch8$Jf&|t&Ppwub9cj3PH$Z(*RDML zZp#5Vxo@Z}S(EW5Py-pn1^@5@-1m2ZRB^-Y&y~#Ymp~f0u%d#~_(Ijnih<-lF{`_x zrR5ILbd_Y6k^z;4czyk{ZC~Vj7xfJdJ1xLY3O_`YgX4!78}?J4tDh?(bCWD~Q8_NY z|5CTVlW1rpRvJr;q;LnA(b5(668tBm4Vfy7LBdj&4j1X!LNVU&$t2@(rpdC)1f?em z!SEzrbKt)lwK-()B3jaSzA^m+_gw8sv&-sEdHTGCkRe#O6awC&C4B&*9Zut(9%{Af zOxGdx)h4}!%AeWXUZ1&}sc&E}m*v=4t#2zO0f3DiwhaT_NFq_D@SF!x8hqPx8`A$6MwVR&)Ija6oq3(#?b8$lblT%&&ZbeIYGI^gWmS5* zH}`dRmlww^Ea-Ko5lh6IH3Wk}%f^^9)X~Xm;|??x7Z#=}rUi71+Si;6u8e~$X6Bod zqwgRh|5xh5_x?E^otU9KU{D+rb9jSV#GjCm(AU@Zy!?OasAD%p%s-~r`Q(WZT$v|k zWT+7iG~GR;U7_NfFGzF|_#Li>6irNrL}Uz!i1FhoF8V-+72$`+F>wz65f~L+08#SO z`zI2G^5lR#s|iAQa>hXg6h-s9f;-q-FvZt5f4%@OZG@rvJ(mpS;x&7&`w+_qd$!dR z@wJ3tsdC&^`AyGyN{TW-ycwwa{KNX8V zs?xGSp;QpX4)EyiZU|9_|8aNk6=xFvMNczC1b%7%F$mL4DdqA&;|6p^hbo3A{v zukMO?gKPVP8+7}&^uG)E_22loGcO$n%cP5k`}$Un+@E~JP!zG)#6=IP&K(0^l>%Q) z`GELp+ziD7K7s2m(j^b??n+l*KSP*_`I~f*MS=1_taQFn)($SPK)FP61@`<60#4L^`uQyIpjR2oEu6WkFk zNpl}kg3SLCP%aWpOvmIUcvEai5zp|SxUv&a3QBPb~)xvfmha+Jc}W$XmuV#VS~P>bIWyLqRix(t_xL_EGW>hJ7~ z^TiWuO^sRaa~4Q70)wkccNg=7-}Dk4;ya4Dx?=5FfE&)x4dp>$#T}unML0A27tZdu|70izq#CT)rT~O~yP(_2D zm3#_CsTyGf$)hrB#py!DnleE;pFY2_R{}cJ1Ev7XMukV$}f;?`X|JC)sZ>NodxN zX84#C66i*T6V^7Qt@e%S?oNkwof`vmXl@%1Vfg7i>y92|OxV)|h;&Yfy+1QbB)d0u zU5bX=gH=n;FZaV8tk9C5@)aRkUh{qs-A2}0%ipO50f|MNd~ zU{IY~Snvj%S?JL*b84RQOSx+6v8%GW58Yi|HuEh3|K1AZ+d~4<@6j}h6Vl9G}#Ge5r!Ty+kk{eVY-;)`9P(VmG36{=`m>}H3fU(dC% zU-emo`TvyP)B98xO|Ge)>+;fV{n%YLy%+{VDE!klx*gk14@c25={G9ZdjL-H3bh1m z<0DRo(^n^p6hOmX4BTh2?|mDu-Idqmc6N4rGBh~I=XAPoXSyq7{CqU4)$|MM|*MXxi^pEX$$Z(bNlo&tpdmZ$fhNn#&1o?raWUD`!d>+DVT}BSBuCU|8yK|0E`1dXivxYrP?i(8HO$DG zjDSF`zCn>@ccC~pH@Bm9k5}8n(|Kn`fSq0LnZ_s&?7jGlrBrC8%%(ha=8YQ^_KO#g zuidEk$A|E6@sc4Dq!b4r^h+stn1g8#$R1H2R6*!!aRF=zww5wm-3?)e0O4~=ak{Hc zj`nVC{{{p~&`vpSFeYtESWNj&QOK`9FaDMxh(r}&g_u$BM*E3Rr-X-z$7jNP;?Bm62 zN&)k5r}frWLX00a)}H=>zTBV{hnRTktJv{4x*$j-W~zo(tzl>+3VzL z<97wHxcuvl#4C{Ta{I^U*=_@0qpDeGj?;O+T8goW#fy;v85tk$@4*of5t^SBj;C+F zXis=zC5nq|8LezUzi%D^e*tvP?d1yQvRICQg1x=H``#^}%gs=#L02At^_ba`Cf3$z zX>mo$#Zm;S&zGY9eTrEqPj!Y$g>-Z2jX9k^zZo*b!!hhr6D_CDNBNdggv6fp;e)zJ zxhnlYtd^#Beqo^uFrRZNmGuwc@mqNx5Wt@}(Cm1kJ^LKPnC-&T6JD5|4XV8qqrH;A z#)E~W(hiecS(A0AFP6<*1Z2P#lAu$AX>-H?`ucTm>_Bp<(i6*zXkEE>(44)x@rssC zfi{)_KPYvgbF}Sy(0bR!#ZW3|tMj&Fsd|Pe9%oK8^?Lq*28d`o@qvIINIV>}#sJ+K zG_Bo3f>`j)Ft(dFA1RUMXB!d`2K(ly#g=rXgW@2Dr@Vq-WC{mM;kIRzgX)G`bE1Zo z3LYNlVkaj*2F2L{CTlCJ`8ow=U~RE6vEZVx;gsy0KJm*izL1YPR4Afq8C}b<@ zeskacv(7-AoLv2AC|hvd<4lDJF`+n$M_gxr7MKE!Ov zocWT`&cqu2t1Il}Z4(1l;zf3xFSP8`N{ycFy)nE92l#iuiea0=!u_v+I|v|E zpgqk@Ol1IkXye2RU7P*=jp>4+id0_^T!kn|+B-VJe+;9{eKif+oA=ER0bPK{o6Ieo zu$0P<6yy7WcQN?aVedPN>_Cetz#zAY`J2Kn}$p-haP9 zl9WdR$zu9tkxQC4mqV&+oZUA3(XMR7CZ~rT-yZJHxMxCa*&v-vtzpuS&+PaI_p7M` zaVUI;__>4#+c^u?b0ady=;2sYF}$NhR(-0e@wMe^M7ZDrke-p@VQ?NyeReU~!Eejgpuk=6BIazR+ z!3kt^v{Eb3;Cu_EE~K|Qv(&-PoTMr%tYHkMwGslYjwX%Q?pAjkiVDx+rZQK#Cfq>L zSBHuUQxLA|6lR7?U!PU}5;HBwo9yKJn-ql%A!)I^`Vy+p490;hRnKle1`VPpbtOGa z-#@m=?olch`^FYpHrVIoaHVt+U--3NR{15AQkY@{Tk!D=F^St3&i!9ACSQ1czHz}1 zyA00aX8)l7C`^wE=;q3kz6UwUl%&B$d%(vOmD>>D(wv6YfNu#rj5K;pm9^G4d`i26 z2*?Ni!ve5N|6%0{`KZtGwx_@yI4HLJSbh#nbQgC8IOq-8gMk$}9ovK)?;`&htYCr}l%3Io; zarzp#7m=ndJw?=xK$83k-oaq`0ZmuitHX?K6)Vh2CQU#{im>xN$zry zgqW^LDJg&IzYTtt#tJH>LL`Bp;^6!1%j7q73C>46Gg=Bq>sv=(ZRwsrSniW4nuR67 zwrJKfFNvo!wNO09KZWXJR0T$Gel71*`;7ZEHDB4dUCG}wSe(lVcDyapabzo@iP!=;un-Zs$xC4gM1#BpD+LJ^aZBkTpp zjf)gSsiHG7mX3*-C5>~`OOOBj0U|sW!r6*jU!~Z6HM{u)4(4A< zB|>sLFW0wdqWoK*%!|e=#qijc^jIl_%-C?;&alz0G&wwAgv#Ti17wmEepvz{s`0-s z;-x)*g2Aj2Bt|Xx0hSuTyFUymJ8=`twR?s#N7zbcnu+>(twe}&K5?G@Cw{1wBA8Qm z>fQa|y!pWYgDeehaa{igo&)iQt#=b0g$nnI_5Pb*9ThVkEmL_M-TbK=qAee<_l@-b zkhWMxarkotaD3nh;rJ{(uMTfR`YDHl_Mk!eC9HF6WrFVAB-6i-P=Dpi*jKEj$9t6sBFFPxg8bt{aG#0HyOtro8vsHTcNr56IFaU>bMC_`9b8W=ws_-cTDV~v|}G|_O2+ai@U5|aD^H{gGZ)dk5QMDKsfSkjD+O!ErX4BVQnVD2oNzz zZ;E;!kf`G|Yw5bSQ{1lemE_jJ@-TCUawGEO%G%88r5`}DXzJw{Aws#-vFazGij)3` z;K!Yf-Com@9EEQnFGWUa@I&M88t6#<(?nO=P}NVev~+5@UYOM$p5+DNHhUHUnYY(J zO)W{dvd8lDdGm=M2KrSxvw!Djlm~Vd0wP0T}*X8!kagY zxQu+vf}tNSq)aHlzzAO>8HY?b`wQqK+GVAyP%l<3l+TRj*uVURID(MN`1$xFFwSUU zc~?Ff8T!})k>ldy1=lZJ<0{C{O0%;J{R8Vq&6NA#jbe zia3V9Wt(ZKOKOGumbKB^!Hb9iS$@5hFqI|zIn`CB$m-eRTY&`e{CJ%V0Rl#*)EBCN znTHMzH&$wnO|odQvJ#(=pfApXhqvm5vr>Hs0stwG3-~_prE)u&I|&Q~uXyk|plW%W zb;lRx>1Shd{GJZy5Lh2U^Kf)MC;j3Oj}B>LSX!gWWoXgnptATILCP8YAma4Mrq$;X z%k9kUR;M-&MF0&d?b~A09Z7sW{I`<7(QWm()cM#0oWw$ri;=uSfn{ey)UO~t>eMHPfuf`ZSmR*-ST_gR@c_1a2q#fX4)l)eg!SW-@jkNl0lb5 zJr}2(yc98?J7v@Wzx!72hfL0KZv-YU5%Kt8knFk})&Bm>IjV|{*zboV9B}L2bK@R) ze2$ZeAPm+jRvFULdsB#HMqo)lT1g2QxB>RbFO0up27sIcv6$p)B!uo*EBKk|mPfCU zR@E-+jD44k?f>?r*KQ3vFJ;V3C&E$;d*wV6hsQ=JlMwW$cuM2E&9}_wb}(C(-+ano z(})txE^-y|QFR7(c<-z2^LJlW-S77RAeo9fcV8@!uDd7hA6?S=YR|cvlT}AWv3Yf9He2fMFIgK*iN{bb5?JS?m+JlzM;VTa(x$uag!68Dw zi@qqq&)Mf7b;Bg)>#ZoWlZi@zFC-BzeRDt_s*vS>7tpL-M?W{|dwt=0d`73(VQu}{ z*f{eB5ZPrCD@1!bHMO+w%okB~3Khyc_vQYo{~9Dc>QCcS-dkF{lp2^1Td;;NSl99& z{OLO_&TAYqo9Lbp$wJMUK-uNwCL@KE2;(gtvOn`C1Z+n=#)h=x@Y7d$D}sAyM78LD z1N&0G9mrpGvCpkdF5(=Sv-h!^XD-k3i>dg|78f4jc+s+TWf;uPM9fO^J`x4}B^pPMTDeU=xm!lFN$Vgx6%F#vEr| zjR?bG-`VLQC-`ixtMOeiC=Oi1$7eB1`lnMorAV>M+f7N{$MG9K3dGy5N{P6HsVfzQ zs_S_3lRFJJ=8pCv0=F+xrc%g)T`Ax+oAR+Em$g;+7!yIA4(o*~+NQhd<2K4`Yhl6W zgBOE-t9d{)Rr0=d8fWJl$-I;)3^Rp&+WK1S{YVSewXg`iAfBkQQg$F_G#R2&^;0Y=p(}b@Uax+A$&;}+ap)V|+EdCf8 zI$3H)b>0I73ytchOu;e%l-CyzMxV%m1Oya5B(iFsJbB`Le6X{-0DZ=C^s8$Cu`~Ir zzU7efQNXxhhdd4`PvY)w;Dt>+_Y`)43@R z6+1}el9A59r$ldM=D0tC0s6rZCL4OyeQCdUPy6+cBKz0hRE@@bFSu|Qd9n!PtQ?I9 zor!LD1=q@mb;P~2#+YwjX(!g)W>_U+vwI%C?$B#8VI;)WGW)y#)420CHX;w}u4l$o zKAmgl*Dv6F)Z1I6?{ksJ@sXOEI$&gTes-Q<2r$*zEKNoM$r7ebgIi-gn`1u(N_%YM zY#+_6KWY~bX3kNwvB?zox9)%HSsk|t_yAZpWLR|UuOgB^SLd7*P3;s`IsoDm+{CN* z=ev!Kjr*2CTCudqsHdAp?u8?1%}x?^zvaQpFpFjMRoiz$N3rsP@g(PUmsHpN ztf_96maZIg?w)9Hp{jWjMi8GinND?cu}3_ z(}NVz?yB2%>W3^gdw>5-E^yhW=yWgRRaDQCYknedx~$Ee&U&d*wyLUR5v-p?|WFW-YBqE;(0L82bMo^ZNrkTz3tNd(U0l7%J zJbDi#g!Ee+<1MHeX}iw@JknBm9Jm(%=9w}aJHUDMZER{NK)`i>ZV~87;JoReSHg~P z*2Tt5XK@-1bfXInx}MGn;^kkbRXhevI|*tPzuRlQ9z0s6 zWUqbE6oIv;!@nTlv^Wr+8{8f%<=MOW^aJnHPmM+GNLXe&5!Kaj>_Ua~Bg5j@(9wHA zK{D0170AyvM*!x!_;*0T)^@1V=m@N>R(9v!YgFvpM@xPiyWBoL&1XyLZ*6SE0w_Tx z@^bc95C=y}7(KwYfF?ykpP!Y*&*ROJC^CNaYBTM4Ku=5@Fs#&4D=q|YJ9YI0V8`d! zkR~+5#?H>d%1XlK3Li|S81Dg)@tuZ_bX^GTeXNwr)U|HY7!v4-q=mQq){<5p3QKSs znf&={3{;_Ju>g`QwX^NqIGv*K)Y-9T{8wvp@7EQgbQ5cLF2zR1cLuo5uD5Ku*xau0 zG7LZ89$LP6d)gLqNE4j(aqaJBkN77EsqULq-|>y6s0mqKdaV^Z*#%m@Yp()Yg^Ram zo0;OxpBdh+_D2&=a}MijnA>$;({BC*6NPTMmmmP;l!Dd$u^#Btt+NdpNo`f6ioU9K zX(}xp*ixdlU92xrF9m`n>fX(NRyriAH9bAWtIWzdMJm2%eqLK!BQWqIB{<2GBc(vf z6h!o&WSN?<&Nh6)0A$ZxHMPd4+5$X08;KFA=DzS}?^4b#BlQrQR@T?Q94K&eePP1l zH-gxQrL!xfc|XA{Lh={4?m0B$)$jXD-?qzO)86t{wM#){FX?Y59P8Kixd+8XGOPI) z(J2qLc#B@*nQ(J->7-?HPE6a= z7JGr_L&aj~v3gR{liTW+&j$O5kZF8$t0S1r?E0XT00?uKR?UJyhcz3u``1W|=Gg>F zBRvpc?(9hCNZ%k!kVW~GhVB$z(taSbmtlcD?E0BNR-4z-9{YeG^7Cp9LAA!{=7FRb=FjG!tH|`*k1Amgjd2T+5%!6a3<(i50N!GOWoVlB|tyee<1nQGT34 z-N0*AaP33T5d$}A)953t{w*sT zwVfR&ri9hvSNze|@2koue};Mv)q78E#`1CL%VmBP5_v-^ZbTDr8wxYUMt%8mrXzH*!EbZj^DEy{eo5rNCk z)x@#i;gdyTJzjwng{`4;Ck_k^lb5G|&|OWEL@__~-A8>x?#d!L z!kN3%k3RRhI8?nFbUw9e7*m+=w<^quj47EQ6aKyuSMhG)2~k#dw3MkQl@d^xfPEGf zHk2>7r5-E6W>UJFca3s&Ea>A~&4R8(I%Cf7T)Ko8@2}dycPIw z?kF!a z&CL4FD+l+AEmTd24-w8q)8_{NGimeHJ_1<;CESqC-rkQLE1$Z1gcu8g6)egBseCHd zZF^&7l1I1W9KloApQ$;+9lvT-B#;JMQoPEa-|r836Ki)Jo_1}GvJ+h(KWwK((mYic zV(x1;5JBEGS7sDqFi_IPWwE;bY!u9WWB>>3lmLy`WK}au%ef*WGWgrnq?G>k&^d~h zH^6K6?)ke|wgVRJ=Rcdo@qu(C00OP9?e~DcSB+Tv-D;4|4E^18)e6g}s-sPr@04$d z&MX^Z^eIKpji8%D9?O62qYdVfkX}M^JWTQt3=sOLb6I4$q;pB(Z(*9jPq{qs5Tp#S z)_D~2Y01ECW*=F`&wYuI8*f2V799I0-%x=)T80!IZxy#lK4WEN&DjQtQIPQ1Ar(2a zJiCzY*D>_iR+1)$lhri62N1JEj?$dsPBNh0Fa?*w+1BdZc(sf!x4LcPmiUuYN*=VD_PlJM%*T(V$`E0B)n>DJn7MDBo=^P@-njS zu#bA} zc;Wd^!n};PDg96#qLjjWb&5z3ceUqq#5Qx2u#G|NO=e9vcsV*dT-CEIm+Kz&WHf`` zUhAB{5e=kMI0T1pF7{ITJ)L0L2EjbxVnaYZ#&JCCv?)L zI{M<(AS?h@<+6y<0d`=0l|D$Y#6SXkb6Bq_Su7j5{`*lhG? znAeEHs#K}$D}_K}muXC+^jmWa_L3Uy>>SJ=4tNRLa+&Dhu~n3q_)|ZB9&`ggJ#F+j zCX9VCn3s(SWF2-@^mf2*0YC^0B8dnzss~4yfTRW5{4dYXH`X=)lhOUSqLt+wXesY5 zHlYTmQ#32cDBRloc1>}2`^D?Fzpz+!Hj;A^*7a+9qQLoJV}uB;z2jD==AtPuuydTA zg56PcnkhXA^LXtKkeDRr_xxPljsI#;@kPAEEx+s0FH^H9=;qICYEs{&-p~081BZqp z54;7ck{IImmyXS~wYA606x_|p_&W;Efm9PsgaU&?6zB=>>FoYfuX|grhmYQMeTfZ7 z?GPa)cxOi8#EZypouBh;4Al>6Dv39**M2`%))?EsAtZ9OvqN_{%sJX@eBy?p#XwA9I7(T{$++EO2bO zxC7#l?UJYbjbl$Ftanx7wQa0TI*lqL$pxjV*)nzjQvozSZ*?aOwN~3LC#VbOVgsS# z!gonP(r4AN;kmlJ3>FF0-;7?3zEaa~M(5pc-?=ZACug$8WV?I6er0HplD;~(jxH;U z5CshoB5dJZOT+33iHT`xIiCg&faLg66COxI&KUQJZD!gPHfpTL(qOKM!{o@pk8)NB z8ic{N!OFsst&k{5LvPK&Uzf@Mn;KA-hwRdjumG_zJUkrqT<4GQWsbPHI3UzkAdpa% zA}zj}lr8B0$J|>-Rrz-9qACa~E>KYrBt!(HK^C1#cXtU&cXucPA|=w@Al)Ec0@91_ zuC+kAd*4g+eShEg?QidM_Sk2P^ZX-@RZre?&g;77H9wKA3xvVOetZ{}pYStFFw65# zEHEWM`4lHP(94x9Ib?;6BMSg!F!R%dinkq})=sQZYrTFML6?jLJmLhHZs{IXb!SO<;;F!^2P*tkz&Aq4q{k0yXtx3mqLI zJiN;JH47uM(yd{$iM+gAU`I!px&z9J7V(JwCL7+1j~VB#ZhrP%BEUO-)8k0CdcfUb zL%?=(Lz*?S1@6^KvoTdGjqP>{0dzS~TzZ_Esb|tnaoTU#!?*epYMmLF0Uv9iCknLl zaS@aCmlob~vbkmQ(;mHpg92lpEDi-xcpS z{;a&5{1)ofqE0JH$RGP|vOR<)n5FneY+ti5uw_kp9!}8s3P=c}OL#LtpH}k+q0m*> zfkx|JxC4-Vb}d*%o9Jkb)W%*S(cKeE8xtW?()EdolG0MZ z7Xk5Po#mWv5gOEFxkLB9x_YdgNqwq+Ypc-f_nt=Op1puU#Kgd$FIoznaT)2Y=ms5X zZs+4)T0!?ju}W?Pts3kaPHZ!anViMO8k)=|$R1N_MZPHDAYpp|ytm`;4AKNu1w^x< zzOF0x;nLq83sxqKv}Ib`%;=Ek;msX5l6mi$ne~dCKBAZTK_RLJdGgOMiYY#?m%S#9 zLU$gJl{yLdroI8qU_S?#Yu^9H&c7wojmThA;my7=M_rqJqYT~cPtWOk^vrf0tdxp1 zVr2C6!R~>*NO$kB?6a(t?(S|-8Hr6kCn1?@4>cr8oGCL|$&d36X7YkFg9WD=X6=$y|4G13CdF`(JRNI})0#orppq*h4Uz^nXMP zhMNdzzrx3Q25y*ZWM6Y`YiH&tylC;C{LUOnh+|)L%d~O1I1~%+Og*fN%7Vrv?uMhx zbVChp`b@ebqGgTCq&0`;hI$OdRzA%bUno}jJ?#?G&tE3HLnEb_*YOabqX0RTg$_*j zYygwwKE-3bgH4?ePs2lFV@=+?fu)NZ=wF#~r&BZ#j#s1}Z{H?EXCvZrg}z;m!^&`X z1nnK@=)OAqD86Wzz{e-P`oPj|S7rBn9FuTdI*uW~w8JO{jg-9Rl!tb5T%F0L?a1nF zTzqUDr%ny1Mh(Oxs+cW?z%z^6s~t9M8XdMlYjN%q*fm5AT=tHvrhGv6158nWSu!Cr ztR~qv)7P)4y`bJK_5Gv%Pu$W@QmM)zveI|&LO|an5QG7jq`UYg1-jn}k-{L5n_EKe zJj&U_aMA0p(M2JCSAFWx91!IZ-(EiJ%SqS@&SA&uf;2 zS|i&l;wu2|`Y?t+|K}3Bqi{0v3sN*Wv-1OhZ>8#}TX1_5il3DCiRWoZW|_V&hD z87OQzC6*8u5h*P#OfmuD5V0KBRrDV3@bA^teNS)srbef#KYiGr$X*#UdlEOsq+Yhu z)lJI|bKe<^2KKALcucES@1ARFfL0UWD8J&dLzyS``~g|mgGi%|jq<}@H;{1v_4Oq!HA z9^1~uy=|apln^OD+)3l zZa@-vEifVWVJgKM^=4BWtE(@a2S2H^=4TJB9vyvrq+L*2Sa<}4{$r*}M;;a8lg3>W zsc^4|%*;06d75Tc$iN!QV@8$t(U49&gqYL)tatYOf#2eO2U2fdTHytmuJ$K4ba!@c zUDo#S|Lkmiv?U9ocb$6e&V)ro=euHmT>3+JpV_c5aUBmjl2%|bKMCL1-fFCe>w^6K z1j0M;Q}E|lsJ>*($MZvNzi#(4w&E@G;=nP$=mIQl9T?YSV9-BB=BO{C#k#*z57pd3 zWjEv_S@ths85qa6FL$`e6`tR?d`Z```rXVA#f%zyG7J{;A^0!>3G43sz!79*=uyoO zHMffMPk@n#wE-o2J`Amk0RkYv2P5RIZ4WUwK%XW-k;){%kF~U>{X#QE9_=Bf#I?0I zSIgFbMQnI}Z)N%JUo0R_scB`m*E^2hiYRa-Rua4Fp^x!%mU|QtFC{Ww0E>b&0gcNW zcJb-qdW#EfX&fr5>TCVXz)Fnlx_Wok7W0TCTD5wBnILvF>wGBIWT!Zd2Nk6JOU_7B z0C^NUThx|7Pwfg-R?4K=u@V~2d)m8hW`-P2E9sW}`+@$|{V=gqYi zaDG&cXP_^nFC?_Q)Ts<+B{Yv-Ubuk9tP+(fYr{RzUf!m7`7&|X^0Kj6x5(!+NK^WE zY;&x|Uox+$JkGwa-7rFy^3K>ehPLr;hRjHxjFFl#RTic$3JR+F^`u6*EL9C09R$bR z3(~_mjP`ESy0Z80Bg2ib49Y#J{X1pa!}LsFlj5&(k&TG_oHsm7SLoDb3R7Kj9R*`G zx_nCuV}DT;GXAWK-T75bt*T7T1*u=|q5NbHG|q~F#7fj$A5fBdnr>kliXdBf`IHGF z)MP@&*gi8L7ED=k$wmZ#vD-iok0>WGt&7rdqzw&`@M3;tsN05@LRn3&=ck5YSXxe~ z=wSv87->Q7R(EMW?)O5Dk_O*Nc7FchHN(Q}?Pg;#3v3MJ@-0L0Vu+?vtUITx`??W~ z37=5e-yhp4HxlRVyoA^QPf_y3f-z3qxL5o+CeU2K^6&W`T0*WDf;ni?-|3ZP)e zjQ)5`Z)EG-vw&ME-EWJ+JO3ST2;3LGGL{`BAD>!oKGm7muV5k(pzg z#VnruBVPX6HCx|5C8CFuF^;SfU29`fqfhXU#^5gMYnAl@N`~3e-Lm=}3YFFo ze7nc0wDN_5TtUg67TLy+}cV^Y`EMq?%Ns+hQp$51z1;WWs)fO8OS~}@VA2wz!M~FQ7 zZ+|KJx3Tq%!!n=ojrfIuqeQJ3?|4nICu|`}>ou|NiR7R<^zEpa?MlhDuKO*k5lm{-f$VR=YfDJz>j6e2$ExO7jNor)v?~NR^9X|Wu z5%P0}-$AC6{&j2A*j}?nL(qmYkN^ewQS_@z2}|nRdN0>LUvxV-o!pMBtMQp}_q&uG zXPf(wYkX6GE(i1mG%V>Uv@3bJ?%1SM^-g#O_u~o>+VlP#VC#FdhdT;1-fB!?Uc35D z1TpObOU4q&cl<>VS_PPnzs0o3-KX=nG(jj8$EY_@DST{Ix;F;SE8`W8b|cyIB1}{- zt@yVh_gnJx2pnlHO;B(QCqf{d8> z_7LXlf6mB{u;V^-$uuwiTd{fi4p9sqmh$>$U5yY*qUlSsW8b@43|Y0eN&0k5Jft`4 z-iVsSNMW4oEy>2Vi=$OP%%b0c8`NtJbP;vP-T$hNWiE$t4fdu`qB|G#XFmlCAo=q! z^{$p7W=cjs0K!EmMT7(shpxWSGs_bn0p~m~C{+1~;<9)r(SW9j91~?l+Dts(RMl=4 zuQU0w%}riuv!g7@+xl6Il)JC#w7a4W(?dJocBbxNk4tHqK*Mjpd|kO>&bGUGrGcOy zo&uIXC4E$6&kmTmq-9PcPe8TMC>v50#}wTZE&Hwpo?st6=!pnwPCrouIM zkeS)b(&v4z5~pje)B7=S>3-ADo~%Dwn@SfS8Fx23{rub;)gt>*fbfM;D=a7!r9EB{ zgd1aR@MRK)UOY;9Cv^dj(IFq;L{mw?rS=6SCEg#PrX&TEW-{DF5Sx8YlA>PwowsOP z7Bz>lypi&-hmAL=$)3nWi!1m*o|Ji9CWMeKfR?=Toix8o^O;H;iVw)sG?;(% zZeG<7L!zJVvSx=bcll1FbjHEjQ7^e>{UQngS`?zMp)N3*+<{Ykz}{(Ecwh*^C@F6qXGwKc~i<2U>wz58bsLB zc*4@24x7ijpzYLlcdUe`xVZF1?$#Nglt#aWkaBUWUzFRq06(cFMQ8~ydlx*+m!U#P z#a31os?dap4A#chE09m@wsxnO->Z7=)c z;o&ClQ{-`$y*OwfZpYxk+sUzcPhmE4lob6tW?4l&P<=l1vP(xn!qM5GI zi^iTF`#t#m#UXIHATZ&|K8W%BM=Ks4t$OpZs=dn#VchCthj39nah^-wmSMp!$rg~0J?d_CzD!FKAYGUi_eTBt=(e{@wZ%j-|z*sK) z9hL3S02i_%3U6h;k z2FAwE!aJe_F>IKK5)a!BxT)(k`QH))uX>-bF@+3o5(8;+GP2;u%s%bJY)QP4ovL-Z zOT%XM0C&>ltbjaW*@M@&-LAR4MdLk&+Xopw{^6ZPL>x$Yva zOTO;y{OqoAZr?}joufsq(X>{CHq0+&NH?DZB(U;vs=ZVur*u5|#T;o>+Q zrbh}Op``b2h23cx$Rz8sHrCZW8;TSUrwWI%9$w*BDneiy5@qA*MapeI0c+rF2b@B! z?d+Utzk=3{+k*_4k)66lKGv@Hfb)|@rl+qR%OmqYU(Q`O#jzt-2`$AuE)E^ani3J0KtR81{i z&V$QgxGOj#v_DHByJ<|q#>OU`O3x46{*Kt+bU?o>NS<$@o)s2ax^dS6m>HQXgDojG z8;y<147lpETKLp*ZpXWMTx~8a35`d1-gX6E#z*NY;AvH2pchtDRPOGv^Snrf zYk6H3bXGWSZOwu43fcvz6cc5$pe-XaEvpmJl7;B=YKI-(%Ijy+mMv}Z`*G^H}Zc5)BF6^N%hM5Cfo-**Gnp&cTIlL?ykaS!nE1@k=&bDRIGvza1h| z{iMDu=iEOa!N1<@Q-wzQTki?p_W$i%m4&aX!$1movI{)ok<2-AOHxuW@N6C(HQd~Y z2RgeH#MaiOP%SqdH}}69-v$c-H36UpLkk0CsKHj!^@s=@LXMMxy}H>cVyVP~p`C)? z&4%FH_#ns*npS4_BlkxT%ZHuHIYYrj!a{97V74lb-@Uvv$M(UH3k2{#5$)XB0nkag z>DU42xfxLmy`rW-i^Sc=MZixP+lw%M=54%USYk8d>NMaGdEs+L>sKexj=S+KU?^p6pa!{IisU<`I*_;!MAS|z(n?g4}_Tk+ST69 zZg5p?zd*#oeUfK4~@aGljF=F|gdB`xQUNl$w>H+W(JUXU97 z?~y42E{JZx5fo@*0OCQqsx4oWgOPcqeTf20ByiqSDT-j=?C$E&I2`De$m#Kkqc@fA zD}xd~gwhy}s_QT73&tvZGUox%2GAg6Sn9lmGs&Coo*r&omaiWI==EiwL6OR{5HMKL zBTGVQen1f_*{QCk)?e!9*S^;KU}_6Y>`3JG&>BUn%1hLa1+7b?6Jt1Ld9Sn5CV<3j zveG7!N7?&WFj3<7mC<@64<7L=zkq9=jNfTQL=j)wZM=>r`d<@a#b9wH^P;O-tb7h^mWxEw_itYYhcuiQ8y6G zB+{#%Enu0zeXhoGb}GCy7#4op7Lak;F|&|#Jx|T4e9v$!T|5)Qn-_n${VRo5hb4KU zAK&o9hJ(oL8~SxJH6j&z(&!R8Jv1<2V`YAFGN4E!*~x@>kVuAtf?{D&a2vaI zAW`B;YoJTDd>bYjn(oPSm@pq-;s$q>Q9o_W030pvvs3<^M{Y0wEJVh_dP0`4g0+?I zSb$!)0Gn{$K!2B7K2y_402!0zQ%M39#YgXZ|uZt5dt^26q+cEl{s8 zOeqV5&O418-Gs$Mh(r>VQ(KqIlz|zb78R&rwYiqw6@nHKnAr$tz+MG{8DvVIH_X&yXbL9A0eF0cUgN~HT~0p~m_~$t{VE)Q&p)uoo_rni zPx#x)P~4%T0xSOpU?#tXG;3??f$_G=-HEKe5tOX0eE?+tarBrxK03M*=$8RncmZZV z$z_EJp$_K_X)rb}ZG*uvV06u=0}1zoEn;8jAEDN4o+U=K=S541Qqf^e3dnrjJ77dg`wfr*|ANGl!(Y(IByg= z(7G?JjAWRp^M;5Rn#A&ce9q2J20AsNuYx0auq=X!TDUZqsJ2zdcUO4u-x{xF-d=)5 z-Pb9Siepm+BOZ6GPr{Zv;(KKC^Jg= zx#y{Vexkqzho&oY&MSge{UIHX^Bx;1w--5}?Tn!BgEh%V zB|bl7v#H7_H^$d}(;*S@W&$Q^%D|%m~Yd)XdEC+|C_L zhKxTWze(?y;)hE_B?|2N7Sbz4>nip*?4hJCD)TUL};R8)j=kgUp9 zM(Dm>(AA|oJwCv=dp9Ziez(#EyLG9z7`$n+&doP7`PD);k$t(Ip5C7@KD%u!O-wM@ ze;6?-_BoT4BdM5A$k_*fXwc!Mm<412;`~X<<|Ed{X7j6LoxSp{yb4y=Q~tfm-My@o zl$7pzi*)o$?L5uyhZ(+0$^|W)?E3`V#?O5_x!q1^m=ZeYR@V@W&3kYeru~1X!4lfcI=`~mwj!!=cNC&Z*BoJ&sXcMm1nGd zta}#oHGqI|a;yb0d5mEj^`gfz8Z?%>y4K{xMn+a_X3UgZvSCeg#yG#I?qXnNH7FUi zwHJU;jXWR(l;N{(=Vz_K>GUkix&be_WhoKMv?tC6-R`t6cRm40Cel&^Rt5&6IFl0o zr`$~j1))2RZ7BhU&5W#cs~)%DJEx-T>7?EWC70Sd+)PZE_Tgc}=Ww4-i-=h6q?cr3 zWlcpiSIoHXU-XlK`oF8hLzw6ov7#*;@c5wn#ICDoFNE|Gn8g?*Lel#hE>O^;b@z@u z;IP8N!p73C%3AJzN+LOW#tEzrEb>g;o+HCJ>FJr+f)uzny#*y~9)!omIrlAiVEXb8 z@{f2%M;nP+-5y9q*DOqnWkpD2aew@Y+ zXLn(VL0lFSx=$U&f^PmrQS5vT4sB4X$H(uEtx#J`*QC=F>Mj{)l^zT!Yh~=Z8MOC% z1QED7wc0v39NMhVz35a>9s$02+U_R_LJvS}YU`OQRZD?mr0R6rl0-8p0bkY%Ap79R ztzo(2MRdG5UKIYKhntd;GJQXDmpl~fWN~3B zM>!9aJ!G0SKRqr~%hdL%I6N+1%e-kQJ3@_-r_tIYC$u@)i`0KK{CZ@3F4swd_ymVlf3ox>}t+T;S z<@{1t_d9~}kDOCW=w7@S-CD;=_CkAb4L&|-y7&uKfO2ariYCp z>MGt%j&5z=-|;WmIJYryecg0%?u(COxUouQ_8P0l?Q}oy+c&PA%|0cJfizOnpR*M> zwat6o_wO@qcyvaZjh99f#Z4R*`b&SGW+1-rCxG(7D?2A=D64YdCK_7Q<0s5&&zbjE zhX%UK99Gvki;Ao|LO3fdn3AM-U%g2OAivXX-slua_e8NPV61p%D^1c2djSQ(UY)3Vi#ZJAlh zG*rT0aJYh4=~O`fLU!-kc%`+q_2I_Ej4`8g*u`-sF_;>}?Q%fnLZq1Tim#c*Q&vmM z9n5CjAvPMF5K-^DmQtybMoOQJQ2WfWO%IXJpAi9r3RwT7Oz@rYfe&7daegqU{I#Qk zq?_nmqA+BcW%3#WXit0gi7RH`JRScNsXXaY;v@ZT{`nuA;~vs97rF6O`2O**1o#Cv z>R;~?*gDDV@7F<*XpRNEZm%|5ms|g;)+YF`6olZFDWV&{J6XY>@Pq#wU%eLR**xCS zF;mYArmbvv($5Y&L0tRKMWzVuK%b|V&=U(<4a@DOXzuFrzUzNdpKDvAMRxEH#ZlP4T?vd-F{%?53DEDXqRW`xEOk27c8w6Vyb_nh1nf;}2Ryx_BlU*lz&bB{s9>CnLsV;epEN&mvq#)kXM0azD@eEMW{f1wp0?@3FG zre@iRc(Tk<{~j*rpB?ttC8QY20J>DN|)+WLreu#2pNbnJCtgwzlfx zY~#xdFW&Pr>c7|l#ZM0cOQ@cX4x{xCOIq5zbx!+}lLJB?(-(x4q3yu*?!9uOaAME;Yr){V&~)ZvX3-1y?l4%csD(81~pt-(fMD|0r~G)O2`-x(>d+ z?DTR~!SU!@&d9tM+DD(e_&eJaiRxf-0d(E_$YfinRS1P24c26yU)$Ny0Y+>ZSR_|e2NZK_b9<1(JKpMa^Usq4m> zAP3h|HW6`g`KR|ZfD7n3>r9?jNkj$_Jr{4wNJU~+7Nu`<@;3UvkChW8D4~$eNUWKWRsf3zr?bC9Zl=N0DJnA3gMxPb$S;(=(#bqOAEZ+>IPC6c zAFE?c5_vX&%MJ)*nY{u7hHtyG!xIwRsHmxd=wTx~9C*Uq|8tCvA4*wgMS5>-9jey~ z?U(Fjl^CRoW`6xd2Hc}KPR?R6a0h&!g&6W#$|%{}J2_RJ<%V8wypjC0KFM+=pL=dD zbyCB{#L)0LIeANKtJ^`lZ%`2CCcS!{)qp<7T+h1t{lCi&m(KVYdRsR0+S&Q(fcijY z)b@nKFYB)A#LDf^yZuGjY(NFzREk(m9!GwUR9+2YC$fM0NsWcE#xQ_q%TMd#ZysI zX658m1|5w1e{U!W9)15(0UoiGj#6DuYNnUn|=FbUALUKtMQgU}Plr z^28)7D+?$fO-6E4=0xo64?f;r7|GQV{kvmNbnzZXhuRmF7ss$M>Taj78ub^swQU6K z1qk}%NW`$c=ZUL-bKmLR4HOiKfWUd|{Fxdj@$)P+-Y40~$*)rH;oIMHeC<~%Sjo39^{v&?qKwFTEl*wj4 zrYt%dbbAHOl$bnW@)3FhoqZbIj~FlznIJqq{5xFOlR`n59y`adu4rJq*wk_y`i#4%pgN2N)19IxGV5`RwOL%whLbI5rI)r zR4X>^!<_br#Lcc}wBAoYb}mn>jffiOnB#z3(NTkgV)pmhf!7&U$*QZ$=Lr!t%4v8N z}W1}VHk7Ha#v@M0V zCMG|7C7e(V%XXx=L4!$A10@ymC$?4qkY`d78WYTm0 z`G5Qz+zTlSMQ;C_=+5`VYLx4(X`|d791^gf#%BG-<1;w`|pA>}tdBPP! z!xe4zZ!X?X8tU%=h$R@X?Cw8f>!DNoG%QJCT=Yx502 z)W91(+tTB&qlcQnuH&1%d#4}dA0^=nRsv?==L(j&-URM?w>GIA?I&lZ-+X*p+rP;J zPhM~j0hrhc8USvt(Q*8pAf}j19g>v8uL1oLt6w{wXSEnsgKHF3#xy%xV!+7+D;#S5 zZWU^{dVhAa!hHQBc!KxVabd3^+WE)2hNE99W}Ga*8n-w1)d8nFp6PUJCZt5aUWj;n z;&AljG^4n<_|k0;F|syHz-whar*470|4AU_l2)6=-1NK5i!`j991|%a!9KjD#l^2u zkL>1WYHH4Ihi3d%$-^%UpZ6J4H8Mq@6EKe*o!`Bd)M;cuOfamZl%tfFeqX5BMh;Xr zh-Rz%p+F@sfKjT!4?H}4o9*rFbchb@t@>cI?40{4+o*1EM4vD)rRJG)2FulZFW;WT zdXd3{F$!X#0AiP&#VlZ(>*923K2yZ>g5gceO5y|f4rtLp)?(A}YkxwQ%!G%1G$27t z9z6<&jy(O$f(vYoK-KQ!gLZN5cFAr%I5id6@@!;&;fd5sqj^;HQ=;RWH}~L&;GBen z2tRw)Dj4v@>c*>Ppzza*IrvcGZ=>^SE}z?DW4ugwiNK)ltpA%V zsiVfm1&Z%2TPg?Ek%k7((mmTMXD_cC>2ko`?ZMw8;Wt1daIrT7JXKuGc|Zb>8#xno z=X4#qBrBTFT?R%*zrfn@%wSGI6ii%$m425)5Ese{3m>!VevgP42JyxXm=+MTgh^5V zFY=-~Pc?SFXE|wxCsa8Y`gbk|RT&%rLW}v4}m2-hbLWfg)AP+c&t%nU=?p&+umw39-jcrFZ4A_<$BL8qdqm z@9Fw!$~M#;TX8_lHu{>FpxGBIFDJ+4u=Wt$+eb1AS_a>kBI)Isunk&h4HOlt!n+6k z)U#dEtNgh|5tRcgud5eJnzuyZ4V3abk>9DIoQXfhoozx7{dJY#B zwR0nj^fb#+BsUJ60>i>12|3+$XB)29IQWrQjyD3E8SJ!mO7cdl|) zjaE(cIJxikbI#gCuPi7i2rn8dB@o;Q1tWQktgNJ;^Myt{N=Wt(2*bs9hEp8iwLmEe zlG=myHOb&oTAHrd9$ED?x7h}ghL?`6^aXA(K;`;hX@ihbV>7V^x zH8N;;WrIphEzVI078?#elpr4j8sPwgp<&NbXAyJ+4hsCdK;{80Qg(K|tr9OZ$Q_-M z(ITr6wS+jLyXtDHt4{`r(N>n0W<dwie6 zaP~5SzNDn2)}ep~B&szMb`_&g{;ce5i?UY+&qK=`&ut7-J37Qj`S}5|GV?tt$@BAP zWQz%M0|iAw%GZztu!yzYEzlyZj}vPyf3inu7h?@u80D-Oh>Lf@dkk;W4n3p*mp-9+ z&e{2Zl9smiG4?=HDTtKI7=3*!;0pImz_+$@lnbVc?Vdm+jZO62>&`zt^I~&^Z{=&c z0PfqUtM9ehfR?M)^9Pc#JS7#eE2CD}px3E`y??Z2vZhYYx8jfqo)0Xna_e38;asgTOM4IjZG*hMy@}n9JZytr zy}w|!3=Ec1R8c4e7-jtdaS|&BAMt~0j?kkUJhdU1zq6d*1n?EX``(t328Gn7pALi| zYziSH$Rx>8zBw8nl2ByW_dyh!0_F=I-eiOFcVmqn=elk&=azG z%;~1CW$ppYCQG>>N<0!j2-i;ldh{(nA9Qc^MXazLjmbbDfuXXQQPV=nYxn+H$oubV zC*?3PGf9d{k;gZ7P1f`YdmWoRzb`K0@>^Ff(=4y z=>Z0~Qy4&y=lE*t)a>KEK79;2`{x#|w)gguO4f#QfQav?;J<~VIUZU{Byi~fv?gaH zxBF*T8Y_q8fhm+QYk5(Y;$o`OjhfKWWxHvQvmIb9dl8{_EBf zvoDyr^y|W=fCJ-Ta?#Hpw>COHboTBGb-Rvjdz`Mtbxq9GQZ)IaaMEI)SSvyWjfun zO5|Gdc8H`&*kA3Mpa0t5-@nyIT3f?q&>M|J=LfK6PEHSdJ33OlwO!1Df-4RKqDx}* z2}np9!xa@}Wi!<^@0w6|R^Zl$Ys-kN)jRDfVUU%TG1<|9>gq}tP$nFVuPQ6sh)Q6K zgH0iDR_@eEk?3A`e3+-Fx8DiOq@*ErLa$ztyeEg_2+qLxeJ_YuSu}vVW?$p=zxe96 zEbi-VKkqktoNTM>AEhJc`_)r#0PWoS>0Vd89*~ENJc*8ttvzZ|;H`Hbv3TBZ+SJlQ zxvblDbi21NQz`$*7S`~Ey+r#q7O~yF+F4lEfZ=<@fR@Tm&wOM?t>v!L4pXnA`B?G( zR5~%NiP)pm6-?y7rU<$OsUu{qqGGeJZHjhVNY2z$qf@+T!D`0woEi9fB)VUe$yUwv zPaKc-i7YjHp<{vJ0n+jr5}0?l3|c>;q7O{2yaS1MS1DaGh^B}@RxKuG#<5BptoP&s z&t$dS>i{GZ6eI<5aY90~zn3%N0F?k>V{EQ$#Y1oW>u1nqPd#ty!DfmD|gE{)uPNva+mLO;}jC zj!#BY)9vhsXhzdvByDCz1{3~0g0!4Wm$~^CC0t;hBSMwe-P04zvVLr{LSH(mgC3|x zr(O5bdT|SgT|iaXkNTX4WNr_^)KxM)-CI*~MC;*E4|>D^eJIUhJ}!}T`$P#e)=ksV z0nEe{bD{y}`Dao1mdSk`J+?bLWVlqr2PdiJ(|A~XfS8GKkM{R(ru&7qV>`zdHAt*d zwV;QFwzlH!NN!BraLHG(~1H;FvNuM#q{@Ar%EpmpvZH?Ctj?Wq|QgbH*++2XIci1*h zoJQZizhJ*HxiG)V_-6Kv^CTyUZcS`Xjs&@X5D)JQXu!0PZ?JZ)^E$wYpX(L@bNqDg zn@sC_M)bcfO?r3b6HVA~m(L#Jhoogpo7;s@QBj4;%NbD>fdRsGZne0zWl2jrr&t6v zWW18CIojHZKn#U~j>%}_x>@V+U1Q^`!;JRH#U;s<;j8~e)+bf>S!|_$V2F^>^;?0( z%&)k(w6s_Nd)h7n5g#}A>D?<7(PN$WsImAEu%YK>yAdA2M8xdYN1aR=WSMC&-G#Q` zvf|R3(1_{6CLp=h)QsQ7rTbE@Qs!)Cfg9N#Nrs&DCF$&;WK(&&d$JI%KlEtncPlV^pdrBV+l`R4)>f zEeK?4Rs)+QT5iX)7rY35KY`-6D;wwNm^f3lr|oT>$^~jg`uiQLt1*DAOU4s$aymZb zJ%c**m}YEERku8;JC_>6Kx?khuHV`Dj16o@)nPHpu0}T*P1NE-)Rtn9)D?@{8Z> z$rHEBDOP+gt(^D(rIEp|m~(u@U9UvQP=CMaC@cD-$B*CWnhIe13PrLddox3!hQlzp z>pkbi8ok}t(eF7n%XLz-qR;zrmX;Sw)w&w{80m3W>iLun{vT0j2b;V{1Hm)P`k7@K zrpweeA{4S?)5)@H0TCGT2}Ewz);1v91-Q`fZMMBX!E>RZ5sa7dX6N82l_9?h2nex* zv&!JAZaFXq7)-<7xljWI+F~D6L>|ko-_K<8C2pK}25v zH{l7=OPCU1Jh_YwuY4uJ&rT7kf$WjXjw7Kg741I~T(BX)>HXQW|8w507Ob)b-SLtZ zwr|cyOs1x$qC!A24k)ui^K~j`=|A6pjfj-as2adBfp;N5tpuKxzyL1mb+wv$k4wO- z>Alm}Pcr~ew9d}rZMV~#-?Zmu4fw$&mjci@J^dAI2foT|Fad`EFzUeWK&8U|5#hzJ z0W8EhNS_hh5aw1vi40Z~YHEC^Qng@_=W4aaE$d-FkXhQU^o(Y3a5@TjVD_>=?M)ro zv!b8LSW(JZ5k%~t=5&W?4v=Qy(u}NXQBtq}?DA~Z;4%&Y;Kz~<^>NC(7_e<*0EO@l z?PWjHVD2h_M1b6R5#%x>?qxjm^cHimyA%Qe>f6Ve^ir{n4@W&_-vA_~|GN5`-_9eQmPG1vGv&B_xai{m+?+fPtnwr;JtZI+bJGJrWUYFBPHGK8Y>wZLPFcf zjSpgm$%aJLYQd=j72Nr`TP*b(Grb{eZa{kbd_>j$eviqmmAWgc#iHKiP15E>!6wLb z!WDHnGIDcWNAkJ5N?OQT#HY0$K8E+A5|ot{|456?luk6#!2xBMR?J08U4m9~$k-S= zb3Z;&MGK_K^1S;^Iqc1K^F}3V~!?P!%~&9K;8%>U6*&3-0=O=3~=K2Zs#~ zx}+bT>{*S>ng|FHkz5_X79^_pQ*v8@GaTM{2%>qbOGL#m313iLPbU8g@0}JyY2re?D2vEH&smfNDogZsq`&lX*hS()NOhRn^T8IMbTUprg7E(ys$GFeaO z@kw-HA$|QB_v>pT9^wz<&AYSH z2NN7uu;H9xlr$Yt_+YkH%Kt9aD!J%GZW{_aLI%IRMtlfWI zUS1wEHZ|^Jgifo;7W2o~$!9k?IN*p?Jw1K53xx0L;n{l>kxAjzr?|G>SrzZTz>e1TK9&qA0q)&}6OCxkqo(TKZ(&sti@#3N}f!W`1l z({JCrp|7H*E{^pzHue-W{$@x;bLk#2%($NeLKIO1#Rgn)ECw?(!ZRb|ON%aLr-_l# zf&IE9I_Tr!YcLS%zX96ZPSDW0ngR6AX=Efp#@rvXOy|UDv0=(l0DJ}OYL94dKpx}a z2R&vCXj=dv!oG+PNpzfOi8+F)n?a&dD=H)t#NCQIKzdYU~tb z<4_EMkueY+ulp1Lh^*97N@}BW7x#nL2Mvw5C{OHeIBf%%BJ>eZ{ek9JJD>ndjhVXsJZTlVE+svHUerkU1hUSRsJ{~GM< z%B>?71Gg6#OAsFKP`U~@Rx9O#n`kGU@9Zd2QbZ>DmOPG^5P+hWa5C@LKE-k`{8bA| zNRNq{^y1>Lbnm33f;zGQ?fW2qCaHynhUOMmR|6l=SUGeIws$pG3p#kr?EEFqW%zy7 zEEynB!_SNWddR5g`|;yBz6$J#d{X7|lK_WE_l9N5){nvZJ;qtzzOh+ueMw9#=xDlm z^X3D;D57gjSdtPFJQs$QJ7YlHM7BvQuO+WU2&Cfh%@uW-FCOy(E;lfZmvBvZjvbEy zYYY%GRZUIo<6d6C8gtveDF{i{`8AY7MNtV-cQA4j0NA9nhQ_;_>VMWBzUsm&jf#v{ z#^Yg@VLSvLbQ$1#uiK;(51LjI-6WcWA~Wh$6cnKQ-iSOUy+5d!p*(g#(C&fza<*PC3J zFu8fnvDj|D$M{rQHklGFkmc;$4bcFIi)b*^ReP-LRQd$=^QTOAw&AxThZ*-B$MwlN zX0W{WR7nQ%C>S3%(OtWyc~84fwfMheJV0E?FKq1iaNOhboo+V6FUbKcj{%_B>*98u z@JQdQ>fG&uf?OizUr}AOuU#1!oO$LKEU0o`(XIam6g44NhE3pRw6*z@M8WVQ=866B zlIkB6ix8d{NLgWleYtT(a(Mb$sqEbHGFt13Si!g3Z$!&lXm1<7&DO<_6KeJIA-k^x zql|wS%C*`0_g5k)py7cHe(27BTQZpVEy!rNQC32Z*!dn#Ap5(Qa^m;wL8>NoMc~d- z3YFZ>uc;Lx%z;!2buQk=P-1fXiv`?{<##AmwX@q{A(Vrz0YaPLDuZko@Xf%3j?5Nw zGL9IEX;r4^eBwfU=~xs+{{VPqVYDk8fJ+igJb620MYPs}x+IDo%g-I(38NQUXL(!M2)&g_)U<~FYl{^Nw~pPUNeX0^pPU%Td)re z4W0OOm{%(x&0(T{b_YAK`77(>8wWo_eo>;bEftz7Q|JO8ZW>_0|6meal~5Hs4NOG# zVi87S^Vi|8#z@wk@b51OTnZYbtn-sT#=(dWzH!a=;njI}oVQdFSm@KbQEt=s)Tbq% zbcjt8^l+b7y-NGtX#_(9d!9HD*bhO|d{Z^L(*r!bk~ER(HLxW--H~D?5*2FDEg6mB z3KH?c9B@(9lbj-DOHB)E%Xo!ewFnxOe8F`P3V1A3zmD+Cm9pQO)%lGpY$d{L=mgo- zxOC|GUtzh`l?C}kvy9069GYXLBCVwe!BJFPi4c9c;b(!XJVle8_l<;*eDkYU(uC|a zPnI>qhV4Gz%fpT?ybfR9i@nZbtP5e}E?pxk=@DTyj7wgBo4jO{k9ap~>AFAFk=CT6SoCK0CL6b<%oiU-Dz^;!Qwt z4@tM`8%6njjHqfNI*AGLf#M{yE{K|k`w6DYI*0{Lk*|9re=6^yL@MCmqH=d~>;({m zL4+^Lw^xpGBHfQJVh0zWB)aV+Tc4#=;4r+M)~aD3xeych!4_^8^yEo`<2hAr-}R-R zU<5O$yw1xkDny>^wxXh;X;j*}uN>t4PI?oraoJZ7KyZA`9&RiiO^NI(*BVvHhNyfg zVcr;?2+2xJ_&H^jx2LObXRj)*Y!N=xccb(%tpr6fc7HoCg}S2jdyF^JjhE=}xCPy~ z_ASq*juDh5@I1*-Fo~xf277Z<$guPn!N=SJQWmZb)fY?hO zPDSS(Or#b8soWd?FZ#JRI8WQ|k7$xZ2w}ECKA3{Ga5epy|SFmXU z+(btwHHf8@ZK$YwBYk~5E-Y0bbvPw<|0?pFNnZjm8UP1SO(Q!ws3wLV;ZT(V9Il|C zH}Ho55MDzjd>-Q9kWpj?5VMv8IWlS$75?j+H_^hvB9s&qP|bpZ#@DJ ze!=ei+Bf5Q{N`YXNyF_`U&x}m#btc;diL`ienJDNLcCjnrSgrua(Lo94h#-b4o(jF ze$2g__9fKQH?Ezrf_v2T!YwB}uo=j-0R{*2HI{M&s^FuKsJI3O$lQ<-KpL9>lyd%s zO335<>j-puPieS#)S65F^ql?a5%g=SqJHTPIx0GVg|%uN{e+&MoSf_>?_`0tDnJ;) z1_oS=#xcNA2n+iH6c)gs%a&~T`1nDXn5fr?Abu*ZEz(f_7$4*eCN<{2Es7bGk+h(d zc*oX})s~s8RvWmf*&%f?YdGEGh^X~lei1SV1M1KWG&Qs7e8;~>#bIJ+^8J!(k-kuq z1hX7z8Va!R{5e@e4~kS!{el*(mb)&_&ahKtdWkhKz@%KDI$;a};MwuP+7pf!i=eCH z{rl@cNC(|XYVIo0&YRilVoCtq1(`G(aUHh2J}4 z)J4jOUp|-+PDi${e38!|`0ecMg1h^Q!(M|MBK?d#akfU&~O$XR3 z#9p!uMt3ibhT=gupCb&0IaDshu-dfzWnbo$<@hsXfriGaA`Gm-%=0}aa_}wqeb4|E zi?K!^7)MuA_?U_HbE=8Bt!)obcg0k`ZE&rln)YG5ov2LgU9G=p!Fs5T;oFME&zm>et^e2Bfpl@@jfyu>RqW{D(VU71 zrPWF1$d)BO2Mgrs>zBMnXZcq2S~KsJo14D@*AXNOusVIO{61j39Mqj8`oZnSX{$Ez zODOfx0Fb4mZ08mfurjlPurx^P)924~a&q2)8;k&5tk^Y9w#qlVi4q9H{wOosJx3sU zi_8YcHZkjuXjeH;XYUvZ-VRRA8(AtPC4qx3=6#X75T z4!0=&FC>T>UvbjCHH&szyaVv?u7U9qICgX!aFXLRJaet_oTU<8hQ>hb7B%-1csy-@ z)@PkU);u+-k$+A^#BpA|6f%cz1;ZyyLGya}5D$C0+!>kApNPef^;=Q)@07ub2~P6U z%F5tMkW&VFy!#_w∾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%0DOW}RT_)YtIJ4PNuv63l3KRyb&k3|lze78 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 literal 0 HcmV?d00001 diff --git a/docs/ux-ui/screens/ospf-bfd-conflict153-320-2026-10-11.png b/docs/ux-ui/screens/ospf-bfd-conflict153-320-2026-10-11.png new file mode 100644 index 0000000000000000000000000000000000000000..8cb57929af6e29a179b23e9474b94082ca2d1330 GIT binary patch literal 55255 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 { assert.deepEqual(["full", "2-way", "ExStart", "exchange", "loading", "attempt", "init", "down"].map(normalizeOspfState), ["Full", "2-Way", "ExStart", "Exchange", "Loading", "Attempt", "Init", "Down"]) assert.equal(normalizeOspfState("future-state"), "Unknown") assert.equal(normalizeBfdState(""), "Unknown") assert.equal(normalizeBfdState(" UP "), "Up") }) + +test("Full/BFD conflict requires fresh exact device, interface, peer, explicit active BFD and unique direct session", () => { + const neighbor = { localRouter: "1", localIface: "gre-own", neighborAddress: "198.18.153.2", state: "Full" as const } + const iface = { serverId: "1", interfaceName: "gre-own", active: true, useBfd: true } + const session = { serverId: "1", iface: "gre-own", remoteAddr: "198.18.153.2", state: "Down" as const, multihop: false } + assert.deepEqual(ospfBfdConflicts([neighbor], [iface], [session]), [neighbor]) + assert.deepEqual(ospfBfdConflicts([neighbor], [iface], [{ ...session, state: "AdminDown" }]), [neighbor]) + for (const s of [{ ...session, serverId: "2" }, { ...session, iface: "ether1" }, { ...session, remoteAddr: "198.18.153.3" }, { ...session, multihop: true }, { ...session, multihop: null }, { ...session, state: "Unknown" as const }, { ...session, state: "Up" as const }, { ...session, dataUnknown: true }]) assert.deepEqual(ospfBfdConflicts([neighbor], [iface], [s]), []) + assert.deepEqual(ospfBfdConflicts([neighbor], [iface], [session, { ...session, state: "Up" }]), []) + for (const i of [{ ...iface, useBfd: null }, { ...iface, useBfd: false }, { ...iface, active: false }, { ...iface, active: null }, { ...iface, dataUnknown: true }]) assert.deepEqual(ospfBfdConflicts([neighbor], [i], [session]), []) + assert.deepEqual(ospfBfdConflicts([{ ...neighbor, dataUnknown: true }], [iface], [session]), []) + assert.deepEqual(ospfBfdConflicts([{ ...neighbor, state: "Down" }], [iface], [session]), []) + assert.deepEqual(ospfBfdConflicts([{ ...neighbor, neighborAddress: undefined }], [iface], [session]), []) +}) test("topology does not infer Down from missing or transitional evidence", () => { assert.equal(ospfNodeState([]), "none") assert.equal(ospfNodeState(["Down"]), "Down") diff --git a/lib/ospf-state.ts b/lib/ospf-state.ts index 7d73cd82..eaf4f2dc 100644 --- a/lib/ospf-state.ts +++ b/lib/ospf-state.ts @@ -12,3 +12,18 @@ export function ospfNodeState(states: OspfNeighborState[]): "Full" | "2-Way" | " if (states.some(state => state !== "Down")) return "Pending" return "Down" } + +/** Correlate only a single observed direct BFD session on an explicitly configured interface. */ +export function ospfBfdConflicts( + neighbors: T[], + interfaces: Array<{ serverId: string; interfaceName: string; useBfd?: boolean | null; active?: boolean | null; dataUnknown?: boolean }>, + sessions: Array<{ serverId: string; iface: string; remoteAddr: string; state: BfdState; multihop?: boolean | null; dataUnknown?: boolean }>, +): T[] { + const ip = (value: string) => value.split("%")[0]?.toLowerCase() ?? "" + return neighbors.filter(n => { + if (n.dataUnknown || n.state !== "Full" || !n.neighborAddress || !n.localIface) return false + if (!interfaces.some(i => !i.dataUnknown && i.active === true && i.useBfd === true && i.serverId === n.localRouter && i.interfaceName === n.localIface)) return false + const matching = sessions.filter(s => !s.dataUnknown && s.multihop === false && s.serverId === n.localRouter && s.iface === n.localIface && ip(s.remoteAddr) === ip(n.neighborAddress!)) + return matching.length === 1 && (matching[0]!.state === "Down" || matching[0]!.state === "AdminDown") + }) +} diff --git a/tests/e2e/ospf-bfd-conflict.spec.ts b/tests/e2e/ospf-bfd-conflict.spec.ts new file mode 100644 index 00000000..fed56d40 --- /dev/null +++ b/tests/e2e/ospf-bfd-conflict.spec.ts @@ -0,0 +1,37 @@ +import { test, expect } from "@playwright/test" +for (const width of [1440, 320]) { + test(`OSPF Full/BFD Down: предупреждение, scope и recovery, ширина ${width}`, async ({ page }) => { + await page.setViewportSize({ width, height: 1000 }) + let phase = "down" + const base = { serverId: 1, serverName: "CHR 1", serverSite: "", serverCountry: "RU" } + const neighbor = { ...base, id: "*n", address: "198.18.153.2", routerId: "198.18.253.2", instance: "own", area: "own", areaId: "0.0.0.0", interface: "gre-own", state: "Full", uptime: "1m", stateChanges: 1, priority: 1 } + const iface = { ...base, id: "*i", instance: "own", area: "own", areaId: "0.0.0.0", interface: "gre-own", cost: 10, type: "ptp", disabled: false, inactive: false, priority: 1, helloInterval: 1, deadInterval: 20, useBfd: true } + const bfd = { ...base, id: "*b", localAddr: "198.18.153.1", remoteAddr: "198.18.153.2", interface: "gre-own", state: "Down", uptime: "1s", multihop: false, multiplier: 3, txInterval: 200, rxInterval: 200, holdTime: null, packetsRx: 10, packetsTx: 20, stateChanges: 1 } + const errors: string[] = [] + page.on("pageerror", e => errors.push(e.message)) + await page.route("**/health", route => route.fulfill({ json: { ok: true } })) + await page.route("**/api/**", route => { + const path = new URL(route.request().url()).pathname + if (path === "/api/servers") return route.fulfill({ json: [1, 2].map(id => ({ id, name: "CHR " + id, host: "192.0.2." + id, country: "RU", enabled: true, status: "online" })) }) + if (path === "/api/ospf/catalog") return route.fulfill({ json: { neighbors: [neighbor], interfaces: [{ ...iface, useBfd: phase === "not-used" ? false : true }], instances: [], bfdSessions: [{ ...bfd, serverId: phase === "foreign" ? 2 : 1, state: phase === "up" ? "Up" : phase === "unknown" ? "Unknown" : "Down" }], routes: [], failures: [] } }) + return route.fulfill({ json: path === "/api/auth/config" ? { required: false } : {} }) + }) + await page.goto("/ospf?server=1&tab=neighbors&q=253") + const alert = page.getByRole("alert").filter({ hasText: "OSPF Full при недоступном BFD" }) + await expect(alert).toBeVisible() + await expect(alert).toContainText("CHR 1 · gre-own") + await expect(page.locator("tr[data-row-id]").first()).toContainText("Full") + expect(await page.evaluate(() => document.documentElement.scrollWidth <= innerWidth)).toBe(true) + await alert.getByRole("button", { name: "Проверить BFD" }).click() + await expect.poll(() => new URL(page.url()).searchParams.get("tab")).toBe("bfd") + expect(new URL(page.url()).searchParams.get("server")).toBe("1") + expect(new URL(page.url()).searchParams.has("q")).toBe(false) + await expect(page.locator("tr[data-row-id]").first()).toContainText("Down") + for (const next of ["up", "foreign", "not-used", "unknown"]) { + phase = next + await page.getByRole("button", { name: "Обновить", exact: true }).click() + await expect(alert).toHaveCount(0) + } + expect(errors).toEqual([]) + }) +}