From f7b994ce713631ee8ed4de98a8865960db2ddd2a Mon Sep 17 00:00:00 2001 From: janvi-elastic Date: Tue, 23 Apr 2024 18:36:45 +0530 Subject: [PATCH 1/5] Initial release --- .../_dev/build/build.yml | 4 + .../_dev/build/docs/README.md | 67 ++ .../_dev/deploy/docker/docker-compose.yml | 21 + .../deploy/docker/sample_logs/testdata.log | 1 + .../azure_network_watcher_vnet/changelog.yml | 6 + .../_dev/test/pipeline/test-common-config.yml | 3 + .../log/_dev/test/pipeline/test-vnet.log | 1 + .../test/pipeline/test-vnet.log-expected.json | 157 ++++ .../_dev/test/system/test-default-config.yml | 11 + .../data_stream/log/agent/stream/abs.yml.hbs | 47 + .../elasticsearch/ingest_pipeline/default.yml | 853 ++++++++++++++++++ .../data_stream/log/fields/base-fields.yml | 20 + .../data_stream/log/fields/beats.yml | 9 + .../data_stream/log/fields/fields.yml | 126 +++ .../data_stream/log/manifest.yml | 119 +++ .../data_stream/log/sample_event.json | 682 ++++++++++++++ .../azure_network_watcher_vnet/docs/README.md | 794 ++++++++++++++++ .../azure-network-watcher-vnet-overview.png | Bin 0 -> 436647 bytes .../img/azure_network_watcher_logo.svg | 8 + ...-5ecce30b-1eba-4bd8-b440-cd266263449a.json | 445 +++++++++ ...-0e5d4cba-9f41-4c45-b858-54d3e83df6e5.json | 93 ++ ...-51e7dbb1-2c87-429a-8ffa-f1c78ceb2eab.json | 93 ++ ...-b52c9df2-cb7f-4ebe-af8b-569c213423cf.json | 89 ++ .../azure_network_watcher_vnet/manifest.yml | 35 + .../azure_network_watcher_vnet/validation.yml | 5 + 25 files changed, 3689 insertions(+) create mode 100644 packages/azure_network_watcher_vnet/_dev/build/build.yml create mode 100644 packages/azure_network_watcher_vnet/_dev/build/docs/README.md create mode 100644 packages/azure_network_watcher_vnet/_dev/deploy/docker/docker-compose.yml create mode 100644 packages/azure_network_watcher_vnet/_dev/deploy/docker/sample_logs/testdata.log create mode 100644 packages/azure_network_watcher_vnet/changelog.yml create mode 100644 packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-common-config.yml create mode 100644 packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log create mode 100644 packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log-expected.json create mode 100644 packages/azure_network_watcher_vnet/data_stream/log/_dev/test/system/test-default-config.yml create mode 100644 packages/azure_network_watcher_vnet/data_stream/log/agent/stream/abs.yml.hbs create mode 100644 packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/default.yml create mode 100644 packages/azure_network_watcher_vnet/data_stream/log/fields/base-fields.yml create mode 100644 packages/azure_network_watcher_vnet/data_stream/log/fields/beats.yml create mode 100644 packages/azure_network_watcher_vnet/data_stream/log/fields/fields.yml create mode 100644 packages/azure_network_watcher_vnet/data_stream/log/manifest.yml create mode 100644 packages/azure_network_watcher_vnet/data_stream/log/sample_event.json create mode 100644 packages/azure_network_watcher_vnet/docs/README.md create mode 100644 packages/azure_network_watcher_vnet/img/azure-network-watcher-vnet-overview.png create mode 100644 packages/azure_network_watcher_vnet/img/azure_network_watcher_logo.svg create mode 100644 packages/azure_network_watcher_vnet/kibana/dashboard/azure_network_watcher_vnet-5ecce30b-1eba-4bd8-b440-cd266263449a.json create mode 100644 packages/azure_network_watcher_vnet/kibana/search/azure_network_watcher_vnet-0e5d4cba-9f41-4c45-b858-54d3e83df6e5.json create mode 100644 packages/azure_network_watcher_vnet/kibana/search/azure_network_watcher_vnet-51e7dbb1-2c87-429a-8ffa-f1c78ceb2eab.json create mode 100644 packages/azure_network_watcher_vnet/kibana/search/azure_network_watcher_vnet-b52c9df2-cb7f-4ebe-af8b-569c213423cf.json create mode 100644 packages/azure_network_watcher_vnet/manifest.yml create mode 100644 packages/azure_network_watcher_vnet/validation.yml diff --git a/packages/azure_network_watcher_vnet/_dev/build/build.yml b/packages/azure_network_watcher_vnet/_dev/build/build.yml new file mode 100644 index 000000000000..71f48ba2a9c8 --- /dev/null +++ b/packages/azure_network_watcher_vnet/_dev/build/build.yml @@ -0,0 +1,4 @@ +dependencies: + ecs: + reference: "git@v8.11.0" + import_mappings: true diff --git a/packages/azure_network_watcher_vnet/_dev/build/docs/README.md b/packages/azure_network_watcher_vnet/_dev/build/docs/README.md new file mode 100644 index 000000000000..c89dd0e30291 --- /dev/null +++ b/packages/azure_network_watcher_vnet/_dev/build/docs/README.md @@ -0,0 +1,67 @@ +# Azure Network Watcher VNet + +[VNet](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview) flow logs in Azure Network Watcher track IP traffic in virtual networks, sending data to Azure Storage for analysis. This information can be exported to various tools like SIEM solutions or IDS. Unlike NSG flow logs, VNet flow logs offer enhanced monitoring capabilities. They are crucial for understanding network activity, identifying connections, and monitoring open ports. Flow logs serve as the primary source for optimizing resources, ensuring compliance, and detecting intrusions in cloud environments, catering to both startups and enterprises. + +## Data streams + +This integration supports ingestion of logs from Azure Network Watcher VNet, via [Azure Blob Storage](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-azure-blob-storage.html) input. + +**Log** is used to retrieve VNet Flow data. See more details in the documentation [here](https://learn.microsoft.com/en-us/azure/network-watcher/vnet-flow-logs-overview). + +## Requirements + +Elastic Agent must be installed. For more information, refer to the link [here](https://www.elastic.co/guide/en/fleet/current/elastic-agent-installation.html). + +### Installing and managing an Elastic Agent: + +You have a few options for installing and managing an Elastic Agent: + +### Install a Fleet-managed Elastic Agent (recommended): + +With this approach, you install Elastic Agent and use Fleet in Kibana to define, configure, and manage your agents in a central location. We recommend using Fleet management because it makes the management and upgrade of your agents considerably easier. + +### Install Elastic Agent in standalone mode (advanced users): + +With this approach, you install Elastic Agent and manually configure the agent locally on the system where it’s installed. You are responsible for managing and upgrading the agents. This approach is reserved for advanced users only. + +### Install Elastic Agent in a containerized environment: + +You can run Elastic Agent inside a container, either with Fleet Server or standalone. Docker images for all versions of Elastic Agent are available from the Elastic Docker registry, and we provide deployment manifests for running on Kubernetes. + +There are some minimum requirements for running Elastic Agent and for more information, refer to the link [here](https://www.elastic.co/guide/en/fleet/current/elastic-agent-installation.html#_minimum_requirements). + +The minimum **Kibana version** required is **8.12.0**. + +## Setup + +### To collect data from Azure Network Watcher VNet follow the below steps: + +1. In the [Azure portal](https://portal.azure.com/), go to your **storage account**. +2. Under **Security + networking**, Click On **Access keys**. Your account access keys appear, as well as the complete connection string for each key. +3. Click On **Show** keys to show your **access keys** and **connection strings** and to enable buttons to copy the values. +4. Under key1, find the Key value. Click On the Copy button to copy the **account key**. Same way you can copy the **storage account name** shown above keys. +5. Go to **Containers** under **Data storage** in your storage account to copy the **container name**. + +### Enabling the integration in Elastic: + +1. In Kibana go to Management > Integrations. +2. In "Search for integrations" search bar, type Azure Network Watcher VNet. +3. Click on the "Azure Network Watcher VNet" integration from the search results. +4. Click on the "Add Azure Network Watcher VNet" button to add the integration. +5. While adding the integration, to collect logs via Azure Blob Storage, keep **Collect VNet logs via Azure Blob Storage** toggle on and then configure following parameters: + - account name + - containers + - service account key/service account uri +6. Save the integration. + +## Logs Reference + +### Log + +This is the `Log` dataset. + +#### Example + +{{event "log"}} + +{{fields "log"}} diff --git a/packages/azure_network_watcher_vnet/_dev/deploy/docker/docker-compose.yml b/packages/azure_network_watcher_vnet/_dev/deploy/docker/docker-compose.yml new file mode 100644 index 000000000000..2360169f426e --- /dev/null +++ b/packages/azure_network_watcher_vnet/_dev/deploy/docker/docker-compose.yml @@ -0,0 +1,21 @@ +version: '2.3' +services: + azure-network-watcher-vnet-log: + image: mcr.microsoft.com/azure-storage/azurite + command: azurite-blob --blobHost 0.0.0.0 --blobPort 10000 + ports: + - "10000/tcp" + azure-blob-storage: + image: docker.elastic.co/observability/stream:v0.10.0 + volumes: + - ./sample_logs:/sample_logs:ro + command: + - log + - --retry=30 + - --addr=elastic-package-service-azure-network-watcher-vnet-log-1 + - -p=azureblobstorage + - --azure-blob-storage-port=10000 + - --azure-blob-storage-container=azure-container1 + - /sample_logs/testdata.log + depends_on: + - azure-network-watcher-vnet-log diff --git a/packages/azure_network_watcher_vnet/_dev/deploy/docker/sample_logs/testdata.log b/packages/azure_network_watcher_vnet/_dev/deploy/docker/sample_logs/testdata.log new file mode 100644 index 000000000000..a6544ecc7d37 --- /dev/null +++ b/packages/azure_network_watcher_vnet/_dev/deploy/docker/sample_logs/testdata.log @@ -0,0 +1 @@ +{"records":[{"time":"2022-09-14T09:00:52.5625085Z","flowLogVersion":4,"flowLogGUID":"abcdef01-2345-6789-0abc-def012345678","macAddress":"00224871C205","category":"FlowLogFlowEvent","flowLogResourceID":"/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG","targetResourceID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet","operationName":"FlowLogFlowEvent","flowRecords":{"flows":[{"aclID":"00000000-1234-abcd-ef00-c1c2c3c4c5c6","flowGroups":[{"rule":"DefaultRule_AllowInternetOutBound","flowTuples":["1663146003599,10.0.0.6,52.239.184.180,23956,443,6,O,B,NX,0,0,0,0","1663146003606,10.0.0.6,52.239.184.180,23956,443,6,O,E,NX,3,767,2,1580","1663146003637,10.0.0.6,40.74.146.17,22730,443,6,O,B,NX,0,0,0,0","1663146003640,10.0.0.6,40.74.146.17,22730,443,6,O,E,NX,3,705,4,4569","1663146004251,10.0.0.6,40.74.146.17,22732,443,6,O,B,NX,0,0,0,0","1663146004251,10.0.0.6,40.74.146.17,22732,443,6,O,E,NX,3,705,4,4569","1663146004622,10.0.0.6,40.74.146.17,22734,443,6,O,B,NX,0,0,0,0","1663146004622,10.0.0.6,40.74.146.17,22734,443,6,O,E,NX,2,134,1,108","1663146017343,10.0.0.6,104.16.218.84,36776,443,6,O,B,NX,0,0,0,0","1663146022793,10.0.0.6,104.16.218.84,36776,443,6,O,E,NX,22,2217,33,32466"]}]},{"aclID":"01020304-abcd-ef00-1234-102030405060","flowGroups":[{"rule":"BlockHighRiskTCPPortsFromInternet","flowTuples":["1663145998065,101.33.218.153,10.0.0.6,55188,22,6,I,D,NX,0,0,0,0","1663146005503,192.241.200.164,10.0.0.6,35276,119,6,I,D,NX,0,0,0,0"]},{"rule":"Internet","flowTuples":["1663145989563,20.106.221.10,10.0.0.6,50557,44357,6,I,D,NX,0,0,0,0","1663145989679,20.55.117.81,10.0.0.6,62797,35945,6,I,D,NX,0,0,0,0","1663145989709,20.55.113.5,10.0.0.6,51961,65515,6,I,D,NX,0,0,0,0","1663145990049,13.65.224.51,10.0.0.6,40497,40129,6,I,D,NX,0,0,0,0","1663145990145,20.55.117.81,10.0.0.6,62797,30472,6,I,D,NX,0,0,0,0","1663145990175,20.55.113.5,10.0.0.6,51961,28184,6,I,D,NX,0,0,0,0","1663146015545,20.106.221.10,10.0.0.6,50557,31244,6,I,D,NX,0,0,0,0"]}]}]}}]} diff --git a/packages/azure_network_watcher_vnet/changelog.yml b/packages/azure_network_watcher_vnet/changelog.yml new file mode 100644 index 000000000000..35fb1d2c2909 --- /dev/null +++ b/packages/azure_network_watcher_vnet/changelog.yml @@ -0,0 +1,6 @@ +# newer versions go on top +- version: 0.1.0 + changes: + - description: Initial release. + type: enhancement + link: https://github.com/elastic/integrations/pull/1 diff --git a/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-common-config.yml b/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-common-config.yml new file mode 100644 index 000000000000..4da226416540 --- /dev/null +++ b/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-common-config.yml @@ -0,0 +1,3 @@ +fields: + tags: + - preserve_original_event diff --git a/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log b/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log new file mode 100644 index 000000000000..5b0af1cdd4de --- /dev/null +++ b/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log @@ -0,0 +1 @@ +{"time":"2022-09-14T09:00:52.5625085Z","flowLogVersion":4,"flowLogGUID":"abcdef01-2345-6789-0abc-def012345678","macAddress":"0022487bC205","category":"FlowLogFlowEvent","flowLogResourceID":"/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG","targetResourceID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet","operationName":"FlowLogFlowEvent","flowRecords":{"flows":[{"aclID":"00000000-1234-abcd-ef00-c1c2c3c4c5c6","flowGroups":[{"rule":"DefaultRule_AllowInternetOutBound","flowTuples":["1663146003599,1.128.0.0,175.16.199.0,23956,443,6,O,B,NX,0,0,0,0","1663146003606,216.160.83.56,81.2.69.142,36776,443,6,O,E,NX,22,2217,33,0"]}]}]}} diff --git a/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log-expected.json b/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log-expected.json new file mode 100644 index 000000000000..bb1218680283 --- /dev/null +++ b/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log-expected.json @@ -0,0 +1,157 @@ +{ + "expected": [ + { + "@timestamp": "2022-09-14T09:00:52.562Z", + "azure_network_watcher_vnet": { + "log": { + "category": "FlowLogFlowEvent", + "flow_log": { + "guid": "abcdef01-2345-6789-0abc-def012345678", + "resource_id": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG", + "version": "4" + }, + "mac_address": "00-22-48-7B-C2-05", + "operation_name": "FlowLogFlowEvent", + "records": { + "flows": [ + { + "acl_id": "00000000-1234-abcd-ef00-c1c2c3c4c5c6", + "groups": [ + { + "rule": "DefaultRule_AllowInternetOutBound", + "tuples": [ + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "175.16.199.0", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "Begin" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "1.128.0.0", + "port": 23956 + }, + "timestamp": "2022-09-14T09:00:03.599Z" + }, + { + "bytes": { + "received": 0, + "sent": 2217 + }, + "destination": { + "ip": "81.2.69.142", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "End" + }, + "packets": { + "received": 33, + "sent": 22 + }, + "protocol": "6", + "source": { + "ip": "216.160.83.56", + "port": 36776 + }, + "timestamp": "2022-09-14T09:00:03.606Z" + } + ] + } + ] + } + ] + }, + "target_resource_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet", + "time": "2022-09-14T09:00:52.562Z" + } + }, + "destination": { + "bytes": [ + 0 + ], + "ip": [ + "175.16.199.0", + "81.2.69.142" + ], + "packets": [ + 0, + 33 + ], + "port": [ + 443 + ] + }, + "ecs": { + "version": "8.12.0" + }, + "event": { + "category": [ + "network" + ], + "kind": "event", + "original": "{\"time\":\"2022-09-14T09:00:52.5625085Z\",\"flowLogVersion\":4,\"flowLogGUID\":\"abcdef01-2345-6789-0abc-def012345678\",\"macAddress\":\"0022487bC205\",\"category\":\"FlowLogFlowEvent\",\"flowLogResourceID\":\"/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG\",\"targetResourceID\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet\",\"operationName\":\"FlowLogFlowEvent\",\"flowRecords\":{\"flows\":[{\"aclID\":\"00000000-1234-abcd-ef00-c1c2c3c4c5c6\",\"flowGroups\":[{\"rule\":\"DefaultRule_AllowInternetOutBound\",\"flowTuples\":[\"1663146003599,1.128.0.0,175.16.199.0,23956,443,6,O,B,NX,0,0,0,0\",\"1663146003606,216.160.83.56,81.2.69.142,36776,443,6,O,E,NX,22,2217,33,0\"]}]}]}}", + "type": [ + "info" + ] + }, + "network": { + "direction": [ + "outbound" + ], + "iana_number": [ + "6" + ] + }, + "related": { + "ip": [ + "175.16.199.0", + "81.2.69.142", + "1.128.0.0", + "216.160.83.56" + ] + }, + "rule": { + "name": [ + "DefaultRule_AllowInternetOutBound" + ] + }, + "source": { + "bytes": [ + 0, + 2217 + ], + "ip": [ + "1.128.0.0", + "216.160.83.56" + ], + "mac": "00-22-48-7B-C2-05", + "packets": [ + 0, + 22 + ], + "port": [ + 23956, + 36776 + ] + }, + "tags": [ + "preserve_original_event" + ] + } + ] +} \ No newline at end of file diff --git a/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/system/test-default-config.yml b/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/system/test-default-config.yml new file mode 100644 index 000000000000..32ba253b77ad --- /dev/null +++ b/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/system/test-default-config.yml @@ -0,0 +1,11 @@ +service: azure-network-watcher-vnet-log +input: azure-blob-storage +data_stream: + vars: + storage_url: "http://{{Hostname}}:{{Port}}/devstoreaccount1/" + account_name: devstoreaccount1 + service_account_key: "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==" + containers: | + - name: azure-container1 +assert: + hit_count: 1 diff --git a/packages/azure_network_watcher_vnet/data_stream/log/agent/stream/abs.yml.hbs b/packages/azure_network_watcher_vnet/data_stream/log/agent/stream/abs.yml.hbs new file mode 100644 index 000000000000..7921565ffc11 --- /dev/null +++ b/packages/azure_network_watcher_vnet/data_stream/log/agent/stream/abs.yml.hbs @@ -0,0 +1,47 @@ +{{#if account_name}} +account_name: {{account_name}} +{{/if}} +{{#if service_account_key}} +auth.shared_credentials.account_key: {{service_account_key}} +{{/if}} +{{#if service_account_uri}} +auth.connection_string.uri: {{service_account_uri}} +{{/if}} +{{#if storage_url}} +storage_url: {{storage_url}} +{{/if}} +{{#if number_of_workers}} +max_workers: {{number_of_workers}} +{{/if}} +{{#if poll}} +poll: {{poll}} +{{/if}} +{{#if poll_interval}} +poll_interval: {{poll_interval}} +{{/if}} +{{#if containers}} +containers: +{{containers}} +{{/if}} +{{#if file_selectors}} +file_selectors: +{{file_selectors}} +{{/if}} +{{#if timestamp_epoch}} +timestamp_epoch: {{timestamp_epoch}} +{{/if}} +expand_event_list_from_field: records +tags: +{{#if preserve_original_event}} + - preserve_original_event +{{/if}} +{{#each tags as |tag|}} + - {{tag}} +{{/each}} +{{#contains "forwarded" tags}} +publisher_pipeline.disable_host: true +{{/contains}} +{{#if processors}} +processors: +{{processors}} +{{/if}} diff --git a/packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/default.yml b/packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/default.yml new file mode 100644 index 000000000000..78ef0b6505c6 --- /dev/null +++ b/packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/default.yml @@ -0,0 +1,853 @@ +--- +description: Pipeline for processing VNet logs. +processors: + - set: + field: ecs.version + tag: set_ecs_version + value: 8.12.0 + - set: + field: event.kind + tag: set_event_kind + value: event + - append: + field: event.category + tag: append_event_category + value: network + allow_duplicates: false + - append: + field: event.type + tag: append_event_type + value: info + allow_duplicates: false + - rename: + field: message + tag: rename_message_to_event_original + target_field: event.original + ignore_missing: true + description: Renames the original `message` field to `event.original` to store a copy of the original message. The `event.original` field is not touched if the document already has one; it may happen when Logstash sends the document. + if: ctx.event?.original == null + - remove: + field: message + tag: remove_message + ignore_missing: true + description: The `message` field is no longer required if the document has an `event.original` field. + if: ctx.event?.original != null + - json: + field: event.original + tag: json_event_original + target_field: json + if: ctx.event?.original != null + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: json.time + tag: date_time + target_field: azure_network_watcher_vnet.log.time + formats: + - ISO8601 + if: ctx.json?.time != null && ctx.json.time != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - set: + field: '@timestamp' + tag: set_timestamp + copy_from: azure_network_watcher_vnet.log.time + ignore_empty_value: true + - convert: + field: json.flowLogVersion + tag: convert_flowLogVersion_to_string + type: string + ignore_missing: true + - rename: + field: json.flowLogVersion + tag: rename_flowLogVersion + target_field: azure_network_watcher_vnet.log.flow_log.version + ignore_missing: true + - rename: + field: json.flowLogGUID + tag: rename_flowLogGUID + target_field: azure_network_watcher_vnet.log.flow_log.guid + ignore_missing: true + - rename: + field: json.flowLogResourceID + tag: rename_flowLogResourceID + target_field: azure_network_watcher_vnet.log.flow_log.resource_id + ignore_missing: true + - rename: + field: json.category + tag: rename_category + target_field: azure_network_watcher_vnet.log.category + ignore_missing: true + - rename: + field: json.targetResourceID + tag: rename_targetResourceID + target_field: azure_network_watcher_vnet.log.target_resource_id + ignore_missing: true + - rename: + field: json.operationName + tag: rename_operationName + target_field: azure_network_watcher_vnet.log.operation_name + ignore_missing: true + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_rename_aclID + processor: + rename: + field: _ingest._value.aclID + tag: rename_aclID + target_field: _ingest._value.acl_id + ignore_missing: true + - uppercase: + field: json.macAddress + tag: uppercase_mac_address + ignore_missing: true + if: ctx.json?.macAddress !='' && ctx.json.macAddress != null + target_field: azure_network_watcher_vnet.log.mac_address + - gsub: + field: azure_network_watcher_vnet.log.mac_address + if: ctx.azure_network_watcher_vnet?.log?.mac_address != '' && ctx.azure_network_watcher_vnet.log.mac_address!= null + tag: gsub_mac_address + pattern: '(..)(?!$)' + replacement: '$1-' + ignore_missing: true + - set: + field: source.mac + tag: set_source_mac + copy_from: azure_network_watcher_vnet.log.mac_address + ignore_empty_value: true + - foreach: + field: json.flowRecords.flows + tag: foreach_flowRecords_flow_to_append_rule_to_rule_name + if: ctx.json?.flowRecords?.flows instanceof List + processor: + foreach: + field: _ingest._value.flowGroups + processor: + append: + field: rule.name + tag: append_rule_to_rule_name + value: '{{{_ingest._value.rule}}}' + allow_duplicates: false + - script: + lang: painless + tag: script_to_extract_flow_tupple_values + description: Script to extract flow tupple values. + if: ctx.json?.flowRecords?.flows instanceof List + source: | + def convertToArray(def list) { + List arrayList = new ArrayList(new HashSet(list)); + return arrayList; + } + List flowsList = ctx.json.flowRecords.flows; + List destinationBytes = new ArrayList(); + List sourceBytes = new ArrayList(); + List destinationPackets = new ArrayList(); + List sourcePackets = new ArrayList(); + List srcPort = new ArrayList(); + List destinationPort = new ArrayList(); + List destinationIp = new ArrayList(); + List srcIp = new ArrayList(); + + for (Object flowsObj: flowsList) { + Map flows = (Map) flowsObj; + List flowGroupsList = flows.containsKey('flowGroups') ? (List) flows.get('flowGroups') : Collections.emptyList(); + for (Object flowGroupsObj: flowGroupsList) { + Map flowGroups = (Map) flowGroupsObj; + List flowTuplesList = flowGroups.containsKey('flowTuples') ? (List) flowGroups.get('flowTuples') : Collections.emptyList(); + List newFlowTuplesList = new ArrayList(); + + for (Object flowTupleObj: flowTuplesList) { + if (flowTupleObj instanceof String) { + String flowTupleStr = (String) flowTupleObj; + String[] flowTupleParts = flowTupleStr.splitOnToken(','); + if (flowTupleParts.length == 13) { + Map flowTupleMap = new HashMap(); + + if (flowTupleParts.length > 0 && !flowTupleParts[0].isEmpty()) { + flowTupleMap.put('timestamp', flowTupleParts[0]); + } + + if (flowTupleParts.length > 1 && !flowTupleParts[1].isEmpty()) { + srcIp.add(flowTupleParts[1]); + flowTupleMap.put('sourceIp', flowTupleParts[1]); + } + + if (flowTupleParts.length > 2 && !flowTupleParts[2].isEmpty()) { + destinationIp.add(flowTupleParts[2]); + flowTupleMap.put('destIp', flowTupleParts[2]); + } + + if (flowTupleParts.length > 3 && !flowTupleParts[3].isEmpty()) { + srcPort.add(flowTupleParts[3]); + flowTupleMap.put('sourcePort', flowTupleParts[3]); + } + + if (flowTupleParts.length > 4 && !flowTupleParts[4].isEmpty()) { + destinationPort.add(flowTupleParts[4]); + flowTupleMap.put('destPort', flowTupleParts[4]); + } + + + if (flowTupleParts.length > 5 && !flowTupleParts[5].isEmpty()) { + flowTupleMap.put('protocol', flowTupleParts[5]); + } + + String flowDirection = flowTupleParts[6]; + if (flowDirection.contains('I')) { + flowDirection = 'Inbound'; + } else if (flowDirection.contains('O')) { + flowDirection = 'Outbound'; + } + + + if (flowTupleParts.length > 6 && !flowTupleParts[6].isEmpty()) { + flowTupleMap.put('flowDirection',flowDirection ); + } + + String flowState = flowTupleParts[7]; + if (flowState.contains('B')) { + flowState = 'Begin'; + } else if (flowState.contains('C')) { + flowState = 'Continuing'; + } else if (flowState.contains('E')) { + flowState = 'End'; + }else if(flowState.contains('D')){ + flowState = 'Deny'; + } + + if (flowTupleParts.length > 7 && !flowTupleParts[7].isEmpty()) { + flowTupleMap.put('flowState', flowState); + } + + if(flowTupleParts.length > 8 && !flowTupleParts[8].isEmpty()) { + flowTupleMap.put('flowEncryption', flowTupleParts[8]); + } + if(flowTupleParts.length > 9 && !flowTupleParts[9].isEmpty()) { + sourcePackets.add(flowTupleParts[9]); + flowTupleMap.put('packetsSent', flowTupleParts[9]); + } + if(flowTupleParts.length > 10 && !flowTupleParts[10].isEmpty()) { + sourceBytes.add(flowTupleParts[10]); + flowTupleMap.put('bytesSent', flowTupleParts[10]); + } + if(flowTupleParts.length > 11 && !flowTupleParts[11].isEmpty()) { + destinationPackets.add(flowTupleParts[11]); + flowTupleMap.put('packetsReceived', flowTupleParts[11]); + } + if(flowTupleParts.length > 12 && !flowTupleParts[12].isEmpty()) { + destinationBytes.add(flowTupleParts[12]); + flowTupleMap.put('bytesReceived', flowTupleParts[12]); + } + newFlowTuplesList.add(flowTupleMap); + } + } + } + flowGroups.put('flowTuples', newFlowTuplesList); + } + } + ctx.json.flowRecords.flows = flowsList; + if (ctx.destination == null ) { + Map map = new HashMap(); + ctx.put('destination', map); + } + if (ctx.source == null ) { + Map map = new HashMap(); + ctx.put('source', map); + } + if (ctx.destination?.packets == null ) { + ctx.destination.put('packets', convertToArray(destinationPackets)); + } + if (ctx.destination?.bytes == null ) { + ctx.destination.put('bytes', convertToArray(destinationBytes)); + } + if (ctx.source?.packets == null ) { + ctx.source.put('packets', convertToArray(sourcePackets)); + } + if (ctx.source?.bytes == null ) { + ctx.source.put('bytes', convertToArray(sourceBytes)); + } + if (ctx.source?.port == null ) { + ctx.source.put('port', convertToArray(srcPort)); + } + if (ctx.destination?.port == null ) { + ctx.destination.put('port', convertToArray(destinationPort)); + } + if (ctx.source?.ip == null ) { + ctx.source.put('ip', convertToArray(srcIp)); + } + if (ctx.destination?.ip == null ) { + ctx.destination.put('ip', convertToArray(destinationIp)); + } + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.flowRecords.flows + tag: foreach_flowRecords_flow_to_append_protocol_to_network_iana_number + if: ctx.json?.flowRecords?.flows instanceof List + processor: + foreach: + tag: foreach_flowGroups_to_append_protocol_to_network_iana_number + field: _ingest._value.flowGroups + processor: + foreach: + field: _ingest._value.flowTuples + processor: + append: + field: network.iana_number + tag: append_protocol_to_network_iana_number + value: '{{_ingest._value.protocol}}' + allow_duplicates: false + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_convert_destPort_to_long + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_convert_destPort_to_long + processor: + foreach: + field: _ingest._value.flowTuples + tag: foreach_flowTuples_to_convert_destPort_to_long + processor: + convert: + field: _ingest._value.destPort + tag: convert_destPort_to_long + target_field: _ingest._value.destination.port + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.destPort + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_convert_sourcePort_to_long + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_convert_sourcePort_to_long + processor: + foreach: + field: _ingest._value.flowTuples + tag: foreach_flowTuples_to_convert_sourcePort_to_long + processor: + convert: + field: _ingest._value.sourcePort + tag: convert_sourcePort_to_long + target_field: _ingest._value.source.port + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.sourcePort + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_convert_destIp_to_ip + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_convert_destIp_to_ip + processor: + foreach: + field: _ingest._value.flowTuples + tag: foreach_flowTuples_to_convert_destIp_to_ip + processor: + convert: + field: _ingest._value.destIp + tag: convert_destIp_to_ip + target_field: _ingest._value.destination.ip + type: ip + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.destIp + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_convert_sourceIp_to_ip + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_convert_sourceIp_to_ip + processor: + foreach: + field: _ingest._value.flowTuples + tag: foreach_flowTuples_to_convert_sourceIp_to_ip + processor: + convert: + field: _ingest._value.sourceIp + tag: convert_sourceIp_to_ip + target_field: _ingest._value.source.ip + type: ip + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.sourceIp + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_convert_packetsReceived_to_long + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_convert_packetsReceived_to_long + processor: + foreach: + field: _ingest._value.flowTuples + tag: foreach_flowTuples_to_convert_packetsReceived_to_long + processor: + convert: + field: _ingest._value.packetsReceived + tag: convert_packetsReceived_to_long + target_field: _ingest._value.packets.received + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.packetsReceived + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_convert_packetsSent_to_long + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_convert_packetsSent_to_long + processor: + foreach: + field: _ingest._value.flowTuples + tag: foreach_flowTuples_to_convert_packetsSent_to_long + processor: + convert: + field: _ingest._value.packetsSent + tag: convert_packetsSent_to_long + target_field: _ingest._value.packets.sent + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.packetsSent + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_convert_bytesReceived_to_long + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_convert_bytesReceived_to_long + processor: + foreach: + field: _ingest._value.flowTuples + tag: foreach_flowTuples_to_convert_bytesReceived_to_long + processor: + convert: + field: _ingest._value.bytesReceived + tag: convert_bytesReceived_to_long + target_field: _ingest._value.bytes.received + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.bytesReceived + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_convert_bytesSent_to_long + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_convert_bytesSent_to_long + processor: + foreach: + field: _ingest._value.flowTuples + tag: foreach_flowTuples_to_convert_bytesSent_to_long + processor: + convert: + field: _ingest._value.bytesSent + tag: convert_bytesSent_to_long + target_field: _ingest._value.bytes.sent + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.bytesSent + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_rename_flowDirection + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_rename_flowDirection + processor: + foreach: + field: _ingest._value.flowTuples + tag: foreach_flowTuples_to_rename_flowDirection + processor: + rename: + field: _ingest._value.flowDirection + tag: rename_flowDirection + target_field: _ingest._value.flow.direction + ignore_missing: true + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_append_flow_direction_to_network_direction + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_append_flow_direction_to_network_direction + processor: + foreach: + field: _ingest._value.flowTuples + tag: foreach_flowTuples_to_append_flow_direction_to_network_direction + processor: + append: + field: network.direction + tag: append_flow_direction_to_network_direction + value: '{{_ingest._value.flow.direction}}' + allow_duplicates: false + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_rename_flowEncryption + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_rename_flowEncryption + processor: + foreach: + field: _ingest._value.flowTuples + tag: foreach_flowTuples_to_rename_flowEncryption + processor: + rename: + field: _ingest._value.flowEncryption + tag: rename_flowEncryption + target_field: _ingest._value.flow.encryption + ignore_missing: true + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_rename_flowState + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_rename_flowState + processor: + foreach: + field: _ingest._value.flowTuples + tag: foreach_flowTuples_to_rename_flowState + processor: + rename: + field: _ingest._value.flowState + tag: rename_flowState + target_field: _ingest._value.flow.state + ignore_missing: true + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_rename_timestamp + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_rename_timestamp + processor: + foreach: + field: _ingest._value.flowTuples + tag: foreach_flowTuples_to_rename_timestamp + processor: + date: + field: _ingest._value.timestamp + tag: date_timestamp + target_field: _ingest._value.timestamp + formats: + - UNIX_MS + on_failure: + - remove: + field: _ingest._value.timestamp + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_remove_type_converted_fields + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_remove_type_converted_fields + processor: + foreach: + field: _ingest._value.flowTuples + tag: foreach_flowTuples_to_remove_type_converted_fields + processor: + remove: + field: + - _ingest._value.destPort + - _ingest._value.sourcePort + - _ingest._value.destIp + - _ingest._value.sourceIp + - _ingest._value.packetsReceived + - _ingest._value.packetsSent + - _ingest._value.bytesReceived + - _ingest._value.bytesSent + tag: remove_type_converted_fields + ignore_missing: true + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_rename_flowTuples + processor: + foreach: + field: _ingest._value.flowGroups + tag: foreach_flowGroups_to_rename_flowTuples + processor: + rename: + field: _ingest._value.flowTuples + tag: rename_flowTuples + target_field: _ingest._value.tuples + ignore_missing: true + - foreach: + field: json.flowRecords.flows + if: ctx.json?.flowRecords?.flows instanceof List + tag: foreach_flowRecords_flow_to_rename_flowGroups + processor: + rename: + field: _ingest._value.flowGroups + tag: rename_flowGroups + target_field: _ingest._value.groups + ignore_missing: true + - rename: + field: json.flowRecords.flows + tag: rename_records_flows + target_field: azure_network_watcher_vnet.log.records.flows + ignore_missing: true + - foreach: + field: source.port + if: ctx.source?.port instanceof List + tag: foreach_source_port_to_convert_source_port_to_long + processor: + convert: + field: _ingest._value + tag: convert_source_port_to_long + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: destination.port + if: ctx.destination?.port instanceof List + tag: foreach_destination_port_to_convert_destination_port_to_long + processor: + convert: + field: _ingest._value + tag: convert_destination_port_to_long + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: source.ip + tag: foreach_source_ip_to_convert_source_ip_to_ip + if: ctx.source?.ip instanceof List + processor: + convert: + field: _ingest._value + tag: convert_source_ip_to_ip + type: ip + ignore_missing: true + on_failure: + - remove: + field: _ingest._value + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: destination.ip + tag: foreach_destination_ip_to_convert_destination_ip_to_ip + if: ctx.destination?.ip instanceof List + processor: + convert: + field: _ingest._value + tag: convert_destination_ip_to_ip + type: ip + ignore_missing: true + on_failure: + - remove: + field: _ingest._value + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: source.packets + if: ctx.source?.packets instanceof List + tag: foreach_source_packets_to_convert_source_packets_to_long + processor: + convert: + field: _ingest._value + tag: convert_source_packets_to_long + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: source.bytes + if: ctx.source?.bytes instanceof List + tag: foreach_source_bytes_to_convert_source_bytes_to_long + processor: + convert: + field: _ingest._value + tag: convert_source_bytes_to_long + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: destination.packets + if: ctx.destination?.packets instanceof List + tag: foreach_destination_packets_to_convert_destination_packets_to_long + processor: + convert: + field: _ingest._value + tag: convert_destination_packets_to_long + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: destination.bytes + if: ctx.destination?.bytes instanceof List + tag: foreach_destination_bytes_to_convert_destination_bytes_to_long + processor: + convert: + field: _ingest._value + tag: convert_destination_bytes_to_long + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: destination.ip + tag: foreach_destination_ip_to_append_related_ip_from_destination_ip + if: ctx.destination?.ip instanceof List + processor: + append: + field: related.ip + tag: append_related_ip_from_destination_ip + value: '{{{_ingest._value}}}' + allow_duplicates: false + - foreach: + field: source.ip + tag: foreach_source_ip_to_append_related_ip_from_source_ip + if: ctx.source?.ip instanceof List + processor: + append: + field: related.ip + tag: append_related_ip_from_source_ip + value: '{{{_ingest._value}}}' + allow_duplicates: false + - foreach: + field: network.direction + if: ctx.network?.direction instanceof List + tag: foreach_network_direction_to_lowercase_network_direction + processor: + lowercase: + field: _ingest._value + tag: lowercase_network_direction + ignore_missing: true + - remove: + field: json + tag: remove_json + ignore_missing: true + - remove: + field: event.original + tag: remove_event_original + ignore_missing: true + if: ctx.tags == null || !(ctx.tags.contains('preserve_original_event')) + - script: + lang: painless + description: Drops null/empty values recursively. + tag: painless_remove_null + source: |- + boolean drop(Object object) { + if (object == null || object == '') { + return true; + } else if (object instanceof Map) { + ((Map) object).values().removeIf(v -> drop(v)); + return (((Map) object).size() == 0); + } else if (object instanceof List) { + ((List) object).removeIf(v -> drop(v)); + return (((List) object).length == 0); + } + return false; + } + drop(ctx); + - set: + field: event.kind + value: pipeline_error + tag: set_pipeline_error_into_event_kind + if: ctx.error?.message != null +on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - set: + field: event.kind + value: pipeline_error \ No newline at end of file diff --git a/packages/azure_network_watcher_vnet/data_stream/log/fields/base-fields.yml b/packages/azure_network_watcher_vnet/data_stream/log/fields/base-fields.yml new file mode 100644 index 000000000000..5560cba99e0e --- /dev/null +++ b/packages/azure_network_watcher_vnet/data_stream/log/fields/base-fields.yml @@ -0,0 +1,20 @@ +- name: data_stream.type + type: constant_keyword + description: Data stream type. +- name: data_stream.dataset + type: constant_keyword + description: Data stream dataset. +- name: data_stream.namespace + type: constant_keyword + description: Data stream namespace. +- name: event.module + type: constant_keyword + description: Event module. + value: azure_network_watcher_vnet +- name: event.dataset + type: constant_keyword + description: Event dataset. + value: azure_network_watcher_vnet.log +- name: '@timestamp' + type: date + description: Event timestamp. diff --git a/packages/azure_network_watcher_vnet/data_stream/log/fields/beats.yml b/packages/azure_network_watcher_vnet/data_stream/log/fields/beats.yml new file mode 100644 index 000000000000..80cbae91caed --- /dev/null +++ b/packages/azure_network_watcher_vnet/data_stream/log/fields/beats.yml @@ -0,0 +1,9 @@ +- name: input.type + description: Type of Filebeat input. + type: keyword +- name: log.offset + type: long + description: Log offset. +- name: tags + type: keyword + description: User defined tags. diff --git a/packages/azure_network_watcher_vnet/data_stream/log/fields/fields.yml b/packages/azure_network_watcher_vnet/data_stream/log/fields/fields.yml new file mode 100644 index 000000000000..06eefbcfc2b2 --- /dev/null +++ b/packages/azure_network_watcher_vnet/data_stream/log/fields/fields.yml @@ -0,0 +1,126 @@ +- name: azure_network_watcher_vnet + type: group + fields: + - name: log + type: group + fields: + - name: category + type: keyword + description: Category of the event. + - name: flow_log + type: group + fields: + - name: guid + type: keyword + description: Resource GUID of the FlowLog resource. + - name: resource_id + type: keyword + description: Resource ID of the FlowLog resource. + - name: version + type: keyword + description: Version of the flow log schema. + - name: mac_address + type: keyword + description: MAC address of the network interface where the event was captured. + - name: operation_name + type: keyword + description: Always FlowLogFlowEvent. + - name: records + type: group + fields: + - name: flows + type: group + fields: + - name: acl_id + type: keyword + description: Identifier of the resource that's evaluating traffic, either a network security group or Virtual Network Manager. + - name: groups + type: group + fields: + - name: rule + type: keyword + description: Name of the rule that allowed or denied the traffic. + - name: tuples + type: group + fields: + - name: bytes + type: group + fields: + - name: received + type: long + description: Total number of TCP packet bytes sent from destination to source. + - name: sent + type: long + description: Total number of TCP packet bytes sent from source to destination. + - name: destination + type: group + fields: + - name: ip + type: ip + description: Destination IP address. + - name: port + type: long + description: Destination port. + - name: flow + type: group + fields: + - name: direction + type: keyword + description: Direction of the traffic flow. + - name: encryption + type: keyword + description: Encryption state of the flow. + - name: state + type: keyword + description: State of the flow. + - name: packets + type: group + fields: + - name: received + type: long + description: Total number of packets sent from destination to source. + - name: sent + type: long + description: Total number of packets sent from source to destination. + - name: protocol + type: keyword + description: Protocol of the flow. + - name: source + type: group + fields: + - name: ip + type: ip + description: Source IP address. + - name: port + type: long + description: Source port. + - name: timestamp + type: date + description: Time stamp of when the flow occurred in UNIX epoch format. + - name: mac + type: keyword + description: MAC address of the network interface on which the flows are listed. + - name: rule + type: keyword + description: Rule for which the flows are listed. + - name: version + type: keyword + description: Version number of the flow log's event schema. + - name: target_resource_id + type: keyword + description: Resource ID of the target resource that's associated with the FlowLog resource. + - name: time + type: date + description: Time in UTC when the event was logged. +- name: azure.storage + type: group + fields: + - name: container.name + type: keyword + description: The name of the Azure Blob Storage container. + - name: blob.name + type: keyword + description: The name of the Azure Blob Storage blob object. + - name: blob.content_type + type: keyword + description: The content type of the Azure Blob Storage blob object. diff --git a/packages/azure_network_watcher_vnet/data_stream/log/manifest.yml b/packages/azure_network_watcher_vnet/data_stream/log/manifest.yml new file mode 100644 index 000000000000..3f5dcef90dd3 --- /dev/null +++ b/packages/azure_network_watcher_vnet/data_stream/log/manifest.yml @@ -0,0 +1,119 @@ +title: Collect VNet logs from Azure Network Watcher +type: logs +streams: + - input: azure-blob-storage + description: Collect VNet logs via Azure Blob Storage. + title: VNet Logs + template_path: abs.yml.hbs + vars: + - name: account_name + type: text + title: Account Name + description: | + This attribute is required for various internal operations with respect to authentication, creating service clients and blob clients which are used internally for various processing purposes. + required: true + show_user: true + - name: service_account_key + type: password + title: Service Account Key + description: | + This attribute contains the access key, found under the Access keys section on Azure Cloud, under the respective storage account. A single storage account can contain multiple containers, and they will all use this common access key. + required: false + show_user: true + secret: true + - name: service_account_uri + type: text + title: Service Account URI + description: | + This attribute contains the connection string, found under the Access keys section on Azure Cloud, under the respective storage account. A single storage account can contain multiple containers, and they will all use this common connection string. + required: false + show_user: false + - name: storage_url + type: text + title: Storage URL + description: | + Use this attribute to specify a custom storage URL if required. By default it points to azure cloud storage. Only use this if there is a specific need to connect to a different environment where blob storage is available. + URL format : {{protocol}}://{{account_name}}.{{storage_uri}}. + required: false + show_user: false + - name: number_of_workers + type: integer + title: Maximum number of workers + multi: false + required: false + show_user: true + default: 3 + description: Determines how many workers are spawned per container. Maximum allowed value is 5000. + - name: poll + type: bool + title: Polling + multi: false + required: false + show_user: true + default: true + description: Determines if the container will be continuously polled for new documents. + - name: poll_interval + type: text + title: Polling interval + multi: false + required: false + show_user: true + default: 15s + description: Determines the time interval between polling operations. + - name: containers + type: yaml + title: Containers + description: "This attribute contains the details about a specific container like, name, number_of_workers, poll, poll_interval etc. \nThe attribute 'name' is specific to a container as it describes the container name, while the fields number_of_workers, poll, poll_interval can exist both at the container level and at the global level. \nIf you have already defined the attributes globally, then you can only specify the container name in this yaml config. \nIf you want to override any specific attribute for a container, then, you can define it here. \nAny attribute defined in the yaml will override the global definitions. Please see the relevant [documentation](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-azure-blob-storage.html#attrib-containers) for further information.\n" + required: true + show_user: true + default: | + #- name: azure-container1 + # max_workers: 3 + # poll: true + # poll_interval: 15s + #- name: azure-container2 + # max_workers: 3 + # poll: true + # poll_interval: 10s + - name: file_selectors + type: yaml + title: File Selectors + multi: false + required: false + show_user: false + default: | + # - regex: "event/" + description: "If the container will have events that correspond to files that this integration shouldn’t process, file_selectors can be used to limit the files that are downloaded. This is a list of selectors which is made up of regex patters. \nThe regex should match the container filepath. Regexes use [RE2 syntax](https://pkg.go.dev/regexp/syntax). Files that don’t match one of the regexes will not be processed.\n" + - name: timestamp_epoch + type: integer + title: Timestamp Epoch + multi: false + required: false + description: "This attribute can be used to filter out files/blobs which have a timestamp older than the specified value. The value of this attribute should be in unix epoch (seconds) format." + show_user: false + - name: preserve_original_event + required: true + show_user: true + title: Preserve original event + description: Preserves a raw copy of the original event, added to the field `event.original`. + type: bool + multi: false + default: false + - name: processors + type: yaml + title: Processors + multi: false + required: false + show_user: false + description: | + Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. See [Processors](https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html) for details. + - name: tags + type: text + title: Tags + description: Tags to include in the published event. + required: true + default: + - forwarded + - azure_network_watcher_vnet-log + multi: true + show_user: false diff --git a/packages/azure_network_watcher_vnet/data_stream/log/sample_event.json b/packages/azure_network_watcher_vnet/data_stream/log/sample_event.json new file mode 100644 index 000000000000..c892c7cdc2d7 --- /dev/null +++ b/packages/azure_network_watcher_vnet/data_stream/log/sample_event.json @@ -0,0 +1,682 @@ +{ + "@timestamp": "2022-09-14T09:00:52.562Z", + "agent": { + "ephemeral_id": "da7d1177-fe10-44f3-b86c-e04f04934ea1", + "id": "71355b80-0d54-4a86-94dc-712d08b2cf9d", + "name": "docker-fleet-agent", + "type": "filebeat", + "version": "8.12.0" + }, + "azure": { + "storage": { + "blob": { + "content_type": "application/json", + "name": "testblob" + }, + "container": { + "name": "azure-container1" + } + } + }, + "azure_network_watcher_vnet": { + "log": { + "category": "FlowLogFlowEvent", + "flow_log": { + "guid": "abcdef01-2345-6789-0abc-def012345678", + "resource_id": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG", + "version": "4" + }, + "mac_address": "00-22-48-71-C2-05", + "operation_name": "FlowLogFlowEvent", + "records": { + "flows": [ + { + "acl_id": "00000000-1234-abcd-ef00-c1c2c3c4c5c6", + "groups": [ + { + "rule": "DefaultRule_AllowInternetOutBound", + "tuples": [ + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "52.239.184.180", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "Begin" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 23956 + }, + "timestamp": "2022-09-14T09:00:03.599Z" + }, + { + "bytes": { + "received": 1580, + "sent": 767 + }, + "destination": { + "ip": "52.239.184.180", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "End" + }, + "packets": { + "received": 2, + "sent": 3 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 23956 + }, + "timestamp": "2022-09-14T09:00:03.606Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "40.74.146.17", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "Begin" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 22730 + }, + "timestamp": "2022-09-14T09:00:03.637Z" + }, + { + "bytes": { + "received": 4569, + "sent": 705 + }, + "destination": { + "ip": "40.74.146.17", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "End" + }, + "packets": { + "received": 4, + "sent": 3 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 22730 + }, + "timestamp": "2022-09-14T09:00:03.640Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "40.74.146.17", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "Begin" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 22732 + }, + "timestamp": "2022-09-14T09:00:04.251Z" + }, + { + "bytes": { + "received": 4569, + "sent": 705 + }, + "destination": { + "ip": "40.74.146.17", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "End" + }, + "packets": { + "received": 4, + "sent": 3 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 22732 + }, + "timestamp": "2022-09-14T09:00:04.251Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "40.74.146.17", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "Begin" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 22734 + }, + "timestamp": "2022-09-14T09:00:04.622Z" + }, + { + "bytes": { + "received": 108, + "sent": 134 + }, + "destination": { + "ip": "40.74.146.17", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "End" + }, + "packets": { + "received": 1, + "sent": 2 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 22734 + }, + "timestamp": "2022-09-14T09:00:04.622Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "104.16.218.84", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "Begin" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 36776 + }, + "timestamp": "2022-09-14T09:00:17.343Z" + }, + { + "bytes": { + "received": 32466, + "sent": 2217 + }, + "destination": { + "ip": "104.16.218.84", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "End" + }, + "packets": { + "received": 33, + "sent": 22 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 36776 + }, + "timestamp": "2022-09-14T09:00:22.793Z" + } + ] + } + ] + }, + { + "acl_id": "01020304-abcd-ef00-1234-102030405060", + "groups": [ + { + "rule": "BlockHighRiskTCPPortsFromInternet", + "tuples": [ + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 22 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "101.33.218.153", + "port": 55188 + }, + "timestamp": "2022-09-14T08:59:58.065Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 119 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "192.241.200.164", + "port": 35276 + }, + "timestamp": "2022-09-14T09:00:05.503Z" + } + ] + }, + { + "rule": "Internet", + "tuples": [ + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 44357 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "20.106.221.10", + "port": 50557 + }, + "timestamp": "2022-09-14T08:59:49.563Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 35945 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "20.55.117.81", + "port": 62797 + }, + "timestamp": "2022-09-14T08:59:49.679Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 65515 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "20.55.113.5", + "port": 51961 + }, + "timestamp": "2022-09-14T08:59:49.709Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 40129 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "13.65.224.51", + "port": 40497 + }, + "timestamp": "2022-09-14T08:59:50.049Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 30472 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "20.55.117.81", + "port": 62797 + }, + "timestamp": "2022-09-14T08:59:50.145Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 28184 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "20.55.113.5", + "port": 51961 + }, + "timestamp": "2022-09-14T08:59:50.175Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 31244 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "20.106.221.10", + "port": 50557 + }, + "timestamp": "2022-09-14T09:00:15.545Z" + } + ] + } + ] + } + ] + }, + "target_resource_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet", + "time": "2022-09-14T09:00:52.562Z" + } + }, + "cloud": { + "provider": "azure" + }, + "data_stream": { + "dataset": "azure_network_watcher_vnet.log", + "namespace": "ep", + "type": "logs" + }, + "destination": { + "bytes": [ + 1580, + 0, + 32466, + 108, + 4569 + ], + "ip": [ + "52.239.184.180", + "104.16.218.84", + "40.74.146.17", + "10.0.0.6" + ], + "packets": [ + 33, + 0, + 1, + 2, + 4 + ], + "port": [ + 22, + 44357, + 65515, + 40129, + 31244, + 443, + 30472, + 119, + 28184, + 35945 + ] + }, + "ecs": { + "version": "8.12.0" + }, + "elastic_agent": { + "id": "71355b80-0d54-4a86-94dc-712d08b2cf9d", + "snapshot": false, + "version": "8.12.0" + }, + "event": { + "agent_id_status": "verified", + "category": [ + "network" + ], + "dataset": "azure_network_watcher_vnet.log", + "ingested": "2024-04-18T12:33:38Z", + "kind": "event", + "type": [ + "info" + ] + }, + "input": { + "type": "azure-blob-storage" + }, + "log": { + "file": { + "path": "http://elastic-package-service-azure-network-watcher-vnet-log-1:10000/devstoreaccount1/azure-container1/testblob" + }, + "offset": 1 + }, + "network": { + "direction": [ + "outbound", + "inbound" + ], + "iana_number": [ + "6" + ] + }, + "related": { + "ip": [ + "52.239.184.180", + "104.16.218.84", + "40.74.146.17", + "10.0.0.6", + "13.65.224.51", + "20.106.221.10", + "20.55.113.5", + "192.241.200.164", + "20.55.117.81", + "101.33.218.153" + ] + }, + "rule": { + "name": [ + "DefaultRule_AllowInternetOutBound", + "BlockHighRiskTCPPortsFromInternet", + "Internet" + ] + }, + "source": { + "bytes": [ + 0, + 2217, + 134, + 767, + 705 + ], + "ip": [ + "13.65.224.51", + "20.106.221.10", + "20.55.113.5", + "192.241.200.164", + "10.0.0.6", + "20.55.117.81", + "101.33.218.153" + ], + "mac": "00-22-48-71-C2-05", + "packets": [ + 22, + 0, + 2, + 3 + ], + "port": [ + 22734, + 23956, + 40497, + 35276, + 62797, + 22730, + 22732, + 55188, + 51961, + 36776, + 50557 + ] + }, + "tags": [ + "forwarded", + "azure_network_watcher_vnet-log" + ] +} \ No newline at end of file diff --git a/packages/azure_network_watcher_vnet/docs/README.md b/packages/azure_network_watcher_vnet/docs/README.md new file mode 100644 index 000000000000..83f489754bb9 --- /dev/null +++ b/packages/azure_network_watcher_vnet/docs/README.md @@ -0,0 +1,794 @@ +# Azure Network Watcher VNet + +[VNet](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview) flow logs in Azure Network Watcher track IP traffic in virtual networks, sending data to Azure Storage for analysis. This information can be exported to various tools like SIEM solutions or IDS. Unlike NSG flow logs, VNet flow logs offer enhanced monitoring capabilities. They are crucial for understanding network activity, identifying connections, and monitoring open ports. Flow logs serve as the primary source for optimizing resources, ensuring compliance, and detecting intrusions in cloud environments, catering to both startups and enterprises. + +## Data streams + +This integration supports ingestion of logs from Azure Network Watcher VNet, via [Azure Blob Storage](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-azure-blob-storage.html) input. + +**Log** is used to retrieve VNet Flow data. See more details in the documentation [here](https://learn.microsoft.com/en-us/azure/network-watcher/vnet-flow-logs-overview). + +## Requirements + +Elastic Agent must be installed. For more information, refer to the link [here](https://www.elastic.co/guide/en/fleet/current/elastic-agent-installation.html). + +### Installing and managing an Elastic Agent: + +You have a few options for installing and managing an Elastic Agent: + +### Install a Fleet-managed Elastic Agent (recommended): + +With this approach, you install Elastic Agent and use Fleet in Kibana to define, configure, and manage your agents in a central location. We recommend using Fleet management because it makes the management and upgrade of your agents considerably easier. + +### Install Elastic Agent in standalone mode (advanced users): + +With this approach, you install Elastic Agent and manually configure the agent locally on the system where it’s installed. You are responsible for managing and upgrading the agents. This approach is reserved for advanced users only. + +### Install Elastic Agent in a containerized environment: + +You can run Elastic Agent inside a container, either with Fleet Server or standalone. Docker images for all versions of Elastic Agent are available from the Elastic Docker registry, and we provide deployment manifests for running on Kubernetes. + +There are some minimum requirements for running Elastic Agent and for more information, refer to the link [here](https://www.elastic.co/guide/en/fleet/current/elastic-agent-installation.html#_minimum_requirements). + +The minimum **Kibana version** required is **8.12.0**. + +## Setup + +### To collect data from Azure Network Watcher VNet follow the below steps: + +1. In the [Azure portal](https://portal.azure.com/), go to your **storage account**. +2. Under **Security + networking**, Click On **Access keys**. Your account access keys appear, as well as the complete connection string for each key. +3. Click On **Show** keys to show your **access keys** and **connection strings** and to enable buttons to copy the values. +4. Under key1, find the Key value. Click On the Copy button to copy the **account key**. Same way you can copy the **storage account name** shown above keys. +5. Go to **Containers** under **Data storage** in your storage account to copy the **container name**. + +### Enabling the integration in Elastic: + +1. In Kibana go to Management > Integrations. +2. In "Search for integrations" search bar, type Azure Network Watcher VNet. +3. Click on the "Azure Network Watcher VNet" integration from the search results. +4. Click on the "Add Azure Network Watcher VNet" button to add the integration. +5. While adding the integration, to collect logs via Azure Blob Storage, keep **Collect VNet logs via Azure Blob Storage** toggle on and then configure following parameters: + - account name + - containers + - service account key/service account uri +6. Save the integration. + +## Logs Reference + +### Log + +This is the `Log` dataset. + +#### Example + +An example event for `log` looks as following: + +```json +{ + "@timestamp": "2022-09-14T09:00:52.562Z", + "agent": { + "ephemeral_id": "da7d1177-fe10-44f3-b86c-e04f04934ea1", + "id": "71355b80-0d54-4a86-94dc-712d08b2cf9d", + "name": "docker-fleet-agent", + "type": "filebeat", + "version": "8.12.0" + }, + "azure": { + "storage": { + "blob": { + "content_type": "application/json", + "name": "testblob" + }, + "container": { + "name": "azure-container1" + } + } + }, + "azure_network_watcher_vnet": { + "log": { + "category": "FlowLogFlowEvent", + "flow_log": { + "guid": "abcdef01-2345-6789-0abc-def012345678", + "resource_id": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG", + "version": "4" + }, + "mac_address": "00-22-48-71-C2-05", + "operation_name": "FlowLogFlowEvent", + "records": { + "flows": [ + { + "acl_id": "00000000-1234-abcd-ef00-c1c2c3c4c5c6", + "groups": [ + { + "rule": "DefaultRule_AllowInternetOutBound", + "tuples": [ + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "52.239.184.180", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "Begin" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 23956 + }, + "timestamp": "2022-09-14T09:00:03.599Z" + }, + { + "bytes": { + "received": 1580, + "sent": 767 + }, + "destination": { + "ip": "52.239.184.180", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "End" + }, + "packets": { + "received": 2, + "sent": 3 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 23956 + }, + "timestamp": "2022-09-14T09:00:03.606Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "40.74.146.17", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "Begin" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 22730 + }, + "timestamp": "2022-09-14T09:00:03.637Z" + }, + { + "bytes": { + "received": 4569, + "sent": 705 + }, + "destination": { + "ip": "40.74.146.17", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "End" + }, + "packets": { + "received": 4, + "sent": 3 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 22730 + }, + "timestamp": "2022-09-14T09:00:03.640Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "40.74.146.17", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "Begin" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 22732 + }, + "timestamp": "2022-09-14T09:00:04.251Z" + }, + { + "bytes": { + "received": 4569, + "sent": 705 + }, + "destination": { + "ip": "40.74.146.17", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "End" + }, + "packets": { + "received": 4, + "sent": 3 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 22732 + }, + "timestamp": "2022-09-14T09:00:04.251Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "40.74.146.17", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "Begin" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 22734 + }, + "timestamp": "2022-09-14T09:00:04.622Z" + }, + { + "bytes": { + "received": 108, + "sent": 134 + }, + "destination": { + "ip": "40.74.146.17", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "End" + }, + "packets": { + "received": 1, + "sent": 2 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 22734 + }, + "timestamp": "2022-09-14T09:00:04.622Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "104.16.218.84", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "Begin" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 36776 + }, + "timestamp": "2022-09-14T09:00:17.343Z" + }, + { + "bytes": { + "received": 32466, + "sent": 2217 + }, + "destination": { + "ip": "104.16.218.84", + "port": 443 + }, + "flow": { + "direction": "Outbound", + "encryption": "NX", + "state": "End" + }, + "packets": { + "received": 33, + "sent": 22 + }, + "protocol": "6", + "source": { + "ip": "10.0.0.6", + "port": 36776 + }, + "timestamp": "2022-09-14T09:00:22.793Z" + } + ] + } + ] + }, + { + "acl_id": "01020304-abcd-ef00-1234-102030405060", + "groups": [ + { + "rule": "BlockHighRiskTCPPortsFromInternet", + "tuples": [ + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 22 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "101.33.218.153", + "port": 55188 + }, + "timestamp": "2022-09-14T08:59:58.065Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 119 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "192.241.200.164", + "port": 35276 + }, + "timestamp": "2022-09-14T09:00:05.503Z" + } + ] + }, + { + "rule": "Internet", + "tuples": [ + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 44357 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "20.106.221.10", + "port": 50557 + }, + "timestamp": "2022-09-14T08:59:49.563Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 35945 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "20.55.117.81", + "port": 62797 + }, + "timestamp": "2022-09-14T08:59:49.679Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 65515 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "20.55.113.5", + "port": 51961 + }, + "timestamp": "2022-09-14T08:59:49.709Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 40129 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "13.65.224.51", + "port": 40497 + }, + "timestamp": "2022-09-14T08:59:50.049Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 30472 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "20.55.117.81", + "port": 62797 + }, + "timestamp": "2022-09-14T08:59:50.145Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 28184 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "20.55.113.5", + "port": 51961 + }, + "timestamp": "2022-09-14T08:59:50.175Z" + }, + { + "bytes": { + "received": 0, + "sent": 0 + }, + "destination": { + "ip": "10.0.0.6", + "port": 31244 + }, + "flow": { + "direction": "Inbound", + "encryption": "NX", + "state": "Deny" + }, + "packets": { + "received": 0, + "sent": 0 + }, + "protocol": "6", + "source": { + "ip": "20.106.221.10", + "port": 50557 + }, + "timestamp": "2022-09-14T09:00:15.545Z" + } + ] + } + ] + } + ] + }, + "target_resource_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet", + "time": "2022-09-14T09:00:52.562Z" + } + }, + "cloud": { + "provider": "azure" + }, + "data_stream": { + "dataset": "azure_network_watcher_vnet.log", + "namespace": "ep", + "type": "logs" + }, + "destination": { + "bytes": [ + 1580, + 0, + 32466, + 108, + 4569 + ], + "ip": [ + "52.239.184.180", + "104.16.218.84", + "40.74.146.17", + "10.0.0.6" + ], + "packets": [ + 33, + 0, + 1, + 2, + 4 + ], + "port": [ + 22, + 44357, + 65515, + 40129, + 31244, + 443, + 30472, + 119, + 28184, + 35945 + ] + }, + "ecs": { + "version": "8.12.0" + }, + "elastic_agent": { + "id": "71355b80-0d54-4a86-94dc-712d08b2cf9d", + "snapshot": false, + "version": "8.12.0" + }, + "event": { + "agent_id_status": "verified", + "category": [ + "network" + ], + "dataset": "azure_network_watcher_vnet.log", + "ingested": "2024-04-18T12:33:38Z", + "kind": "event", + "type": [ + "info" + ] + }, + "input": { + "type": "azure-blob-storage" + }, + "log": { + "file": { + "path": "http://elastic-package-service-azure-network-watcher-vnet-log-1:10000/devstoreaccount1/azure-container1/testblob" + }, + "offset": 1 + }, + "network": { + "direction": [ + "outbound", + "inbound" + ], + "iana_number": [ + "6" + ] + }, + "related": { + "ip": [ + "52.239.184.180", + "104.16.218.84", + "40.74.146.17", + "10.0.0.6", + "13.65.224.51", + "20.106.221.10", + "20.55.113.5", + "192.241.200.164", + "20.55.117.81", + "101.33.218.153" + ] + }, + "rule": { + "name": [ + "DefaultRule_AllowInternetOutBound", + "BlockHighRiskTCPPortsFromInternet", + "Internet" + ] + }, + "source": { + "bytes": [ + 0, + 2217, + 134, + 767, + 705 + ], + "ip": [ + "13.65.224.51", + "20.106.221.10", + "20.55.113.5", + "192.241.200.164", + "10.0.0.6", + "20.55.117.81", + "101.33.218.153" + ], + "mac": "00-22-48-71-C2-05", + "packets": [ + 22, + 0, + 2, + 3 + ], + "port": [ + 22734, + 23956, + 40497, + 35276, + 62797, + 22730, + 22732, + 55188, + 51961, + 36776, + 50557 + ] + }, + "tags": [ + "forwarded", + "azure_network_watcher_vnet-log" + ] +} +``` + +**Exported fields** + +| Field | Description | Type | +|---|---|---| +| @timestamp | Event timestamp. | date | +| azure.storage.blob.content_type | The content type of the Azure Blob Storage blob object. | keyword | +| azure.storage.blob.name | The name of the Azure Blob Storage blob object. | keyword | +| azure.storage.container.name | The name of the Azure Blob Storage container. | keyword | +| azure_network_watcher_vnet.log.category | Category of the event. | keyword | +| azure_network_watcher_vnet.log.flow_log.guid | Resource GUID of the FlowLog resource. | keyword | +| azure_network_watcher_vnet.log.flow_log.resource_id | Resource ID of the FlowLog resource. | keyword | +| azure_network_watcher_vnet.log.flow_log.version | Version of the flow log schema. | keyword | +| azure_network_watcher_vnet.log.mac_address | MAC address of the network interface where the event was captured. | keyword | +| azure_network_watcher_vnet.log.operation_name | Always FlowLogFlowEvent. | keyword | +| azure_network_watcher_vnet.log.records.flows.acl_id | Identifier of the resource that's evaluating traffic, either a network security group or Virtual Network Manager. | keyword | +| azure_network_watcher_vnet.log.records.flows.groups.mac | MAC address of the network interface on which the flows are listed. | keyword | +| azure_network_watcher_vnet.log.records.flows.groups.rule | Name of the rule that allowed or denied the traffic. | keyword | +| azure_network_watcher_vnet.log.records.flows.groups.tuples.bytes.received | Total number of TCP packet bytes sent from destination to source. | long | +| azure_network_watcher_vnet.log.records.flows.groups.tuples.bytes.sent | Total number of TCP packet bytes sent from source to destination. | long | +| azure_network_watcher_vnet.log.records.flows.groups.tuples.destination.ip | Destination IP address. | ip | +| azure_network_watcher_vnet.log.records.flows.groups.tuples.destination.port | Destination port. | long | +| azure_network_watcher_vnet.log.records.flows.groups.tuples.flow.direction | Direction of the traffic flow. | keyword | +| azure_network_watcher_vnet.log.records.flows.groups.tuples.flow.encryption | Encryption state of the flow. | keyword | +| azure_network_watcher_vnet.log.records.flows.groups.tuples.flow.state | State of the flow. | keyword | +| azure_network_watcher_vnet.log.records.flows.groups.tuples.packets.received | Total number of packets sent from destination to source. | long | +| azure_network_watcher_vnet.log.records.flows.groups.tuples.packets.sent | Total number of packets sent from source to destination. | long | +| azure_network_watcher_vnet.log.records.flows.groups.tuples.protocol | Protocol of the flow. | keyword | +| azure_network_watcher_vnet.log.records.flows.groups.tuples.source.ip | Source IP address. | ip | +| azure_network_watcher_vnet.log.records.flows.groups.tuples.source.port | Source port. | long | +| azure_network_watcher_vnet.log.records.flows.groups.tuples.timestamp | Time stamp of when the flow occurred in UNIX epoch format. | date | +| azure_network_watcher_vnet.log.records.flows.rule | Rule for which the flows are listed. | keyword | +| azure_network_watcher_vnet.log.records.version | Version number of the flow log's event schema. | keyword | +| azure_network_watcher_vnet.log.target_resource_id | Resource ID of the target resource that's associated with the FlowLog resource. | keyword | +| azure_network_watcher_vnet.log.time | Time in UTC when the event was logged. | date | +| data_stream.dataset | Data stream dataset. | constant_keyword | +| data_stream.namespace | Data stream namespace. | constant_keyword | +| data_stream.type | Data stream type. | constant_keyword | +| event.dataset | Event dataset. | constant_keyword | +| event.module | Event module. | constant_keyword | +| input.type | Type of Filebeat input. | keyword | +| log.offset | Log offset. | long | +| tags | User defined tags. | keyword | + diff --git a/packages/azure_network_watcher_vnet/img/azure-network-watcher-vnet-overview.png b/packages/azure_network_watcher_vnet/img/azure-network-watcher-vnet-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..4c60d44b07eedb54a16f47aaf1f22b5ab8ecff06 GIT binary patch literal 436647 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�?jMip(PSzNXiBaar_l@V#h;a9uH ztCYOF{oz=_K=jIhlr;?lfn!-{Yrn1?R9&etVEdDfVI%TueN26Rn%UvsL7U>*#`*Ju zP7{1%`-SZ~-4{tr35Oi3wHM6AM+n@gG0E`cz~UBNFsSvLPOFonzOVm`hhgSJxG3kg z-y{xEuu-Uo+U_4wKAVas;(EGrgW{tg7bV1+@|!{$^vOe>JdCAPR!Sk;Y=3BkrDsn& zT(|$JU6irhq8QvVA+MY*AAFsY4IZU=!%$1)X`trub5-%F$5JMB#Lek55o(715b-fx z{2mmM^neqxdoi)f5dkx)%Jl>nzEp{4db|0DA)5>i3jh4mZIEmqHhf{D#oIwFw{k0s zx@H2Lhx)oG#R!p6SsTUi!6vEk{4NhoiY=uR9qWn7ANSm<$C?*`km z>$kpXu^tc7ze*1HHF4X}b^NV7TA_SsGNUK7nA?LY{!x^Q+BDqdrj(wG%cI#9{)i+P zN;4sAbK-HlLGSnB(PQP%Dzf4?t5g^smbBccqn4WH^<8*zt?Kdt(*J&T6%sTAAeyD zW{$SufL-N;{Kx%qW!O6lBi6u!dti|Xlr{pZ=qXs3Wk6#k#c`iEeR{VF>_b_)4i6@qhUle7Z={_ zT$5$Yw!~2d-Ve~*@Q5sy2Q;f=lQ__K3l7CS1ofVzwWjbmJrAPg#z#$MR%Krx(D>#fal+OyUY(`j z?-`UQjNR_Nx>Ub%2q)XlCtcr~98oysOZ-p}_Z@0B92>t2fBm)|i<J zluU-}Js?b-s@Hy;m8Q1qaOTJ9d1L}kqEB5O=O@W`^a@~?{G!{Mtc+yQM#d!=ymyl@ z+-9yx@`m&G!5ms~_e0TRy>9O3hk#)I@px#VclagT&HgyiT?qtI%R5~)()NgjKCk&Z z`I7+>WU2IGNvI~Up-7H!2f$elZ->aErK3d)b)~r+p~Xk<&)<)FtljV;AH~*sgXRM@Jml@X|vilttOG0O6lr+BcWgQex1o{#KcoY7X8Y!Slvgp?Duy ze+-l!frvPUq{C1MZ#{oHc+U_w!sC2>F>*AC!Y`ZI`s?x4}yGR{=!g`7;itF;>azzJ+`$b=)|dM|WSF zK}voG?Y<7vD>eAhHeo1Y#^5!*q)fq9#fb#2X1NtKY(ifCLck zVe`UpD-f>ZS)#{1gm95NY9vb#!nM%s6i@a6!o4TD#9R~9F!!m%IX-Pf z`NL{l@#v#_T7$$X-!_u4X-1e0cmEGS#HA{V_NDKFdP#&dGtE#-s{+1NW@&DsCkXc_ zLNok^RqrTRcJf_{N#jGtwx|2%8%@K%6bcIQV`? zWJ$4!KRLvY>9Sw>@)Fa3mfwjYcCfnLGx5NC7wS_}tQu4NNYQwqor3X0Yw^lpapWxG{Psk5z-E4Js`M#aLo?DhWG==Qd&JBK+Gh1Eo zcdvGW?i0(ao_n=y*T<(De=rq`fwj`ou2I0~`|odPqVq2;#5Pafx->ltpUmL4-PE2CA=Q-O`)JT)*@_&rzY zk;95!jQdf4OxBF;rZ@N5x7jD$re6$|UnDY^duo{1g|xNSF(UVw#QAX%DYWsR|3Tm6k=-dfw)- zR{1o@U=-&){bGK+C4WyK;g_nhiWRAx>XCiciXA!#DxrP8sl%?#uExLGjfADoCkut{ zhCx)ERLus8Y5AQtIw~8t>CaOvW|t$^7ezinHuya}Jif1{-6)>#H(5JYzGPZES$R#+&$fLj>|)$bac()S`aU{~5+_NAvqY`*0LFXkfvqCz`Tl8syMB=*{Eo-$tkN1~RG@=(l_q zt9a#xU+KF1z0yA8G<>f2V>z40isu1PrbNwS+@r$|d9?_4Zzs!7w4E6h?dte}AP{QTk@__*0&F;!$- z!d`90pw*$p-O?BRgRoXrn*6=)^v%|yVaCYLHEtFiCciNYDI1%@({`j3HExaW<&boe z_hOeqn%}lvvQ7^^ZSlD@5(>A@Mx0PC% zvydmh^hI+}Vq)FeG3n)GU%I3vW1jJu>%w{yrwb1wnZ)*HV2*)QmP&X$5PH`)&BbV+ zt;$C?$j&b&FE5T?3}{$%3Wo@n;a3NhJ-@6ju{7RXKZO~Ok1qDJb#enaaf=lHw^1CHCHyWK3CUoTTKxx zwVaT;sM<@Y!JW(O5OGE#^sdOh^j=KfYMlD9j*qT66K)FUPxq~v-@=(qf;k5ZY_AES zx|l$Z55khBJ&^@Vj<$|{h+VLe0FOYZ*5J$Oy_0hff@$Gj%x$R0jY=0%%{hU_0v1qH zI5`V{urucn?vFad$P$~wg0H7ouhKOpK4iGE{%v$tAXdC=(|JyRL`^0Ezd3YJ()cci zWCH`EN!-5Hhb#?oH^<;#OUx+(Y8h7EV_%+=px$P3Y@&&14)Ym`%{*+R!<1Iubzl+dtp^baxq-;Ma{n!bWIXynD979 zSHAbj!38M{x8x&msvpPp01^1RBQx9BIRF3{mpcJbVFX1K6qQeh4*UU!<3|`j_5TAt zUD#cjYckr*jSU}-b;JpZhq4K|@rnze^2jA-Qgyg{C}N6^acu6xQ!?vQ_p|o>N))uxYs0LGDkK)Hk=TkNm)| z_OCv2pry?mdGX)0q3`&v^Dq`NE)&&Nyo2U{yKps&VAD8jjx--e7@`4>H1CEVYUY0;aU;e3_|VZPkucLLpsd#yJSy)G|2(yeFD#0xS(XY&2uMjD{5 zfH!nA(M`lhcX@!`@fM>wD&L-s*_+r!EsZzwy{t>HM@JZKy%Q- zBK~}mLKK-?0ccJ$Ny~vuL*8$`1Ix8F=W&&O(^(ESb#aj~lz*rmVnq9Ja+-}3Z$}uRJ4X@M z)*Xe{EDa)@Lj#T92|&dtjeX@F0A`i%*cI{_irjME3I5R_5J_fZ0F?7b2Y_tFDNRFEoE_9++uF`41vSjIX3kkeEmzPb2!={b|>Q zhyxo;mlftHz)Euw_ouU~i34T>;sf8}6GGx(rujN;We|zS^^W&Ilzs@5>OWPd6PhcU z2;#F{JsFI&6@lV593WmuF6uVu7SB@@P$N8|)7IQG&8B=1y@FzW|1OPaKrD@Lv$9Sk zMt7k=L@)R2M=wC%ZKzIKJ&_!};kcN0Ar}B)uJOX3D8XKMJ%%qIO5}$i%>0MKm6|_-b3s<%vO|jfQ*fWWcc^h1gOYg|dbKh-)RK0dfod7ki|xb=vt`!} zkBu;`Wx$@U6n!fgN$8xZ{2PmdNyyoa7k_F2N~Ie9isn$6e!XR8~KE zKi3yfJB+xsI9VE@;Wj(CMoq~xJ-TVj8G)u#g=tQ{_H#+klhyg;e8o`?^d|6cot%*z zR7qUeM&~#0@VGzR{M?CVaazsONk(t}5tY+g92tSZ4wnpoz;higekv|ol6Omfis4Ds z3*6k}IbR)5a}3;v=H4}q_b5{Mf)x8r^z2SN9RmtWNMUuXnUI?w@GbD;R2?3{=Pv^r zl1rbC5-6OVYN?i2Qt^dz9xd37#Dw4-6@XG>_`N1D3$gJgdbTJJl(t-_+v4f!!R+0Rvs zjl-Jp^uv(*{}*d-9aUA=#S2S=bST{@APv&ps5BDi(5)Q0kroN1k?s%?IOO5bB_JJA zhi>WahHvBhy!U=N#`E2A|6&aOfW6n6d#<_WFD561&0(Q4w61F$xZLXW_4=z^#%UrD zkDxawx9oJQGhSrs;f+mDIF?abH{5W`aeKts(v9p9Evaspb}G=lDw!aiXsAROfYF~p zE47Q-gRO!7ZGy;-E@FC5s{!#stl9@@%v%KoC;meHQ*9kVotKsCKIO+3#zjzQLk{X$ zkiY(frCmZmjdk8yN_3Sxto+iQn9!xHT$J*)H9VD#mDNhIKK7m?%4X zM$$6?VihD0AQ30_2YJ?>O94E^Wp<97eJzAY0vw;NZY*rI%a_o=C_-6_jtF7fmM+~} zSCFV(?xm(*t)gH_fA*ZKV_8iZ6Z3E5t|X?jk@=O*n% zo^pjfU{u4!Wu+Z(1xj7A?UPl@?zv`?Atrx(SqnN5k|&G+-vbaO*m_d_Ir_>iaqbNr zIFfy<%jXR1CwqDBphrxLB70~L)vF~pUj2_6P|Bq3;{chf1-j8qHd)H0l-`0A8H2US z?lCc;UQnL&DwUWoA!3jkB0f}|IXk!KP0kyM&28=5T+a{7sU@pJVyrL&#DowN(Zzqn z5pJcf&EPO>LuQ7{{9rP3!|~lJ!L43tN%p-449c@dEH6G4u3JDsv-tPmBV8)UdT1Z{ zv(}5?$$IBpOEx_>Wx+;~JM4aAe?n88PV+dU&M%6L(73rLoTtY)M#8AH_ih;d(!Kn> zx9dMI)_X9kU;nIk8&6N#x*5D=O(e~yyL8R&eNGxwaT7V7Y%=$%Q31!8*g2dbrfL(d zBZTGa$epl&x$zMylZR1s1{Tk_njJ!+Ln0;m^4t|^Pw4t|lsUCp( zV;9;_3SRbE<3AeBTz9(9-RD`SZHO_sZD&Xr5F|dF>ivu-8AOrJcPb`%$RCZOzQ6k# z-^NdMJOjTglJCH*=!hI5_4bEk?uv2ea%N#zhGpj$wRO_~5!&AJbN}b`o1Rn=`$G!x zA3WaNpNUuD_T1;&I@#ZoTQsTdz?4)e95S>Je)qOC&VYMl^AQ=lPW3V;^ch6uy5el& zP3(0CWn1+((yO@!!k;VG>LM!8n@ao=Gx$vuC2;}5F)-kI_0Y!J7Plp6eN1xMAuO=ZBa6w+LsnPS!+py z&a%mNsmjM-n-Gbielz}>iJi6m=G?fo_EGlYSF|v-$kvb~YsS~6>M7ABFe|eK3w`m# z@ybHUl*kgUPHpVEylrkbzo$g=M$wZry|ujG96Tvn_!C>*LmcN)jKive`C^Icamt3s zvHa!NNcN?V%I+VJ&Uyg!59c#$@tN168{TXBS}~4dr6OF~2(jo{=JY>%RtpcDqdTr( zCB5U1+RqbBjgLr};ND2rTcWf8opd!<@YF+U_6*1^8JTric<>7Wz-4V); zUp8^hGV)mx#rfQkie_nktCYuN_O+FobPxp9+*F4RWH4?ChfgO6Yb_jW6-%v)KT03M zC_aG$S@A*Vd4uFR{381=TFX`ev!h#UsUzPST>Gm+yC(bYN0aJw1MlJy?b{RP911y% zhLvwOpDJmCKtmi{$q~Bu5<|TE2}yu_Z#A^yY;!&K`rWUa{r*=pWNXyHq=e6O% zxUceX)sMw_^AInZh`w>8eykckT~BL1^SeP<^N(l~7KSzDAJpjIS`({Kw%KH`>HkNb zd;NU7cXgV3+=xoS=YfFm!*BGY2YL4XP;a{~3Fv`oBj?lE&QK;7b(?MX-3+{r@G8r4 z!xQSAtIr*dY!*!=MiaHBKRXWH5-uKPSQa>$MO`@w+gjQ>gC}y>8*WANPTX6R>&L#^ z6}4^BkeL8;luFPBD^-`Wz~>AIgAbFk;Dd%31_o=FVmSV4?de71sfpm4PQA6Snz}br zQ%_%kwY~mP7_+ZX4LWG^qOf`=tdH?VV-tCp9u5`he%1|wHp$#^BP7a6?#lLLK02$` zT`AwuBxTiLTIf0#jjr^Dm{04Z&sdbaITxzOGrzNt`cm2UHu7FXhV)#qH*_xM2w>eH zMp5+bIS0r+EbMlN$gXK>U(!-_gIQc$k)K}Q4>05>q%Q0PKRM4gv0i-c7WHFjW1BEh zGFxN+Sl89BeOgq%f}E1@T7TxT;hPqGiALQU*F;>zl(Tq-9ZyJowbQ^?BoOmhud7gxGlJRp|(a97vo*)Utm za|z25K2X|ugf=f2skqp5Xqg_&DBG08KGKAU!6D=`2!?7xVPWKpkvRvn$cCOKTM z?J`$lGyZ07r-8S_z>|!2e<~;l1COz0?9(iiH(7D0SP=oXG^3Un|6D&td7Ti1$SL~f z@fZf2l;Mm^1>eIN3-KEx`vnkAJ21 z90c48|L;^U{*W-hdz|#oj~O~P-iyCvd^d6DAy8YSCvXw}289c>`rI*%MEivMX6?5Q z$~MKE41O3ps6cE}VUK_-tB;r>`23^e12AI91fLG)+!D;5dVjmA`e0d7vVS@^p$%%7 z^lx%|qpjbOI`czhu;x2-;N_sy$6^rNwiHt?pbB_{lNh9LdiBZi!H(Yc z63pFT`h+S1Ng6%LqC}+M;NxtBgVVt=*WqE;wZ_?j4cR(gNY0s!*(!K70=x|>45@ie zk9Du_7E%(I1xu&$dn!mU8Vhyvi{8@i{=5oIJ@*fEvWcnZ^;(#G*z&H2UCEpcs6+NYr{-&9ea4*mGF(iIJfJK3MV7JcBZwlOgzQn^5tdiMqx!=C} z$h)J@gViGrd87X3{&Dq?+)hp*f6Wse-98TaK)3Pi5306ym+BBo3!%EQ;z|Mf0z|K> z8)SSvkpI0BmBka*1!X84P>hTHHXlvkkXOOWhs@ciw#^-%z`##~=nnlFS9f#DKUofP2MdCX60>`kylJLqJgwQK<;4zwDU`1V zQx658DzATH+W_`?4U5f0(`HIbC@H1fi8LPI6E1mHUsdU@Bat{^2DMcYrL5+2r*^C; zy|Tqo^9B{49a)H-anKl>|AGN-04&xFY+WR5aKWk~t-2qxI8|_%hcIhcR&1p8*lq@O zN!8o6Q}#a+FwAEE*)Wrt%OBP2h*zpnk~!PaAaDCR%^GKX?bLf?%(Y~96c_gO`WMD& zF~j&Sc=>HNji*pu46MT0^Z{~>N<{vpdNee6HCjOeJ38n+2DjqW8R&MJgo=_N^u(iI zFV{~6v}y!tcn_J=wni_W;4iN{8!$?glq%26h(L4rQCySO7yiE{i_ahw0vUvHfG~!u zwIO0O{K!orlkNjm5hTwb_@o)_Kr<54W`Xb!&@BMsZ`jzUCZG|hj##58pxaZY(lm~c zO+qrH;H;=cRUHXCo*5eE__I6V?g9yNad5kTdpuFgtWl`gK3Y<-*r&{?b( zQ!6Xnru^H?CfV=2HBvwtO}Cw`<#_+87G4fO+)NwG6cQAsT4pSKIlu1!3UAr9UB96t%D9QYq1 z8Ou=Nl_Jh|ITs6_!Zu<6@7T$55I6@o#f{6;CDV4o`O~b-O#*0dO8g8HM#9h930kHr z`Qa)fWkR197ocT_iZpfl)(rMDCXMy)X+qeBoQ7$b?$3=i4o)cbj$;^%3}fKEGCO(O z1d`j>5!Vg7FuBR|xrV1yfXr$^Yu&3jcLmQOJE0`7R|TO4V+9<*=ENU=|>2 zJX}115pNITN|CGTUlALGm}gpdfpzbV;^9Cq=*90iQnSNBndI?1a&DhJY)_{v6Kw;L z4=H?_-1i;|-;%(kv^6KV$^$8Z135Z?ZO@+>7|AQPW;v_6-BeUp<7&e45+OI|hw$9a zDJJyx(bm2T>He(b_ny9UGK=(spP<7$_fCzDe_0wVS<1HxHjZ9~ak>fI2&)%Gd;A7#?9onmvVj@l5 zYY}mn4i*%1t0uF{rOdM3V%PZX4j?yCdHc-rmJKqu<9+#xEbCevK~p{$*WIJ^fd!il zPfUF%1)f+Gj&IiyCtrxDL%xU(>k1(yCa^R#eQe$IekTR)aQ4yZ>OH%^eT^j^`X@TS zO`GtGx5lR>LiSWc6aaD1N?0_e(bjxCT}BF(NVi16$6peglvD?S@ELq0`$v!cvX57J zBS-Fs;(WrM!pJ9WZmv?lr*_9fAk|Ypp9xABr|iU@X^*e`Z{D3Z6c9sS+e@&sCwvkr zNNeq)0Js(2`GAJ}jRdg!Bw1zGh22Go^w3-n-ni@M>ks|Jov{F28lM)iw;y_t(m6Gq z3fpgo@(kT@#jTjz926ecEiYcOTsU%mZ>Ijt@1GUAq;jtK_O$xVHYMO~f#oa)*kABJ zoPgH<))~nfwV6#M+(RwD_~>QxKBnt?{bO2)e9yGjGt%)VjsJt=GTFyt4YKhDiXckK zuDk(D?zu;Ra0EKDF4FS3t_tVLZjo->IJw4yd4au<731DEHw*wR?8z4$^bu=|46s6+ zCnYzF4#dImQl~S&COLz`(P0y~J0Q40rMiH!VhCRCAzO#$zi|1bi*XiZZ^czk(U)Jb zVzWM~WOQaaw%%W`RJVKc9^N1$rK-9=fqMS#Ea{9~pjD z0-Ti-QMu65X#|fG(Sg)MNhlEfFHvGX_g&?ID9bf$uo#r5>O;UWoz9U zhyZ|%@hG!&P?Pu!xN!W%YX@Qig2qDz%3mkSA!`EYKtk>SdmL(N*uy0!`(KKmL>LeL zvF`E1nho(He}>L{2I(eJ;?OxJ(^pI3uNALNL?y}g$TlZOvZ-{*%z#f^2o>`pB#EuTUF z_Xd&&8ct$r`8n(V9xzkEWdA>=9yd(2_?dfx6dd|hzvU5kjw=+^fNpwr#7y}!)knfP znT-7BJAmQ2DGPbnKbDt&hcvIBg`~s=od0#fu>RLM^8zsDXv{d|=sb_;1VqDI2Anp4 zeGzS$dDkYRkcL43(E46v{<-vj-rIj@RsXA4{2=DHRo`e2)%=y5-+llPZ6FBphUY%m zQ!w2A!^Sy{aQ@%7u(n~X)U!VotyLfDS-&Z7y6*~j!zu`)miL_iKV}KwW=TjKvQx#{cpNy@8I?K8^Q$3Ti5C;P)hW z4FC_V_Wi1L%A-1;pLt?8Q!OnYOit?0g1k2?eZD9CZoEhvCZz(JVV|C44+m)NiFTG6 z$NG*S+JBbIsW6w1$Y-9DgnE~g`rOz4h9uJx)R#=zBzs?0(f+FRsAqk z=>!-qBwM{ie=@r}SHGxkh`&S*lt^q{Yx^qnVepf{&s*;7P}=_QyxAGFIEZukIio9~ zRZDKlR6*UEb=7?G@00;8Ez(z;Ih2ovBjme?LAA{5&npM5sDM)WA#=n^eI5^ImA%WCeA+-K+T z)crI-*9w;Irp0;LU|m07SlWJU(nM-ml08HkLXSlB=yz3RHDFu6uqPR&c6Uo&YSa|c z-7Rr&42gcq0nUa@aFPkQa<{d~{H~M_w;HAfqG-6&3WN#-wk=yY(LaH0a|SGPnr}EL z`{8UuHsy`iC1Ux9P`HxBwOA2GPd3w}mLVe7J3TaHy|nxFn&-Q>P-YbQoW(tYt`G`W zN^M&CE76>0-uT;!B93d(`^2LiPWC3I+VOD&<3fOwP1q_;g5}nh{zCUp%(Gg<=|(*S zG7Dh3&}XQ~@H!#x<8`rb$h+vpk=ep=SuKgEETmlY;8xfKVvDXIRS6;Uaz&xTMFsKL zvzan&CKKa9-1qLh=k4$>KW3z%Wi%~xwGmoZTRGoW9QEiT}3ryRwuZO}yN)UeKkr}o>l+tmqeH&?zcm8tt-STg?8 zT|c3SZTJPXfjPE)@hgz&EJ8kIg}O*ekg@{W>_oZPh+M$Z!0s@e^l7@rt7#qt{?#k6PZ!92&%YHA2FF`=-#L zd1@`{N+SO9bL#QDPE2@Rani&&P7dJcT{TzwA*)_^?3!w_Z<-=vCky&P2T{)(y1QL7 zV^eQaTGStJUB5@A8;bCVzN%J>Uq|{c7l5KvJLs0rlnVkm8K@qw|4_zNVcPcEWSp~q zbAORf`I1{hqJd)CCR@i|6~e(KyB3N~aDS;srmLz@o;Oq!LN*02Y987_&tjvrhWKxl z7w)@sH><858=7i~dR)(LU8lPpfgb7ah|IcOte`=f4M5vFqHGHQ|I9H%YP1)uZ#1F& z+~@w5^)!9@F>KX(-Q8{`*T1ECW1+ZbKN}b+3839$*KAlhTQn43jXP8=O=(h?otC z)ys+4d`u-c*cwht!pKL9sWl&+9tdwi5@4T=C@b1SQr0UcKfK+(V{8;=L_7Ak?$D4W zXj6|+c9CRis>IQ1zon{y{twW*j_Uscdh4js7=|u6T$ws8i0fU`6F@s&qA{2bJntvB z2nU7C?!GxxK04=?L(i4f;E^FF{_Q)}iC!bkIr(s716U$MQm&;e3Z?rfdN6zX5DYy{ z__%YCIl;$1>It*YhtD3@qvsrt%NT5k5cY6!bdb4CWiYZ-$V=Z>B*V0FuQVIT?=;oJ{#XLW&TW1s3 zoltURa9LPzq(^#Vm9G6sx2H5G6J{y>Lbgttbmnc$ZOY=^&ZzXtvg)z)MDMl8;=#PV z1ph_jwdw(PsR>6^?XMtz!VkSl2`C^06ad_`Suy9CFdoh$ekrSjYG=98IA}EYZi)m#quvp zvUSJ2peqU3(m@@?*AreHF$#_KW5;$HOPVKbV=lZ1_PtPlj!U*EIPCNteRXO2JJ4-0 zVhXn`>K^%c!dNc()T@M0x32W3_4FRBw$pmtBpdHs#vtnEeo~aQoTcyN-v0?TiL^>Q zD!$a?A6^Vv&OHM8DD@?irOQu8e^x+-5dkV~H-#x|e_q!I)&&}}RrA-gf!XX?x4%@A z=jY~_y~t)Lj9@0ncxC3gbMHT&5-8m065zE!xYo4p;bwTTP?w1+bZoPM{L1&#n zML0{ZT8UUPRd%35mdnN^aBP8&Z@RLGYlisS-;s<<8c0R&`5kQiL6bB#R=!!y^IZPi zwWQ*KaE7#Z6|j9c*@zmwQtTpQ>Pg6i?IbP|`rLFk7|=G;YU{>4t%tPp(T($4Q%&oKAqv5#^zHpcVQ z^o3rjBX~=Fp7Ea=zbQ)z!M{uVRDrIaBVLbw^jGz(*2F8NEB zw$WJ^C#d(&MhmU@X3grk(|uSHvG}zqX{vraCD!4~J4<)_NT7h6^@+MqG|QIk4|Rvbu`lJ(I@;WEaxmapPLC zxtb<@y`D`5Z)v5@XcHM)%pN=2&E9Xl+le}l`PJ+Q%vqeoNQVymsvtv)_vcONW5d=s z{aA5R7Yuc?!qqQ*OcVItJ%rnji?ajnHB%whN$OY?&AwJDo*eiY`>hh+4Buy^%eTQ7 z?6-yuv-K|{*BtG7Ec5$AS(PhHjzOD|*AL+RIVg~Lo{-Nq;5gs^{&Mr_Afl<50i<*0@| zB6N%mxVGeA3+ms4-Y)3=@?>#lLdX3O@D-jR@*zi!*8gPJTT<_pg_@^^RSC1)FyFcq zp!`{R4I_$r)B|49(|nVu7GP1b-j!^{LWL9uZ>#v0IL#bbL^)BOe3{I1dWs0m;M&A3{Z7|l|B=%mx$SuA5!lABHXnznCh zn-5q(#|2zCqkSRmdbz-AQw)Wc9B$yziGDD3QDCQh^EjqP5Q{Nl$Z^?5(5yu-T+g55 z3!ix`v5j*Qr?>Gf-nU<+GLrh0iNtAMVHci^f0WARq#FgT;zAd!cI}g?009#q%ngG&&v$|Y?W}YTj$x6v= z-pveY@j(tQR^G$sH{?=gl1L2yJwR#NXq7S$L%FX1^C_(Yx9O_m4#HsIT>XtDhgv%O zIg;S_Mk^$1&rf|iIuco!xni)^Q9_JXgysbVEU1|eW=EpR+h^tuA}12YsaF}KJlvgk2x)yh}E=T({F z56)y5{<0^;|A_06A$3vnTwt5SYYm?xqN*29infN+2_bxJPJ+*!r?Sv_=ofHNRzTh2z+(R9UQs!+*52%{8ccr->LfeK|59=Vr)vN3 zi469(&VQLLXx3m__rA)dQitoC2VE+}m@E2A;3^s5#K^TCsO73B_Cjj#vxRN~!Y9F#iUlSk zTCteRuZmWu?S2`Q02Unsg?Pb*qZ${rJPl*c%tzhey&&|4I-)+SvT1NUerld%me*OH zR;563lJrKJ5AB5j%J3z=K+X0$wc`x5khQUKd6t_Yzjz;SWd0gGa^I4iZ=%HAOpv*w zQG7QU)UbeX)V&Potyvdmxo9m4@&^}}jkT4aSjJHE6Tn({whk74Y(p9S6>3N6l&zsh zOb2>X{1J1KS*kKo2b0h-6G&O>pkdL^z)vuWCbMJZ9?=mSUXDwbswbxzyNtJ<5=)|{ zu5Re|L|L9%mc+*V99((w%XU(%u~YJOz{P$@#II}`-&rE$I5?g~$yHx|n7%v3FpQYn zO^%EP6Hj4fqKt8{s>+&;50dgy&#Of~q`0YkdvY$ajInH;SSczifSw+ofo0MAkGNGV z2;!{9I+0EfL%c;Kc9AmJH5Mi~u|w*rDT*}wYDu0g?1VV4zsE^w3H%yv%h^Zy^`H|K zk~3~8#iW3WaIQqu8;@d%rhp*AlGc_bIaQ87Ya_cqRFS-|kWaR74=uSB@A_O2G(_@aYB_MB@^cqr5f3T{&0Az=&z%_Q3@7>YLV3I8{|s^u?zic|tW{1Vv)` zSsPY7)l~E{S5401fz&rUF!uaVG$sqAWPR*4D6R0<(I2d<1}ha~2^1b1PdbZ|1h~%B z^>@fDT_E-Dd&UYkiP$l!sx~3Ab4ASBm>UL>F{CpIdBM7355mt0tw@NFagp!Rt(fF^GVZJ zAd}?t)43scm5n=Ees1vg_;oDXncGt4_Psc!@@xl?W`do_a6RnJtvcGtMvBYyWq^|| z5V}fSB$FUr&ED51Z%`~V75nCZcHrw$XA(!ZF8Wj{bbR4Ws^5Zfe_xDIcc|G1PKBu# zLH!|!>|iJaRzBj_L^52AQWw|Zw=+0S?0g(IILj9hG1u2^xzK4=5iQ?xn!r-{C?o=# zZx+B+xo;~!?RiVxyQ2-a ze7dZwIL#TFQWwvF0Eja zMhnf{Nuf=h{)GKO@VrZ_W0J$ZTZp%LiPW(L!r2;ep4{X?o{MXZbFLTklsi)k2!_w& zdiICXc$`nUXSMA?S7{Dv$G|Zq#%{@H#%KR)b#llM7isbR5v9Mr&;G`r(jP=mBVhs24zG*Z6+MNCzF=2-0(Xh`6WG z-fQloI=S0cRH9kI-q=zu zkE~CdM{>m_S27{{$`z;4HSfq+4~qd6iljZK@PSb+#e1HgFQk%GipRdMZ;fzsw{is-tj&6-_zQUQZsEe^l;Q4H+TJN~Vtl`*3249Gw9;dM^iH-wvT*0`4TFTwB?Ej}glHxBX6B;1)J2SBKQ|F|5MFJv174~e&1Mk%*RYAv&>#YlNDY? z^iIc9AKV8cd-;!KU2g?JxJ5VFI{X@+Jl-3$XFhwm56YKZaYoiL5f_!!n^AO$O;3*I z6`liaCuV*4LChe9ipsF)2l8Hz!m}Ps|K*Y2m5q3py0$b5XA6-OB54oBmoHGwKuyis zwbH{{qZAyg1$;;*j2D`HYc>0opBuOMp(K?V1gX`OVm3-XnxE%=2VfxyZ17sA!xd2>#h&VD?PGcY??sHD=m^KcGy^fs ztuxHjR^4U|A4P#513K4C)Kf@#e+{^)kFI49v!QrN_PX$n5?R1~8AJq(XF77GY_u zvi=-9>tlaa;N(&7v;MVSQhlg#v#&`l%&oJlsho#(sC?ccIr&Ut#GlwI<`4lOUi`Mz zLSTCC-95(nTkl7`>0%_AqmRzjq>dI2-YbhfFskEp^Y3B74uz&aX%f^jp{Xm|B)r->J=rU@H#^ zxubV7(F>d4jx_zfFVOtGF9c!&_XTjGbhFDkUg^YmkY(&(vIK60T374LjDGgzl>PVW zJ(0nThJY*z%AC>7-+782pF)FWN)XvwvuNc`cQ?m|Cz~tLzZa2y)VZROav32X@QHkI zlk0B1+aR@Q`9#zM{{Io%i<(aaGR4BeuJ^jI+i9ddK%~VUk69sQ0zVGRMitflZh4s@ zT^JIJiIYmY2#Nz6I5#VbO{iB8`j#l~g;SwvTT7J_nHl;Z_#);li`f)!Pq@Ao?D%Wb>%cpcsM2Aj)* zA(Mr|qG4%sz7{?RUK+)OKKiQ+v-0D?m#=hPZA8OuRbk)xxjY6^w=2%^c)(=j@r9W(< zy546yc>ed-j>{I$L|iulobaP%BDWqh$L?3+_slkhBi#lOh?PsKChF!^SJU7}(%=~z z)27Kj1F>0=6x!(mC9zvDjW`<`P#WbESf=KwKU}WmQp0hLrMXZz$Qna&`E#J`ED>EC-2SI>#;iB;Rb0)cq7PwO zHC`XHemt#CQf{_Xkm4%wqJw#PCKn_HYc_O8(n<=1^eLpzu|fvLp-*%CTq1dd9LYoQ z1fp~u`gs0lV2q(g4nh>CXCKJZEdJ=Vu8UzWwc_CMAhwZ_T&vH(APt}rw6u)wV^du* z>G4o6p0Xs7GBgyofoyXx4IkRa!f|mWmkvBE)eW0J=E$}=u5_wwxOxy$jL?#D8ZGm_ zqxE}->fyiv0QL5_s9a@Ho^-BsSLfJrUaKI3CY^8%#*m*w6IW5xD-@=cXIHrVTcr!A ze$9QpDe%#rH~teGY;oBQ-bveOO(O0at+%4ZajiyBD%TqOxy99du7r_7Ek)P8Z}$tz z+zZ2VzcNHatVP`yU$A?UXIk0;rXDq~!bV{oy{>i!bsr+xPN@k9q_)4D5oS<^eBuAT z&UCG=W@kt(;(j7ClzHy7&YMwjA|Bj)|IveM*5(3B&|&^lk}mUJki!Y=@vUv=+2dRG z-g}qpNXkwP z3jB3(;QnI2yWb)?R~PA@B_49GlhwgT&v@`Bz|{V-E~;m`{wl53_d04|;oQx`f9-BS zPdxTEW3lH||b= zjsN?2uD&4c#rf9Mbn~V#P{vRZEWWO)JZd<5txYU{PRJeq!s`5OP3=kbwZbcLxD#?b zXr>cIuALEi_Y2UWELqKfn5n> z(EJ*2d}MCYZEPMRv-eau-21v3Pf~V4K>Q6j#j#Sbl~C!6>C6h@ss8}jMc6(WhB#vhjQKh&YHcnB58|?hw~b^ z7#P|E*0V>o`Q0ew$quD1|q@fv?8u$b~b5GI70g^-YrF&4ts+-W*13Y#y-8QKRwN ztO>wM>ri(|_PybL=8C%9-gR*2<92)HHrwcg0vIuF%o}D|7TwR)xwVY${t$^8SPebs zM`1jeDG!}Ja>=N`;k_n+U+(Wz-_x|-S^aKm;Ic$~x$L5|N&C+_hXuquB->YCrx}nn znSqMFFAS#En<=CbH8PU-qpT&+zIl$@?1DQ2;E2yPG^{h6(>m}wPE|osVaf>dKwlIB z5>H7z_wLJMegg&VB;dm!AqxPC_u1<~vN&Q`d`*90a z_#f)97!O1xp1XEdYo`{*q3c1Ar(d^TjdJE5)D7F}Z`B4wPgrZyGpWk6`J;mQ|7K`V z3A1XV`E`qjOn!Ytrg&!*Fcs(#-J@4>(r+7FJc?Y84}X^Voxbdhq#libH9Zdkns@tz zC$ooN0r#EBk^WB)mkhF~u`e%y(<(tB{e5B^0f5ZmDB9%v68+xVTRetYPCD%gEu%-a zmC=%IJ_R+b`v}J~<1Z%NwjYj^E6yTE184`g7W022e2)V-+|CmvPgPOH!XHx088E_S z-`{wpVZ_{%Y0LCe2x^{!8MEQiQ zw`W?F`g8*4^Cbg_?YZIq2nZ=k;8m+5Q9p)A0|N?M#be-LjAegx@Mdh>>NbOUz-)~r)H7yxCPf6 zb67fPmI3mnEWJyz_YJ{h3C17U&YbAztc_XVOAgl44J}$ps6|X-<40fxwd8z)>$o8U z3cBHE8`2RQ``9I5l#2_Q=YF3dIaY|ZnF@>9HH@7oq^&A-h~>fdR@9*9mC5Y_^39DL zC;sp3Kppq!^REqSTczsN>zD7eStO58>_43U`l0cYyHvu>jaAhUk$auZB6s3CI_;|4 z2>y-VGySwRw}uFbVKJb!DHgs%b-h`jV9?->3!Krd6E&1qXHB#chWq3AV$19#aqwlw zd>um|+augU#y(mD%dkClm_LQ}2H2W%u|obKU>Ojwl{YY$+TuvG;NjG!W_p7c?r3|b ziNONFJjN%^AOrVZ27x468T|cHB{E(->1J_xVAeL!-uWIm-%QZ)Y*STAc-!sI*frxz z3*N*=X2nmW*>}#Y%kyFZ^Rl;x2XFQn?OFvom{|y`T-hq0pW7HZrYLEk_=(FWnz$?K ze%Vo6L)ku~^Lo4e-SjU0F`B<}>wGfM8Z?3^9%^bI(1?+teSLs){$$&3bpgz#UiEe2P0RuC_Wy2#RlfdDi+3|G7PGq#g$v~9;G8d-$S8o%P>T&eE+H?Vidj z-5a8xonXrSCPQ-`F>96Be_N^?VAe#DLmwDsSc^A|5p0}Rq9<_vhY-j#sG@GKQN`i| zyaAXs(C0AsvG%%O>+Siu^yH#+?T6DBgW6e&SrSczL}HJOj53d3DaFBQ>g~i#z(As* z3ww#C@sMbqaPjY%J|r4FsrMqe4~gc5kxgSHacy>8lp5O`r^~LiWWqZF1{Cz8D7|+e z@1i{-0bQz(P;+K6K?`=7dhF8)-xW@l7wu>z|_YIT!uQs)4z-gWcid#wUG zCctgObz_kbi5|2~XnNB93i!Ue%SXPUKJYlClE>n^9%BBG{yWxVB_QSlxC;y26&Gg* zzz@gX79}M&pASyR`CgYOMvmp~=2h{erW2XR-WE5X8GGA4HbF)PlVwSDGZ9)iQN{V8 zo8F}bT_bLap~|x_ZWLqb8b3uF>(Y6WHod}s$y#NOPiF^SISM?_M+OD=kZnE-%EHgq z(ann~!*5pR<zz-eJuM}7a&Bkyv9Dt^kgdfw z@s;gWddWGNKF?s*_GpNODLVxcH#)~_P&I)%E=9b*1nm(Qvs4NXu5{vxmHBe=A>Ufa z4vv=o3VdABJe!YO(7A$zd?udthvgJ4_=IxW;0xSK`6;Bkio<#W$rw@bUZA|BV)|Vc zS9@%YMNNtCBkWf_?ZF(leMzeytXCH2tqEO1y%8@{I*oSp%h%G*BAv3PfZAux#u#zL zYq|Y9+}h!&qn93|8P@j{pLvj2VD&psyQk`uUQ5V%CG7uT?Ja<+T)VJgQbM}B1r(5y zmXPk0*mNUoy1ToPkS-MjHqE9>x6z zTGzF%6&}NK;ZLp!*T}gip=|r4%0_4d%fbHpK2=S%)htOFy3!a%g-x&pHRIYU%j9Cu z;Q6iOLp-Z93SjY{D30R8%i%iaLE8K_v7%!x%z*kb)5D)A9M8_>PIrh07C|j7TLH`h zr<5L6d+Reyw8?Jgk<7r7M{;Ol1GdWtwQg)13u=T&ni<1hE#1X|v z>PYD2BqA+@3MGyWH)d=<*TRAZMU+f=YBmy8h>g7vpfe9oKRz9|n9t2Bw*vcSq&7|U zPX{>h*B3iT5Ek)Rh)ol)N$Fn0>yvkqlsa-6qjN1QNY&BO|7gT&14ygwA$&~e?^{hGc zvv1g)pYfSL%gd93I$hL0;U{96p{K|Prc5l)_Ln0wlgTjT?w{7=l0PA(*ab;!TYSI! zL2+Zu(9uA4To8V?JCez_$QQKK=w3lY4=|a8$0S>`#(Hfl&dtkvJ4ol4^@PxNBr+8O z=i@aM#$U#?b;72+L=_F2(POBwL+?&{befy4^jp)DV_bsT8{KQLBISaQRlehxr>sj` zTG);cseVM4)|Dnee{e*ry()!syy3(4(b4-FgnAtHH5d~;mIESHCT#984l_B3p02u| z-{3~vwWVmIKAsX%{r)3j1=3+`kf}TFOKpRIFnI&;u3UY?p$Q&|5Ibt8LN&ag^EaJ- zk3B^i4zD&Jz7A>-M&?mP0NH_8w56q`eZ>#ge9c#vG_z9w(uMzXc%lCuh6e zLeBwviL4|nQg(~AJGMZ&VunM?A?BJ69GuwaM$gsmroVxURzfdU1i$_lpn+(rn2;XMd78l z>3FfE+je=q+Fp-1`E;6=WlYtX)NSSlb~1pb6Mp9M@n`?s|DaN>t8oE}U!D~kwO)}o z=KLuSnIWi*$q5x-V^h$XML;o)_t)xU&ji@lG%YCC!-c?56mAZuFuoez&!()yr*_Oz z%0n+aJDTCqVF}$Icvv=va85Yt2VYS%WhHZnKl!nniS6Z2;=Gg>g8GuXiA)dAs=!mX zmSb&aSpXzNeU&iwH7)gMl&*}9_$aDB$$0QEc0qLm_?%%z*s76(q*nI**iz;=G2PxF zlKIOVgq?BQtz{#;4#Er-Qil3wRE6BPrt2`w^hxTC8m$)W43&kp(v7X{`K#Td95Aou+R9 zrXywF&{gfzIra6{#GuUC1G6iQYq!sLyomS@sMLzCcV^U}E<{gbV z(;IgE$0Y9d)@n80FVx>gZ@7&wokV;ds7w#m&w4h0#dUgSRJ$NizF2#WO{cR^Y3G$t zReo3Uhi=Fu>bQEC2*!7y0nIaZiG|Q0P>BPZI_-`&!D1?nN+8@wl$#Vgfpm0H#phz* zAe$dFmMXsQ69DJWchYcpwzq-n``-j_{Ay*Z`|*2oCEU3QBoRT2SCxJQx`5WZ8-8BS zODRo1wxS5pP$xeLNh_I}bJDgR4)g_yaT4TEyK^4osK^^<=M%ru@)W419v+TSh1k(5 zNn5@tyTo(ltY3+CgQ*P`O2Mh%2n(Zj{kZi9)-D}b++280{O1 zT6it#+lqT!fZrR)ECV~M9^$sK8~lR0Qsjm( zmsj4A$zpG*xSkH|e8MN5hWT2iUN<1#5iCGlkj2;KDa9koDhc^}vlOVtMcn`JX=YREzZeky`Q3dwfRggkJH$1@ZCL6!b ztWUB~#UWs!wWQDEvrK^&_^|A`ip%FjAvfm@a*z24rJDM^e%Vrb1`x~C!1vZ1AmE09 z)K5j|-~e8UrWjK8V6lzF5R}_d2F(=psuNiS3DN)G zOf6@|k~FXuKWJF)lL4d^dR14MqhT^|yDJ3A;dEtXV+$pdc^dEblFqns7IWqhv^NwHK&{UW=Vkh*aDJr7LtDY14%JHBN#WR4^Dsyymx@OY0mbcAWJDw=*G8*UgZML3kxlm}{kVtHpc#F7E``k(a5A(HBizX1v)uWROuhSy6w;Urrg6BZ| zOiL|@<=1>{)cU**(l$907|boB=6prr&&`jAk5VOAx7scX6HJ8uX8%BEKWi;HuH5+p z*Tj>CpCrzxBcA^|WLV1*#>mTs1YqeX$mkDKuVW+~PlZk^8fi@I(2;`1Z!xjQ zm*St|_;@OPNu2`!H`W#iT_DQ^UkmoqL9vS*KbG|SXpTE6&LG;5vjqZyyiw11Oh5Y* z%)Z3?ApWxpomQI^6}o}BRnB1!`h_{e3#>3zN+;#EI9nbE=H# z*xC2-bHPsJNoN3ZZyLifxQ?Z_#QHPbCWZQ?)F59=!Gaf=#D;?yQNul;_RxRRi3S3* zYGj|`zR%j1w47bveF>XRnm$2e=vV1XOhmyYI21mn0)s5e%kO@ef`%P;>b|rc3d>^= z7kKvD6OFc+`a)4Bixl*M{zY@bI}iv|WQ~HdXYXWL4pu+jIQbqGhYC5P-G8(*FA`({v#(2V-ua9y zwO~vZ1(&>e>dHex7*V4YKx}dC7w{&i%be5MZqqb{mL(;Mtz7vDDEZ4|KEK}!E)}|-=vl(Z4R22Q?VJ=`ZFBk z>u+*Zqh=orf}(DziQql74^9KEH1IsirUvNEGhH2(UAprSC{8f7`q4iqUu&1_NM%d+4QaN+TNM4Tp^S3#Vr=Lx4 zzFKG3%&BimyYLeN3D?V5AiurAgyxM6oJe(e}f zGudof1J;%x*UR|RmMX&w@Yw}{r8m38l0wqq$w}DAusAR2MC}a=p@p+8h%|wQT}-bH zb65kG&(U+nHSmSK>%G--n4kqER~}k823g8x2b$NUnUY6>ZaJJg@!rT?X7xmiLm@&PB6eP8<2 zNL2io#7Im#F1W!^;+&7Hhg8xq)md;AyPrP5qP0Em+HW8?72fSw>y8ovSw5vi&1^t$ z&fQfvG&!?-QpgRYAnmcF&rids9po&ioO(G&gD$$JWMj}aLiP5hNz=1R#SuOzeHoV> zMbila-1Ww9^}jzh$tsV?WVBw5>9QF;5H>}cv1*m~Ev($DYOm8;?P)Wgejq2AV_q2| zVN9dr1tSxD^oAG291``xk5*b4Sj-N^jgyki%f#&P5D`E2JU`HVOV}EJIf_jiP+JJ9 z1HF9WuD$i0l=<|D=|df*^;#xv#^4;cSER}%7B}w$GIy{=U?ewF za&H5{fI?O{&26CYPHpv(@w38Z*dOzh3z^Ed-5XX-QF^l^bcD+JJau?+)Hi0aBr9Y| z2@Juq2*|_kjhJGzNX(h3#k@%rc!tPRbQ9&YL>9lG@}47j#fcfrGm|Ak3G$E0&*lr# zqn`Wi`)PEfzni>4d`vrY$r|7uVtdFC)Mzo8eR5z^{|!9iUiQ5fV7$_LkZ>cM^GY+`8$Oj?u^ILt4DBV z(?3 z#{O)=5n%|qlKv(??P)lxFWEOnZJN8E_%D}1!*kzrXTwJX#o(7`;@h^g9C;XGVRg+fwno}t$)Nm~Y?hr>ACm(U@;FVzDciX@yqAJqIq zErS=E7GnlJG$9l9Zm8bOnVy?4#_p^e?Tc^hZS9*ST{bY)_R#)UgS5zBEw8qOr?tXg z8l@HRXq;k59G6ZdV)L2bl|(1D|6F9;@aL41#nK6Jt+WI@x;VE7vJ{q0v;8^wFYuSW zBVVrvKj1u+sCmw}JJg;#zD#2sl96lkKdw1M(>WgF>fws&gMIyz4YEF2w#z~K<)uOU zu#UFAr`&~#k7ff@a9Lx_&h!r^Gzx;J9)4(j^N+CCd+ zSP$Q|t>t+_`X9nv+i0$v<+$NY(CLHTcZ&HHPMsQGwG)45%Tc|N)bgvwumj^Gjjy*R z?}8vaqAGuwWve!L)z3Z&%)_#gjUd^tTV^6e6=5t59-IC7ukTtmxCR_ubNQLTr0H`Z zUIXex1@f3kO0r$SYA852C^Jd_3)QTN)tTI9AWC@N1~lAfUoAR&KL9EbLo%8LPj;}y zOv4ZA9?hr^ONw~|u2M9q%X_Hlx6kzk07wQS^ge|UJmOm7Dc14gkGqgS&PE0u_?$fL z&?^}|r1RX$PJpzsHktp`^Xlu-)=UB7fnL}c#3E<+^@Z@gS1FQ)c!U|i^e#k^Yp#I> zYL$h_T^S0slD|@2PWqZ4+WY;NnDrFdt3u>Gy)+vrA3_e14U|Zq=ws9bcrri7TB0oI znn-`A-&s`|CDMu)%e0U4z42iLmb zGE}$+kMD{4+;o?OeRp4$1Ok!1aA|3zIcmU{H0_HuFHd*gU-2xfUEDB`YUC+2`XS22)X4Mz`dUo>{QM=DZ>X}ADSOrvS3KBgJxL)Hd)J6T%<}5+d_uizPoM{=7IHa#w=0=n{>KtY0{i4&TB0k|+t|FL-r2Q* zO8${Wav|YcTHt$Bg2#;41`#7MNCH2E3nMsGjuk$MHZT9;S>p6(LR?WDEu!557uDy# zeVyE}l&`5D4GVoDi8ROgxD-zSp!r`eMN&d%PK(FU)vVc!|2at!7Fm>ah;$3kVoX)j zWDUSOzm>5AW6=oC`?^p&A z_H81|Qck65^kE-}kS@^vVE?}i`w;@R3jsXXdR!DTWZXjx;7z@;^Z+8Wtv+7?e4ib3 zVQ;PfoW6p`9RaKz{Xeuadg>r*2R_pqpr!F|(`UJqugFxwFkFDwS|A3s{=)_EK0~+% z83r#I+$D0DQ(U|6ytK&&mNWVT856=^$o&K_@Q42t_Ta#eKi)AT{O=)z$uFUM=)gcL zCO%qy{%4>B(ZC!O$f^td=Po+NZTu&k+NQ|GjOqCVk87U_U7jwjYFfoRm0+&7WFnf0VQpa%zz$^gb8FJgV>0pt@6N6vCC#AM#N+fg+qQ`HNGHTIKM* zzO*OK+6jBL)T<2s3z1Gcqz$C*&4OK0DePC&>)puzXoN zfC`ZR$XXgn1^!WN{!z~YOjxscLT>6mG)6UMV9SQl$?eJhb2tWM#Ml)S)aLWQ#sbA2 zQ~mX<0`pSRBLLq?tZEFw0Xg` zMO?3~d{~m1TZ?19G(#9`YegCS7%Eog5F+k&FE>eZ1Wcpwk zSp9YEck2Qz02bGC=1-%$NjgKFZ6|VqzkTC4J^OM452wry*cwTn-J=2tfasEt`}e;$ z#=c0U_WIpvLkEXzd(tBq0VLhGh<3qv5->wMV~g~J{M%~_Wmr76uhC2v$dNZ_XpIi+)p$V0tmkP=S@_fW?RQ1QH-fC~efLS5JNmF(EDHA8 zUGwD2ca?7o<;f#aht*+Y&NZgScrt6PZRQ)`uhB7HyLxqC&_lxvewy7(BJ|wUWT=-& zXzge09oec`jyuyfjJ5%QV-B%ZhO7ZR_hkNj~O-CFynGxk} z-!iRO1@wBS*I6g5Rb8Z!4;=kUR)`MFU>_!YPXB{eTbtd@3$Bfv3oes(!j|47pI?ok zo@Z-zxSN;PTD5%S9*u&I@_fCx>-5~16=c_Sj!2uX*S0CSB5eV&M!}*CS6?^M_vO(vKjZP z_Bm$iT4zYdxj7M~e@PU)R{EkYQrU-ky8{hznuVC!h?S}iaeGKm ztex!H3Ee1POmcQ6DRYvW;S)P4N}S}-?9G=Z7QeCHA$FcoU*8Z8Xh{CPK`|bMk@#3$ zK%V>>x=L@U&t&OmD=U}M9B2Mi>(=Eb+v8oH-dk7zpwa)pqe36z^uvj0Z(L|lq0HJh z5=l@j7a7t63;TU-qA{2hoA~<=wBFO=sr6%c)= z`9lAx_Foz!eYN!99O3y{tG9~d+GTz{V};WN{w-A{4DF9l4BIu8i|7)TR3jCfhrO>5 zvJY2L=eTXV?E*AW$uKl~9qrKNoZqqg2Dq2tx!m3${VAqOF8~16f9<+C-s)mLdPw_A z21mDv)msNXd5;HUE^mLKuVb95d!Jg_bS{4~okCC_FxDzCXZ|aBk9u*K);gWY5kDRP zaq_!2R4a$P&;D>!Dqrw`*v@@N(gkJ&Lq89A(IWEHF83c7pZ2AojYU0dMl3AKk$kn_ zI!;aHAts$$1JeYQ7kc?lyocZpR z2F9&w99!iGP*ulA$D%Bn_CH|FV4AXDB~r5y<7UcIuj?VPo9nD(FA8ouByFkNh_2W% z5$kReuTERG?!LM+hm(;RAG22z#XQuanpymBux{gj6fz!R-PZ~WL0e%viG)_H7NZT? z6fWPm;l9;Z^kNXnxZ!dYTN)2<2{7w?&I>s|d@*th!!u)6sl zAT)-le#q*`w(JQg$W-~Y9z^ckBq&2Zw1TTA8tr2xcfL;Ho1qRZV^fuow{<_&{}NZB z7z!ADgQTbM2p9*UTU+k%;y%wS#mVapu&VW*_Eo(0jy6$(1JFR4hkT;B!5GzS-XQ#$ zUjcdOVcr=gyJ_m9?xgFdnbwy-9pp%c8+lXcZhl?y3%Vd4`*#y-%j`_bfwCIOk9o2Z zU&ohU$ur~QCm9GKQ~PF@Qb)X?em?$!^BePK;~A{RDm$)n_O|KFloKTaJc^4yEVb1` zWs$(IS(JXjYUg*u)3PCvOC6qlu}Kp==xxAL&oCx_^lA+SnF1)VUA6TvrB2;clFFRU zQ|laKd8d|58dI0U724iBrYg96i-@t1tNXXUN#CMsbasm7p}!j;+ft_^7N7@)EiAL2aiRHs>}Q;4+F!y{RC z-t~j6f<^f~_N4$K?9ElST)9o{w{+!5LU#ZZ6QxPMr2(}>W=iR#8$nBwtP z|A$#0Hgp0-eiFlG{DG{cY@WWTA@)46l^4kvri|9=fvs)3FXjCDz)HvNto{q>8P-;E zT(~zgEn970C3|Wb@9C$(DSV$vr%=-mK=j#E354jPT>(-V8$EU| zM%gs2xzPZT@VC@AKs*HA+DB4(Xf9-&7tk%vaCi}QYCDZxj}yJHz-P8j48{cu(J$}& zSNx@Qg4s3gt5kEDR>HZEQ1ABTJj+lX&BiN4-ETf60WD zmGIf;e$XiA{@mojubZGeq#Fb6KF>oanw@>U`9>jcCF+%tFSfAR`{~ddSc>oUSkISV40;&WcFyov?{%>MOi4SE*2^!BxX4;4W z4)D+A&sl#Q0@!SP>Dr9GKkE2v4m|EIYCIlQ;5BSuOfH#65Y)DJ02x%KSztS@yer@f z_iXc3BcR1GSHx8!U0|jHn#aoJ+}yOhzQ<21C!Z3lz{5+rse3J-d^ zp2EO)c5Fi^qmwa;?Oao>CXVW`OwOM%StShL9(>#}S>D*qS<~An!)V9S4%bQZv^1l0 zq@?&=s|YmDY~E_V%csoiVF72Tj*wR2Qj>6H$Bm}?kvt7^4-*OJ9rhrfo!2Gy%~nK# zj4wel4I=ASZmP_GUqmhoBU)+Ts|k4s5eS18I{ITPiD)w$^vm}~=3LmbtWJ(A4T$)I?GnXFD^2YOe-}0y$8NDn(CXdwkqu>7u14o0v>KhAgpq(Egt2GZU zxYv`?Bkx9}^p%a)%hAJ+qkLl*+7a-_E8e(ju`}}x;0_@aYZM%ogLIDLFmTn>BK=&^ z8HEX>^6Qh|4zmG9qVWE;R2)8h)SqNc=f6)IU!m@5Yd-S8BO4F=TRC=dT|c;0qsg;^ zTFS1Gcyk3Ki$kc_+c8I3(QJ@Z_#sDJBJORp zbmD^Qte&lv4o${A}c#H}#_ z<8wj-#(d;@_*?rp7AquY(z9NCbX;vt%3;4Hz7$FO`0W1;3gT?wz@9$|zn}k&OCJp$6Z1NTlfKwaAdZNWnO4pLVoU|tzJSqK+{)i&8hkNS^*Jeu5^hld8sH*SQW0ElS(Tk<&Zhd_0t!Hz!!Za2gc^uAXx)O&Khsp<#cFo z+vm>~iFUE$o<_UPd#a)20A`m6ih05|F(oOVI~el10IxRgq9OC8T7~(R`enwF47ioa zEv%y*@@3@?pgDELzCh+`<4$zxIC?32cUKp^y=->AWD#k3AxdUcwANT$qxDB)jPkTy z6U`O?O*4{bU0J)w)yZZ7;Vg@6f1%z&j2e-(vl*9g^=2$?@Y#;(Sh>^;xDlMztydmu zYDpzMJB)65fzA%MYFb}lv!%tFaP(_`KW_La>@^2=e_wjqiCa5{bBsm#;@QBp0V;$= zvZgxpbpzujV&9FY7fDnSX#U$JFT3lbutzx$=lMIZ1rU7&YTn#ZbKo{()M(s9wlsUw zGTyP1xJ(Jbr3q72Jm~HYqHta~iqt(lGg>ngWE;6?f6}|HktASTzOtmJ){!8z$UmrC ztTss=1?Yf1a-bz7U$zFBmp?t+Qu`0<93Dufc#Gj!quT@QKbYN@5_)VP`36G_meqJi z_)m4HneR_TPwN>^*WWXfmO`e3bCoaOI@j>N;7EBC63a|WwwtQ66_Kogr9m_SK40>I zxbOqJ&hfgK7?fNYoSFDH>M54qmrzqmaFXp z?ZIc+%d0E#4dj#uzZdI5g^5r>QhGnI(+g4JSt*o>8|08q3k239eu6xRlzxDvV3}I_ zJz3f=S!6FD_g5n%{y)K8#|!vFXpMFx7F_MCkmsH2MMVF8<^6i#`5PE3@&~-(mb8$83>_jtf~Gh z=7(J+X5KJ*4;MV?D$cAZAF#45CG*hwObr*+8$;HS`Ks3znCKFh!!#dFsJV*G^BMn! zeZxf>!s##YCGwO9bgOnZGnyK&7RYtD*wB|sDF^iO63kF`aO@gFYwzuUP)t>AxV^(E z7z&qVW!I0JDT*~!01XqP#Q2zCM((D)ac`vh6R5Gae-<;Gdxf-uvJ1+Ki$h_-y{j)+ zsL3+7i&>kmlVqI{&;`fQ?Wq-;m#^5{#sG{N?!ZMQVHeR=-h0yOH|>Wzr3nVgo#=lQ z{@BI*UJ(yQT`?y=^{^@jc4}|%4OL=LSH<^C(YkI;02f>B^kj}pg@b$hyqNyp@%6EG z-_Cg1f8gc)3J1F|yqIY%v*T5%^npbIe+NSb@ByaB?^IMz#y=_9)c+#fpjhOcz)EJ+$7OEikk2v#i2$#PJg`A`#>a zYeYcnP$Ate1-knJ*4?C2!%Y3`%=`LLTmpcuLOJQ*LNOKaT+}?J!kehcxvI&O#hQM) znN$BjNHj5>yNN85>q)~gt1tgMz{azIy#p}DjlZxnA)}0L;mjC;r^jkq)M1J*ho_n) zzg&A#5q)}rxt9F(Vbar_-GM4k0yKOrkP(q0N;YrI%4j?&G>kLPpv|V0s~l1jFe2mp z{n8It_-1?{1v}(Qz2cE>r{g@#%%n7D{YCN(Y<_@MHAu}gyKhV{D0N)Q8870(UW=T( z6Sr7vP&ao*&$(n#0J}O*G(5PYk3Q1D)^aD%DJQ&ckWf~1!01T^c(n@)C~77nc)L|{ ziJ9>A{jV5~$*s;Dpxo#y3rhaTpu~y*rsD$=LkDh@gMTlV`shIdl!AA7NRuKh%fipa zNXV>Fp>Z322l|dOLTff9c{|BnUnO zgJ7cLq?-b;C8|B&&M)ej@ZUi69(z9vAEDBP`QN`tU9xyHBf zd8m$yBx1*jt2j`9*t95vj~bdwJNjX>QdL)8Zx|x&kVe_J%z~B|TfdMFw zjm&7(X5-P-W!E_J(KvJkC@HCp;}`I6nZzl?lt3ACw3!{6=+G;J z)y&Os#yJShWT3GWQR&2yLq%JHPFEBtz-st;I6`D|%Vrm0Zl@46c>`P{RZ5R(+Om-U z;yiW&e*C4C7n(nzAOe6()IXJD1?hSJdVQ~E7~E+uOhe6u<>z}V`IHFYQcb9Le`D;F zZ&vQFUd~*|nUfCuf?fG_!ItK#QjP@7uV>RS5@?!1^n4xw|2;RAfQrg)8ia4aB57qh z6@&2MogST+h_ZIg|NjVe@S%TcHc$%m>+XT&XFh85Px4EIb~yQV^Y&kvb{2ZS>rKnQ zrPV!i6SfS%=QGgNHkc+nNwU$HHh_XZ&h_aUy?|g#-tRD?+q&qTNDF5nuhzy`_!6i4bUsicUP`PF0xzV1r_bNVenbWo>2<$wxwtZ@YFTty0VQ?!F&XJ1TlR`*9Xm2fP%DKB z6CW7oTg|K^^B*LDYHERQH8WUKVz~3~P81W)z~Jh$bsZTPCa!_;mx3gQba}S9>X`t| zZ{dRe_Wvx!XW)Y`q~1H#{WA;kNEk))Gj97nz8a2H3E0i#*car-9|z_ZzR~RtTw{GM za^7B8XbG0kWFfLBw|PgJ{&!CiT`YLuWNSQ)4@J@y1qQ?emIakD8uXoq0<+0FQ}=Z$>j`vVc2b2yxpR+3 z=Q09rdKnY*g!WQGpqUm=9fl&pU&CaJ0Gd?{mmtfCBb4U>Z^`8O1knU~4*Q4)*1+(+ zcgy~n$G6eIQ*{PXnSZ{+mh4a6CfvMS;dt&|?W5tyq;wp?LttXHhvkn30o?rg^RCzd zAC7wMMw{M3h$bc*Vlo_BBJd+N3@qBbv(49}M6n$vU^`o4J_k>I8lK4ow$@oF)s4+R zn0eq% zP8V@Rq9W(ehnlLvO2c8aRkKJTauI>?FJCejE4jpJm+VAl4+RFo<*4JbIsJ$Riw8xzI<}HQuBsN;Cs^OV|#FA5Xla2Uh&>9XQMmmOc=Qy?C&Ph3@JeWEF zyte1sYIkIa0i1fJ5oN|V2yFPpTHF6{0UnP-W*A^;{^hdKob+kh4hy2Q*L7DG_8A)+ zdwfXzp$pOjDh2OTlV92mzP9Uhe2vSg{x~d4JModq29qwm5?Km%6=oto5$xm(;n*Jy zMf8mY-+Vi$%r@YjFOT(ekT}s;li^(`$qd0CEyF2Fle_?m|GvwSPYu~qH^Q~}b3bhw z-;?P=g)?0^ICII-qwh=om=`pI*;aLIM9u-~#KY@>Lqcjc^`qF?_d{7};iD;vIEk5x zVKGxwUv$osnQILEiN%nmdfqEC+w zNG3#IBPA0%NN0PXn_6w-Hv6K$l+oUEvaIu1<1v9;7FVt}f5$K1WvBA_|I&+^-V!&i zJ!>zxMb2a|M7UT@(<^Q!c@EBU&^?l8m^lAqAkF^0fm9~^Wd??+U0z+TZhzt2nw~vd zzMcXuU40)Hm6bfJZyeAE)z_pvx=>SVLzrceqQor;tK&;vf#cg4>u(ufm2z559|%Us@m26XpT)h?SM7ohVJ z5JF1jnWntvj|C>t&YUiq=fW3@g_i&u@wpSbeUn@1Q$S3$d$4OCu*B|<=QJDZ-`}dY zj(d3b8D0c$C@W_-h7t3=(O1{SIPBs4Lv_$V@SS{})ZuMo+Aw(*w9z!)=Hzo0a5;yJ zo+g2+ckjr}lOl}mC_C=zq4t%u)k2YR$=dJ^yL}4cxEvF$Ru66LLPptHHlXsNO3P2`E*$IsY>=;y}m$+6R4fhh~S+y>ZDB~}-3 zSoO+l?L%x0`rQsM92D&z4P{+tZpsozEBTH1J1Jz^%=v+i6)aIX&0eQ%(;Fs%A{I@QN>}0zqqu zr+w(Jne8}tZ7l4l>c?~A>WbZIu9D^~Hp2a4jwZr6wnY7K)%J@%FV+vuG*F;9P)l1< zO&G;me8byXE6kCsS|@D&O||Ri$D~LrxNb#&n7kqJP`r&w=se}rVo6@++Cl~)i}>;2 zfjq9Dr#5eM$njp`R3~FUX2Mx5#JHz&F}8`mCuVW+#hPwf^MJAIOIC5uE_B69Q>Rhh zZ)s%BjnY6DO*Z+j{z)o2sN#2wD^nh8oFn>yh=Vazr%$UtJHRO-OHC+&g5%Ke$#wQ} zBKFuvq;+i<=TKkb6OmM%2c#Lt)*(#Qce!!rjvK@hyR22+#Lexs>JxvOR&YbIxoHp?tWZI`#r8&*=# z6Gmqu*xf2R-qM0u1~FcL^K{j+xKO~dGXo=~q<;dAYYQlFSh$Gps$434VuES|NLs_O zI$^JQ8*vio~_^{6URpgt*)89KYEcFRk6^XwE_*cetZc@&u=-T3Mt6c{~AU71KVQXOV*ultb zm9(|1b&W4M7e`xdrpY^Yi8%`$j0`|KO%+L#Q{yS5+BGv#z1?nmY8E|$kq&qj|0+HsZ{1C1zIltDm()H_U@n5{W3N1mk&AuM=tJj1zgDGxYSLr?VNly7Y$PLN^!l##+aVdv{(CL?R5$nW;5hhC!Is$S78pFTq z?JnAMeC#;eNxd;1`t5sU5Q+|_>Gz=sJ(UJ=gYUIDR#lHN7_Q6vXt#H@rh~a2l4m0Y zc=2zvm7wwx^jNnhWFn0>2A^KzZuqMU%4>r3x&;TzjG2gDx1kk)AuQ56Jn8lQWu?Eaz3TEHQrFtEbO(Mc&EPi_NxLDxb}qaiX$p7ezeUu0Gpv9^-}@nI|?p ztEvSy$q!A|8CM}0@;Qz_(5j#7b{Eyk}h&>m}wFy^pBkdX(-4^zp=~Gyr4ui@4W=xW&E#3PM zD$o{(*_!8KzYi?U^w#sLpD(?zIysFDIM(Z#84F44Yec~(a_E~Q8Qu|iNcM`nGJZGu zfm71Y^5uYdE4_pt=PKFj+IkX{`@>hf=T$8Mau>?N*OiMwp}2yLStsAxHh&WAdUtyp zvCTwTR8sYY^1ysD=E-y#;KuXfJMR2M`XYt*d)uz2W1Re!>>=6aSG;NSKGoZR8&QjX zHU5CiLS601=U0o4eJ=u+)t;STvXlbdUq+n?2Aaz6Jx15HMgQJQ0OC(WyiXp;5v$Xa z7lj%=Mu6X&0*!d;T=i=N7X$0}v#2#V0~Ag4A_EY3Cc;AWyV+&D2d73P-}g5R%N=NU z4S--{R>;VA`u)MzBjqm2j5IlDnN$u*Tw~X0OozSVuTLX5idn!GXb9VL{kWS|qvZr1 z2a;ttc&1jIt^q2&3kA?%X+f6LBuX8j-m8M)tCkI#jk4!35__#=qWzv=YZT5|-uU;z zve~VaX0{6pO2dpm?M$m8f68mp`H$u5!y@)TtJ$e;S*RWeJ<5gCFg3J-g(z*uVfUee z;Q~yBm%ukM|Dv4XXziG+(8_O+*$*T}4S%=1hHKIBtB$4p8}!0BSg92aE1^B!K43oX zk{0XatG7F3d)>RIEjtWEZ6A2(=O&rj!-;%HX~WX^y@b9u`_3J#V$HuJTq3&x&iver*M037`Q^(TL%2UAJ=6QI= zsNgk_b#Yd~#4qw8A~ch5DUC>A-img=kB;KHGAWIHpfUaAThj-1M_taNi* zqwY|IHqx$ra&evVe5VDI|8{bR`stPjYXuL4h*h2y7U#$Jqe7m5Zf(zS=1lu$svav? z0gv2@b7z7swwf3ntFZ4V;mTgyg~!n@TR#Dfy|Y>OhY4Xpip(8hTv71aOp60`Je5Fv zHXfpLO)N)TLpg?f!*iS5PdP27T88uukl=gR5g^?`+ z>{=hjL9r>~0kNb3>{QtVA%ko5kX0Dh%V{1*PhmY2x_$bis-v{(8W`7`r2AgOT~T)u z>n3U7LKai=dX=UQD?Rc-GkXv08+2f2G_br-RaZyPsSplsep1-nOvY!w&@T6}x)N8h)z7mif(p5^!k>dmMEq3(A z)g>E1xM<^#jw417RH&$NIfHr$dfj%uA?r0AqiV_X+@Q-Os zZ@1qNbgQ@_-JSFFWquPfyr*~Z#B62cVU9ZFp>}TTAGkq2=-iZA%Yqf9V4x#}^IqSO zZnyR@ZtW^7<7?5U-@~Ph#dJts+@GME+L&hvfu0VdH;(tyo|WGu)tf&#fB3PI{Z?C} zcGlbuptE7NB-QY8^Abj_?P(T?*T9A*T(@6+Q}&IKFxu;>FuO~9X8=EsV=6b%P8qZp zkQYy3RVJJ>;4=?v@uBu3mZLPP%y|ma{PA%)+O4LU4>hD;T2{}*r@p4X9pWY`Bb*F9 z18Cd&(<8lQ5O2=9BMWGGj8Gi~Hb)r=3!}@nZeAj%ggD8!o=DzV?UJh)cKR*hm_3f+!-D4Kf!}Xj_e_PqFrX)wHKT*?h0To}MXCvX>$nA0E@WM2x(2@KHdMO(q1i0U%+> zl1HdlPl;e;IFM+*_o+SPvt8n%FkqaDqtUB)c9;dPwhn*%tllD?m|AqqJZ=4dSo`Xz zsN1exK}0$Q=?>`B}71!W^jh?9zsMIVhHJO={mphd3?Y3 zoNt};`mOV<xew5AoJqaN~WkOOPUs>f3PZ%HeYm^0Z1*R_(x<^sGFt zo6t?V^EooDM_41P^aa^>Yie@ICj6SOcO&|R9IAf?x|2SC(Jn;Pf`Job=a^m)I5STt<}WeC@q1Gv}yUnXE8zkZw1h3 zw=nir_s+FmjY<-o3Wlqz|Sm_Kjl#2=#tUR7O zy~)KdmpS0zH=Z!NX*(FRq9w6oJ{W!#Ce{;6x-ziN{Vcw|Bm_{OjFuIV9*wiG&@5#j zcqc&v_f0wgA&@vTwSJkYe8>A2c=ZnanmN5`dI*9>E|SyJuzO8fFDn8YU6$+_C##+L zqL4xpD|1^*VOq=)xdG?l)h|AjfYr)VVX3$_U}O<{l@{>oa_PQ0W#twL@E&tL)W#ML zJkzS1&A|-wNB>+~xI34@{DwsO&SQMK18eO2+>_b2W;h&D&gg{$wH*0(IFqC4rP=%W zXCfkqwPjWRD7JWro;c}GqYlSYXLW)@rQpV%&l#vJv5QD8+FS?Jc`bI#fAA5vDmj}5?GaHUpsp0GF-3_()$yoNgMbOLJ>T49-&84spd^FNTxXKReL zG5fgy=*DSjXaGt#u+X;PlgMhWL=O?AN%V>CZtAQHam%5W7x_8xNA;dt{GLCt7Vq9+ z65U}c0v-_0TDSkXMH*cZ7?7Bh5%=K($&}milauo?F}2*m1|rB&m&Q$}G>W0JY1%b0 zzH(1(|GgUKxn}0eDyhw!9iZz~+>0Qwi=FO6j`z&)ar}MW5zo?Ve~+!#n`(MTZY%ps z{!gDiW#E>iG0oKXr=6J9_nuAMuAG^WOD*^$z-a?2|z zp;72m7*3xAri}N_>Ymhtwi@NE%5Uw}H*b9#+L@VeWL;3lth?pazB||66P@ESdGSo# zLg9EhI~ik*?~JgWl$d$?YTHCx8$Gl&`2Bl^wS$V}oFF$R)9(1HZY_(lj@Mdw0uMf= zFI7Qf$DBjUo!JAzN_coV!fN4DKUM;|H=?c5>fHB~%+o(Q5BTTh-@yze-trJ%3jkg4 zwDzf8RME_h48GWaxfhbG$mr_7)6%t3w6S63)L?U8UyS&{V3GWGmp?}l9_#Z!s5+$7 zUr2<}))S2c%+&^eEPuVuW#HApV!~}c?7x~*6HL)KjmUj?gO#ss*yI*bse97*N;@B! z2BAJr@}k#Z!A_qzu4VJ3yNd4b96(Z_odz8@I_=j%38{!0EWGyq*{1Lg6-GqIbf4ja zShH9jmtVEGK^l){e29DH&X`qOrc~r~rlHaxmWuf4!TCnkhLKK&?=wrPr0jh`l9|EK zxg=HuSzEk^V?zlUaddpXd1)ZME1v9X$EmkRhlTo8&=XBWbj%&P@IWgZZMQhtuTjb; zTgv{I2a{l%r7RHFAl>wv*kth$w;%Wx8*VPURA&F-%K&BHLyt{(QDY9vPlE&&=Zt3v+kEp@=bys0Bh9wc zs*5{D@g4c0J>1nJ`>ji;iW8}MP+3`DDm2a8W8NK4?qX7g>1U%@Pe2(Xi0gr^)fn*i z3D0ZS%QTdXl#2&;%AV7!Dr5X6Lk*}1p~lMe6#q^N-zDbsb> z>%@$oS%=1EPNAFg+Z}}{edR_2!wvUp7v~Gmjq8kqv!&_)4NyP3A^bi_CQ~wtHQ*Cv zz*qjYDMLnwKDbjm5~=3f^mvEJ+BPR0rbZ_K%;&tyqROOAF5wY)zuKkor3wc`+}+*1 zFQ?LjC@Qj_stl-cxP9X7r!tm2v*#i1zCMCIqX$CHAgQ;IMuADBm0ZRB{QCN8*V6=B zLo-SpFiF1ox4?hw>T0sKkrC~Uxq31_6LAn-&O9U9F)(~3&0$?S4wAcYDRxUA zZ0O#X3fpPs4V)H4|#MLh5lGg;?UfP-K@boyj5~JR= zse1q}*r6ETw(At|)CV62#C1hrE~qPf;xp@5mR1J#i)dBs+owdod&`ZyxnX$2cb0DjoZ)|aF(m9vYkKVZDyn!RO z7czSlN`Ic5dN~CQ9i~!eBYpVr;e+xM@%e!EGevMv&K;mHQj54D%pV6Q*^~E&6znJ= z%K!14U-YG4^ocfd;GO8)!a}Ii^vl!wXbr@EQ|qik*2PTVLKl9fgde#{JtmX5Z{$yc zj#=a>WuYPh)_ShEL@RW(oYir?Y-2vzLi}cGhqpS%qVsOB({x=}OAGHRjX7xOOmWxfZ|Je+k)R^2!eTu zvq8vZRrsqrY%M|#WSH<5;I}uvmVm!6*|_46{>Xsh+_b47f81gK3YiAzF0FkN-u^?= z-YndcTW>}stBwq7(EzqaNI$hcD@a1xI{2@67x)D@_ezhFU^g|yV}2-^K7#MBL5=2A zW&gzzddf^rTHFR%Wk6iolKlk9UMth`KBJu5aH>ak5p)>G%2S&v&MV#8#m5aPtGJ=i zM6B$+q0xcwG8I@;**cMp;yNEUQG?gUB0`r7ii6HvNz5SH?~}HtzGcphTz7xh9p`{^uM_P zI1RWljRd)1V2tVeK?j%~P_ih6y3!o~>swcEFr4&Ktj210k~~@OCMd;r$Oq(2 z5h!VZ{PI5FNqo(2iE>Ea?UQ463Ch8$Ua(WW30R>gRypKqvXcb5j=EECww$Qn#d#q0 zT)J%YU=2>29^=0jc83L67=wB^6WRbO+i=7AQ(Dp&_9yP=X)H>QO`BucnYLRyW2ND__;Uh-0Uj&a3Jw<>OkxCZZ&Kg3lf#O2# z|GCf?P++=BQb7{TQV-AaFaR*fR*@=-Q{oS_`F+1V6UT8GQAhh&hYBdogi)QN zZaa##!v(;VNH|W{T(WEo8w$Df0U+x?V(mnL40if^ecaLFp#h> zuiN`)zveA1i=%w-@T{;a6rzV;6sz)^niLCEi*UKHBIMCa-=Y{FOL>3D_;~*K$IDy_ z`e*b?TD8QLNqPJYe)PWt&d>X~YFauhYe|ZjKd@DtS@4w9umhHL$9_}(H$4a?m5Yla zLJghgFR8hIER|tp*~9Vc6+ty8*RJ*A^GCNMYHsDjN-mjp?!z+0UMjV3w|x)ouK9=e zwn-}z4C;OoXMe$IkH>`W_e3BXlC{M-v~qe>iloqu~t6`JW#K8!Fam|br7ULlL=Z)2}-at9&{|_ z1Pa=^dx8(Jp99BN`u0}gpP$*KuQbf|V{VnRl3m}N^p(jpy0#G_Fe^xN64S?^dgkOX z(Qj_d)JNhI&}R8>{GEx$lxp=?ziMKfn>!>ghqU&_-#oxZb1GC85+!o&2B1?~HeA+1vS3DMD_D?)PHzJub65u@|!p^rDy!$FTZY6(l!*Q!e=Q z{?972)~;mppM*ItZJaffuGa08r$lKvZZBKCVZUo_mVkZdFH+J}kB<*P9x}mloJn{^ zOh=f@7QB$Dy8-3ua0JLd_D#jEytgW=eqxz4-E=6#;7BK8hCTp}nx~9~h6wwMCF<14 z6aM_vNym8S^MsVXedoJT6&|bbxOvbC?K6+V_p-(Lb|EEx{tAit@L2ix_7^Hi^+2Bhs`!l<2z@UpZc@yjdFA)+k)OFtG*ah!V7IpAPI=rQgDFXAVYqq zQorHup;s8a;--CTM)dB@$V4yWEogqevhDOT^qyg2W>gebju+ayRmiAFD z`9-cLkvzH^n}T3I2k@Auqt)HikLzsdwA1@rLvD*$4SapbeRxM$%vPV&Im>1PyysTcPD66jO^dX! zAG`&2p{1^Ut2Wp*G_=v?_~@z@{X|ibVH~DWR`0`U09x^Eq?+tnbGnE>y?_6>bSxRR zmn!fK?Dlk|hoR{eBk=n4*5vR;Q3&775&lX)DT&1=?HyO9--a?hGB-ShtG>2QAUg3I z2{c$I#+M#EZrs||IYKhj!&>Ja*eHLe0(hT4W5s5-RNoRC z=0todliE}N*|=J=@q;{Z5+ZVWX5%;@8O_^7E8wte@apV#-QTtf0a~&H*`=NT7Y`v@ z3s3zm;bqQ8=8<}e+j`BhUQHYiKgvaX+Pz`^i++OUhDN{wr2l+)tMp~^f#Jlt0?i7p z^DM7ahvk*Cyoeg^lhnWVWV-#Gr`WV$Q0T#?iO3h#`_W1#`>kn7+54Pd@F4hV-UmrRtN*2r zwn~ByU%m4044DjhiK(y5jmdsN>5vl*%iQ9M%e#9evNmf_F^6+@%+CnWbFia=-CUl2EK&25!4ONMQY`~hn08u;V7W%3L5>Koy~L_Y~J+4!bj60_S{3;-Mz;i$|o zkC;Mq%Z=%&6&{z)cD>go3ae6&MrI<13e(J|8=|1DBXoXQRG2MKpI}UX0K95@Cio3q zFzb=r;xU$7^*g4cr!37-EKk;ZLDQgR-|d@%D~{jfO3nv3S8;jVxPFtL zY9=u!elu2v6mZfMupUP$?U21&cMNreE4RL!U3F1(d~Is_O8vWu^2G*DKh1Ng>hWxq zNWQWaa*LCf1Ip3Zp=G&Z8@rRK_MY2;CEV(A`xE9-0R)PcOZCo{5NH|i3P(rURPp=r zjKa{}hMFJ@qivlz#2L=f;Q_XMn~^h6U)P~eeWh!1R_3QF^sldeR_AoZ zfGWqE*bq$5`l@oTFKITL{BFXesKKdF+{&${yAH_l{P9da;_54Tme|AF{S!l9GeSKS zboQ!)xFNB*<^Xui_I=%v-Df_mRu!QIh27Rax7><|;a4o# z<&}w#!<`AJ>RHcIS-H>`_X!F03~Z>aiSx zl?uhKbkjt1iBKoO_QV>V5+z&~e`LDR`CvDqu(C431fO<&6ELS1 zwx*K1px6=H*|R{ZH$N$K*P3yrYdEdEiNXaY996HnKvq$opO{5jBL18C0irgpe!gP3F2I8rW`KbxDv0IpjkmnxtlTa041mPi7A_m3Fpe(2X;9MtsI{xN%uH+PMH zdVBl%)S`lDV7L`NvMN5eXfl>PuZscVKv->M?|2h#_|DqT8elGeCbL?jrfZ9-6Lnc_ z<}Rk+$O7AmM=qY5DOG!UF$YG{9>r=z`t-ia=UcIQQ=Q1rM{G`3CS3aJ)oC8V*<;{z z4kPA$_bSTfQvz*GcuuAQSz>{K^%o{?L}>phc~0P!(V8vU%fTWub? z-Tq3x_jS?~_@-xP3?H5W{qlF^j6EE@AobMc*HfubCHmsaHgxl-#>ySr)tu;x7#>(i zxXs23t@f4u#9bLR{w^mp8=yiKSzoE_D^*L^jLcva{v>g1(+{$9TCym+oM^ovsPmDL zSE>mOX-Q76#pj-ZpcxM%QxTB76pWrNfBFBD?iTKp7zt?C?8x{q95^P zTc3V-*chP>ItOSv0akS$&_<8WGjxWf;AyeZqe`2B?{yHpMN&V@G~FiTOEPAUUcCJH z>P!!=0pJ#i#iewwFv?hnrb(Ndm~fYWaV%g0B6+eo!TZ?H<59sH>z_yR=Cff!!|=)5 zXNvO^t9y_ipLiVH)M6@_HzZQt!ht5A=Tl@Q7p^SuNzD9Dd6K2<4y7cBusJGOxUoQocNUKwx7W^7;J@G1gBe0r$FKB3Q_oIQgLZvX9Ps7HzP4dxcG8 zW5q^!rHB4Z7K-$8n_g^R?^MxoU76cy__lP~`^*)w(=v9e%a#g>(|9E4j@R2n2xl`+G36~{Ute{zna_{5l z@X<6rJg~kpQnz;x*ORGP34`sznu+akPBgZ~p?-9qZ?z4x0;)mkWs)3F31UGd9hw+_ z?!cOQB;t6U#s5gEc)sRuAVvtJnXFdW(!Ey%`cA2qwu|=w@}~Y^1=VOc@P^=D43Kp> z;AH|-Vx^ba`D*2v#bgB*9u}^AXOO8}>?NWfVqID<&_`qzuhY*x*yewWBZQEd(US=? zVm54ut}xNHxgBoE4s4NbT24Z7Dpd0oZ=fTHi(Lko-ue1%k2mEz-Ymt*C})?|;;eCx z5_%Guso*z6YL|jmI!O;^t{k5%S%WXfJwwUd_$OYaVv{=P2Tf)lZA1{u%iHVah|>pM zc1)v=1Qx=F+mi%6JSgRJ(AVqlc4nU>h%X(;m7h(bAh#?Hop|*@tuWEkk)B}dl;m^x zXW+$n>F}u1lB`lpFBm?A3xr(sF*HMzt*uqOrI59MA)&10);?y^_gjU~I4S-xU4{_ZRDW4&24MS3)8rg*&J37OXC$>evO4Ed%2YJH< zO~tqzEX>?mkBo8VZEY5OB1(tIg7mFgFafrdt1D21yQdV)<&bIxk|Ft1cS;?yE-`v? z;V+Krnfs1O&`lc3-JMeB2iV3Kr`fi_D)tw@TjjzgbL`ff-1oB!OTa}Xw-T!YL@d2x zJ7z_`c2l@?+0RL{G+&7C=lI=qD2&wgg!dY{EZg||()`VdfFq+)aS_bIQ%=;@YsQ1l z#8pep0%9Y+GoRbnC6BGr7@KHT(k$rHE*+Wce$kHi(_wg;K|zf3vxCL;`1>!Vu&z`j zwXdvuTVGg9W#?Qwt6y~!s4$=dw3zIWjyCUAvlxXSTJxS^tBK64$g{qPHxf@TWQ{jG zD9EoU`vMV!_fANtMc0!&7Xw+Mz{v%bQ3ns70Rf7L)snnLTGi7mDeK+jy58RM&k()L zcV|Fow^iG`E&299yuw?Qq#Hr+7axdenb2v8q{3xRq3NibC^lCfw-BShj|w-vEIZDs zllVoj`0xH0noLhJAc~lV9cTjVQarX^GN1kQ5qru{ZMSFyo9E7*&5umkxIIP|=5lp;yn zlsiidx8}KF)FkXCL0EsaD~JdHKk7H!@EK-3uh`s++cmjhBVi9yc?esTDdzXmLbFvd z)8wC*9mXrcH$cB^h#E$8{~HxSs(8FN6TAsG1Rad{eyrTV$(NKMK|{M5QhDak9Qp!z zmjh17sDA;J>8$FwK;1`MwUd>K;hsvS8MW5fbWw9cPlEcC;!j4Ar0;tmK4Xnxi zX$G&@VqFGw?|!coJ!Y}QjBnw?#7n=W1P1w4eW0ly3`qD=T$?N#SmB&f;v)Q!7%*lK za$DwM8N$H~wbEnseuEt+H!m?Z;I981Iabbo^DX|(r^h5ZPKn#+EiQh{*aG|m1CcXxWh znuBMGaH$>mdK1L8=s9^Fv$u{!_+Zd>^`8qN5dF-zXO_`vluch1h$w2Gj~X0|^t=^% zg3qqAyUrvvtjc|e)x<}>q1VM+WD6}O&NvHuVLZ^)3$O`Gxh~nrdbc$W zKP!N-=Wrc4biCYhC297(HcQ#G61yJ4UH%wDkzp=Qlvs3Rc7K*&OtG7&gF6skjUKzW zR=ZKmFHov$ywP*1#MVRRac5(7TT$8RAVk6wGhw!* zc$lRA1-kaG;@(3a{{pAc@Jqvu*k@M}~camK}T z#K6{j5LaF3pli)|A&0=rKA&ft0w3DG(&KC16>}>HS>xJJd( zEB)A!WJK*%*?B zfw}60Gmuh%Ld7IGkmgZ$PyU-_-nDx3xGh($Zqa|Bgyk5ROZZ$`{%A+t&4hCuU+5yUtuwM=5iv` z%mm(cyO7Z8;ZBG*udigoB=ohgNNwCbhoxjoiQi&7QDR;89=MY{cljk2`;WzzTY>%xO=HZ3m3A$eHPhZ*}@VDm286b*w^agMzaN)u%2H zxjw1$Yq9^<+5!%xdB4Hn;OI)Ng@Chmdj1~k5Di!l*!;Z9D$CG3N@GAIf0~Slpl5WV zIHUI(CVl4gLzS$|)3+f%?njhJc?uKKXRF8?tT1%oQ%1Ze$g+;paAJlV*5;4L|JEA; zl-?Li5@cZ*(xCK4?SG&*PqhGy3Yf<4XC_H2jCm=3yZ7aH8pzQ(09t?Tzwf?55ey3L z{-9qt2zhG`Bo{$!#>h*VR2So4b0%^EZ3yAC~)L$#GSP zz{>sW3jiqQbDxp^C6=cKc+Jw9zFT1dzdy3(cAj5&FV(v##T2NkN+s=Y2pNSSmezRF zh+}_2;fnTYul^KFjB5#r$v9yE3ey`>Sif49C0rhsoGSr_!(j>2-}eYZ(AhZEdg~++ zZTmJNk~{?(7u@;rw+b7gR2TtwnPM3t0lq8(k^Q*}n=RWYLp%WkJS@`VNq&2>)E-Z}RzY(7o(v zDrRbRpjp7m=9XvHIi1-`PWwWr;{04-s7=CSO?kMXSju?#Z;K&@vKXea1UVRnsCh5K zeSaD?YY`Cz)n5QE6=o9UgBJl{rOBxBo6VnMrT4H)tABGrFDQe#$Y>yb z9ueKT*((-RnxV8e9&GW3QcU&eWbuA}NveDl7^pm<{=82G!X@z1t;JoH_X@w7DQSRf z`$vO}ZlSrbZEm~GF8o-k`kPl}DDq}G8EUqe)s-fswENuPem0$?-ajfcBsm(OQqJY+ zyX|$nPx1!R97p~ER)=G={#O8~0|ZbcK-)5xpT8@WHUgg8A@X};;i!$>M|VA88T#<+ zx)S{H#>#4)^7#91V`!Q*$C?45%egOMGXBR}>;Hq?(MOk89}aY;V(t0-jv;OWfdf*O zI0GH~3&k&M@bXWs0mBPu$sH6o4e;tLAU|j2AmBXJ{yPbS-7j_&U*jZwYENqO{i*q4U> z?SJ+ky%6BKLwm~h!yxsXI{(x?3I@l_4K~s4 z{REg$3$wbvj6!XJ!g$glt*XY7x1jy~Z5)DBDMc?}%+)mU{K0P}#RTpvEQCq$7Rhsg zUorQsKaIKNew;vKPF6DR|NOZT3zF|rz2-Xp2CNexTIW~?MQ~NC3JAI0Q9N4Z@``jq zY9Z6QbYP95kAoUj;W;xQGz;PIOwzFi-5;|F_!Jkc4msPD*o%@ z!hm?_*SNEoePH&O-wU%<*$FH6u|x=hmQnig-|h?yl()gu_n34TLdfM&bti2gSoovF z@y@>k=U){Qly2u7L0a#pmo$R3;!ReXlqN@wB?W+-d6Sy;A2muX*Qj)jGD1Mw`bKsP z9icNH-!EG@Q*?i>>Oe->Doc9TNs@|==bx3@g!?Q%6-xLsE=3O^vJBiM#DA6DJ`&P| zbYtQ<_w$>;3V!o&er3pgs0`WFp*<-{cH`GDn}I(+)n9Himf4#{lBxsXT?+<^uaNGar!h^{HuDFMA zSxV}B@*L)*pHFU~*)#Wz)!9!%>QH`B8n+UD{W;@a;ml?q{3huw;zcC39PI_sNG0h7 z(ks}j-jj!_4?sc2-}>B!q{Kb(I-=(qobquYC+L$ZA|W~@8!$0rG|1t`8vKjPt`;fhmFmReP({> zdlXz=PVf<~`gv<$SR3QEheE=3>#nQYHUYq5%RHnZlLhsGWYNn2HFgb84E6^k?1L&< zv7f6T-tIhIFw7ukkJ(QGCP4B|_D&LA^J1-8pN{pF3!%Hy{upgrvT_@oLF%TGR5yyT zCz)v9i`oLR)gfpo{YwcfJBQP;(XsO7YcG4?p*zO9hBR>JI=f}(dJ8cs;)$a&a{E6A zObOd(0%IlTEE#?W0a>U*!n5fI_9V|UFurg(lmiTsFtyW9B_$7ab;*GCaZB0jz~tD0 z-bReqpGmy7pXT`;14PG-mk{{B?K%duZ#Fbi z$=tlS5dWZ-KKOiRVftinQx2UMFrlu#iNOxQE@U#YFrX$F`s+EWpv$C{kQEy_>!r*o zDo~1_tqwI>-Ef~-_wOPKs^Y8*z@_Ze-)%osdtmbPhKtB^VEm-}?zcJLS~=gQ#`J1n zbh#=rQ8SBpo&MgX*NfXhqg@CpTXP@Xf)4QGL5@4KO<|03jYFU@G*K>i!C6!eB^TF^ zg{3$KGa2`-p`ES? zonoDnlR$8Z{*nj*y1-3a%+@Y8RO5svai~o8JniN)o4EB5giP>@XeUp<#o_ik-JRom()GN#`UL`rzwaPtr@8c182^nt!+ zsYp*>x?nUjGjreH!Jyx`t?0btDO~JWQ2DOdLS(kG;}E@}v2hN(#kF62$A#x{Xh1JK z(8-vm0rPe5E7L~bRwOb8)y%af4fN1#N$EAP-ytJw??X}pO*VUUeaClZ*iEL``{2$C z%LDIr_x9voydVPY0Zm>Uyn)BO9JL__D}#*u6}TVrBJRP9KGc!0esnc%26v=F-qrZ_ z1wSk$Ib^!J~eow-|G#F?L(F)i-?uz9dGxn^sH{#6s2$v0@;Qk904j6+I>Mvt&* zI!r>dIXhuE+V$t!2$_7{QQMGH<2M<83ff5{J)h`VQFUEg3V^u1q{o5doIdXxrj-o4 zRjsO}trbo%v-Pd`wSkLKy$OWEEd7WUx%rHy^-0O6%lS6D&(aTvHL++TdABYz13!{J z{IZ*dHs(y}k~dH8^fV>!3xq~gV`&&}!}y{zFUDC(MK=0t%|nFe7r0@oLC++?jP&Yi zX%*Jg(N@8VhpF`Q*+C_e^Q$eMuM?hr$wHzX(CgIK@yz;e1w4uL1XcYWVga4c#*Gx2 z;cz(7cmXaty0~zWvz5#>T~l%>p-?;nQ^oD85CZPjU#XCjaSVZ*lI|^W}Ak z;SIET!khC=a|>Z*Az8%Z1#Yjeeck`7`Lu6YT6$)8pX8cbyD4i90baA8zbIU{7b+_1 z2W;b`g5Fn}Sr!=(aKzhh$9S&;d9A^q39!m@0Q)@uNg!u?HQubTi zJ7EaIG!`4%SeI3r8Ds;l_e|~~19!+5es3+;VPCtM<_$C(%8$+LUn^{?R!!{B0Yl@z zjdj;6V&En@6x~-tid6A|#0K#Ng19tNR}rP}?mMHp#7K^@XGHDIa33O~v&cH=tHr(6 z`u(_Pb-Z)j_s+XYAxM5I{N1CYr1;byemJu_C)vZhJ6i<>n8pn+(6S`XnK=a?o=G)+ z-f5m!%TZXWelfR99#W%q_BJw9m~@Ur%4J&?VW{(H}A38dj3>c zD3ql^snzd&F#40Qv!<0>G2C}> ztkE)VJ=MDsdMQWJ^aqS=R03M$224!EYw@xyOuA7v#7Wo!0;;mAy({BbxZHw8Ms5q?!;Pbv z?IC@nH&4EsbJ3Iu3kR*Yhv}+n-u8VQ5s6h&Yoa=?3fo%T|G=5Wy=Q7_q_b5dqgi<7 zH&Kg|L9MT9-B;YEtp_rQdJ}h;424{ed|W9CU>0B#d4E2HeU3h}N)>6wzF(e$EtW?>Q2^mC^q=su0P$7t==Wz%M# zeNYpt!%`EsR2)R)&EuAFk-x9@swxnU>t{N~VyJ7jG(bED);d~(@k3$6cgU7Mi#=Z| z9orB^j?QXy6SRp4eq8;5z){XMi17dIy6fo~15OQisETRvN`r^@Ys zlgnWt7k$KN0Ma9sfjn5>Db;HTqNk^iSX^XzWF(?0&};h+*65+Lveq&k_!aD2K;idb zHmrcsV8T&EIb#g6FL>AzeLkAi{-*m|mQ^QS_e*2_bBPG}o`8sS87KAP($e$+jiasJ zdVTDy5;7Z@ukPG)^RTxU`;k&NgQ#f4EQhIn_=V=27kta%%4nsxvQl8G#znr7-|J*I zSK=50=}&)}ZKcq_AyD7&9!{-hTNJ5r+N@mN?_EstB{}u&y9xpNl1Rheve-L~J{wd9 z5J8*znOb}cu6aF(i-IeB3c{*Fc`r?{S7oh8vN8pJIFn;@-c-wxip`nvg$eV3B-Wn*Lh2~^be~Q zE_s+lMN|b&<3u4vGnkDK^^a&z$c0oR!XtOBx$| zhEtq(1&PjbFx96!^-hwp+KB>>gRqnx#5bgVojEz}n$=eH^S6`hooVZM`m|vAJtq$} z83)K-+IXk4+Dv=>Y^#jxc@AZ}o34^eP+;wBKtR2paj$I7yLU>8is5ziM^f>gRc7G3 zvks*4CmQFstUHYM><6$t`ZvR?oO2{IpuFh~vRfYIF6k?1u4Zg}uKZP=NG0xzTYq1# zSL8tHbSV0^pFDaOo4F>4Yvo&Ou7&^EsZT#2_lGYvH%@)T?s0K-bu8Ymt2<}-;O^m} zVKbD{3k<;n8V@w z9+Ccs!ET7Rtiv>gbQqrE&$jCPXx+F7#y6{|4;m&{`2D#yMw;r-9n`s9S^e~SC-4Qh zASxZNtGTDkcJ}8#^|ZB~#;F@UhL!fGb5e$9`+)nBg|t!{7|p>kRh(AZ%LTNcOa$9xcUSCLjNqyb+(`0=( zuNqs0bt2nrGK`5vx*@O$L2`gq>p*WAyfQ)g{+kzwEpv*^QIcs$#rWoE$>-XNes(IbdY|N}W zS{}g)M7qeO`UgUfUip5LO$c*Ctji^VQ3)cdZ7>q3xZ>~KsPtnozlXk@3eC$~Sl!$X zwX#vL3AVP$&x3rpL!6XEK|`ar#J4a%pO}*#w^@Rx{`hMVx3Nz!-%@f+4DPleI>-~C z`pVPdeO%|ZDgE3w(7FxGlG@^Z??U<=$OnbNt75w*L|Bgy(bg&ZT}%o}n^hGmcIM|L z@cdL({ecBeOHbxd#A_+8gKzerM+lWu()8TIL$M^Lna_s@O}pVU($*$Tu9x zup3NnrQgm}C$r)^mrV6R)l4r$V~l%QrW2up=|%lfTtQz;dYaQmzb*yxv$Ac&N>clg zU&g&zUB6qF_C!`OiRqbzaIr?)G>ym{O+U3fMY4K$SG;#sL#%6xtu{9G%S=g$hQw#M zxDUo#y|6IE-hq#B3x6%{LAK@JXO)oZ8=A+P*=#6*w3wAhhqr?iB-Rn8@X7cLfs3+* z51hr9s$f#Mj-c1b*cQOg9KFR%{kt=C2cVyrI8lfF~f|#QH(dM|Mj#UukW|hzuWIkUhOl=`UV?W3uXZiSv+mOSDdm`14)rJ2os9J<| zLyx6Y+355kvS>0OQp?&LuE$@p9c&xbbReKg(LbfAvXNKMMnO+IH&Q*F29rl)Q+_>`v- zRH$v4sa3gXIv`0K)6+Gx2{e@=hZ{=WgW&(2k7Bt13umNb@JztK14c=SyqWt@g3o3G zD-8oeD{|i{1RjvD4iMSIYw-a;=$m9MVaxC%37P@Q_#`!6qlGxpTP|7I2^%F#?aXkV zCi=qkOkp_s{WPHfXF=%gyS76@qMw%^@Tm35+SrTaKYdZdojk$$(o+Xf3U4#%N@*uR zw&A6jINVcJ*Li8!WtQ|dDz@fPk7S+%=n+AXz;Il`8IqxDTblQSNb|#9FJ|sGRY6+` zXPZg*Y;r*+SLB2Yq-=+Sp zTWvVp`|g5GceygM}QdOj@Z)lZP`rr8OG0c#ZE>F>#nLf%DCga=r@MYH& zz{9Qv-A%iG%;TAU5)Zc$>#W-hOo7&!TQmP%&m@`z4p3e~dXpBLA_hoi`4<#G)arGP zM!3Mbcz)KDQUWD{w~TO_JX7EY51D#B`(=N$$=;o*aiME3v+3yW{5)J&)KU31LPVk0 zkfYuq3QyC=N{FAJi$X#BYxx5PR=0u+=dr0*oQGUrSMqVopX7 zp9M8po07Hsf&vu`tnbB)q$N*eI~oxqnLfUARok-%lj4wm_q>zVm;xp3i}9}Cz?poe zxMw`7HI=U4^bed{)(duqjL$)a#{OlrEn3Q0$};ftKp z)Y*1_6Bdf!uEl0`bt_RRl7w(3WhO^$zFI^Mn=CV5S$~qhOcIN1HuAkuxDQXfqgaq1 z_BFaMO6#0v@>$oAglJe>{!>Y9gT{sZY2X5~N}Obs71u}#M6Pfq{FrOwH1V{78=CM# zh<_^{7`R}$wDd>u7_q+;Z|^@T-kheaAUEu{ zx^xI)&amB2YHU|4h&sDWG9QwCXaHPUAjsaK^g)(W1rg%MwOZn zcv{O8hp4wa?yA5@2QjR(zZ3cz?K-WHrIZ@%TDwTa(@W3|%8MM1Bc`4DOS$u&Ig#Y4 zx%EUpekiXfUGh!f<1)$Wk7I3wYR(|sc$oI?p0y8icDXp!bJ3kTy8l1Bm-T|p+$gg% zW3aDAOgwUO)IjpdlaPgO4u^KJWg6r*_9nDMYAlGf*Cw**4qRnUAesFkr0v0n}d~hOci60 zBfikBqDQC9VWTHnmmC@a$ByctVq8U$hks)lxxmN=kuMAFGfBaffM`r1(-dfHejn^# z4juJ)3gw4>fpygAM80H4c4KU1m8oVt*qkVM;9i32qjptp9EjUJhj!r~H0ieJemo8` zwChhHN7kkp$AbNhZbPA zKv$we_&v8+U!WX68pDFb)<*|&h6ZE+SaI%0K4%DMj|HXo12pIx+oz!OnmV_!T4*)TtlwAMmT9skct+4GXcC&Jqi0_(f z(@nuR;FB-#MY;=cLmJbd19<`7ja!nO+Eu%ub+47@q#`Q6fex0Evmbsr-+2S=rpu2hG{Tq&2SBLej_sLpLc3m=MHi1Ac({&T2TW#k6k{ zwx)FfTR^vD`d_TQby!tfv^Fk+A_!6<-Q5DxEh*iw>E-~^(j_9@vFQ-$hD|rpjnt+= zy1V;Z80X&a-ut`f_dMtO#|LZ8wZ@opjCZ^vCWCWU6+%`IPGT2O-G)Q*FZ3A(XC)g- zjbIcQ(%Q$?rLS$L2=z1k!bPe5a3psVQ(E?U7+Y)iTBX=za%KCVyoCQ&n`A$p9&F0{ zCzhN^I5O)L@OT5H4X}frzv;^0dDuZ7$4br_%jj!rafgZnwr`A9EC?}-i%dSh|5b_b z5$-LJeX!i<3g9D$Sq2;gvPmJZao@#RT0A5?eF>}CU;#+NDw1G01^|^J9r7vJ8Z>pg z;-%YE3(kp!AgVsRL%_&l;}E77B3BFA^VVTZT7Y;eID=VJ;$EAlbv+;NvLUaRIF1Ke zb;yih{{Wz?2LL1>wnKt|{cxAlYr}s6K&_!IEv;{W2qOgT8XtgFLD{p4NGK>uP(RHt zT!eEE@+Htr>`Ex^+ek@iJsuagC9PKef3a%TAn?iW!TyzF^grNjjS%z+WIr)bJ zlVUe{=s1C?m4@31umXpAp1y0g3jgxJV8BdVao@f99<<<~)!z0*#ksNy0pQdCts=5? zp}%=Bee0^RhqC7?Z^BO(r+UepD{{q-C;zQ{16%rg(dReoK9z`HAAIQ0=T*=s@#|vg zUVLdBMxp+2Os6MQ4|Rsv+*!uTHl4>=_EXN-)d|eB{3~ws4sRI50V|F33e~TTGo1~tA(QZeX zXTv-+Bx>cu&6hp$k>$d~P5^!V%kNw(i)tkEKqk34h^Cx8oqbh}@lgH=1l=((x8Q_sVhvNbB z2p>S-Pif+k$?i}fU;`osV(Ndwv>~#Bl0?mO4o~8`;1A!gqPdsXnDj+(nidUb^xy42 zdDub(tcDlbU7{k7oNKEP04_Mu54gPL-$)iaMR4XMH;V75e{D5!IrrUA7VwSoQ}-Su zz&BO_A%yh@t#*h#GSfJ|cv0H26V+>K3#Yfi+kb$&5P-jM-`MQ1BYXz>Sb$*4_aC+_ zc1p{772{3*E-x;CTYc&Gjsx@jKh?>i(jTC}r*{n5}!o~Upz(fhn#p)TKd z6MfjU0Uj?*xtR=YY@ZIP5p*0Tqsz2q{Y!O9w^VTkbMP<;LykpGl6&cndGLER$ix#o z7U&)hCRHrfgHfy)3du9PXlk(gf3V<>-gaWoQAZdvTLkB7g4&;{<*O8L6J~wTLY$dKeg+FL-h|~ilOpj zd%8a7>T6nlB48LCrvKp_1a{_yuW>{uuJM^0)5FI)a84XNfP**RU5A!AQGwcbZ}}ze zKNi6Tun134i0kDZll&qy0i^lA5}INZ-}!jF7o2q3m$ndf3i-o)Ku=;S#gHkl3DDur zgrRlNi9=88;NId}&kmAP@rQOU0IUMHzW$8Gd>#zD#Ft4K^w)4dPsu+Sc5HBq8d>9o z%FINrbWbPBmMkgRyd)r0J;(xy5Fpedq#MA8-&EZ`PNf$Jz{(FdHvr1o|CJ$#Y{~Bn z6gZh{nYq8$iVKe$qx*(|iS`a;(XIy>A`#YWHrlPdO9EcWg;!zZqnbt1n?oQ_{a5x* zLeJgoAtve^*i_(EbAdy_Qk`?aPA-QAD43+3C$@O@Oal@3vVbOVN%rqZzU|-IScxB< zW2Ll7xERLY`hcKEdH^u$2EI`EUX6c)ItQ=!-Bz!Rw_?x znadvu6!Q3f-iX&OPcNKfN%NB}_9 z@GH$jBT=#@UE6190l@zId(kSF3b{si1t1}%(*(rulWchZ`ZHgbz7FN!X43EH4__|` z|4Nf{k}CWox$<139aG}bHH8IJILgw*?m%~W_78X-NPl|ApdfiXD4h2y<)QPzs9ti9CpkbfEM`jf@;U9D z1%})L%nlQaU;d?7$sZS=I^39j!ED~I`E31CWpOo;Qbb&A&i+}Ph7-}qB-nX@Vl`T4uS!1Sf zP!-)$CKC4$)A`RUM*a67exDmXrm|kF3;Be#P^z4gV4Qi2Sf_o4Zii zp2!{Q?y_*8ig=ZTDt}I60o&RRmX>|6KHrzmPybT53eO5_ zk}tkgKiNO8_)(vQ>|DG>O-e@kc#GfIQZT+Iss~{w?!SleA0{II*WCmgI=nTF+u4=# znnNHwE{p3#+a#{&6){%3Vb?`>kvjkFi$+W4{Gx z9{Y(oT>u21NCm~GL4bSUQHVoQWT~F|iRqPxKDHrap+(Q?@TKksFdi}-@dN@Fuqp`_ zx+8Tv@W1@j1t(J?9#Wqpi~8%I1b<9tA~#z$e{A1S|Gk$#3INznPg!fY9qvpDI#@)% z45R@5BHV5(2LpXO3IoL%f}nbf53>=!JFgy?F(_x5f!sUd2bS(Bdd5_(OGT9fDK|H+ zF@@+~+dD$aM&w}xW+ERdjAtmx%N^ZKUKoxl34Z2@2%oNy)zYGmQi?*w#H?Jltc5|C z4Q=V}ex{25A|@7$_7cF?M2`y!=;Gt!1(jo-)YdwAG5bGy*Rlh*a&2U1E~!mrY-*ZB z0N-W(__1#2+0xuz0Vi0^?*X2CL&rGC1vb{-LLHf=o!_nX3x}UMbbiN2NSixr`_ka+ zSG~}%j;$j^6O;9_rY1rgJVhBk8XB}bnjRSI<@&GgYe4<+S3`rbb4UleZ@0u{xdJA= z!M8nmIm%4K?QKTR6vo1$B7I8-OjV1=EF(%zw~K#ErvFd=_#JUPa8O{=d5rLcgWTj;WmNph)C8VV%s}Le9C;a^nT;%9tp{kEBb7i(gI@D29P=f<<>*F-% zZQEvBPT+Q=9BYyp$*K15gg$PPpbM&F*c8I_S3jG1i9)9d=%J)P$Dsw5{#yQVh7@N?t@*T3}jVa&|TBqS@Y1Y|#z z3X~Mr+fOs1S*vojFT|9vLr+*fXpbtW@A9aX}=AFDboI^n2`~jVpMcQ zY~8inn_i7&&+5|kUw#*8x&T?Ud@1WAM}<5{3qfX~1@-CE_tZ>uV){aa(>!jknYnz0 zLr<%%32!UOAZL&wqV>9BLr-HfLvX+|k(OiPb!am?-(;=*aTOsBLNx_CnnLOf*S@8S zq0NHTw(7A{>e9sx<71nWg0w*Q$;~RKtA^vDxqZv=bIREO`Qp4@oH%{ma zDJL!iwTS0+nvJ#$*R8TubF);2)&+zSh4te?SR`_?Rt)p^h&hK(A-YBN6XQx`4h`?Q zb#eA5QH&a9I-KTq{rYONvDN8^XE{(|hMLmPf&(N*Q#l&W=_pKAoC9AHIt>y7+3OnU z#G+kM-tF5kta8tsiv^Aqx1&LatV>bff*JCSe&uuI422%|WtY&)W zj#hhwZpNWuDslFsDTZIpjg5N}oGVIkLBpz(yM44(^K4Zs7pJq1xy&wn&rwx-0#!4~ zt)Fep0W5lbdgq@$LcKUZolXd0Nx%q-i-&AMw-rz%7FfK;Z)B30@wEZ2XjfZZU8{Y# zEi@o_u4yMBxg;lcr<9@J!18u*AhiU&&SRO%$yUdD+G_E66c^wk+RUB1XEt^2+vy<0*@powtL3b$ z`LhOMozPmIff{ShiDVn@2`liI2K$EiT~}fJ_TC`jcfHO6pb4=#4iPA2S33z0KSG%T z-r*dnw!01-1_{}ANO1{mIP_8omScZ}Sk-q#@*0%M^=(E$6_{ zP^AeYLe=zHQ`^;frYp0}1M-m97YSS|^(&{fVX!SQlBOxO%9j3E)(JWs1CK z9<0?Ajnnw-MA=*Dmf*|zdr$-5NU$=6y4AoglAl)XJR7jtFx99 z77`-Aif3xNPIAoLd$;7~{(0GRNebqowtB9pAjTVp69O1%d{PtQAv01jOmTWb(qSJ&+9r$iQ^*yJ7Q z%xp@$BRBh;uBwv4Q}>*ZP?`MNONg(iWDs{rqVXZWj*(-lZ%0SycGC*E3c9nEC(L%S zLuO8n-zonRgGF?7G&3uYf8;QN#FUzTWC}QakYL{4%kP>Wl2X_>aW2Jae+ZNgdaO@g zz-4Efjz<(BAaoB5Oxq2;d~r^l8t)n>6c!k|dP@Ds3j*Dl!1qpt1@;$3$La4}s31JB z^|%F%FaWn%4IsL`uHx5xtierpBoqR4y;5g|&*veIdN$Z8+KmC>;YuhdtSlo6%JKe_ zlLN;hwOWiPD3dXT`Nj199R|FSn+z7Kl=r>kN#@B^VMJmdDxMsbOQ{tX_-CJ|aaZ|% zOMUVeia@s-G)S+`ZujY{S38`xH>e|{isz*q*XIiJ5a^~x7r20o<6pLZQ0XF3Z^-YgtTuJaJpVyk?4)3pY=#Pi$v)f6W6`^L{&!{AnC^=W~ zmb7kc3=Ei}zL)A1Gt8Wvg^;_i85s(y8kvMw76aS|v6Xy{u<`N9V%nBjy?0UY{!xdd z9^1P_?R9;jOJ8|cR*cfi%dtFQh0Tj~B9pQxe7gsFMrP9*4fX+jubo=!>d1o_!g)U^ z8cPM$+}#A5WM*goScI3$MH)>{M;qtsxd6h4j>(J6Af>NtFcck6s>|)p&5>Na!b%DW zAfZbm&C=m0V*kszw;(h|4L6y->-CCs(=L?E|h`h zn=2N|oSeh&uvGF|@g+-)*TMARyv~Zd$ManU_;E)c6~dIzSRhTjHqjoPxj55zMny*B zI`zY0lkwQfsxh;%v@fW%KaoZd` zFEcP?{F(Xq3W^((Ef^^(${{STd3dm1EieG5&s;|N`jfkEcd&p|U*DFidRQEpKQ6Ii zeYLfqiU&=1pTdNuBARGeT6+3o=zi>off4S_lYm{L-QE2-*h+Pf_S^>s+H-gerBR_; zfoHz3Mg@Z*eU@uDG~7Fb(xg2 zQ4z4)zmb8e&ax;}!qf=&`kHyT-6FsV-mAv&M|S07!t`iwHC|bRX2$3I!;1MS$d;E3 zRHoF>%J@8BC7ZepDmya@GbQ-6;!a0LN5_0bBl}MsRNORLL47qI#=EC@yOJVMWpGAA z12#cQV~uCIHXkqFn7V&p9u5*pc)q_c&<&BBPw(HoyO+v8Hm;ifb#@Y6Qr)#rBWKk2 zEX+z;T9$;8QVgLd!yl!EoyD(U!isj2I-xrf4UL+SQGV5ChTAo!BCh|y1_*Huv_2~u zi{jvJ0gvj4sZY1w zyR(Dz5_5%yi{}k*&|WG`&D?gxv8AI)-4%c16f`dr?4Hx>W6Wi;B8o%Sw6Vxw!4Rwd z;rs=$fB-zEamUud{??`%%GfH8a9Gj&9f^pTNdEQ<8f$JoKL1!eOMSqo;FFA~7Sl;e zA~LhH!z8@QfIyHuJbdDH)s+*v?PMrFNfK81w>bru6oNwxxYP)_)pG{nqs(}CS+aFh zlhZWiCrIr)BP?`!q{ZRB&&`E9RBIAwwu+sRO*w_s%}PPp$JFR-cRd(1G?je4Ni^m6 zP~LiHloU2jO{WjW*$t4aLJSSRj@Q1K-BYNFuHHkD*Ef~GmHeLjQ~Dwrn{}j7hD476!-J9}YGRXi^H<^w6aWCbPCK(OHOAAz1Y2p-)kwJf)ZsWwBTlsx=bs@exL=J3bH7qn8ecu836&JnJI=D84Hjo1&nlel$!@bLETnzMln~=mJB62^SWvK~|Go8w zR5pe4tH|d_tc89JG}C#n6&4zeid^er{i+p2wTZ}RA!3X0@USf3+}lWpih?rVg1P5K%r;VmZ*=T)ucNC585Xh>8{61;sL@j+RqbthN9i4d`3j8|#n5P89f-uNRnZ_T%lE0xc950lj)Dj^HW-=TKdAX|NAUE!F|rDaT1#WX#Bm*NSf^~TpVPE)6`Z59E zbdl1cNR{r@tE{(v&-3znw%or%p;ell`*Pokn;54^eLv9r#L#+rEz#!02iRKCX zBgL|YM{C#GwCkvs#Rxh3F)8>tKx<2Shr@3IUyux-rb8dqasfOm7EG+re8HShFOJkE zhsyukonE(w3o2=X_u=8;mVRvsTx^s(i*BqDd?2uK zpQ0%o$!o(|T3J=~rbZ#r^aMn*42r3*c<1#~&@8`7U!j?yy?^zMG%MWjD}yArk%@6` z^~fp=DJkj8lKh~N8B$s;quq^-+^8WJm&=;r>2$&vM0hj{#ZD!{uPJoPz@4a!+x^tQOR~5?H z9}&pLSsk?3GG`cF&E;S;KcZD-*S!%FIQg8k*wN~9Q28&N+1?&?2d|kn> zBjMKxFJq#kvn1ENJQfjyf)SNBP4f&$u0tf=bKR@P#F0`_VN7UfjMuLJfB|^f+_>e~ zxbcgnr6rX$4>xhFkr73XHPX-kK?Qw67S@q5_o^d<47TBX9pY#Y6Gy8T+H^6w0Yc`d zoq-kr83_mU_pqZ%x)zd6y&=mm%qNdd?ph_3Abk67Q~nYp0yhS$;j+Qt6^x3?ObIHo zgQXRS^H0=x<$_9_#;_~ZBedX1VJ{@fDVbd|+w#t@$jGBx*oa1ksyWV$+vOv*^)242 z_feB*)`KP$H9k24U?dRhH%5@ zoHvmzN8Sn%28GH<=lO54$h!PR%Y@vGAFY@QDKAj#;aVh}GC0x$t*M{vq-mVLW4JCS zoN+xvc5x=LACe4Iq!FOOCm*FF;}h*M=X(0tJErrDUx%WNmxD@kz=a-ViNZoYOofbT zUYeZ8#!v^Ug6WlTFTIu!6C&thgX?Co5D_QM+ZC`QezfGndyGb-KepU){6qQdiHJx( zdXXXvA0wq|V-2Z+Oc=PyGbxJh2tC+FLL#8;<`V&qSstwqOY*CsrZU^qconAom33n} zA*%aVgsFw{x{Rb$q9(n}luZ5-XS0z$$mTjqz*{U79LhJyNES;4}x zgA=R+t8(o{wB8p2pqnW$pzx#tpW^XoK(Gy}EyF_jR&s4c;Tmgfhyqu0Z=bfYvFMiQ zYanRh65;Hrq3{_?L@j|U=4E1}V?cTi+V)@sZ$FD7W9biHeIZa?Z6c7m5SUY(-TSDH|K6$~YTfw#n(_MWW9ub7wKS9V}i0 zcoin2*}`Gyko5NXgxgCLw^{*=r;yx{gZdgmusKJ${d0Z$Taw4RckS)%`P;qH>a&)-H>q>d{=DqY5>xMcs89JQTLXtqPTow<%tR(9hxqyVS)xSS z;FjyGv(IPDlJwldn)kw#d&OPxQ~|9!+{>i|fBK<-+EdF%5jBWFOYFx7b`>tG&pZl5 zoREy6#A?nj-%}hpBBDqr4;fntbxBC0;p0=`%Z%!Od0E>a!?-Qk8R`x%;qtnt3gEv~ zKprgNbyEVAPC=6vGKA8DyU^YesEeswY?!cr{|gh6hy%uF_LU(8E1G+HvHj|4)sB z4=V`91I;VQ!G7=v3_+duEOl70ar<| zhg3lz=oyC50RbU`Z?*8b>s(dXF!CzMl<40#36zpDalivJ4z_d*y4i#B55&3O592D2QK1S8j;LneLx$IOv1Fr5yl`5 z$1fS>;sXeHcz7A)R>InquEBR#1CA6Q!U-%tcNi#a_u-wBWh_(E(I{rAX0?NyPP@YB}An=HeU+dmPNmR{_G4GP$lRdC(GPhbYVg<H!DCwVo{x_;N2fg`u zoP-_zuLt@)^gac=E{i7DLj@%7hC|)ei|FbK&&W?7f0Jt`RxfYEPX?LLbeLtv~HBg z6TR-rbOi;Kb3O=l|*bAI{hYdVE5Hkf|wERCKh0qGC{RoTkm?7P7;xu6jgp z)Y4mWDypwV8E&Ju-m^R+;+hAW>+8(Tr2!*Lj~%=s;^KTdMC-2-8pgQT*n~lNb&IA$ z62u$8+xvvY6aA^UcLK1Go%L&Em}-n-m38Q%m^vzEIdj~4aoq0oi!a~0<2gk{;7Y&F z1dea&(91X(7`qtWZmiIf8^w??z7xJriMEkOGB7iMv&bJOZ#MyxkQAWu0KH6jg5(Y$ zQKQ`mOKiXvM0kmdijs0rJpm6Ct5v6>bC(VPa-U3H;rs{ae3+HqSWmUj&qf1_lbf{e(H!cndJHXgHXG zlauN(FEPIm3&3MUk0$M*1O**2Q-NycJR;2b6kmXP3Ds0%=2KsEG*tk0N7P|~xHS$C z`o~K^3W-c>_`fRUTlj$y33K8XHyeE9KU!KZy~Mq8h(JkRxRv4TLOy$Nv5CX?P!Ro& zvxqOX^IDgLR861X9%!oRArOo9nsW z$5KKVL9)Crw&$*@%`|(bTVPw*en(<|`l5a(d5GUUFi<91lXO2_qW5cHcpzT3_i8CS zU3;0+@a3>^;nnh2pw^emKdfB$%KE;ztj51k+p1%u%k(u@d1%(D8Bf)kXbeGt&njU; z-Qc3r@cEQ6=VNnrw9W84)}v!sm!w2UtUuxZz3Kj(A?y@@uNWrlzWYVsVg~`gO>gZO z-1GZbj*+q79QN*-9d8?`Z5~{@s$J7Q*<*x2r-Fx3yaIbJQ`qn{?}e2KY1$l{pnSHk zwAT~MAQ>hYk(U>85lNU%;YC2w@iUn2H#hue$v?_{28bW|+m}+QUp8YAxWjHHRM2(mp`%^C6}it34IK(;or6?*xV_7>2h zEHsKCzTkSfa4AsV@}Gh9zt!?bOChpA&C>>&(fu#&Jxoi0$}bw2I!WrS;d2jpx}4K1 z@)=p4Gkre;#}y8^;E#vT`NyZ6O_Vn+cv6ubm!%PNbV;?=5tQm)a=BVxb#JU(%U`Z6 z2OPgEahSbu`k;NNU5#KYm+UuQUtW-ceY?D^32`+tUi(>mjVu~^S++e4=xxJk- z&o!>r5~k+LGZ5N*YIW5Ra7Fa>TRlp&sqJ$3fQ?&;!$jedXus##J~r;be9Nc)u6rK4 z@+v%BU=)ha;K2Wf^o$;)Crv&1yEp%L_qq(H*mc~7*ERmD2EV-?Y3(D-g2X=JA%nH$ zv~TS0>upP6_i$jgge~~JECu=@2I_aX`U7v>6=_M`doiqoB5tKlnmk@O?i0-y6dozE zUM+Cfn>BP_Q06xsqZ(LOmQSA&ZCtp17!?P}-Mush=gsU9%Pt%ZK5FQyascL>V-Q;6 zv;0pd^*;fzpEmvPe&=1k7J8HWD|@7=21TXDH5=rh!rKkg($Kk0i;=vvuf&JE?{(i8 z>YLef8MZvOxK*O&oDIPC8gbmw)`Go!z4@mW;C|z1&3l1WsTwPz`HG_9IKW#hrs0M@ z$_h+hrF)aMamsj)M0|XBZyQGsdW2zWd#iN}3>;|;@WXI8*iQm-K;>O_cz;6gKY;F+ z#-C9D5Fq^}@|o|?-9fzbVDLNwWHq4zCv)(=N zRj)v{WaQex3tZuT>2)khuE}xVs>@!`y$}_&%c|#HG}ZXgX>-Nx)-!3YUAJ>jn>CWg zLdL1Zw&j;O`7ggdz&`e!x4kgG(8FgIAQdYg_TswA@G%_&w(B*LNn;eq&|Ft^yexkv z;Y(egh7*;TuGbt@0b5Hd6-WBbi5dB9uO}EVX|P6J7ie#eArg`Qv*RA6nBJmivZ(FO3Z>jr#mqeTMf(*yro_1h*+V+0c=IsP$CQ5i!Lg zjSq2^cMv&!A+1f1?!sbm13TJMmH^+qX1$X&YAt@Ulm4vjOJ?IDKkbhX>5E_1G(Pp? zT+`3gH2G!PF952GkI$ofXh>Mam}|8r zj9Fjl_qU-+1Dbv4vj0;h3=~5%I0f2}{2+A0N+HtjOc57udPK z)63xQo}N~ZoJ64FC_`=3ZGLd%h=uWuZtFr5Z#ZTb;u_Yg@1rx}u*eP<6JD3%6owvH zKw6Ng=?2&9YQvD?L-Tb?mtL83qiF4V#t-G|3nn}RJsM>+V?(m-mzpyx1D7D#7kIpS`3&mQgpf^ zr=Xg5o?KZ=?R=FMxyEX`mz{1iIQ@~V5A$!-@Yd(!=w^HC66vcoEZf5oO!vF$5}S=5 zFuX_IKv`)8DJ=`)goc%#nHdf|3j3FmY9gRG3!rPdR#sjf9oa>urUuQ=drFvWqzl8# z>!>24h0o3L)i~Z#;`hCH8TWEg-Vhex{lKVAuBY5$Vq%do$)7u6PbE>kPS%^38d2^( zChySmUiY8dl$OD?wUOnAQd~z}(VGeI&|%EYHEwL}sj%34dJ>kEl~L2uwydnY>Fn%O zP*F*5-&h%Y$<0%bxzi!aLmpjIT!ri4!1hqDB5-bm1>EjHGMxA^GLjjns#)w_^Z}|b zzHMzK0@FS_I`VBp!a@tGmX?=oPr6AcDtvw2Q;iUxKkq5MJ=WzH74~4zabHZB8F4c< zR;iq`Ys4HLe$`Q1SwxT{%f6Tt&L47j=RL42;QUA-mby|_(cr5A2T(q2Mf|z>A zJc3>oX60qf@Pm-w2al-w{g(RL@;z)VsM_<5?W>6)HtRj-Uw%yc?RfC8?(K-_{48Zm zvm-7coMtDo-st+3g-4f%EvyyCk|F(tR~of91vl<1sTf)(DwKN?iOgcu2lncd-3Gb1*k`U{rWFqQ5Tx1 zD0JIpF+4jv$YHP4kiNMqZnM`ifqD@FP+KButt&7xGIFppx*+V~5o$ic+S#Y3p?nP# za$ystwfmqXD^C>xiScGbv-j^?@T{9c*Vg(Zk${QIKL8be4mmlI(N9cG{l>HJk(;?= zKg91V?2oGwXj)tS(qzBk80HH8DOgWOUH$U_dq@}2J>`~##X*m$?t7f(1J8ROf&8ZX zALCfcc&)pF!hE!JeFukKX+V)!=1P&92LY8Ve%tMNipcvyTUM}7>pqi>^F9B%t+Ie45pQ^Da$~dL43=<`MgY$phBEX$lZ@K5m*3#?@}#O-w^%0Q zqT*{ryx(P)K;<8scS^TL&sUGjtaat5TU}}Heum;N(#y&S_ZzO$(If6JP)hRN&o+A= z)uKl$LN5wR5>?K&ol>2p!B>_R+btY~E)vG^lC_3CoM7o0R_kVe$OwAF!Odv?hlA7Y zB3j`OW@hgysSM7=z3veib!)R(Y>C`|@UN_yET=dPkuoyAkn`BDuW{V1L$4a*y(K5j zAhlg9I+s@gd5`8ahsMSx<)^^!3Ha{wT@tjni!8)e5)jN?_!Bh-om40{TteOQ-4CUh z_zJGJtm$)_uPslHtEyxhj*jfj3jro8;EYy#$FA09)%^Lq$G$Kyt(P`3B`UdaiTvwz zw46ZK6w3W)!>$+0-{55z%ZHlU)pR+QXBIqP`s1PisXW8Ji`DYMwB}sT^SOO@JRcw7 z8qW+&IlfD63bO^*YY&P76e4rwnOCn?mRo>wuQ>4hY1qJ@eiprO0Q~Kt{pE@DTf+|| z%N~3uRcSNC(cysJ#H4}7gd{5+!B*j}r|zka__k?El4mVfo5M2<>-)!sj{7Psk@sVA z5veQ91LK2f8Ot{-*}9$hcg*>Ci2FD1f!JWsbCWHnM6yWq6vOHB-WrsO`L-*~&{?TG zNs8Ti7umSzFq|svPngl_(;^Gx4X5t<1n#lGpzQ=*6&6FU)9r->%EWn~y4#%RIS=mczo;Si2RLvJhys0q zdQ|uOhnw8qs7A-#r}OUH+GEOUi&GcIzasszb z8yg!(Jh6$1v|uy(thoC$uUje=zbU6F#sXESCJ6M6=b~lYH91z|A~Ab@@>j041}`A#!?N#zo7W_hJ*6`^ivFBmO(_4dnNmJ&8&Gz58P({`-(#Nsr~wY8A@jevsSU4aLprXmj33 z@8xB!^L`@=nsM2VI`ql}>UlFUq-;`Tv}hFvy6#MHTC^$ru^N{u>gGmu6Pi^~fo&?l zn*&$bJ>A-RBg4}+2QfG9s5gf4A05C31OzBkWO#HjrB&|fbj|F$e@x<-iAYW^gkBC} zEGQns^x-$Qnz_G!3l1(Wr0o*8+h8*?v74Vh;MCwk{Am%r<$;zBydVYrv|qrt6{twI zob-c=z|QD`f&RQMte1L1sV|}B5=W`56T2T9R|URLu++QEE#=6ce@A;S*{*Fa zcCX2w6`?OQ(&HueE=z67;GEoq{}N^L{ougie0Fkq`8C#G*XH&#M(T(PHdkE|$Ai<_ z7wEU9L;BxxrZSZTMBj;SX`e9waT0+uKJ6cQzX9aE>vg;CrF`5Z3C-;{PKu8SSY0)K z^JZ*uW6`I^<`6fLPDcF%_w1U~i#*{NK)eE5L0a0TUv_^UEsaj0n-3zQU_ z8YFPDNY-$-%^|O)6>xu)F(I#}78<+FahMZ+mk)7dc=bFxJ6lDyD8@ZDME^e^z_*9K z3jE^t;NQUW24GQE!}J*+d$MTmGs_jZb$Fl7M9>EWoespGsxhjwmlCHJqCrKTm$E;< z7G#Qzb>E>v{}skpu_1=x-G>#^1#5bufkD0%4ay=CNsTG$8i(2xXdtH*h%MeYqGj?!Hw~oDWChCz$=t7Y5bv|Eqi&a3uS>Tt(F5bes@QEf2SyIY6|;C zg6HabHP%q70$!!XfLiIcju$YfD?%z?HS*nVEs(N_R=7fkhWbRM`jAiSF=V<>2`s() zVd#!*hONYPtilq7*_fErJO;sZ6R-LC5iATIzZjcHFD`x>8Hx6n^?vIBl>Oz)m5fqi z6w6)he0)1q)ok%}RCs=# zoy8ybA0KA}$^i?8qS3n{&b`FvXUISBPy_;uyI5FQS!`Aggn-$`EsHi61X8Z9)7i|y z5@$MVYir;b$D(>00FX9Alrzo6O{+DSfTE;8q}E(>!&hRaMz*1>m7r+h+p*KNQOYuH*;R#{$st1MWORc~Dv- z&h38MTvVW|Q`IZ-l&hYzg#0~Fzx&Z~5vbhBa_mzLnZR4)#tE&;rtSUgl33*x{yQb3 ztH|D@Bw#MX#9{mJA4_@pEWkO&jT)_a9wP6#W>+M9qpv)6W?k*F*K9PC(%ZQU@%6|6 z=6=qAS3+U=5968N zfK~6Icfur$zf1OKG+eq4Sn6|pE&&@|guh}co%&j}YmjD4O_^DjllZnxTVj)gG$e=%5dyS!xA6qUP2+l%i}LbRk4Bs#AzfHZ+6tg{lvyuy z8k!!G0Z|qY3d75-@ojU)h3ss@?j`pM5&~AoUyLB}%>!NG6~guQmnB4fm>c@`o1WU) z$CejBgT-uFWyw-YS^nhSx-ontv&X(s7l4l@Ds>nPf?YA19jVN&9>mgi(>7Y-2LN7XUb^JY)?i@CG)$>h95#iTaZ>y0Tb zF0id6{}2(Suz)gnK6a@5jwl7`0LTN30rF7Ci2ung8=OLkqxbGPVqz$svKz(0GUmVz zULw>i2cZ%yTQ|+LBpwy6>R`8yEU`de@sts2`%X?ei>0-|y&Lz%V)A)*`QL7>utNG425gh+KYvoEL>ov22G%{wiNZVLWy06Lb zQq*aw9gUKb5?ve%gA#+ljc`gQyic7jBU z&C>JtNK`7qV`kr<byJ#v<5^i*d0WCk zEM?L1wd5|p!p>IcWzFtmvo71+S&Ef_Pq~f5xhWj@R&MF}t}wtyowBtbDf~Cp0AjFs zOhc15;$c7qMwE3q59+uzaNEpqG{c#yU5ZOi#$Q>%&cy5HPIS%)&aGm`w%2f`DYOk&El2PKl{{pN!w*m!(22it2P>6umw~uA6T47JOLF zF0PZW1!Uj;Pg_s-<~{@iu{u~^-^YnSb+ zr>gdDswO`Zs;S`wfk}M^!e9Qs+ zU;3*;jueUxR9A|`{iI(@{^1pmI|8xi&(bPBYdR1&k|oIt3TSUPerzc;Q|i?x64!E5 z@IELl=I?$>E&H>%R*|Y;Yim|;DIY&S3bNl7mw3^HWXV{YOt^NRbu^2elij;NesvzH zzkTNH40B3YKr&DDNl$>QK>>l06*jS_TUDKA;(7rb60;hO7%2VW152z48ckDum`RB1 zaCt@;w+ML|`5L+&QJUa?THjxq{vz))DsXJH!`6*?TeQs24}pS0x@e{$0g|Hoo%%zM z$yP|IM!}e5!9?qHEw;!Ud4m1O9qFHDaedVWwU22Bv|zh8Vt-Et zfMy(?nrqk11a*+X^py|2$7nyDik(}>Q!=Pk2k-W^!H6Sbq6vcN z&AJ+k2O-N)DRjI~8c5~+-t)zF;eU9nKZ(pEyyD-kJ8Nl_2PYg5^sxacb8F>Rp#W^) zx#}(e{5p(5u|Y)^%)Y*I&Gm;ti|^yBw9QyXAcus=;hNwETSvz;=J^MX#&&XOmX}@+ z=glB>%&2~br^k(MpUHX!Xe+Qwr;Vat@$iThZdlsWtwucE$o+d_h}beGwr$sY#ZEu3uaE4$MbuXDX&J->s07^g+x=a-c&>nxgCW1B5M<WbQYX}8r6NqOf6{Q^(;;*+oL*@b!d0XXfQEL%ohr6((% z@<$<|shsI_#oPj}>+Jt>>wihIkPJQ~k{`sHh2HeGEQ` zhSn*a0Ai_EYOoR`{c;spx@ubsRd@$>)v^fHbsACh0I-J8peyf* zA;xU4zP2va-!LV5+40c79Zr8H=rse3vdN3bMJ(5|_Q>rm1Fvt}MsjU?p-j?p8 zesw0)=qObi2|$XMryr0u7tFm&1p5AA+$yt(9oH%iai`g+3gzXzwvM*`emSl}@-PO| zbj8MXQNiUxA+#W(Z+NTIp{GR>HZ2jX2r;7$(OCn&>08&8RYv7agqfc`!%Go#C$Nv~ z%cR=tu<1n;dKRZAREnK3Rb_J!Dc8aLoEO|kR?|S~~vZ48?*um5i zM;G~DKNJ`AIjvQ`HRMiV!6x4)9$wSqIDsoXUJ2yfL;hUfi?+KN{kDgFNuD^8RKdoDw39;AKrh8$5y@VI+8KuQ@ zfOi=cf#uQBXlh~zO#GS`Z>&ZS8o;pZ956BAWN8D8bjg;G%yVx@h67owUnrE!QLKeN zhWO}UeE=(|pfh><|0#zI`21E-!1c_}X>fY5{r+0nGZ{mcuBW&@M2xz}iwy^?9Ua77 z(S$g!LxM8nmQgx9rOoX&nT-Yf@$fOwY`Q-F99-0grCU*0qBwL2RU>y;VZHZvo@I z{84%A(Vaf~5sw=1I@|2!Nzb`;5`i($-e=%4UhuX+l{|~i_UrO8ndmw791*XDM}-KV zIO6J)8$*(xyx#R6keFZr#khcP10LE5^4B38qxjyGjJS9^Ws$MMc!{N73nKeFUg~GocnJ4;*dtI~vzL-4 zYSePD;>0J4iGr`HU751L_Cr(b3OPeWS+JrvU^29sNvwBq?cnKYchvy!I<}n{!s`wE zgGdz`WpUAMGM$kW#Ijz}s$TzI0#*6T?tCNAiN}JVmcM0}m1I4jsp4117dqu*% z=(a7U>g@F}c)~*ZUsS{p4OqZV&i`o?Dkg~GuUMGRzaGGEZb%l5N#%^l`#9S=#vy3q z^^@s9L&Y_BqTX3V12KW?#O2xaY-?qw;jKmbB|%#cT44JxsYMDAWhOHJW&eL0pTcCU z7AI~2K;{8ZN?&$IMn;YrOZ#cn27oEX<+H$M+AIrkQm_!^kzEonlC9C1S(OdN+f?|c zwf-Yb8qfK;Z}e9$fXWlRDGM3H-K`e^RrZrT_9`siiSW9$VWAlPyEe=@Cq`qS5*2v>Xed`(9c%G?HEG_TPX%vJBIg!J`8<=B8QujwuQ zhUL5fG|@KFN`*yU6A#Q1;Qkw%`G2nuky!dD&wLh0QK-iJo%{pdOz2}M^>Iuaz%(2{ z4tHB5e?vJ9UxuJ&SxtuTE)Goc%A6Q*nbd2s!Y zXvdd~-Ij%yGFf|C|Pj6g^>#s@rTFWBPT{nZZiU5Vj2{bq99X83*zJ@AH~Er_-|?6_OwcHHxN}~}b7vYsAY&~g^3@C> zH6h819J^$CTW*f}^*SvMo7%Tu8?eR>aJm=@xz=M1aA#JXMYIg(h=(FttA;*hhmDU; zUGcNFmBl|CG3S@3bmUxJQ!LHraW^m*UR8l|==x?%mSP5j1xxY#QlAJ=qdaCf*s|Oy z?2+yw&=A#s6#e|U2Cm~sVxuZ4$~eAB-6{KvSLL0%!01k%Z!3VvRA`^(Kg#GrR| z_|HCqV{aJ_x%L_-N zi0r0;CuX8z55$Bbp1=0WQ_~kcvU(q41t3`Ex@dj+IV6HX9RZ?q{9UKaX#XfV zn0n1mCy}7^dS1XYoeS4)Q6?uUzU88)yq?qcC#hvU4}l&Cly~nN-UzIlfN*p& zPP2Wjbw>%sAc}J#rc0roaZ0Mgo6UC$szWpagC&f#okesKvZjSmT(F|rucEwVU6mnR zEprHGX<-P|NSR33H09T*tT z#Vb%wXAq4cK0Mx0WWknsrZvjmHP*mnHYFFwCkGUj#F#*E38m5>xX3@~av>8uEoh*p z{|f*-xQjgPI0vZjXVtT2w|`bAo=`8rCtflpQ9v?J6P5t!L`(_su-o+GFq!K0(|Re6 z{VDH2H2zqQfW70XUZ;$#s0S`ZX;+9vuXpoe;iEufJpI_Ujvs$;|Y9I40MnrcL z5DwrZ+wnsy{Nx?NQ^qpy8B~8OWu(l&!znXXv_u`uRPTJ5LpW*Hq%hHeI1LxFw`fl7 z2|biGTibre@5)dQtw6D=%p*dOPhaG0b6P{3d`Zc@;YgkkW_-e911jp&W<*Je4+#!S zd;482TcIZ`juH4VcGFr^;#em;D~9Xahw1r+Wc{q%fnQc_Z2`UEC%BIBhmbU<`<1%c zsbW}_I3sX*sXq^d;Mx5MiO>?`fPBr5MJQ32;yn~Y)po#_YqM&33(|gxOo<*50h~jA zxj~!X4M3DRdue`b{(T)n@qwQoIAKX<-*;%vX_`Vt&GDpdfHG{BI8S52BK&cS#Q*Yb zypH!K1jIW}Jbpw)_$8@_Ys(gZeG{j-1@$v)+IWVzO|slV=EHNvN4k$tZKSrx5$vk_ z-ZlezArPK5@Wm7-!j%oP1mdAhS2F-aHh-UQa^7Qb$DycR`QV(zqJPe!?U|;NK&=Ids{sc zCrnQ3=A8V9)?<3$$Ph?oxATf*_|+O&8$naIE46rq4>lDQSx~`qsp>mivd@$LT6cud zKG?kVVH9x`lHA5_?^H~Jk(HugNjcR&=;$9_I2B3NI**oH0fA9gR)DM<45_Y8tdp!F zcqA}^hJMzl1gXR8z|Nd>?7=~&P#oZSh}Ns@D2fcngGf^6s?+nlht*^G`Ii6KL( zE*kHBt?@@b!Y5fiMrTkP&b(7O!D#ii*9u19PoMnRQ6&=j*fK-*gFgEoXyKEfEf#T+ zl9NUiQ&UMxA1aK#)PU&wU%7d=RJR`CD0QASelyZy>FgoxqCE45)!)O zMxq3EB6r-LLJe5nk*UF^jCZ(r1aJc>-NQcmj37a>kfx_PTs9vm<`}G{3q2^1Z#pw& z&Jwkb1WLK@o+8o@b@<{SsC1M1UnCQUEoI1ESs!4sPWG@}HYj&LD_o?YIZ=?tI`K{A z@{E;~JqI94?{(2hjF4`45sut58lU%_kd|~-f!K!WkL5rY9>}LcVbJjTDYqSA|YwWIJjj zYsWw--sKHK*YzckL39XcpLw*-IkvR-lZO?b-;QM z#Hk6Z%fz>U^CmWeblr=1w>!M0j*9&F{hLp^;W*MIDuzE@SdQoBt*`hWo;u>}vmy;S zX@nGq@V3BI@)cIFB|$KOs%=SG6ZOVEQ1nRjDQghKKqSno1j*!6qRbT8z6}&yTb8CYfviVKA(%ibQ9C=y-vw|mBsIEirr(mO&^9+5<+q{^mP>cl&aR+N0TCtOkl$^4yy5^;;a-=$PzC+|`)*882K7?XaGZ6|T zLn}q5!nPkiiv%)-l2=s0a31XHCQ{tbMwek1-QTaSV+HQ+8qCn9p9a)PKn>bM8tacw zw-st!&Db=2Sc0k41Dq6CfL7Kj&cvcUH7`ydqeO1YEc(3?f+?+zi+I zSqJKD@y4+IuE&AtoyA{wu@}%JI)LG1!&;sBR_00rZ-rX??4F>kPKBf~u~hI14KW>~ zr7CLe_`^V->335r{o3%|$$YDKmDzfu$kaGKPj)>eIhQ{YZame2>f`IF*=$E1O9`)H z!#zHbMNOdGm#vziHuP5q#M1UewvHKip$*9>FTFW^m^uTZ>;=P1-mM&`nQ`q{L+`8d z?m2A?-tSoMvEQVKtvqP?iv|FgS;lIg9T3<^W54=>7L@(&aUKQNUY0d`6amjxbsPWb z8=+d1TWm^+(L4k#$i|D9@L4OnCe_Qir{CZ37A|jS^tV&u9I)Sz4m(B=LY1ypZ2X-o z9IsUC-VEWS(<#>V400^WR|fkaBZ$?IEU&6^aY$Ng?|SrHnD|yY210n(8+zUUN0j&9 zaknLLO|rd$wKfb4l9h$Qy=zES7tR-@eLbTap&Af36X?$QFgfP11;o~__`Ri8k=z~8 zZnggB!!6$}8h6kHwfG0%s#big&9e^2aA-^*#7*ME@-g#3`^?R$F;|V=18VNMj?3#H zhTi6|Lu75l21e(@)+W08vhCAX0%IbG!d1N{TKO5TKBv=m%uz<2*YlFbPnIi11S{)H zdb6nVHq<*JeYs%qVO!5QaYKWnC}VHCPBGog^0s8ra?(OS4hx)b1m)90!_ znp~{ zp&$w@)bct??D}C9&55_4^C+2^TQU5W5UlQH`*EIN>%5q(ogu1o3B{NC{!3W{d>bI_ zAmp7!cd$BDQ*iKJq-j<@Tk!z2c`J1K5lNbg=sd9=C$Swc8;KM{)(%Kj)=i84T`H#X z9#L8=^=mR#ygZUD3W|V$P%oRs{@xn(SScT4H(a_BPGgxV7*eX?V~$gIjw*ecDTBH{ zO_9>4gGY&v6EO~cv38)j8)T@X1~=!8t4B!P5|+)fK=o;z-Gd8PK{6#BX7rT-x9K->vG}40NO;frerSk02x`o zC?vi@#n48;)C;v0E5t$Dbe{pOA};Az`eKQA9XGZuG9i>`BRB3HoA zKGr=&NZRDa`?TQ|ay2qw_hA}?v}Vonm<@Q(L9)!?LS57VI|C;c1j zvQY-yEPs1uQAmCfQk>^=Bzxyud-MvpN2|SKT_dUlLVvwx{bt?c*n;zmD10DWaL0RV z6x@4Hngkb;dGX63Y6Eq&vQ4i*$PjtG>;o@y6qZ3)6VSUAUyNUOjx1P0!ejWEBRzv7 zF;R5;rI1+9YD*|r4C9;&TB>Ar>2=Ebv1Png5(l;z z!X%BMilkvlNC?jsfYh#-??q=mhv4u9r2-s{=BXZv;!3OeFG7xOI+JR$h1W{;RaoY~ z>dfH`06@g3g)$1-tKOgR4L3{lOsZ!YpBR{?eK6s?;~htxzY)%N)TmR)2zf;v*-F_> zY`EqCwCkv`DM*<>5hJaaAl3^PJ0r;+sF$dkvT|>=j>f2Ich?GQco~+0loW2ND*&2Y z3)t-{%ZTl)`tBH_f26h4IP0m$1p+fMszd#LtK0ZbV7Lja)I>?Sytanw;lW}AmM96* zD5#hzC+1x0s4GKtcflFdCFoRbciGdG_P=VMMH)_vkec#GnsNjnv|uR@%mycoh^q2K zQgYs*l2*Xq7S|eS6^dEQ6eF<)Lf~R94c$snw^bwhg1cgl9!3RHHu`W|XF|U>p0o>* z!VojKzB76xF;Rgsc3hKooTY5np)r(Ix<#q0)dAl=VNQmLCm1oD~VN2#F!!l?R1N{v_LmeqcaORCm<>eyOtkbtoXRP@X z`o>VQIBsd|dDxf0rEnmGl`XoQ?Ex|jL|w+Jh{SKMEi%~0YM8FTf@V$X3f z^tax{qa4|c9iSc*ycRDV0nf{UzVX2u&2~CJaXmkhRU4;0^ z7rsvX{cB^+v4@(=o*MjML(J3m8ivFpryg!n@^9!RRI!|O^XSsWEX*Lb)~X~DXebg{ zx3e{K(5Ze+pjRJ*@k~t4DBt#kHBEj=Xh$iZ1G6^ zd1&|b?5OJqBUHrq;WXu^i4Z^2jh3OgUYV(toRVHz!f*AF8}S4H6%v#KTZCZ&v5-f8 zKxrVLiCrh#;`b<62 zd?zb}T~}-X1OIATPjqBF^E-%Q#WF|Wc4$!*1Qjv`xW|%rc!vdkC^STdIud|+n$vwV zofy~iL_|rBbA)xkud}Y{zjZc=vFCV)>2D2V4)107*6Rxy;^T%MRP(->C|v$%WT{?+ z0SZRztzjdpM$Y{h=aAl;r<;cWd*u|&q&IK#={{7*`;G2*0sLlUu}6Ej)0N0x97(N3 zB6*Yn<-dWq{{xg#$wRbWXb9-vv;1|^{4&j@r6sc&tn$~GnqjbRHd0L5!uWPTI%x$o z&$`S6s_{LgoRjyxxC3F40hzDcr@18$WiQF3m$kSBL&bTJfUL!Cn3^#^F zOt4Gp@5fEF`oKl$FL&)Z;-J#76Go2RUIlYJuR1d zq+A0Lf{ne>3~d8^8o{#nBYWMp^V{g{FOmygeN*}0M`tAKIclY5e8)?tX*cZo3V`l7 z8aDtM$IGFewb*k{p&EC975u-x^PA24k}*bmaw9$MD%EiG+gp3yRRnXB`%k7?mHZ*u z)N5%J6{S#tk8JHTWYvnLlD|b3{>Y5P=~3Spfqy1JCI3-tloka zxzha(5w=5&sXWsUo1s5oz&Wg$XQjKdmR*Dt3JquTh5Ux+|E^vzt1rE_M}PUUVrgyd z`8})~B%21tB_}6aqyHN&S^etR(t+~q%Kdx6e-^kJ)004mx`k6I=l}0ZzmU=@3J9y< zhPA_t6SF{Lf9EJ+%wN)Q=d;c;Z8hx4di@lUf@1I8B7}WsvdCmicgvb!%qq1oclUh( zKh3N6e*LVJl|o*5aXLl(Z~EQ|3aMS4q)|{V>1qZbTRR!qe9~MySu5ouP*P$R5EN`3 z8F_MXvC^%76Rrn%?Oc3C&&Y@(D2Tjuj=be4wB-nsgeRN*li#yTjmg)iq(JUTtgIAC zFlS)NC`NGULDvB0xP!)O!aKD2Z;E*i7h-*|~lMvXn)#owp?T1-2 zX%g%Jw4GqXft|@1lf&6^Qsdy&4|ZjaB_PPVi}k5;(N5LTmpnBYF_BOg_c*UC`Xs5* z2uE`ZjwpBfE468cS02Yg4RgD#;9%mlJRBedP*YP%zE%#V@=p1!jC^-!ZTCOcji19t zrmQFOdM2{d9(9!iwj?Jjvew}u4knCwH;6`OZU_nVo0B8wbX&$6PbA-$&CTLL^%ay* z_Egp`*a9F=lWkSwE6G0uLMDJihUUM@zyItIU&OZTqq_I1Em@ox0gIsvB@7cF-p)!> zuMl&XhAfS=RHY`vC8#tfXJ)j53$VzaRujQagf$e3(}zhsc1nQJipYgw$< z6W=4NKpcUPYhWDgrHq+6ZH?cM1v7f<)X!|s#;sU%dG$+qHGzkkt3M`tvS-ViNTDx5 z;IHIjEPwV3{DXrK??juzmsFn{1sG?*uS^XJtxz4)Pa(;&&(1+EjXy#OEe*Hb9O_13$~CNG=|l=EbbcXhm0Wp zy7~Q#M@=hQrNikEz0KH>LUpmTZ4V9+ihj`#eLS7}$V{JXuk2sVEoPyq@!Go><^8j} z`6anh^_B$OUZ`8V8?4JwWg`5nEu{!@8CG$3R>5{fb6|o=`I7VrT~I=DW6x947`uax zr@8z`65StLV5z)$tUFP41GC7df6;wMqy>W~K2mm+FWVSOWounk1mByZ3jt=LW2$Ie zm+bereQZ7uVxu_4Jf_qjjmdI!9}vcd04_RKwraQLJFfV3^2@58J=RgoL#xHxMn5eZ zS;+_c`TF%|{bOH94F?Hulx4pEiRBk2luRn!M-Rz*IQA04^ zA6C1)i|5Pwr5+^e!;mt&DW4^p!Hj$I%f-njRtHTO?+f0(aBIX25x8qjMZG_KiV3j# z$@#RtJ;=mcUK!KP`Z)vN4Eo|v{!-Uj-7A1~?TfZzW2hWbNr@`IMkQFc3RJSvHbW=t z)9L@%05~~EG@S5I7|C-OA+KdKeNSx3Nm|Nj&(!p2L_Gts@{6AQGF+$Lho89nFI&-d zb<@H=WMKj+b{{9bL!FDpR@Y;z)b8|$gdATDEvbw5SV)T&KQDnBKVJf9j*C4-GvYA3 zP$KeN)QadtNLlK=nB=ryW?Bm2eBQr{p_!V`)Ha$a14tpZm~>Z3FQtH5jE!d5sr8!h zQLk<;>*5sWxn|0wR2LQmeCwH=_5_TBMAnY;vC9QpO(&5E^M&H zDKtzUBmB-M`=&6e#AFuGT9mxP^<5YN^y^a~H&?1QB>dG2kibl{PLmMv&CekR`s_w7 z_HEv9n-#`1b9R4K|JW}LWn(j$t}i+|9qKN1SLZ>-qzLsd5pB=?S(0NlTYv1{L#PvK zn#O>EW+YVx_M&m8(268qg*7zMdbm-8t2zy%6TuZt5k^+u$ysKqC}D;R3V?hXOzRAj z`c_T!KE-;h`7*`z&cfPGs-DbgdTn1sym0AL5>0=+HCACe_IM zLuLs2xa|9hX>8F0@0uvWa0m&Yp;#a8h_41`g14HA-;9Z4E5*YdcM&6sHB#KppwN2H zzo{gK@T5uZVMu5tU*Qt_)Z;cn_}-c<%OUTV^x=`-@m7LGKKFN_QY;`=TvqXZN|!@O>BjMqb5R7x^1+%G+l>zi-!wY8^{ zc-+W@9L=I8zc5bMgkru?aQIvVd?%52gwcw;I+yFY+vbT)65-9zvp4bxIm-cT( zcBE^G+*(;SvZ9Y7J~(7^Lh6NS&duscB9PNMp!>?toOLi7zD>68Hzv^|^~=P+JJ^RN z*e4s$ls8$T0hJ%GNveF}KTohE(pqezvucY_)4_Kc&u%D^QgIT$3)@uip}tr-ojSc2 ztvqk4*KM2er(86;NJCPMC+0{ATWEBbESb!?rBf!X9q9iiOyGTgtL^!C5d@)qLrLWy zpS`vAO1{-XzQz12E%dlV;o8YF;ya=@ zo^HqMtXvphu^kt00P6>1Nu+1S1QvvU-u+^QYH34;2|xobj;}OE|O6P#o2*S-;QFuNMN4{y7$6Z zXkPQPQ+Ca%QF`?&W?7^-TvZnB{#KpLj^gOTe*!m4$Mv5U_2NaBiKx>cFSmZFB}66{6dOBw#G zS-THl_0`lrVx9SodEZSrJ;>{7+1gB{Su`f5I7|Cf_;}J_)7IwJS-^WG?#$r$@Z-Qi z$G1;|ZSC!pV)u@u3kz1gVDb+m#kKKV)RVZazVXpTgm&$w@7b-lVI76Zx#)lFI`T1@?~r82M{MV^6882zPX4XE#zx zojM)*GFUk31;pUQ0)iEF&TjKCfX4=6{WlfVcQa&TIUOd!yx|?iZkNW1FC%TaM@;tQ zFuC|8tZmOVFG-7ewa!*<2FnM`I{gRYLv(p&bZ;qP!%HXEt z>M~aOqWvnQM1I+`zRD#LsKwF+^5WlUzPg=5a&>p7F*Xz=Afs~s& z)HSjJ^B7SQOcn{=m!3nsZDnZj+qz7SzcvLcC52k&&y$mAQ?gyKT}T~~EWltTUgSJ* zTV~>l-FXP-UQAa35l5b>6;ljB$LGqWBwpwljP-cp114_ogsyH}nfAbrvEv+U>(q z1lXknL&W9N?+Lr0WXr6gvD2bKhrgk~~7>5;e6RL$l>EHOC zlw9(l<)`T^Jz%#y%EN|wcophxF>fP1Bdi|hF($^H?5q2bB-I5$^XF51{fAfSibmkh zmwbXR&hIQ|pVu5fr^3%>OpQf544Af0;2neH%; z`Gr!A?edyne0i|p0H8*HzJfyM5%FMK45=}XQ7q;w?gjkEL!OJ&d2vU65tMJ)9NEp- zvGoT;Y`XUehA#7;@NVY`9eJiWBeXp{z7v79`=%<>Z8C>0f|&D7!Dipd^>F&)xPYfO z>?BTA&~oP|Y8V=+l_1_HeC7ZfoxYhbER6e?TKx}0NSHHxB#mt0yTJPotxUg7jCkL} z@*?^124mR7hzH_6CAf31)948J9X`g{_;{__&S_joT5S87i{IQ4We3Uv2H`Z8{Y(7( z#?Ss#ySVqd3UgN*SeTf~?PvCA!1*$c3!mYObec~hLA1kGu{cczH>_!4)6YS_+^{E< zPM?g?$>DB1HcG)JIS^9s{73`oxjTzJr=NSHFj-z@$ludan_g6^bN?Kknkk?B!*_BM zjCq;@%68~fYz=Vkjk)JikwJKOW)Xp{K#$%|@fH7L6z3zFOQs5cPkv*)B$Yi+9o5Pt zayEq2xk~Rn z1}Ue<_el?)9J*iwAbs<`9#owLUmwgurS~E;!nG4+jdeoWXWC#LQ%!xJhLi#ychI(yjA7b( zIbu;^XSsj@%arN?4OD`vGtbtK?Qm9p+K|BThh?Lb*uNW%_%qWKA0Ynabj^H=7NrfL z!oqeUNaFMEN2wG6(?f23Qam5i+X9CtOHVvs)#T@`7Hcj@ob`BQy}VFy_l}zjR=VA_ zM?|)1-DV|nA42O$ckp>podDs#=x-gD>Hf^XtgCn?zBKwG+|t0aPwE%A!OyRJw`mYg zDMnPHlpfsVMb(D^^qH!s4kMN|F?~x2sIt^=Q&)%0cGJNkPAOCd>l)wu^D#T6d7Q9B zCBG8c)@yT)4io5=`c-X{Fd1YUWwGD2rKafw<45PVVl3COAGz61UZ=Wa+g?xY78}_< z!$F5mmW@ebK2>z?>u=f$oJBSSEs}I%W>L?a`^mMgKQXcFq>%P z9eym1Ks1Au^7*=TC>vrX!=fJulXXhSwSlg9${7k#9TJ=LTB(w)I-q~%WrX&1Wpg*} z)r9Na{`!+#p4Ue#iku$GE`^iG#>p zTiCXd$s*LSzg(mAm`=S8nI#ioT`3_SW#Ud2b;jiWk@Qd*aKC8 zkcuBT5a~9l{B}D?Exl@G9wf5SYB1?1Nm4trJ5cfUif#ONf~E?A2+Ao#kX)OJJ_q_uC+{9p0g;P~P z1PmEw|FZ7k17+JY#CjB+d{f|jI(X(F&Y-pjZdTPPH@Keam z_{GW8FZ^@EhMqs>Jq_Tq@OL%X+`^Zf9E837&ZtJ7uYU*NSHj?Hf%f)vFOtcN^vHAA zi0?n|WE}a4j%4A?lFEWp{o23HAhA<;o_3WjMS=yiD@c$%3hypAu_~9H9r)>2v+}BgSwKgvCuLVwK z76hpOKc|3(o)_c$(`mDjT%-LTu1J#?#w&_7wc`@7X;9)s=}UC|C+i{}z}@$(2OHqG zA3pBdZc?82xovk24JOdkHefieFX|NPbfdva8f=3pCeVaxfz7|Yyx`xG5RV`da9Ac2 zA*&&L+Auy9s;SZ$V`I7k10oxA+==TE>okYaUu;g#)QO%4Qo!Cj$Z6u z?lB948sifJa@QQUpWr}xM~vfPBl#UE8zR529l++VrpYLa8S>hqV-aLgZppN}dw;~C z?osURkHFrNavE3aWKTGVhiJ$*r^SGjVK?QUSGou(V~y@oMVbkhb0$=qWUzKxp%SamHX=+~urijMW$xx5B^^DGut zab8V%+TV;}*T4hRpc&7rsE^ApY{jQ}XfL;|<0Z7s+x0}-rJ-xlJ=j)t?s}y%7ec9Rp)`Bn(9e_a^ zQ_>op=0CT`TGWSc1ojIep%6JJ6=GxjbI)ohzPsAnxMJGw;E9zV6co$qlSCPV#To_c zh<|ZW4b%eZ=Xq|LC&5A`T6OYcw@@;t?mU&f%LUj>Vq$*5cEksSu zx8(7X?ZWesPATIC0om^frRPk}Cfz*OQ8J^^r%#&nef^T!#GJa1D1p0=ZCOTiQxo5T z@p6cDfjU1iEy413@c+`rLTq@saP9z zkI%KjuOOd7Ks-Du^;4eM&0o_ah12ww*Y`C1OttvNo7B468LmEW+LwtO@mjPa z5rB1E+B>#iEd^~vjn?-;um?ce<9^1DiG z6v&`F&w%ADSF{Rl|C7Sp3xd4N5dZbGtTNlEmrlqUXxdkmg3_ZTA z1Y(eoY~oLru~OqoSS}^eh%A)w2R2?cjDNW}~w+R@uO1s|#TETAB9 zzQsVVr&vkwXvk_m4A?O~@6Fqq+kObulJ<48a1u%rI!DpnooJtTsb+U}n{B$IhBiGu zOOWA^+|{suW1wyT-BC~9F)p$*ucADTR_yrl!t->WeOrK?s>Y4ZlD*E+8%`p&Yo=}s zz&&r^lO8*0bGhK5oNSFa-mza&69K!2#JDxvC0Fj_peq)0{115>ZoyhX0k?bRl-fES z*3C#dl;Nz2c>&uUevyT1qj8s?hkVDLJ5G)#F+<;Yk2_CkhWyms>Nnguo-)>mUwip*K*|L&b1Xi<5p-G1ntwUHz*`n zIIpkk{Rl{0mJ*2qbQOhL6<6L$J=Ng1yjRlBxb@QR1@3+dE7Fu14}cBf0lNg|Qy^uq z8|9>WfbSK~%j*jD0zAy@-TV_zCW#x_TqkOfP^HjK15_OdGki00dw=UzU^^bcYdSO zwn*i+xvRSj#SV{c$*~dm+FKtFSU{^p))`;%+yL2nvn)Rs`iHQA^9mLFFJ>K=w!V%c zyn)VHvMDI0vw!R)qY%8oNO;XA?uUG?pf`|GbFbarGYEYX3%hyal{>j$g5$_a!~&}# zUm$yuuS-{uAr$4%Xe=BFDbT%e+lXz*Z-Nm7aTX~F>3)`h0;UY z)i2a%YIb(DKHVeNIzVPue4(-b$8&pg+=Q~GmO{s!Uy*6ZXB>L)MjlC;bLCP!qCY`+y zTyRmH)4u=kq@P_krT(aMLaE6o{rL`oZd%0a+qr9au!3Uq+FV02Z6m+u6vkAO7s`UZ z2oBZ3!DvI|y}fRV%~2fM*6d~(ZMVDzc0XMpmP8xBaGsUdNp2bGiR7}EB9qPijrHh* zN!_>E>DlF_EV^LtPtQ8uJH#?HvqN4`pP$%nqbcLS_ElRHY*+`q}+uMoB z#W!p~YL7iU&$4TU@1K05H5s!E7WGH%-$uRL*wyyj{xwX#L(^+QHWkb`PD>)IV5&>X zC7YrYr$@27fa-;{Y{T9o?ET<)^vT?w zyz1EK@cpuN64xuO9eRmM5%tIdO5w`H$P$l>JFP;evXeY{ip_W@LC-7Pux^Lr%%~UD z^d`$%YTDAtkM$P_XJ=ldZOi+er*>Pzc;<`vn_pWW7iawhWP?w|3-&mUN&e~uKsl&z z9pv2KmSC#b=6hxD@8gT1tFZ3*@iVnXiMGvH6^E#p&4clG3|$|PuMd{;6GNIt0G&TmFH{l>K@%ewEk(QUAPhx0o6d#ZEvc{gj9I0OX4uH^>-Dmm8x1v<*IO&BI`0g#bx?14h~8XQn!9JanCf3D*%=@#R3@50 zseEjCGllzR7s5UPtY?8J?rKu7KnT0%O;nicEPQ_+P=X5DcPT8hkD+c`Oi@8Q6y`ii zwD9mqhr)-t4Hv#i(M$MB>*?0bgQ~*sLHlR$%Wo?7n z=qC6la~D@uRPJo7EE5mv_apJHgCZCLo<2T_8{`jxOO=k=tw`|jxyfP~f-K?= zyts2m-W=PLl}Fxq^u%B+@Y8INz=n*OT*Op}HGL#`Zz78PO*@7queJOGE6q1)X`R*6 z?)_mhxmH%%)_k%NAJ;ncb#~`s=+92hT^xOr8>l9rOMN;oYgk)d>1}NlWFp=W;~dO< znP^IGd~)m7+M`{$bG+h$Ta(Ibx{++%O$RK}8pHjIl%%%ij~#u#8o)b&zIoFL+D+yj zj1o%j(C@)UA20&|(|z5{`KP(q;_574=gjQdr+jz-jl|EzpG^%}mwG;y8@-W_QJOjz zc_VuZSAXw)T=p4tnkUT761wD8p8VcRXTi-a6b+jb)zEz@QV@oPwUz$oWW&kCCx~A& zj`TJY-=7XJdmJ4;e$#LvED|PSdt?#0wV1~4H2PIG%sQ1p34^}6eOS4-yCeMFlkY-Y zc#CbTjNFBq->i3ogq|J5Hn>mg?yW_Z?)APA>szhTR|7o{;*CFd3cR3))?1qnIU_Oc z$F#x3Ia~TxbJM0q#824oBG9uhSBlr1MM>$_iBzR&J)5ZaHu*mzQ~)e(|I(<#(X~Pb*t$&2I#zM^oS(XS`mg$$D>rr-SXi3( zz1YsKEdh9+e?7Ys_IP%8rE;Ks=9?-smsf0i-CiI1xUbfGRO2vc{^}xz{oSvSqsFke z1e?`(27gM<8NSE&ymjT=Cp5GZqPcdKdg6aREj1Q^%DN7%}b zD@CiHQ|Wo0FMn>lD)y6SFt0Z;TD6xcm`=!~_2IL=Pr?58(UZ0G@SyF}UtuC|%ySb( zx|-SEd)TU~%d|VZ#qgbO&l(Kh0?M^=L^s7c*)(k%--AAi^ad)B&P-YCqYd+X6Ccg| zY}ULo>CokOSrbSK=Ie7UcOYz9LNw08vAo?k-ocnyA zKZa{3_LApE)cZNNnzHl@(t*KQ5YdjC(UW<^i?)fWbZ_#;<4wt4OQNyS?qtYrwc5+-m&f$+a~NhHjcI zCS^c3TeCM`Hra%2;LF3DvbD8Iinh`7l74+B1eGrjzNbEU8JO6^{xw>|cYpS3@G4p9 z?90Iyfd(`^FdD1)4#6Yoo03-}n0cB*j_a%ft}16^%_m8%pZpmr9WZbCqd09n`|h`U z4sSFJ99y-mpf_Z0YBA*R+SH=E2~?ux zpgwSlhzT7<{%(4gsY<5b=@2BrFB3|?MC;C87ZGEw+ddIqp^#*)7fIv;-o4J_e3x7^ z9n1Yj@2B}U>W9=5vtM;4hCZ5J<(nM2D&_KBJ9zfNg~(|Z{-`)oLWQXyWi7YUL`><0 zSQvklNmgB~J83#{It>4!*M=3`g++_~by{2MIe)1jY zhb^sbk=c7{a`Pq2e(2?`ic7d{`L;ia)9F89Y~H`TI)h#~ox-on5n)d#yF&_cJy1YB zj$AZFf~tRzFKDVTO-6e;CW|O{ZZ-XhW1$(}MQ?GJ@Z6tKUwQZSJ|Ys_-PNV_4DES2 zpyA|f%3WF6(@))dVH>_lK6q!r668Wk7Nu!_T1DHx18;8Z9eM4VxB<#4XgRA)U)SRW zqq~QK&)SIlfYjo6!A1Q$`f}pg#BZin`M=c z&r7Z~vy}ts&t@x+V~(=wX{-vGYt$xBn)1tsR-7~>Nruxm0 zwaL@@q)kFi6J_xPzDKGqVZ8sYI$aA0M^^X6g@h%x)}M~F|3UAbe01HKYKlHMeZ23O?~FkoZ-8S3_*)p6 z2OV=Z;$i}V&51Quh^1n}i{sGnU<%3@VI^bktaXwpcCFTl1fCAj-bhi%7RAEr=_(rUU?UQ!b8Y6M|E;DZRWwW%a zT*vHVuWm*W>j>lT=I!9mDynaQWA{Ec@Lgjpiq``8-dj*k`mYnoU0wPLYn{B~=cWSf zauw7*D_BVPM%H5m(`CIJ1P$`4p1qHfs`Muy%(@TzfcGkJZc_*$DZE?hHPiexQ|1pO zPyALm(2$!sJ^;s+m{C$+j#oE%^N-6llwQctSt+-=T{0TrJdl%k@>E1*^w)AxY601Q zCJQ9KRF~|L7%)}oi17b5tm3${`tosl!k%42i@58mX&6$G`#YP}nvjwRRo$U`uZwme z*s4||Mbh~?kaol9dA=+4xvSJ4E9jNuQp{2jvs~i&j+})@Ehk!SO3{x96SbPbR{N0* zRV$q-(X&Vglhv+fGKDEtA&}%B7CWVRaqldSnP)q+u)L(jeSh0N*QSvsum6xr-s$R$ zrF#M8Ix0g*EL2q#8Q~Qr+LTpyTt_zZoqt)@dyDmuC(gz$`KdM}r#QP=yaW)4u< z@wLqw|;pPw`t1%K|Io)REA zx{%gnJrb+2Jy+6K3hc|^7WB4+L6W6}`SauT4rWJEHdhH|5gA|~x8sQQV z-Lr;uR5|tLD1#bUY?#PG&n&T0^0eXOsD?7V%QB;dwR3sm3tYd4WgUjMX4<@;wFF{5 z)^P+KpmWC@g?Hx?$<4!E=J^4x>tn?2pPh)vo(y#UwxvVnlm4%d%f?!M1PUf7XT#SQ zazzIYv|RQ_RK@T+HLtc}^s~(`S9-P*Fz%8V+p(l;5^nm+m^cC5{k!1xl2-@o3@sX% z%Bg+aZs9^>ctlr8q%sDB4nu}ciPeYPzF3#Bi&a)&;}p_u7`0G*IcOOW&3;?rfFuz< zuoi)^5hn5ie{3dvnEw1#g$qZoDl*ZnxL6r;P7c>aK{ANk>ptzMUuAN04No~{PtR2{ z58qm*d_%+C$EqGDidbA1h=y-govw;Lb|A4hWWupos|}yB5H_W$(&5b9I&IY@QV$+b z`idsJU<@6rTUy})kLmgFS>gVHO2;4ZOA;g1C8?w;=H=*^>a_zVj9l5&0)pj79n)g5 zmQ&}!2JmJ^UBr_0mkUh?z{^z*ISH<21cEu>pNX}DmytBc3k@}wD{AZ;D8^7^as4>u zC=99Ns+sQ3eLMYNBA~`n#kF%4Sz=R)ThgIATGY6)B#97mOOTTV52*2i21(Kl%td=! z`3u_z$5xW3P!J4B0$X_c4d(mgH_1-w2%T}zCA7vZYB_5Ivtqa_96sLl+Q<-t-~sg zefEn~N*gbt$ls4hK7_5WyU<#gQyy?_Cdy^zAdK%L9McmePvl0V+LTJ+aRIWp{?uGe*rwl#W}1jCr^YE0$NXyd z;eoZMr4hjdP1qel3d^Zi?K%K8gGIkMS*HS z{v@y2UkuKA$LjqZ+en$INU}|-sEnmFcqa2Vf9+H!&v<7`K>wG{8!HkyaSegwRHM^9 za5+y1-x_jVO?#3lrMUXW79bI&r2K%!p;MEVl{)X=Um8; z{ej%q!3X}<_N7dxEFa1n3Q>He^~$CD2<}0&U@3(UX1W0~dX6F%w|7D;1?5QVViI5$ z9;G`*9Y&waARI0JPl8T^3+azJlhhQh`f{FFZCvV_f!ojtKV{*LgoWOp3il|aM@)gP zUtew13r9{7`rX2jA1rD}Fw95-28Rr+HSu2%=? zM63wb-iW+0E{dARS1bs1SJa>?EaO^qTN%P+iIyd1l|3akOOvY0lf(8rce%C7r7z-F z_li_+eq)9Jfn&V&Y5_CWCz>pmN=&Z_Lz1THgYXb zXdilZR}&^?`=pYEH=^=KLBFm2zFx(F)!%xXWK#gP_idVvdJB_+guEN z1k>{;h7giQYf$7OU*&%8f+JTdkGTJ~cco0?RkRis>Zlaf8Y9`QCE(H)dP zp=gar`gmLUZxd1x30Mb=#Z7mETn#}>5K^jBU_bE7KyFfc$I-jl$8+yXLG` zOprz^ecZt-x4B9(DH(X1>s+oy5{k&sOUt9fxv|p(8B>k;+x)u2A^PZKh1R>Wk}uVi z=Ilr9yJMUEmYqNi`69wH9@~Nr0l$|DH(8};!^wWf7oZp`Rnq4n|g3gG2&dBU&u2kcj{OP2*dE5YR_Gs~PfpM+i+^18CuJrM3)lM;&)TeN zdx-Tzyrm`iC^DwH1j$(8#*#nI?yR&*;yO;!Aun{Av;mVWhFB1whGx3Z8TxS+8l@Qrf2FU_} zXi2&(sIM`X3!LwzaQI6^O_eA-8Og9~j5s+?;sSL-rNC{YUQ2fS+n2XD|`*P$6q<5*TsLhxqL%4*3+Z9ZrL%^;;M=?emXM@f)9bBQo z-TN%1j=&PXAY}Z(&E{CIl%m!55T=E-mqlh<$XE`0?=IsSX#>46tm%CD&RFKzD(3;U z>Ei}rP^yt!5`@9TazJdvrj$(A!{OB5V?xM=)RhgCLA+S&Ns#4(`BU^U@n4#hywgx{ z<(LyNrl&v7;xZHh9y$0r-EtPUPpnF=?D(K?tnu!dnCJfNV_C2H&r7Sw2<=Z=?;ASVQszLWJLanBdVj4Z6S8X+S{EfyN@t1mQaN7a zD#3b5eb2^^fX{0<=194jTBk_4E`Oh|#w6DTxKpE7Z(oBxA3FP87a^iwyPfW!WI`c7 zJCzln>)N+!rF4KH))g~xr6(Yq`TI7a4%mRy$WT^dPnr z!!Y*L#t6qTkLA0yhS5E!Gs1_aIFK3uukNrq9V|0U+YOPuS{h&NKF!{000X<}VWOw0 zvJ#Fx^Mj@Oxo5XYb<`*o0B1;L51^}(Fl>TMigF1Jiu9zQhRq2zaA9Q8MmpJBE`H5y{FBCoK_L$30Qow?TgZt`fooiPWSpY}AiY-cV48&J+ZIe== z-P{j#8qG`N(gq6C!*G!`gO!LV4zABx;p|lz1LEJdYdx_pG3g?ZuNW4UcTv*tz`ft} zTBDc8b=!xP~NB3!o?cY`x;nynKq;oM_50XS={$}Xn>)0u7z@!8nU z+3JyVue)Q4Cvn~U<#Kmzu%5GkO~mSRfV-k7)xtN&vAev{K+DDrZtA}_Uc7xK%|g0#CL!CxLUzbw|@K-}$f z)va*syhErb7Ws!TE$%bs3Ud}{U$Ax^g) zdv)%Lh{sFK??57aG1WNmA#4FiwM)iEDEgA;^M$r1_0bbXnm=1qEpUP3Yy@=ptFej{ zwi?$*f4f+WPXd+9pH!V&4V|pAmol{_$d#FX3sQ3(wH`iN+!t}igc}?ur+S<9W{~oi zGd}A&Q3a-hLegm}=mpC&v5Em5i0@Oq`3=?8CvlURL4-SP>qrJVIm z>INHaK}pl-hpA*^$D?JUzsP!B@mtlieDI6o)hv}WkBIx!E5KT!-NpmF z)G1MO=Zfns($CZE5&_?b3aq+`>$?%eT(rB!JI0k<@RCoSf%M~#crCl*&EHM2a=shI zq)IR7)(M^=dVRU31{vOA`};cSAbW>G7xOe`>crb~-}1cVN17;|Hc>MWRCKidK(Z5g z%ED|_VLxffc1*p5s}1zxf#W_%Se^6b!CuhMb7{x6Q8{;B*{jdy5->L?xKf{b=Zx)y z`HU$#&5i3?bx}hA)uSt|OC?TU7xk)W@J zA%j(ln@8!)c@yaa>q5d=BYQ;>yVD}p==lTLJ_>3Jq5%&+M&4AzU!+tzjyfwJ#wbar zU{<;osT7u^{vDPH>q&{3#$jamzG7|Z@UBB5xV#C{38b?zN1}?_m zCzsZNJhjv_hx^jt%r-F?pSM;(PZg@&PtW77AMp9g?QIpE8qjx4zB?4KIZ?Z#7+%&` zFM--mpO?7t4JOj@F1#*BE%6yQa}8uqNq|{%f8sP$eD!sYVWGZ&>2b`|P+c@*e)oKy z_La4rhg`vr@1}Wri2IsEP~4l|4kSVbd$vqAbXKAfOQILYDsaAog;532?yM^Na92W| zvjx9B*9M}iNgYPIeAl$xbjsg7laYNl17LKte!xZYm-Hz-FKl}w-IDFOrU)$nCxxTf z29Yn&b!lA;;=R7wKW`jyr!IAR!RDjD2%(-jhV#Uuf6<*gm>eKwYA8wseizWNe&QES9hpu|nMztM#IXl0pGqk$(~7scmgnl1*x2X^VuS z1pGDymuXv@7_xkFRtxwoqaVZku@^4LRye|1xdYX>Lw0{>%GJ(Y=X`d9F?2*YMB}5D z**wbIB+M9ftwIF42F>YCdt7m;UL3W%Ju2b3_3Np+m&yz*|6c6kfg$*&H-4cL^pqY% zd$z0=t$rg|4+8_~1D-RYrU%6${XYJEJIP;&3cVkqDBUydO^~E$dgN50xv&wIet zLyW`Msz1GwWlDwEA?$S0tp@Tn)(>_i*j_B`?Mvu`RIP@WZq3sd(zEKz)PoIJ-Yxl- zrfVzsl_o4>_tixp(@4FGY$BGin3xUNUFR@FlkTsKFZ!c5vzdo0)N~+^GaVzUU-D+X z*_U%2edB?&mJ(Zi)nNUiMwpcnjMnHVl7mR01-Oe{s~yftCg1+8c{qk?Lh8p@X+jE) zdVszeVgKcY!IskR}4Dz%XKtfX1$ zh$v;L-VV)dQjP9tKF8K&g}K&lFf*G4_4Jr_Q%{y?VJ#=ZSXm1cJoWTj=3()&VLX?< z$S0^ls?IE*>B1aO-9Ys|?f?3g&jMG{E~3o6VxLRwX;g{m);B;+d?~ZL01vp{vj>r9n)#JE@N*SiyW-AA>j@^#xb3|epb9(0w_RC5$4c$0GGJClq&b9*m! z2+PukzQ3Hwt+n?xi(AWYE~j3_vyc)ya9fc8-Rx2y^;%7u*MhY}xPoW87~0`t#q&L% zWfkLoBG0RNo?P90BO3OmtVxRg!(_GA8fE_uA9!XZ0lfmQVNv`I@0%egD{$1aJ3h0Z zp#>vKw{OXudB#e^QQqLaTmDSZ_ld~(6M~=P257QU6yl9<`jC@+hadq<(txNW%?DfvShDDz)Q1uu8YWCX3RT8G? zulm=o{@*`BZ?W>4rrPaJT>bN3{NJxTN&ElakZQX&>lrGJv3D!~=es}uo;I|CZ(IE< zJ=klp?Fxgx0MlQ~{jWZhW6uJ{qaW-ReS+p+U3Y?}|BiCGw7F(R&`n@t{Hsg<|2*WQ z$K^g05?4h)H^*q5FZ>xgX!OD%3SSmi@4us#`|)zF+Lxc|=JzJ9{ZBi&%rz9OXj&XP zR=cyP8MTVdG5z-S>q)bGl~c8VdJ}j099uh;jJ;(O=&D4SXa3ith1&7GTHbsr3t6qo z(TRJapRXfasGl2uNpKf)iJxaU{XPVzW!d1p68jA0{Z!=H_uJpTeY+TVRBzXn^uQC? zNc!)NC%&uez!im826E##HDR%r1k=LHNSr}pws{l!==w{dR$WAB&CAg{;Nj9ZlrGK# z%FOfVUm5COW_(efw>=CAhbn4DUsK=@B(25i^F?+JGOeOImdbzM%!SrT2RjZ0SgSdX zF!P9MfU4Z_tK30n{`JiQKUH%Iy>$+kA?sy)MbzvLAcn+?Vh)W_-ac$^)N%hSLfqp;k&@G)z8;P=Xx?S z0PZVDo+`0lK5Y>zY+;NstM^{1=t{-tDN~-+%VoScaE3$KJ?R93T}V9S(f6-w_q|J#DFkvdMw$;m++KAS?g&(BJFh6oJCC z7|G0A@RVxhU$!;qCStGXb-2giUr6BeJceQyzNzwvAN%aJJ!QZ5>if&dYRhdPOWsHj zGSR^dGa~CB*23^zTMz#Bu1AQBXXJ4@v+tX#&e)0%f8>^g&McLPg>k~720F-p9-V@f zhm;v`A$Uw{U67wR6dFrrzY^YajUnR!LVvFTZp5}RvK6Clf#6Qhef9fcaBqKT&<@+( zKlE|}aBikEJ7y@Bj)>obDtRP0E57;5ohZ{V>=l_bjBnN$74eo@$RseX3{te4qq*el zXJ#%`9RGOGo_w9(1628i=%A0)VmU=m9 zZPaU^uD5vLtN%^bGigL@%|M|F*u*Z2&Qe8z(AJ;59RxSYb?Uz{P#Gwoo(@VV_NJp` z^oZuV$$V&+pAXKn)y1eG}0Am8@8A!AmT5CAF1SM=1a#ag(wcn79Ja8rdU09 zN5t6W?W(HWhkrhE+5G%;pw@u1JwYNO2vF=i_ckv$24`h!>nEjo*>IC~W;rA6GUBtbmkQt^$A{woXRrbqv$uVui>aTt&lfw)0A)lJa=^y6e{>bdrK!R)1H`T9xsoKq(B z>I)_e_I2V~3I`SA$}GqBp%G&ZficVe>2lRy7}>?!_81Iuy0mlW%jDc+rhf7-{S|pG z2+bHGGVXf}RDH0hdHG_shi9=%X5G$JNseo*as0R`YkO^wm;=~%MNsn{v+X(Yl__NS z3gL_)f^J;k{I`NzjDI3#Q>PV=Bupzm zQ%Vj3@Qw}+P6xXyU0PTHe+@KK;b>GJ^*uhxGftGjHn z!ajArE!h%aHXH^NZTepMFRq{#14w}@(^JPb{H zUSnS`&tzribSU`xJNz_X0*(n;zhmYBhjrGvN|>+-o8M9DN*9G%Z*b*j8=q?Bh@Y%; z#~7k1%w7siEnpR-=8}&`*>m00jGa|HAtf2a=eFmLn2!o^O+0-LrZy!n77GYVgUM@_ zKB_U?ae#486p97?DJ*d zI-eVHxrAua3SQc#=VAWhpv|EH5MF;249(D>{Ty>-;I*9@O9J%KQ-ltbi*VHNP)8GC<{@i_RaUS9KU~-;9s>WT)*lU2&MXm?_M~RSKvb6LDB{&h_kz*10iy=%p`oB^}QpVNW@=bouIkl zaX@Mq|D{7<{BixY^8C45F6GkFq_EupG(s|{8a?3ye*4+`ArtDIXNHenG`C!T*XP5z zm?-^no0Ae?6&5DHRjn^YWaBGLRZ(0@W>#y1mg0^*x5jJ+PGpMMr-@oynd}c`<{d~D z9OnS7zLcl%GHM{mOD@lHT<{=~^XM}Ivp@AI9-EwJTyA_SEk$Wk#x%SDSMejDOnT-W zBRe0q*ktRl?($kaK%sB{e*OI9sn7Jx*W%%c$1feQ%eSY)Bbe2{{2cDg>$U(~`9@+q z?r9zB+KZa9b%jnbuwI2l44eHDrfwc-Vtp@k7c#cpAazdg0upyVx2|6zgH8DY}v zA;ornuy^^-4-C0v{a53)Qsgar(qwHxg;XZL$}psGicDe*zmAlI=ef&wmCF-bx&D|p z@7L4ycq1Xx@iNPE$ujO=oKh7Wqpt;rBT0%t+jInKFSU7BXNUim8^hZ;tRKo7mcQP=5RkdhA>Q11dVL|SF+MiThK zeAmZrf@~`-$Avma1A29kz0Z&_Zb;E4Ji&P&_kBwY{6*qW19Cvvb8YX#>&k}{^68-P zh3pSJnyJRx3Y0vTG2JwI=R`iY;k>tI9m6Tu;^Co+l>LR5>M-f3q2Rp-5;sS<*M|5$ zPj+1~iU6trIvd03yEDo_KTS?Wj@Jcv;93+bX3U9ub`w zy>4;9^wAv;DaEo?ugo09j4fc}p=( zPVoZKX?w*{;+9F-vtW8Z=W=8Ewp_L3hkxkWUU^I1C(#@{uOJtha4t3`^rH%cnHgyc zzBq}&ME$?VKk`7_z_4MSU8fS4c}J?OH+i7-7<3=AQ8xUX6Ey_>HxET z_05p-?1cZh?(LuE50)#2@x#Z@pX@Jornb6QR}J*rGxB^#peB4Q9``z~cb>*8jdeDz zgrU|v>zEa~6zfQ~L+?)l#f;Lu6;H>KkfM>x-VJ{WN>Sc;TLC7%6GB6dA9wyj)?W>H6~mD_ka}N*>U~1#_PVcEj!IpkL)}U12%kH6ms>`~6T(Kt z#)$wLs~gjJh^MT;yY3Zd+I6Qi8&P@E`E<)J{7JNLsQ)l2H>NNLke2Oekd0LgknwEU zohvCuC6echBQOEP2%bgyNrCg~J~^lVj;P?LKLn$d%Sq;UUAMhU&jAm>XJufa!u|L` zd!le8!+}xpYW-4@#quvkTrg0l5r6yXL|60>@8bKXa|=CkZc?2zfui9hn#+Gg3vv67 ztA?lA<)%@Go1c=cQ=i0&e8aoLEkYc|E)-SDfsGLy0waY>K+(POp9F%4SGX>qlNSF# z<%!0)bhoyi5$DTuSEx>jHq{(2r^p`T&x<9@1+-Ee5>Me8tRTAg)4Mru>jq?u;k&RA zJSe4}CCC%}Ulfc0LtE=_UItYPR)rsblH?WMR_yS z;(NyZ&;QMtyf-~bsLsd5ouZ5STwR)~ks&XZSBf}ZbkDuroz|0wz5E^Jl%6V-FMx4d zHKLXSX7&E=GF@7XDuquDb6hZIV~f9|Qk=gda)$y0_fVyQ8*BImov+hjBL4Y8Md zYR=PT+CN^ysfuGWR~28xdpk|zi0csP^@Q9#4$X~;+AjZ2lalx-P8rQX{@#xwQdNPy zR-<+9@MkE$cJH%O`slR%XZNzrfKE?6%>bBayBRYiE+ILXqqDwW*>fUU7SHLw@;2in zOkyAoO?4|%4*}3d23XQ%ckMs0k2FY>%ZQ^Hx# z3jlT%FPcU9qksZ9Y3CaH*O1y(p2Z#*T9iy;e?`iODy9q(@k%4K<%I7Iu~jd(o~7*o znTHSpeN?u)+CNI0-oQfWARO-Rh0e^Mpg$-?j-(*aAT3U_|pbm*()9(xx= znPgcYPs^m7)C_P6v>snYg#=~>7%A~+!Ikw>JwpD@AIlz}4Dq1t7Hu2@e;aBaM2h^` zE=;sNN&8XP6nwhwOZyc?=l7q#11Rqf9l{Hpnp?9b^xbJ?wf3FHW_51qL(mGHf|`a^ zd6`Z^%Xs&ruI-?6SMG{wURt?p&-~8>;1Bg5W8u|S4Xrsqje+vt5&Un4O8L#703dyR zyB&;JwI^(>VJwRSvg9U=;xyNaaZNvc)tBNbO;!X^7dslpGNas-0SsK zDX`rirCAhUZeSm}Q)OZdi%i9=P9fWCzN^dr)5w1~*S{_9uYW!Is9eE_dvcb0^Q_6`62@S%FA&*0wOY4!h4Q~Hll z{^5JdR{?^#>BpSmKR=%T!UFLco(w}~b$D?9=llF`2R;ApMB~`K&HI=C3M~KX_f-@jz6Dy zX@kNv~>KN{QV^w{!nsSr865vfP|g1=ww%FjGyZo| z`^WF8^8x{qp|6(jU-`bj?iZk09RE3N{#Q7mMgxR<_18VZ|1;PqV88)oo-v2jZs}{& z7;B(1X3cba*wQ!s*RNk~-2hC?dN{oE<{zi~-$ip77c=Oy1|&rGEu0{(z!bqjC~LJ9VLJMIu(()m+f1C?`kl_cd=M z+xnV2I`QLWw=c8Jk+mXQ04vjxVm+*}uF4Jh|0I4*oV`_Sv)+|#-QI88YBxPa^=x8l z&ar9$m2L0$?|BTMEjcj~E)AkN5-%fSuJU!K)VzYQ{F_#Cg68+R!}3kX(U8r8OG0VZ zcc!gG4$pbM1wWaYsP)=zX0z@{likUA_2uV4cA#T>ET7lcMZ#wPoVfdzsORrlzFG=S zTz~!`=tDq=+q*viX~ue{E7?ojaqEsO&=246wuyd6qR3gZi|6$C)t{Z1;Qq5ry#2JX zULh^ILc^Unt~x$`6KVhQ1FjDaEm7x{XOu$iE|&o3E=vyg=EQ+jdJ`l;kpr?pWO2nc zCAShla_hl5uJdpJ@|&c4zxeWwh*kaVo2pT9;`VOwE=I+)Q1mz}KznM3`;;S?IVvO%W53D&1+w6g-N>YmKYWrH`CUxhYapQR)>r`5`@69s9-8x+;pX5 zZ!*Pqtg}Ym48;rJ z<@tdFu-@{z-Hu&{8jC&2?mdOnHkAx7pioUXj$b>$I>b^yP(SZ8pji2DFSG=ZHx#yK zBM}TpG9nlBxJ{6TqmmrUjfIaK#fNN~{R?1T*Go}a}292|0nuWJAarr+r~-_bB}Z$+*T?_PgX zs>mcEf+x7o>mx3eCklScc`(;Ys!e@-eNbtC!V6t3i`3129Lb;8K!_KWAv_ohwdA#C zJn1cSx&v6+Kc=7i8gaxJLSQuJPhZ{AJ0C<8bF!|*pkLq>Ii=m=ECWfvS@_c#UgzJ_ zhuX20VBa+gA?ih<;DNyQ>*SyAIm~t(N_y*Dp4+vFAZ}MCV(eZYKc^ zrJ)1E5T=5v%sgMrk=*yVz7+?X2@4wJ#A_tnx$gj8=&+uzA#!Tbml-RcqGL`F$nY}+ z^qMLsw1_3jZlH|opy^#q;u41vc-x+;MuJ~c1O5e%|Kuk z0#`y@vRgMV*ycENyDVDao+5 z*;t0-lB-TgN}8zH&0na1j+5@cLyK?lTL)wq@3Hc0CFW^!rt<#iNk0aZxvp4XiJIHN zw|g0v{se<9;hAEOY>X{1Z!wGoz-NmSE%QFHYg22UH}QzO9X=8?o28TB&DX~NAkZDH zGKTES`fYw@ye8Q-B-I>wEMuU`sbbrz{rT+Wj?VR(NtZB0Cye?MBu!b7SS(ln0?Oim79F){+;M7XqD~2C7VAACM2Zr)pvh2m(ryd%#x=i8;&>MOU zc+vHP=&Xna*0F;_zzzge0DtiH@kh0Mopmkh;_gN)AiejxdS}9VMz9B?R>nBW!%}(z zEY%$?e!m-Z21mE^X3Ol4*Y!A^1{~#ue9se!Cw;-7bnxV?rY9PJABFR@h5959{>iuVTf9BLfkY;;&}z6%zZX`m^si?Rqm5_)iq3rxgz$y3nK=JJw21 zw1h~Sbxc1q4o;HjmApjlF2M$M9c+VZkI@|B9s`D~d#>1uWHJ97l1lVKgJZANjttWe z7ry+)`MM2s)5u87pK4q75{_rpzCeG4bpIVTb@)hMD>wN8n1vZ%GV6}s z$I0`I{az=%>VRb+va_Xr9PQ1;Bz3Mdz>dCaamXBrW^RxagZ`BBs5zaqj^boWTgl|% zI%8O_d~*MAhkcQZ)=231ib(~PJ5IXe7na~AwP$gtQi=MVqQ-|%fvqDbsVuykH|_dO z8l1nmwI#ZQAlZsIs0V5_2$zmlCv7?f^r$(NZV`;!*Z(x$2=6WNWrMo!zi5FuB*axY z54HgqrXy@WQajUdaA{ZZd2X*s1K3*Z1|((3K`#R>us((yulHR$BwKr-(D{Z9WbPfS zf(S((+ZLVAbp%wCw;?#C$_*0W`)zn(FfW8Zf`vzn3H|w+Azw@$G<(lX=6CZVUU@{$N*S&&!)w_-{h`gPoOP zZWgKIql2q!!@C#R?+*JT6R6NNfF%0fFMy*h(Q+T|qEn<2dj$vZ?4Jv^>y)Mds={Fy`GzadW@_Z_CvA&IqTylFdNJxK$} zy1j}9*4s;%3Pc7ozuz(SB>(MFuC=kfYC0xb6whBO;6?Kv&g}C*PlC?7gnY~vXzx+@ zJLkcpnu}pa)wN8xv7MRXo>xFM!W>86pgoaT9`*rrPyN_ur+Xo1d(t-rq!}I|itdw` zak=<^*n87>sNeqoyN!xaNkY;lWi3Kk^R1LU*>|#K7slEUN{c;P$WpQoW1F!ICWIJ_ zEQ4VPjb&z-tP{idANro>b^U+W<2=v)*NyAO^?00jx=}~wV?M|7UY@Vl5y)@VWFZTw zhX=~OUtTg$c6wmo$T%tXaCkUmd7e9OyqD|Zb>rgwMJL70MKLKmqNZ?@O4AY_f3(hx zT&!u^4S?t7C72lfIwkKLR^>L@cffJ&Cul@t^@{5^memI)h}`IRL~AjlP*ftd%v8!KblZ~@E8mtf}Q<4k|=(r z7ZRaIA1*w@A-lt1j-!)Akc;=qWXuD4?wwT#eZ`J*o^_ls8jlNvWF5Nspjcsd7TO=E z`tUI$1^AB~TlnER^09D!Y%O!rCacyt>%)}dCa&<+T05lgN31>QuQ|-Og24IR_F^*| zjudr)O3*g|Uz%?3eyAfyR+CR|;Lu9wsdFRL)lOvB zNMA5^Tuc-Vxc$DO(n`;9FB`8ySJz{4gCe`nt4{gLIvB%u_AwCEINI_%To+z1Uk4+l zqs;X)5O)xKMVN3>a1B;rCDGAJ*mbM(L;X*B znlhWDFa`xFwvQg!wMCiC$YPXU2_;&)Wy`f>N-ucw-*{Y*C~VSvq;~|ZyhzROk>R=K z73I3=QaKhd#9!euBrbJUq*rMnki&|t@Ydh6>!W8;)^#h+OWM~$J)z3If;$sX8swXp zfNJa+iTS>Ksf?P9mDv;?DR@^EV%+v=1DIgnx>?QvMHB9_9YMmV`gxfH-L%Ox1k9#D zFq;fwcKfcO&$)kc!PvlN)~~c|FyzD!1(Ezp&&Q0iO~y}(6kFFDjma^L8CJuMFq@F(a?;NQLiPQ>h1kUF%O3mD`V0OHh3h zmXWqTR_m2Iq6xa)CFYGg!KH_{=KJal_jrxfyuS3#RT-vjncw5$_GA7?#`{{Yv^Iy0 zbW8^oy<-#hI$-(BukN?Lt}c7(Rild@7EXoGNAW4?y{yB#ZEo_AM_ef(Q`-M-b^5LuDNR*J8cK&jz(1QNqhQ{^L z{!dMl<+jRiiwvkwxLnzZsZ*zS1Ey2E2Pbu+6=dWcyIHV7v4cacvSJt;Sm!*9K9Vne zZ#8-v*RW44onp~0KZt6&fhx>`DbD$fSTD>Cen(3GB&nyh-B0OR=I9I z3|d2PH^Uj>KS0a7wUz><8KhV$qB_2)>7AaiXf8i*%olTJcDHMHSme8hLrJ>W^DrlY z+7fc()-qp5ywpqm+S$b$sT?zwjRQVAqvKe#t6^iA0G77s&a5`i24;*n%=%yHEkLmWKeAInsb+1v|SkfX6s;Ay2uTyd3s+V{G_>X|%YkAz1!MsM4x;2)$jPPeO)a^$?a1St38R$id?^oz zhbp<3#hk|4XMzX%E~%Z|!A69)_O*IfMvDop5Mr4Dc(` z(`m@w32IlC@20$KdC3vfXE(9mg7$Q%NnOquqqH(KM6H2Hgg`#Q<;Jx@&R}w5P)Cka zjT~e#@)7XXd5u}umuv&J*HVae&qVYC>k|Rdk+Y7rH zR*HUWhH{&-AsZDvkU)+;G;rfEd;2>yy>+&hg6O=KdB9v3v>o%)rMS~Ze8 zZ-X>8sDC)z3;$$$ZD=BGM9@9iFjLC0aXt}&wT9NIDE5!Q_*3=rgU^c?!V+1zCGKOA zyESi_f@@9k%NSOK9eobAO$ZsUR$ZJm{O0U3Fz8Lqc|Gxfq#_5~R@4sZmN;gTB0Q;N-AXMi6w9>{$P1AnJHcXm?_moxS zt~FCeCNw4*pgFk`=G zbiQ1l5kDMroVmykA$47^?a0H8_0QA?p(G)~OC864()U8}GQTcbpmP1Fiw@s=fe5wh zEIc7!TdnY+VARXx*J#>d6x^?&SVT)R?fM|)@OwEe(v8MI%j~vd8Y;0L71_WTa^q(g zP2qfXgz%Pci;Nek$=qh2lV@+VJ}!tUSDt{|1=sh zS!k{Go=K;L<6{*r>fi#p2Bbn4xit9~#TG4eNDaH0B5(`50F-@J2*(om(|Ku#XEM7T z66syBI4xlnIv&2td%)$wwESPfzr(oW+MkU=BGT8(^@5DT^UaXdw+D;HFU|MoLoz(A zphp;+Z%SCfD$xRg%l)IFuUK&;5EwzXOGeOI90b;ZaUQ-m&HsDRSP6Qj0L(LJ_fxp}jlsrP@+`>M?V6YO z#_|$x0dev+_^N-;jDPzFWuGo5EO+?N&5!%X0llG?t77_Zf7Czz;jA<0_^4{>Cg}d* zqmRD22wE@k`n>-j^Zvu5epChg#J~w@oro6~>y(0}m_{C{&IomC4%INHJ!F0|_i9r9Wi<#|g)a2^PcJRf&|-{Fl0 zjZdPUeE*0n?mUx|R57l-ynE1pmKME52w>wDH~D=y*Ek#~fWuQiUc7MZ`~&2j#%w*H zhWgh+*csDZA?$huLm6E6{Z<2bT7ce}pp1;+BWzX*2-olToE`~lydv~x0O6ZBU?}ie zdzNE&TkHP`4pBP~Myd_hUirhgLw8Vsg?t>c@2m2kMqYdkMqad;&HK-veCX`a1%Pbk zY#%5hsMS5l7zfQ>7$*$1ZLJ5S`Vs#53ww|Khk}dVLk@TSDGm#=yNMo0*)( zVex8caXz=5^gMV_HM^I_hS#M+pg@=1Pz+jpe?r967+l_T78tQaCPafI9n;>goWMbE z5FDx4pnk9U4?64%(P`vaG(EWVy?lseraufh`yP~>F#ix@zde7K#c80dQOHW0d%$`d zk09I6{k(QOXfo_XV`H2T8LtF;3TosQ5l8sMUb6EizrX2yf2e2S6Hr2DUYzS%`eu9S zew~jK@x?3(nC_-pD6*vCUMJ*7_ArM4al_10MeR%lL00bV%k41&DXLf;&7Ax*K1b5} zyXQ#xw19W4rJ`KB+RNf})s2@9*c}sfE(w1Fp>0r=upgK^e4LNZB{*NM%H@hlrNh$G zkg)AilAj7@EgirCb&xX&WVpm!yt3cod(9o62%wyKkS6VPnKoFzY&K0rk@Q^|jmn!( zyRFKM^E9{hdotuDVwE0h@D9MIY4pd0ds%Csi6yeJOpK>H8%pg^sFs_4LM;yjYP-{` zzy6G$?xKn7WS*MGDhI| z$(k1Z6#=$|<{R32FP}0tQkJ(lRx}?H2Ano)0SeRsjQZk$d5goo12eQbN5?DrKh-_2 z4#>5n3~dY>10k|^s&YuVdA*NXW)ZDM!4#D|8? zFQ~?wF_Q4o)Ss#80KWOE0iB4WQ;Wr86*nKe$Nr*6FEtux(_SbB(K^Z|ZSPDFt^6C) z^Oasv<(kw}^curTIDrIltD(BhFTK^utV=5hH?OE})XhfIMR5W?U{Ym07CN*yb^% z;p^N`KY*xYpt#nH7?ohh|I@VQ))64u`0f`ky1PM59(o+)JpNYt;RaIDh%L;U#K|(? zz$T-}z{6e#z;7)utXFcg{74c$32+1-BbgudPax+0`Ou4paimxysuEm1awb~yvn$SM zLOq|o#NyaMNZFwikTkWc(tYELT7L6}vu z$IDTsGcY0b5VGv>w9abf8G>BR=ZG-g&FV|h@CvPTS+j}Y+a=!lGK*KCbhh$Ef}C;r zg-Cq5M}s4ujBAylm`B%*7jjp8M46uLtbJEJ9FCB3=y}p!Q{N<*hh@cX_?HraNW2I3 zB=GDv%FV3dtqm&^y02`l^+HbUT6x>h^{NCNxu!&Mh!Pn;=v3V1nr_%_URUqd7BwP1 zN67V-=ca7g69WCZWoZ=3J_T@D&UI<+oIDI!6Zn?rvX;#YelKsQ;~`q5NZ}-rk>(c@ zb)UUx?)(-T#uav{Y-eQp0%;^tPf8c^d-02P{j5;K^1ql+#F^5?O|1lt+OW?`dJ zyIOA|5(x0^PkRl#Qn-!G5k2`pQ4zZfgwF>-?;#fBwFTuHjwxI%!W_)V_cgDNTzGOlFQToKo}pj8Tk zUbU$x9@U?H;byb;m+(fCdgk+7kwHlTUw*nU+J}wzU71tA18Q>9MKhzKGiTI&!3IEv z$PsTP#2JDw$JL-Zsx_*Hv9Y*u0y!V-zdXO!-CBooHXo)SHI<>q-_9uneGFdWBbErI z^*hQggB69v-eE^tN);*4^Atao`Q?=K3y~)g*RYM&Ng@I%WoKAKR_fTL4S{@nF>|MS zeKGlpG2i;)Uu7~$sH};zaZsk_Fhn3jnLehm$e%Nrlw!|!!D5v?xPXajxFjQ^~iT2A&OY(v(->ka%o0d zl6R}+%f7WQ3EL&}Ytbc-T3HsMwww1V$5zbUy7Z4g8aTG;*M=et%$71yfhbzs)!R%3 z2ieZpPp7^1LXh3~*R{Ie1Vu4q4PU4F+&EX~4WusCb#A)H6_1?%1PfOpQl z(t{IDhTUBz0_hI>s_P01xq$bK#Y)*^4&nZs2X}}gih(EYvm2)j*kg=pQa`*rlQt2J zR3vvvncu5-Krp*)A3Rc-CXMyUh-7h~&C7oUw~Zto>s3R(EBIiw`t<_k)%m+)2$4Mn z+Kv$1CN>wXxan^N=51uj@=}s3u`|nJ`hk?W(zZ_~d37}`Jn;Sz9+}P}qhgX=g>;{+ zt3yfOhl4YM+*a1uD1RKzV|XsCS@N6fNVZl6AHJT)8{ExRj-Sn}Y!^)hrF+wz&=w2N z5rO(NIYXQmW5Y{c|fS7bYc};d4X@T;!KXChauEySUy1>&f-KNnC4|Hc=^7gIF zKy5PQkiJr7%xpZ9QOB7+KkA3?iFRPaDbZZhm7vLMptT1i>)pa~S=gOEhwjab7nC1i zUdsiaIO;ltyxU2&+T)+YLJwG z-jR_-DXfnhLO-OIvh=j~w=t5_b&LxR-vk!b`+S&8WKcFb+4kT>f zJAA#h+i-335xpz2@_r1bBGw+b*=UhLv2%Z3ca=bhsZ)2l#jJz!CN+APd_>ObLEZKH z_cHA34%+UYEnT8HGQLgaeKzm+E7l z4nru#TYb`VH~VGWQf3W-2t}#oo8-ZqO1`Q|H+A&BvdyU5A4B&BTKT(EG)is9 z&914m$Lkegqs|uZ;#h29{cA-%-<)|$%m|MG9K#~YXR~NSDrmvui-iS7O**DLKw_Tygp^F3*bwCTs=#mT{Tyx9W+JM2>v3!ncBBd*pYz@Y!;g z?w_YXRj5~rvTP4JEJQnol}cQ;P{9rs)bfpF?Am(2Q?4c+;`DO)g8p8eoqwpOFQ*-K`$ZLttB2JNyD+qIV3ezD0~T6N0X% zmJrN|vpOYcall0{Y1Z!$ML8783mc5wDXE@tk(F_KB;8Yx`LIZjtuAj_UfLWuge<5g z0(YpdoylU;4p*J^Z1ttONbij>-Jeb?O_`v`G3g}_KD3zI7sUjN*~5CiT}}^6TmI(S zZ56!H%AgwykZ}m8X_!0jxh>o%6{TBCI<>~z$MV-@=%#yFSOH^C9B<_ICR=&nnzQ2; zYDn$L0{!Fm`Y5=|bh;ZK zHRV-C<*YigJjBX9qDW(4#EJ{qdDy;wO_9jLVpb@UZy!4Gg`-$EqR>#>uP}<78hMMBnf*Rh8Vxu9G1PbIC!>2A2ZgOR7`0MQKC4c z7hB>e!D2#m0!@QJQ4kYJR}KjVK}RBMMZ37wDWCCSpF(y4nWs_wmNjwR+pdkpv%no} zCT!kBI;zC1;j;m-FLLesR9LFi=h|`y@G6QwIP~fL?_7g((K!8(iX)N&MBeqg z!A^xAnr`2#3q4`V*eYxn@Wnor(Ar^Or)41cBSWEq1}zw=?pLuX%*2)b9E>5c9GF%( zdev#4*uBh7sS90dp<5|!4Koh!Tu`({vl7PLS;tMafxT?yv#+69hw5U=96wa!?_wAE zOF(baea|3P86IQK(aO3gY@Mxh=yBe5!8feqk>JSXC?R7$VyUgb0k4=_;NBwza7N-r&^RHg{8E+tfnvA4`_EnSZk!%uO9uaVyWJ;i9bF z(ndv>@Q)Z|wm{j}DS4OOu63(I>#%2OPEi&1F`Yi|?0UF}?#m9hi^U3&E{3B}mAym$ z5iC<864E!8>+#av^dlY0RMdt3TW(gm!7c7kbX!$k#*JLA(JH6 z#a>Om?#$JLx+e-EGirI|T`sDx7cJ#er=3Phq_p7<;96KM%n`Njr+haz1IWFl_HBL+ z1HVAbo}OMZQh1xMdMrh@*l4Jzo_D8BK3Uny(#3P6)m^m=o$!~&*@MwtYxxH3AiJyv z;Y}@7$qD(67m7)NdroX zK1IE5i+d{i4vu0fCWf+YXXn;@Sf*sr2dQWP8^6gD%pS z&l)Y7``(FfS%@I>p@?rQB`?V9X8!nsJ}4FrGkI_N$gJu46A82fkmGoVAF1$yx3QW# zb<}j|<)NDR1D0o=RDO5P)NASP()NKz5bxE~?@0u*kX*8x*@mQ%{AlXe>ldVT8O%)n zQyCg-j&U|0SH93u)mzzN+CuL=>&;GTH#rd6@jnWx3iUL?&s5zBC~7hlgDZIUdZKp5 zM@#&dro?~d5@)aPza$c|L^2!%J_zi7BG)dvk+%3~%ZsTR zy-z@h2D0m3ZOpLGLiAQ&7mp$;%{&NEVp7@G4Kv`U?l5XHFT^T-8!AO1<1;+}BKB&e z#3$<+LMzJ{xewB*(B|f!_y?L7A@y z!sOBDqj90g=5ehlqFEyH9W$$Q?uC-0GgKd~b@SJYmvYspwP_~Bv(=ktR+W;tT7ctv zsbJ;@2j;Z}*|`SZr<>Q|;@4^gZ_8^9TZ*-jgDDe+zKrj!Pqslf1=Q<5vYJCPFM2-2R# zz6C@2+K?4N(8aKuGjN%z;(aB6vXFsJ^E@+xxC`l&S9{`BWTy;ybhV+~@~Ju2X~H0jv@^N-&D8j>m)Fzky$4IY-P?2$8Wyu@ud`iVchkzW zr|jT@$S#qeqlFl;yihxa+t=)TN`j7(#xJmgrx)B=@;l&_e5>AifkS!APBD-$X{fj4 zVVZhtV)ICmZL^ZbvGvBIs~hRSk|=jA^=PvA&NHMPX|fDy+#6IJhM0G)e2!>6p{cp* ze%$P1PF1T<54c?2tR;d?61sVI#QSb-dX-%Nb2Wjwq}=+Z#=ugC)~o9`-+%25$xxx@ zfx`BWOZ43u#!aiUmyP*wLZ5WVPAlX0rVu6xNvzJ5s!js=Wb^X&4(GaNr46p#7$~9J zWc{A?4l8BQdLfFZ(ybd0G5mDjhI@6z??hhODwGGtf72NT81!$^m!jGBd=U?a3ErjF zl%%loUK|}+tbWikk67}k{Z?rjAu^bIeBd1XTN(F2aRQi_-dgW&w92^SUA1_v?9;aU z@+Yjx!ygc=MMY0;*pu$L-z?2e&9=!XWmG-B^R3{TL=7?F`kSxxwnrbY&-+yjQED*a z4VM!_le4!0%<8vbiX+cAhL2J1!KckzP=h>Aujpqg_6Y|b?$gxuIGHaRwrD^=g-0mZLdXNY6XNS0OZ$vA+opOaZ8bH* ziWsLrQNW`hSj*_%;YVR-CCY#q zp_jbKGqXF1cAcSKw!7B5vt)fwhL_9xme`n}HN>6nS$F-Pw#y;NNH zS9a;EvB?`jtMIQZW$J*;!)A9n%2|QT(A7tM`-N+DcUid}whcK@QGIJz z)}lD+riN;ggR3#U9&Nt{PTri|tls+#T!xplkO_efW)iYZCIbL`n1?!NO) zcHDVTZj{MAXd)QyMyTipEhTbr-q`}>xepPA!k^@)Nn)UbSpYHmY|B{io?&DMChx?J+jSaGgXVck3lmub)x zzF#Q0z@ZsLJcpE$pqN|MRl&R!ZbOoLHYj|kPnK*VhO0mC-_@pNFh725SkkCgY_Hd_ zc}L`&!lto+5o5HhQ3kLn{X_M|ve%rPUN4&m0{JSbFnO86JAVYTz;m(1OB zqy45Q%gs{OQ%ORDP9F7ZrHZSc38@ap$a28l^irpUbj5hu)zKn-QO7}TC2^a~i|R(g z_DV@!?-sZEmh@veLL8#HGw8Lfc;Ovsv!J0;3z=jfwX=*pRG>7FKQ~`+`{=b%b865B3U`GMR_hY=jQ5n}#+VgBdjB z?9E_|6xmQ&i}Iz*C?L`}5J^ zVz31FS@G>4-SG7zxrP&vNVYgZ%ukZbbP2vN-?a5jyDDQI2$0D>c6a%i0Ef#ZC=1iDg#l;QM(bzw2?(I|SK zvt5Jyysdn#I+Of|hcn+t7!4KSbPDN+n8DT|d2-cG_qbxs-M;id2VCAzLe4qQY}Pwq zo&ZG?t8|%8@wJ5oH!CI1`$jl#sr;D~J5ZZ!cs5rdm|j& z>E-EVv`Ty783~Ht%{6m%DJd74>g&mOhbR`i5iEf(rSa(oOZp9`iVQ1wDSwdbi(Vci z?>AuXESbJMsgIg#W`#Z7u?SjJ<--O&Jk+(|ka z=Hm6+t0Hv2!C3;9sl-A0$)??y4p&4eUj-NaNx5aPrW z&jWoTaSLGx^~Qb3tnPHjVk7tyjfc!`rovVFg>QW~o$_;~AEb|qet-NY^1$;diyg*# zq3NCOC!T*np8O9=%PSdx5ATz*J~97kWW_Eb;rdqB{2yrOzkiA!q5z@1DWa^#_9yJZ zjuVU=xtLR<`3G*`=vNa!Q+OK&zvcbo$V*^krJCxK)PMhke}e>Zl>iEzfo)xs{^Lk3 zFw!9*YD)4?OzK(3!$)D=CL3zbe?(H#0nE{TiKo^6kAO%Iz+BTSmlFp5GXMdKmNLh{ zNG-`Xm_Iq2guWL95RD^IsPJz$yZP(-y6)mO>2@blUjKcL)9VblvZr=+^(69rUXgFfT%Llq2|% zi%CC{FPmOAI}-%A_Iz+)J^u4}J#}68_>F&@Y(aOQIsUM;A!h&H?QR-Bb97|yF@O8p z94OBAfWPJJJJ`i@2VZ^eNKzMq3YxIv&X{If_X!aX{^#ux{Oc|48W?G$p+Q<)`EfWA|N=$5J}g1-P8N) ze;jE4YBvdOI1k>h3s*sgl3Ut8VpAr)TQZOJ&ic*w*~<`H3Vkgzx(N1L+s|3!Spp*4Crndls>H|c52pG&N+XYvU^v^C*hxiAMMvS!deY$9;g&sOCH;&XE8uMzbVB9FL-WKiX zoS(D6l^|6Gsj)iW`4di7JKBItsKB}5FKwgHj7P@ z@;yY(FOxq_8NIeh=O0_r7Mcz&mILKr#2MfWpdZDOZPL!!iE$eeJsilK=UCox8=J^YAzkTJ-R#dL6TL1X$(Ys&i9 z3p&Q}=TTXlkRJIV_nHrC&3bL}DYP7Y5-OW60_zI0w;ieAGOW{ABM%m*V=BwsJboBG zXgKB@BDl|xf3@kknqiThTCtG_ZJRoHJK+-a@w8Qll%8d7T4|YF=T3FMcCiDvh^G2B zhvM~bxn>VW4#^uC6Hur{Iw7y?SC@8?c_@&mpSC`DpaT6Y455(>uVU?yzo7RhS!y|K6Ng zVuMBL8y`o+wrrkyt7!F+k?)f!LTS(#Y5)#(e3CxT-S9OXTFjUAW(qVrba#Gq8o2D1 zAUY_qx6%$&Xq6d;ex@%5^`=!ncD{Gw$|Dc-N+X1F)D1^&WXHMVt40j8o+C zl1gHS_x-dAkrf-ukZmzcf>12$ukF=-^`MQUC0wEH=>3e8CGoEz^=o8VJkWX4vQ9s^p0(#NK&}7lPc44)@_@EpRi<{HEnv8Ho_TJnu zC~2PIJ7{23!}C~uNPOrQx(|Y9KXqdOxC5jeTkTVE>}Cwl^kg_Lj3SW0{(PivN8pG4 zCQw$-h1mf<5=q1)qkLXuU{JTHlS4)Jm705v8jjTen!+slvx%d=5G^Q|;IiZXqZ`5@ zEl9^q9=H4~T}8e27nb`r*ZJ(UN*nOP`jUJr9SmrA>yR(i&ZaFY^)R=)|AxB}j3nnM}yR=uX~Z&j!%RA)4; zcKNZi*FYs$Fjr8keUVa3EP93EiKXBQo8faWPd@?|4wSDin2la*r<}0^vT@0v1%xcj z#i-|DCM2KgMj)pN=9mJ`; zCcP+IDKTCOZ`j21xqH4PUD`PbcOT5=u$W$SRM{J}UOT(+TsUc=OKNAR>9pCzMr@&q z1WQjb;}GB3gs)r0@RN9{3#y|_Nip91?fm%m5X*L)A23Su#lG=}*!JFR=}A(D=0Ef5 z-R9Dt0c*mgC5y)%fOO7|xEn1HyPnLoa`G#7@2Iy{uVLFE9L2K9;udFU4B$-u)ED!k zLjeC$PkFbP=^Nf#U;k}I6Z@3y^5btGo$_W40IpY@13boNG6{ig+8| zD{y_DA=33=|GlbXFs(fO3WU{l2<7MB)uUScRQBM!bZwqrAyoAd^;~|k58D8U`2UL|4Dm!Vq(I=j|3f` z@ZfyS)ET_FoL`pGe$b33OO3N}b%BfBKDp$t&3(H`w01MD8&KL@YR{r18Cm&laMK&P zex!7Qwqmo2TbJE($EcsjClQL`*N|wu$3TH&i9Ke<{kvzPq|X17nNl@UVY$}FbA8KB50H({;60*OJ;E3GYhZzyN2^M)8K415Wif&K98M&F7ozUw%6}dyr8P&lAq~S zk)D*Z$7Z<8GNfLQBlhrNy4>nL&Tz_rsvb5ecqFXdR1*hLFT z#XZ~-jPX3JEE_?M6Mjua!_S^`cMZ~#wwsdt4-Yl+-i61{GZc*S+xl`b=C{|TJNA%u& zwunykGQ(Lzb8@5vw_Ruda6~vW{1+KjJrRuUOcqJdcXaKo)yF+7q&6?Yvn8#-{-SB$ z0%=pNksS)XBT4xZjMP=2^ zIviX$ETb{(ZGc_N1)DQ%*Ic4zU1dm|A7AOb@X(g($4ECSmK8?I01m@JOzR>K;r+mP3C zGG!m5eR4&d2t782Z86U*T8ix?6mI z8R783$)Wq>-3imw3j47mqHd%giu0d17sgCyYeu43RM#7GU-J77+vLUEhXjt}QI4w9 z*L6*$B^|-3Sa*y7_;Bw^wZW!L=Q3PK;|o@Fx!*+kcL!VHQ&W%!-15u!Qn2h7Mw*0NV^>G~;!+x_bNjSY?QmKj>+?lZW8dIkDo7fX?bR4wR0M zJfnI+HKxNDX-qF}@^9y-)mje`{0PpDJ64$&<&w|X?Lb%6P`{>FEy~mbxai*_6^(kY zNwYp4{;7*wjkqM9T_T1|FjwK}R_!lXyraP>QU-#AZMTg#T%{jig2mFd!vYUh!q9gk zPePn}Jx-WEob9g1DoxmSAn%;nf>IA10DM-(7WJh7Bxh4Ue=LZ~pW1m>I3q+|r9Mdd zvVCCapr!{CgFA$tVG+EM>z-UEhpc#bu$9mHV|+9g{qyY_<=fz({Dpf;F5rIn4xg+q z$@4xx?z=+sP0pCU(cuqElfL@+=T%v`rD9R?l-&qBi^Or~8*J8xL_0*JP5(8Y6XU`iF7h}?uOvZQ@1%lnZuc66ET7nx^U z^tNK^Dr{palF9u_Ly>`w7sQ5Av1wyJC_uqFL%FF87U31){JM2L?LudSbLK*(NfDJ= zSLrvmC$}NqN@YzokuD-CVH=JRPR~(Qc6`CY<(0*AgErc{ z@48Nj)xshGK`EhVL%eDUeOIt3XpE|MVULOZ94dJ9B+OvDFQ>g^F=KKO<>6h7dmN`B zjD3FDE!lr9)$q%yYmcH>!+>qw@R<#4xVzwUnCrZDil10u3`y!Z_j{|M?F6~YR?r1V zb=n)`s5|QBv9?xN}F?fz`Z0q?1bhzv%$d(iB50n zxdv%nKB&k=+_G&Z~7dx*38SP7J1H9&bTBSQ; zwMh1n{5O>bUF>Mc_F%X3D)P?kvVajAMDe0Vk~lGpR-Q3F-lz_jf$zUS!TV^689|3_ zn8ZBBpO)raz@B?)7Zukx;n@D{?Fs(}$Oj5jiDnQAiZm)?=vDznjbUpF>^dMiS1e8;5j-j5IRgNurF(K+z ziKf=)RGX=M**VgwUN<$UTgS1wFthb?#t$;3dyn599vzET@UQndkksNo%OYjR^W#qL zbM%EcDW;D-uuK8>#HQj9Y|@6^ZbGdY5GniJ(y|H9xv$>LB-x{_tbf7bNC7Cq7G@sb2b* zfyM&aTW0@3b_AeZsO4UFC{LO*i+9=JiGzr132K<}`zd~1Wxf&2Z+EZw^=)C>aY?yz z1sq0t-4?;Sm&*JQ4ZQ>U-ikVp12a-Rc=aRD3_QbeJZt6%kaY6H@&2 zsUT`=88aqtTTkN$ik8Gn!QrnB>kQ-d{M-k2<_d$8K!={zbz&ZsCoEF^7jP`_5UB$GU3p*51r z8*{pqIdkn<(9ZVjQk&x3oO*2tRL3BLiJ>(S2mKL$aKAi!@M}LT^+F{7{JymO%!h-G zjKB{rqQ&3NAPYGy_WoSK!fo@j*3s0_P2kH%&AGmAn{q#j?cIS4k-5!P{!gRs==SSo z?Px;qXg5#jWe;Ynbe!x9-y;VyZs#;#(tKwJ>|nh#L|xRJX>0}J{F3|1%lB63hd~RI z#e%s-j{?*&UDhP#2E!XS>&$Xh zDqZ@vo3mhky&E|LeoLKCCGDk)*DOBnmOt+CKNHOInK4QXydAN$2)`4+2aNf4f;t)X z+R_#(kVFM(a{WD8k2|xD{zO@XM=yZNBr9cfohGTfZ`{8LKa7oet|;{pXQGQ2UCJzG zAfxv^OUpIQ@2NGcU0zai{IWZ9j`4m%KrlE>4Qi{BSyh_Gw+oS`@hz-oSj%b@b(mhQ z1U;kSbmfO#U(y?!0UGWONI|4rJ@P~fG*MhvnAs|s*~Hnl#w{MC?($vimAeXmurL5w z#TeMkDiO-?|0_?&R?xXvsQBc7lD1=r`hy)k<8Z#B>8N-30URg3cF| z&P4EP0y#{~!mn*V+2c1U^3^u)SgsdL8sxh#X#Owu-ZCu8w%z*{6p<1y3k3<4MnEN$ zhRdKsVrUR)hLVP12tg20K)OLBgqfiSgaJlC>5!NKhE$|WY7mBa54>Zo^}b7a-feq6 z-rv|Z$1{%eh&}%MZ?9L|dlJ@yS1EI5iW#H#Jepx-1b8oq7#>B16a$x|=786J=xHE<sn#GubtoPk`3t*KfbUIbgC>N43|Q=ejf* zIb+o^_@zE*nJ@0q6g2GH=f!6<^Oi>PSuhb3u|7}8X6;f}nkQu#ns$drN63Hu?)%f4 z#fwSS5A~N0NXvz+>^Jlf)$52NhH5ANt@)wOPFgCyzBg~-5+OLxg64KzZY->IXNqqz zteG^3swBE8moC(;&3n<+eOdF}+5b?dpQ2QI21Dy|uzzoH9>HYg=Evb9`YE2wxDUKj z)h@3_W&mbvGO{RkjtN(?nKrIIt~RiEHV(sGrhjgTQpE8a&a=eQr2VS;w#IQa@oIe~ zf^hgfJ_w*ZyF@z0HA(1Z?Fg78MXrrd!T`lJ&#g@oCs5H2^oOGq=Ym)uY zsRH_Um(Ko=D1iItKKRKG-90wbGoa|#q2W{O^5`(kif2l$JJ^f&*ZOkbNt4!n8>i6! z*ZZB@Njkw#GOiyQJ**h8->cQq`&LaLUUkcD%n5yA6sdj^DeD?rUtz|<|HyBfPNWgC zBuf{tS;-I-kM;q$Nmw2(vb48k4J$S4>F)E{rRmm@?Wg$;_w`mwzr)P_cgeu} zV3k`V#!y)`8QIq^^h@JQdI7?9!GEn#%y@#VX<$^td;;|v4vLr zaBsi%ue}|GSJi#2B4(`mfEa{bq zw(05Tr+VKxepSkC@RZiXy+BC{dR+YqiZ0{*J?YtN<-(uJ=Y$q}mFF=htFiUjFZWTE zV`xLz7U7+i#Mmm>br+u%?_Wj^m<|lOiz3!d$O6P%rAuTEcKSe^Z;HH^dSpJOVdr3{ zE>cv)uJ%~CXZrhkgQXSzx8)$3&S0}RR0eI(NAEO!H};g7=t|>DxCj-kw2zNJz}WkTPB!Im`ayuS%-D`gdCk{#SJ*xTOzT8_M5phl=(|y+B1^h_S6?-9vAcRjrERFd$3pQHn!c@faNDTVHwRaw)p%M; z*t9{C3b6ty+#Na$syK|4xAM!?9tKy(-@Z0LWa0u&8$$~=pFJ}K zA@p`m)zokCx^;zN^CN`In_5}c_v|l!DN`OVV-~VPrfeeuT+6Hm4C{Okgu-;ky&oHV zGnrBia@wsoa4%$r6bInMg{rJwYEH`Q!Dr&OP4^E1lCtEln2lC@wrR`E5yrh|;9GlE zP9asEORHUR@9SuI*Tt=V1^aZ=(Aq_iQ??@?-r%GwAx-NF&EcMf_qTJ7)mxhiRQSw5 zDzhF?bKMvqTt$w(@bvel#FYtDjQz;CImUK94WXVv=4b_fEu>bK;#l1yb?;mb-&oaI z+#~8>8`+_XrQuO{{_O(m(n=03(X(lMk48b2q2?nCt`jb=WWU^QDd5}LWVQg!G0K6e z-yi`P1kYe$=~UFx@qC7&=FgeU9@v(hkXkrQ&Vit0r6d5RSAPI;F6$a)b`q_+XLYP7 zT~yCUy_I!YldoSUnCZ@^+%+qO(c8J<;yk`S-y~kTc~MX=rOT~#Oi0_X(z`4-X{`C% zR6=i58w{$!)F&i%ruV`IOZG0Kloc|~w>K>5B)Q$eeM=J(&?nu(U86cw2$iw}Z;j5b zETlFgyO-QoGrm>lIRQ;6h{e9Ie<}&eXcY9XN z4+=xuHf)8An&rf;6gXghMEPTZHizL28?2S!3I#DV17f)6V@_4s0WAdneut#)82NZ%>LuPJk_%G1svKu5_Lwr5mF`x0>xHZ(y4YcxP0@e zHs-VnWkLd|vtr$yhZYShazRSYsY_mUu$_5z=UMJs8g{ay><}<}4>VS@%;V*Yplj(VR#bowaZCk3heunS0Re<}lOkk)wwJOk=P5Ht+b5hj53HX5%GPX1iHyE5G^w_ z)T9#Hx;oS^4)$J@CMZt;d;Uio>lXsbbzvKoj?fKN89%GH`n^Fym}xv_~kq9 z68a-lYvAix0l}i}$tmYQWdHx6MUg!Ze)%YNkn+E7^P9gE%D}7?4syAB^c%edzvNb0 zJW^hFDqA1u>yqWfel>LfNA~Y!A!i*9eOlpGz%zFUT1xh z{_`_}f0a!JEnRaj$2K0_CiW3f!#sTSg!QN~`p@+I&-6TEj{IkO{%806{l@+ObN3ts zjm4QI4$PP;cNwR4qQ_=lG*FaImBgrV%g9a~J3E-NHA)t%B0%wLa}CU<@OsFp+C=|r zw>|AbmYzoGO~$tUYoi?cJ7C7WqJ>l7HWO8{=g(Nt?p^Jy{m z%Bi-TgZ8P2%}CU+=Pv4C5DiUOB5Wq?ZO@njjg#8&b~7sklq*V<+PukDZ~MoM{zx*;fJPULzm)F1ppI| z8QAn-#R%q^^I9{DzHJK%0AgM_V0+jS4hy02x`4F)5 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%0A2ELfv}G)cV~YUu5cLJbxxp6A-4B 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 DMaXU@ literal 0 HcmV?d00001 diff --git a/packages/azure_network_watcher_vnet/img/azure_network_watcher_logo.svg b/packages/azure_network_watcher_vnet/img/azure_network_watcher_logo.svg new file mode 100644 index 000000000000..df49a0b3dad7 --- /dev/null +++ b/packages/azure_network_watcher_vnet/img/azure_network_watcher_logo.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/azure_network_watcher_vnet/kibana/dashboard/azure_network_watcher_vnet-5ecce30b-1eba-4bd8-b440-cd266263449a.json b/packages/azure_network_watcher_vnet/kibana/dashboard/azure_network_watcher_vnet-5ecce30b-1eba-4bd8-b440-cd266263449a.json new file mode 100644 index 000000000000..5933b7e1bda7 --- /dev/null +++ b/packages/azure_network_watcher_vnet/kibana/dashboard/azure_network_watcher_vnet-5ecce30b-1eba-4bd8-b440-cd266263449a.json @@ -0,0 +1,445 @@ +{ + "attributes": { + "controlGroupInput": { + "chainingSystem": "HIERARCHICAL", + "controlStyle": "oneLine", + "ignoreParentSettingsJSON": "{\"ignoreFilters\":false,\"ignoreQuery\":false,\"ignoreTimerange\":false,\"ignoreValidations\":false}", + "panelsJSON": "{\"7e06861e-7907-4031-bd4d-2a048419945b\":{\"type\":\"optionsListControl\",\"order\":0,\"grow\":true,\"width\":\"small\",\"explicitInput\":{\"id\":\"7e06861e-7907-4031-bd4d-2a048419945b\",\"fieldName\":\"rule.name\",\"title\":\"Rule Name\",\"grow\":true,\"width\":\"medium\",\"enhancements\":{}}},\"52e11adc-fb1f-4d73-8d26-7f8fcf6e21e8\":{\"type\":\"optionsListControl\",\"order\":1,\"grow\":true,\"width\":\"small\",\"explicitInput\":{\"id\":\"52e11adc-fb1f-4d73-8d26-7f8fcf6e21e8\",\"fieldName\":\"azure_network_watcher_vnet.log.records.flows.groups.tuples.flow.encryption\",\"title\":\"Flow encryption\",\"grow\":true,\"width\":\"medium\",\"enhancements\":{}}},\"75013aec-fbbf-4655-bd25-b94e9b0a58a8\":{\"type\":\"optionsListControl\",\"order\":2,\"grow\":true,\"width\":\"small\",\"explicitInput\":{\"id\":\"75013aec-fbbf-4655-bd25-b94e9b0a58a8\",\"fieldName\":\"network.direction\",\"title\":\"Flow direction\",\"grow\":true,\"width\":\"medium\",\"enhancements\":{}}},\"834757ff-34fc-4754-bb0a-766efca29555\":{\"type\":\"optionsListControl\",\"order\":3,\"grow\":true,\"width\":\"small\",\"explicitInput\":{\"id\":\"834757ff-34fc-4754-bb0a-766efca29555\",\"fieldName\":\"azure_network_watcher_vnet.log.records.flows.groups.tuples.flow.state\",\"title\":\"Flow State\",\"grow\":true,\"width\":\"medium\",\"enhancements\":{}}}}" + }, + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "enhancements": {}, + "hidePanelTitles": false, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "\n**Navigation**\n\n[Overview (This Page)](/app/dashboards#/view/azure_network_watcher_vnet-5ecce30b-1eba-4bd8-b440-cd266263449a)\n\n[Integration Page](/app/integrations/detail/azure_network_watcher_vnet-0.1.0/overview)\n\n**Overview**\n\nThis dashboard offers a comprehensive view of network traffic and security, providing valuable insights into temporal traffic trends. It features visualizations illustrating traffic fluctuations over time, along with summaries of total flows. Additionally, it highlights VNet traffic details and essential information about traffic sources and destinations.", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 19, + "i": "f9e9090a-0f87-4d96-9dbe-b656af00fb5f", + "w": 12, + "x": 0, + "y": 0 + }, + "panelIndex": "f9e9090a-0f87-4d96-9dbe-b656af00fb5f", + "title": "Table of Content", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-6ae3b16f-e6d8-4f6c-8099-4f99f3fa63ba", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "e57e4d57-d1d5-4465-ae50-b82ddd963714", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "6ae3b16f-e6d8-4f6c-8099-4f99f3fa63ba": { + "columnOrder": [ + "ea7f3a85-acbe-48e4-a52e-ff2b29699aaf" + ], + "columns": { + "ea7f3a85-acbe-48e4-a52e-ff2b29699aaf": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Total Flows", + "operationType": "count", + "params": { + "emptyAsNull": false, + "format": { + "id": "number", + "params": { + "decimals": 0 + } + } + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "data_stream.dataset", + "index": "e57e4d57-d1d5-4465-ae50-b82ddd963714", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "azure_network_watcher_vnet.log" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "azure_network_watcher_vnet.log" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "color": "#6092C0", + "layerId": "6ae3b16f-e6d8-4f6c-8099-4f99f3fa63ba", + "layerType": "data", + "metricAccessor": "ea7f3a85-acbe-48e4-a52e-ff2b29699aaf" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 19, + "i": "1a02164a-538a-43a3-af47-cbc37eca0f8a", + "w": 7, + "x": 12, + "y": 0 + }, + "panelIndex": "1a02164a-538a-43a3-af47-cbc37eca0f8a", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-7a3acf33-e073-402e-9afb-0a61f028a1f7", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "logs-*", + "layers": { + "7a3acf33-e073-402e-9afb-0a61f028a1f7": { + "columnOrder": [ + "e1996910-c949-4827-8f31-d8c408b88058", + "b76e7ee6-5d31-480b-8d4a-8eb820cc47a3" + ], + "columns": { + "b76e7ee6-5d31-480b-8d4a-8eb820cc47a3": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Count", + "operationType": "count", + "params": { + "emptyAsNull": false, + "format": { + "id": "number", + "params": { + "decimals": 0 + } + } + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "e1996910-c949-4827-8f31-d8c408b88058": { + "customLabel": true, + "dataType": "date", + "isBucketed": true, + "label": "Timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "indexPatternId": "logs-*", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "data_stream.dataset", + "index": "6e33abf8-2a4d-422b-b225-dded799d7c26", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "azure_network_watcher_vnet.log" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "azure_network_watcher_vnet.log" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "b76e7ee6-5d31-480b-8d4a-8eb820cc47a3" + ], + "layerId": "7a3acf33-e073-402e-9afb-0a61f028a1f7", + "layerType": "data", + "position": "top", + "seriesType": "line", + "showGridlines": false, + "xAccessor": "e1996910-c949-4827-8f31-d8c408b88058" + } + ], + "legend": { + "isVisible": false, + "position": "right", + "shouldTruncate": false, + "showSingleSeries": false + }, + "preferredSeriesType": "line", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide", + "valuesInLegend": true + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 19, + "i": "2ea12f65-4d99-438a-b6d6-cf1afd86a2e5", + "w": 29, + "x": 19, + "y": 0 + }, + "panelIndex": "2ea12f65-4d99-438a-b6d6-cf1afd86a2e5", + "title": "Traffic over Time [Logs Azure Network Watcher VNet]", + "type": "lens" + }, + { + "embeddableConfig": { + "enhancements": {} + }, + "gridData": { + "h": 19, + "i": "2f36f82b-4709-4e91-bd2f-9904949af74d", + "w": 48, + "x": 0, + "y": 19 + }, + "panelIndex": "2f36f82b-4709-4e91-bd2f-9904949af74d", + "panelRefName": "panel_2f36f82b-4709-4e91-bd2f-9904949af74d", + "type": "search" + }, + { + "embeddableConfig": { + "enhancements": {} + }, + "gridData": { + "h": 21, + "i": "031a57f3-e280-4c37-9d83-a82edf8f9189", + "w": 48, + "x": 0, + "y": 38 + }, + "panelIndex": "031a57f3-e280-4c37-9d83-a82edf8f9189", + "panelRefName": "panel_031a57f3-e280-4c37-9d83-a82edf8f9189", + "type": "search" + }, + { + "embeddableConfig": { + "enhancements": {} + }, + "gridData": { + "h": 18, + "i": "942e980b-bcc5-4e1f-b545-315ed841d665", + "w": 48, + "x": 0, + "y": 59 + }, + "panelIndex": "942e980b-bcc5-4e1f-b545-315ed841d665", + "panelRefName": "panel_942e980b-bcc5-4e1f-b545-315ed841d665", + "type": "search" + } + ], + "timeRestore": false, + "title": "[Logs Azure Network Watcher VNet] Overview", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-04-22T13:01:18.444Z", + "id": "azure_network_watcher_vnet-5ecce30b-1eba-4bd8-b440-cd266263449a", + "managed": false, + "references": [ + { + "id": "logs-*", + "name": "1a02164a-538a-43a3-af47-cbc37eca0f8a:indexpattern-datasource-layer-6ae3b16f-e6d8-4f6c-8099-4f99f3fa63ba", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "1a02164a-538a-43a3-af47-cbc37eca0f8a:e57e4d57-d1d5-4465-ae50-b82ddd963714", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "2ea12f65-4d99-438a-b6d6-cf1afd86a2e5:indexpattern-datasource-layer-7a3acf33-e073-402e-9afb-0a61f028a1f7", + "type": "index-pattern" + }, + { + "id": "azure_network_watcher_vnet-51e7dbb1-2c87-429a-8ffa-f1c78ceb2eab", + "name": "2f36f82b-4709-4e91-bd2f-9904949af74d:panel_2f36f82b-4709-4e91-bd2f-9904949af74d", + "type": "search" + }, + { + "id": "azure_network_watcher_vnet-b52c9df2-cb7f-4ebe-af8b-569c213423cf", + "name": "031a57f3-e280-4c37-9d83-a82edf8f9189:panel_031a57f3-e280-4c37-9d83-a82edf8f9189", + "type": "search" + }, + { + "id": "azure_network_watcher_vnet-0e5d4cba-9f41-4c45-b858-54d3e83df6e5", + "name": "942e980b-bcc5-4e1f-b545-315ed841d665:panel_942e980b-bcc5-4e1f-b545-315ed841d665", + "type": "search" + }, + { + "id": "logs-*", + "name": "controlGroup_7e06861e-7907-4031-bd4d-2a048419945b:optionsListDataView", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "controlGroup_52e11adc-fb1f-4d73-8d26-7f8fcf6e21e8:optionsListDataView", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "controlGroup_75013aec-fbbf-4655-bd25-b94e9b0a58a8:optionsListDataView", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "controlGroup_834757ff-34fc-4754-bb0a-766efca29555:optionsListDataView", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0" +} \ No newline at end of file diff --git a/packages/azure_network_watcher_vnet/kibana/search/azure_network_watcher_vnet-0e5d4cba-9f41-4c45-b858-54d3e83df6e5.json b/packages/azure_network_watcher_vnet/kibana/search/azure_network_watcher_vnet-0e5d4cba-9f41-4c45-b858-54d3e83df6e5.json new file mode 100644 index 000000000000..3c799aa90c64 --- /dev/null +++ b/packages/azure_network_watcher_vnet/kibana/search/azure_network_watcher_vnet-0e5d4cba-9f41-4c45-b858-54d3e83df6e5.json @@ -0,0 +1,93 @@ +{ + "attributes": { + "columns": [ + "azure_network_watcher_vnet.log.records.flows.groups.rule", + "azure_network_watcher_vnet.log.records.flows.groups.tuples.flow.direction", + "azure_network_watcher_vnet.log.records.flows.groups.tuples.flow.encryption", + "azure_network_watcher_vnet.log.records.flows.groups.tuples.flow.state", + "azure_network_watcher_vnet.log.records.flows.groups.tuples.protocol" + ], + "description": "", + "grid": { + "columns": { + "azure_network_watcher_vnet.log.records.flows.groups.rule": { + "width": 414 + }, + "azure_network_watcher_vnet.log.records.flows.groups.tuples.flow.direction": { + "width": 528 + }, + "azure_network_watcher_vnet.log.records.flows.groups.tuples.flow.encryption": { + "width": 530 + }, + "azure_network_watcher_vnet.log.records.flows.groups.tuples.flow.state": { + "width": 499 + }, + "azure_network_watcher_vnet.log.records.flows.groups.tuples.protocol": { + "width": 486 + } + } + }, + "hideChart": false, + "isTextBasedQuery": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "data_stream.dataset", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "azure_network_watcher_vnet.log" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "azure_network_watcher_vnet.log" + } + } + } + ], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "query": { + "language": "kuery", + "query": "" + } + } + }, + "sort": [ + [ + "@timestamp", + "desc" + ] + ], + "timeRestore": false, + "title": "VNet Traffic Details [Logs Azure Network Watcher VNet]", + "usesAdHocDataView": false + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-04-22T09:54:20.725Z", + "id": "azure_network_watcher_vnet-0e5d4cba-9f41-4c45-b858-54d3e83df6e5", + "managed": true, + "references": [ + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + } + ], + "type": "search", + "typeMigrationVersion": "8.0.0" +} \ No newline at end of file diff --git a/packages/azure_network_watcher_vnet/kibana/search/azure_network_watcher_vnet-51e7dbb1-2c87-429a-8ffa-f1c78ceb2eab.json b/packages/azure_network_watcher_vnet/kibana/search/azure_network_watcher_vnet-51e7dbb1-2c87-429a-8ffa-f1c78ceb2eab.json new file mode 100644 index 000000000000..7c6ef07e5c3e --- /dev/null +++ b/packages/azure_network_watcher_vnet/kibana/search/azure_network_watcher_vnet-51e7dbb1-2c87-429a-8ffa-f1c78ceb2eab.json @@ -0,0 +1,93 @@ +{ + "attributes": { + "columns": [ + "azure_network_watcher_vnet.log.records.flows.groups.tuples.source.ip", + "azure_network_watcher_vnet.log.records.flows.groups.tuples.source.port", + "azure_network_watcher_vnet.log.records.flows.groups.tuples.bytes.sent", + "azure_network_watcher_vnet.log.records.flows.groups.tuples.packets.sent", + "source.mac" + ], + "description": "", + "grid": { + "columns": { + "azure_network_watcher_vnet.log.records.flows.groups.tuples.bytes.sent": { + "width": 524 + }, + "azure_network_watcher_vnet.log.records.flows.groups.tuples.packets.sent": { + "width": 510 + }, + "azure_network_watcher_vnet.log.records.flows.groups.tuples.source.ip": { + "width": 488 + }, + "azure_network_watcher_vnet.log.records.flows.groups.tuples.source.port": { + "width": 494 + }, + "source.mac": { + "width": 156 + } + } + }, + "hideChart": false, + "isTextBasedQuery": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "data_stream.dataset", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "azure_network_watcher_vnet.log" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "azure_network_watcher_vnet.log" + } + } + } + ], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "query": { + "language": "kuery", + "query": "" + } + } + }, + "sort": [ + [ + "@timestamp", + "desc" + ] + ], + "timeRestore": false, + "title": "Source Essential Details [Logs Azure Network Watcher VNet]", + "usesAdHocDataView": false + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-04-22T09:54:20.725Z", + "id": "azure_network_watcher_vnet-51e7dbb1-2c87-429a-8ffa-f1c78ceb2eab", + "managed": true, + "references": [ + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + } + ], + "type": "search", + "typeMigrationVersion": "8.0.0" +} \ No newline at end of file diff --git a/packages/azure_network_watcher_vnet/kibana/search/azure_network_watcher_vnet-b52c9df2-cb7f-4ebe-af8b-569c213423cf.json b/packages/azure_network_watcher_vnet/kibana/search/azure_network_watcher_vnet-b52c9df2-cb7f-4ebe-af8b-569c213423cf.json new file mode 100644 index 000000000000..0c8dfc687980 --- /dev/null +++ b/packages/azure_network_watcher_vnet/kibana/search/azure_network_watcher_vnet-b52c9df2-cb7f-4ebe-af8b-569c213423cf.json @@ -0,0 +1,89 @@ +{ + "attributes": { + "columns": [ + "azure_network_watcher_vnet.log.records.flows.groups.tuples.destination.ip", + "azure_network_watcher_vnet.log.records.flows.groups.tuples.destination.port", + "azure_network_watcher_vnet.log.records.flows.groups.tuples.bytes.received", + "azure_network_watcher_vnet.log.records.flows.groups.tuples.packets.received" + ], + "description": "", + "grid": { + "columns": { + "azure_network_watcher_vnet.log.records.flows.groups.tuples.bytes.received": { + "width": 529 + }, + "azure_network_watcher_vnet.log.records.flows.groups.tuples.destination.ip": { + "width": 509 + }, + "azure_network_watcher_vnet.log.records.flows.groups.tuples.destination.port": { + "width": 577 + }, + "azure_network_watcher_vnet.log.records.flows.groups.tuples.packets.received": { + "width": 527 + } + } + }, + "hideChart": false, + "isTextBasedQuery": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "data_stream.dataset", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "azure_network_watcher_vnet.log" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "azure_network_watcher_vnet.log" + } + } + } + ], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "query": { + "language": "kuery", + "query": "" + } + } + }, + "sort": [ + [ + "@timestamp", + "desc" + ] + ], + "timeRestore": false, + "title": "Destination Essential Details [Logs Azure Network Watcher VNet]", + "usesAdHocDataView": false + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-04-22T09:54:20.725Z", + "id": "azure_network_watcher_vnet-b52c9df2-cb7f-4ebe-af8b-569c213423cf", + "managed": true, + "references": [ + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + } + ], + "type": "search", + "typeMigrationVersion": "8.0.0" +} \ No newline at end of file diff --git a/packages/azure_network_watcher_vnet/manifest.yml b/packages/azure_network_watcher_vnet/manifest.yml new file mode 100644 index 000000000000..418dc9fadf5e --- /dev/null +++ b/packages/azure_network_watcher_vnet/manifest.yml @@ -0,0 +1,35 @@ +format_version: 3.1.2 +name: azure_network_watcher_vnet +title: Azure Network Watcher VNet +version: 0.1.0 +description: Collect logs from Azure Network Watcher VNet with Elastic Agent. +type: integration +categories: + - azure + - security +conditions: + kibana: + version: ^8.12.0 + elastic: + subscription: basic +screenshots: + - src: /img/azure-network-watcher-vnet-overview.png + title: Overview Dashboard + size: 600x600 + type: image/png +icons: + - src: /img/azure_network_watcher_logo.svg + title: Azure Network Watcher logo + size: 32x32 + type: image/svg+xml +policy_templates: + - name: azure_network_watcher_vnet + title: Azure Network Watcher VNet logs + description: Collect Azure Network Watcher VNet logs. + inputs: + - type: azure-blob-storage + title: Collect Azure Network Watcher VNet logs via Azure Blob Storage Input + description: Collecting Azure Network Watcher VNet logs via Azure Blob Storage Input. +owner: + github: elastic/security-external-integrations + type: elastic diff --git a/packages/azure_network_watcher_vnet/validation.yml b/packages/azure_network_watcher_vnet/validation.yml new file mode 100644 index 000000000000..9dcaa3b03ff0 --- /dev/null +++ b/packages/azure_network_watcher_vnet/validation.yml @@ -0,0 +1,5 @@ +errors: + exclude_checks: + - SVR00002 # Mandatory filters in dashboards. + - SVR00004 # References in dashboards. + - SVR00005 # Kibana version for saved tags. From 36c563a6c07b5851665091e66f2fb193fd62b174 Mon Sep 17 00:00:00 2001 From: janvi-elastic Date: Tue, 23 Apr 2024 18:48:08 +0530 Subject: [PATCH 2/5] Update changelog --- .github/CODEOWNERS | 1 + packages/azure_network_watcher_vnet/changelog.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 90c974ce35a0..c5f71bfcd25e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -95,6 +95,7 @@ /packages/azure_metrics/data_stream/database_account @elastic/obs-ds-hosted-services /packages/azure_metrics/data_stream/monitor @elastic/obs-ds-hosted-services /packages/azure_metrics/data_stream/storage_account @elastic/obs-ds-hosted-services +/packages/azure_network_watcher_vnet @elastic/security-service-integrations /packages/barracuda @elastic/security-service-integrations /packages/barracuda_cloudgen_firewall @elastic/security-service-integrations /packages/beaconing @elastic/ml-ui @elastic/sec-applied-ml diff --git a/packages/azure_network_watcher_vnet/changelog.yml b/packages/azure_network_watcher_vnet/changelog.yml index 35fb1d2c2909..409cd9757954 100644 --- a/packages/azure_network_watcher_vnet/changelog.yml +++ b/packages/azure_network_watcher_vnet/changelog.yml @@ -3,4 +3,4 @@ changes: - description: Initial release. type: enhancement - link: https://github.com/elastic/integrations/pull/1 + link: https://github.com/elastic/integrations/pull/9680 From 5853dd7513bdb20307086ebc78f958186e9675fb Mon Sep 17 00:00:00 2001 From: janvi-elastic Date: Tue, 23 Apr 2024 18:53:59 +0530 Subject: [PATCH 3/5] Update github owner --- packages/azure_network_watcher_vnet/manifest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/azure_network_watcher_vnet/manifest.yml b/packages/azure_network_watcher_vnet/manifest.yml index 418dc9fadf5e..d48d99ff2d8b 100644 --- a/packages/azure_network_watcher_vnet/manifest.yml +++ b/packages/azure_network_watcher_vnet/manifest.yml @@ -31,5 +31,5 @@ policy_templates: title: Collect Azure Network Watcher VNet logs via Azure Blob Storage Input description: Collecting Azure Network Watcher VNet logs via Azure Blob Storage Input. owner: - github: elastic/security-external-integrations + github: elastic/security-service-integrations type: elastic From 64ed7ab1cfb69bd5e3041d3d71a66865a786376b Mon Sep 17 00:00:00 2001 From: janvi-elastic Date: Wed, 1 May 2024 19:18:28 +0530 Subject: [PATCH 4/5] resolve review comments --- .../_dev/build/docs/README.md | 4 +- .../test/pipeline/test-vnet.log-expected.json | 2 +- .../elasticsearch/ingest_pipeline/default.yml | 499 +++++++----------- .../data_stream/log/manifest.yml | 2 +- .../data_stream/log/sample_event.json | 10 +- .../azure_network_watcher_vnet/docs/README.md | 14 +- 6 files changed, 209 insertions(+), 322 deletions(-) diff --git a/packages/azure_network_watcher_vnet/_dev/build/docs/README.md b/packages/azure_network_watcher_vnet/_dev/build/docs/README.md index c89dd0e30291..f52d1f918a12 100644 --- a/packages/azure_network_watcher_vnet/_dev/build/docs/README.md +++ b/packages/azure_network_watcher_vnet/_dev/build/docs/README.md @@ -1,6 +1,6 @@ # Azure Network Watcher VNet -[VNet](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview) flow logs in Azure Network Watcher track IP traffic in virtual networks, sending data to Azure Storage for analysis. This information can be exported to various tools like SIEM solutions or IDS. Unlike NSG flow logs, VNet flow logs offer enhanced monitoring capabilities. They are crucial for understanding network activity, identifying connections, and monitoring open ports. Flow logs serve as the primary source for optimizing resources, ensuring compliance, and detecting intrusions in cloud environments, catering to both startups and enterprises. +[VNet](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview) flow logs in Azure Network Watcher track IP traffic in virtual networks, sending data to Azure Storage for analysis. Unlike NSG flow logs, VNet flow logs offer enhanced monitoring capabilities. They are crucial for understanding network activity, identifying connections, and monitoring open ports. Flow logs serve as the primary source for optimizing resources, ensuring compliance, and detecting intrusions in cloud environments, catering to both startups and enterprises. ## Data streams @@ -42,6 +42,8 @@ The minimum **Kibana version** required is **8.12.0**. 4. Under key1, find the Key value. Click On the Copy button to copy the **account key**. Same way you can copy the **storage account name** shown above keys. 5. Go to **Containers** under **Data storage** in your storage account to copy the **container name**. +**Note**: Enable virtual network flow logs using the steps provided in [reference](https://learn.microsoft.com/en-us/azure/network-watcher/vnet-flow-logs-portal). + ### Enabling the integration in Elastic: 1. In Kibana go to Management > Integrations. diff --git a/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log-expected.json b/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log-expected.json index bb1218680283..2116ef44ba23 100644 --- a/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log-expected.json +++ b/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log-expected.json @@ -97,7 +97,7 @@ ] }, "ecs": { - "version": "8.12.0" + "version": "8.11.0" }, "event": { "category": [ diff --git a/packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/default.yml b/packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/default.yml index 78ef0b6505c6..63632bfe44ce 100644 --- a/packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/default.yml +++ b/packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/default.yml @@ -4,7 +4,7 @@ processors: - set: field: ecs.version tag: set_ecs_version - value: 8.12.0 + value: 8.11.0 - set: field: event.kind tag: set_event_kind @@ -109,12 +109,12 @@ processors: if: ctx.json?.macAddress !='' && ctx.json.macAddress != null target_field: azure_network_watcher_vnet.log.mac_address - gsub: - field: azure_network_watcher_vnet.log.mac_address - if: ctx.azure_network_watcher_vnet?.log?.mac_address != '' && ctx.azure_network_watcher_vnet.log.mac_address!= null - tag: gsub_mac_address - pattern: '(..)(?!$)' - replacement: '$1-' - ignore_missing: true + field: azure_network_watcher_vnet.log.mac_address + if: ctx.azure_network_watcher_vnet?.log?.mac_address != '' && ctx.azure_network_watcher_vnet.log.mac_address!= null + tag: gsub_mac_address + pattern: '(..)(?!$)' + replacement: '$1-' + ignore_missing: true - set: field: source.mac tag: set_source_mac @@ -127,6 +127,7 @@ processors: processor: foreach: field: _ingest._value.flowGroups + ignore_failure: true processor: append: field: rule.name @@ -139,76 +140,68 @@ processors: description: Script to extract flow tupple values. if: ctx.json?.flowRecords?.flows instanceof List source: | - def convertToArray(def list) { - List arrayList = new ArrayList(new HashSet(list)); - return arrayList; - } - List flowsList = ctx.json.flowRecords.flows; - List destinationBytes = new ArrayList(); - List sourceBytes = new ArrayList(); - List destinationPackets = new ArrayList(); - List sourcePackets = new ArrayList(); - List srcPort = new ArrayList(); - List destinationPort = new ArrayList(); - List destinationIp = new ArrayList(); - List srcIp = new ArrayList(); - - for (Object flowsObj: flowsList) { - Map flows = (Map) flowsObj; - List flowGroupsList = flows.containsKey('flowGroups') ? (List) flows.get('flowGroups') : Collections.emptyList(); - for (Object flowGroupsObj: flowGroupsList) { - Map flowGroups = (Map) flowGroupsObj; - List flowTuplesList = flowGroups.containsKey('flowTuples') ? (List) flowGroups.get('flowTuples') : Collections.emptyList(); - List newFlowTuplesList = new ArrayList(); - - for (Object flowTupleObj: flowTuplesList) { - if (flowTupleObj instanceof String) { - String flowTupleStr = (String) flowTupleObj; - String[] flowTupleParts = flowTupleStr.splitOnToken(','); + def removeDuplicateValues(def list) { + List arrayList = new ArrayList(new HashSet(list)); + return arrayList; + } + List flowsList = ctx.json.flowRecords.flows; + List destinationBytes = new ArrayList(); + List sourceBytes = new ArrayList(); + List destinationPackets = new ArrayList(); + List sourcePackets = new ArrayList(); + List srcPort = new ArrayList(); + List destinationPort = new ArrayList(); + List destinationIp = new ArrayList(); + List srcIp = new ArrayList(); + List netDirection = new ArrayList(); + List netIana = new ArrayList(); + for (Map flows: flowsList) { + List flowGroupsList = flows.containsKey('flowGroups') ? (List) flows.get('flowGroups') : Collections.emptyList(); + for (Map flowGroups: flowGroupsList) { + List flowTuplesList = flowGroups.containsKey('flowTuples') ? (List) flowGroups.get('flowTuples') : Collections.emptyList(); + List newFlowTuplesList = new ArrayList(); + for (String flowTuple: flowTuplesList) { + String[] flowTupleParts = flowTuple.splitOnToken(','); if (flowTupleParts.length == 13) { Map flowTupleMap = new HashMap(); - - if (flowTupleParts.length > 0 && !flowTupleParts[0].isEmpty()) { + flowTupleMap.put('flow', new HashMap()); + flowTupleMap.put('source', new HashMap()); + flowTupleMap.put('destination', new HashMap()); + flowTupleMap.put('bytes', new HashMap()); + flowTupleMap.put('packets', new HashMap()); + if (!flowTupleParts[0].isEmpty()) { flowTupleMap.put('timestamp', flowTupleParts[0]); } - - if (flowTupleParts.length > 1 && !flowTupleParts[1].isEmpty()) { + if (!flowTupleParts[1].isEmpty()) { srcIp.add(flowTupleParts[1]); - flowTupleMap.put('sourceIp', flowTupleParts[1]); + flowTupleMap.source.put('ip', flowTupleParts[1]); } - - if (flowTupleParts.length > 2 && !flowTupleParts[2].isEmpty()) { + if (!flowTupleParts[2].isEmpty()) { destinationIp.add(flowTupleParts[2]); - flowTupleMap.put('destIp', flowTupleParts[2]); + flowTupleMap.destination.put('ip', flowTupleParts[2]); } - - if (flowTupleParts.length > 3 && !flowTupleParts[3].isEmpty()) { + if (!flowTupleParts[3].isEmpty()) { srcPort.add(flowTupleParts[3]); - flowTupleMap.put('sourcePort', flowTupleParts[3]); + flowTupleMap.source.put('port', flowTupleParts[3]); } - - if (flowTupleParts.length > 4 && !flowTupleParts[4].isEmpty()) { + if (!flowTupleParts[4].isEmpty()) { destinationPort.add(flowTupleParts[4]); - flowTupleMap.put('destPort', flowTupleParts[4]); + flowTupleMap.destination.put('port', flowTupleParts[4]); } - - - if (flowTupleParts.length > 5 && !flowTupleParts[5].isEmpty()) { + if (!flowTupleParts[5].isEmpty()) { + netIana.add(flowTupleParts[5]); flowTupleMap.put('protocol', flowTupleParts[5]); } - String flowDirection = flowTupleParts[6]; if (flowDirection.contains('I')) { flowDirection = 'Inbound'; } else if (flowDirection.contains('O')) { flowDirection = 'Outbound'; } - - - if (flowTupleParts.length > 6 && !flowTupleParts[6].isEmpty()) { - flowTupleMap.put('flowDirection',flowDirection ); + if (!flowTupleParts[6].isEmpty()) { + netDirection.add(flowDirection); + flowTupleMap.flow.put('direction', flowDirection); } - String flowState = flowTupleParts[7]; if (flowState.contains('B')) { flowState = 'Begin'; @@ -216,378 +209,307 @@ processors: flowState = 'Continuing'; } else if (flowState.contains('E')) { flowState = 'End'; - }else if(flowState.contains('D')){ + } else if (flowState.contains('D')) { flowState = 'Deny'; } - - if (flowTupleParts.length > 7 && !flowTupleParts[7].isEmpty()) { - flowTupleMap.put('flowState', flowState); + if (!flowTupleParts[7].isEmpty()) { + flowTupleMap.flow.put('state', flowState); } - - if(flowTupleParts.length > 8 && !flowTupleParts[8].isEmpty()) { - flowTupleMap.put('flowEncryption', flowTupleParts[8]); + if (!flowTupleParts[8].isEmpty()) { + flowTupleMap.flow.put('encryption', flowTupleParts[8]); } - if(flowTupleParts.length > 9 && !flowTupleParts[9].isEmpty()) { + if (!flowTupleParts[9].isEmpty()) { sourcePackets.add(flowTupleParts[9]); - flowTupleMap.put('packetsSent', flowTupleParts[9]); + flowTupleMap.packets.put('sent', flowTupleParts[9]); } - if(flowTupleParts.length > 10 && !flowTupleParts[10].isEmpty()) { + if (!flowTupleParts[10].isEmpty()) { sourceBytes.add(flowTupleParts[10]); - flowTupleMap.put('bytesSent', flowTupleParts[10]); + flowTupleMap.bytes.put('sent', flowTupleParts[10]); } - if(flowTupleParts.length > 11 && !flowTupleParts[11].isEmpty()) { + if (!flowTupleParts[11].isEmpty()) { destinationPackets.add(flowTupleParts[11]); - flowTupleMap.put('packetsReceived', flowTupleParts[11]); + flowTupleMap.packets.put('received', flowTupleParts[11]); } - if(flowTupleParts.length > 12 && !flowTupleParts[12].isEmpty()) { + if (!flowTupleParts[12].isEmpty()) { destinationBytes.add(flowTupleParts[12]); - flowTupleMap.put('bytesReceived', flowTupleParts[12]); + flowTupleMap.bytes.put('received', flowTupleParts[12]); } newFlowTuplesList.add(flowTupleMap); } } + flowGroups.put('tuples', newFlowTuplesList); + flowGroups.remove('flowTuples'); } - flowGroups.put('flowTuples', newFlowTuplesList); } - } - ctx.json.flowRecords.flows = flowsList; - if (ctx.destination == null ) { - Map map = new HashMap(); - ctx.put('destination', map); - } - if (ctx.source == null ) { - Map map = new HashMap(); - ctx.put('source', map); - } - if (ctx.destination?.packets == null ) { - ctx.destination.put('packets', convertToArray(destinationPackets)); - } - if (ctx.destination?.bytes == null ) { - ctx.destination.put('bytes', convertToArray(destinationBytes)); - } - if (ctx.source?.packets == null ) { - ctx.source.put('packets', convertToArray(sourcePackets)); - } - if (ctx.source?.bytes == null ) { - ctx.source.put('bytes', convertToArray(sourceBytes)); - } - if (ctx.source?.port == null ) { - ctx.source.put('port', convertToArray(srcPort)); - } - if (ctx.destination?.port == null ) { - ctx.destination.put('port', convertToArray(destinationPort)); - } - if (ctx.source?.ip == null ) { - ctx.source.put('ip', convertToArray(srcIp)); - } - if (ctx.destination?.ip == null ) { - ctx.destination.put('ip', convertToArray(destinationIp)); - } + ctx.json.flowRecords.flows = flowsList; + if (ctx.destination == null) { + Map map = new HashMap(); + ctx.put('destination', map); + } + if (ctx.source == null) { + Map map = new HashMap(); + ctx.put('source', map); + } + if (ctx.network == null) { + Map map = new HashMap(); + ctx.put('network', map); + } + if (ctx.destination?.packets == null) { + ctx.destination.put('packets', removeDuplicateValues(destinationPackets)); + } + if (ctx.destination?.bytes == null) { + ctx.destination.put('bytes', removeDuplicateValues(destinationBytes)); + } + if (ctx.source?.packets == null) { + ctx.source.put('packets', removeDuplicateValues(sourcePackets)); + } + if (ctx.source?.bytes == null) { + ctx.source.put('bytes', removeDuplicateValues(sourceBytes)); + } + if (ctx.source?.port == null) { + ctx.source.put('port', removeDuplicateValues(srcPort)); + } + if (ctx.destination?.port == null) { + ctx.destination.put('port', removeDuplicateValues(destinationPort)); + } + if (ctx.source?.ip == null) { + ctx.source.put('ip', removeDuplicateValues(srcIp)); + } + if (ctx.destination?.ip == null) { + ctx.destination.put('ip', removeDuplicateValues(destinationIp)); + } + if (ctx.network?.direction == null) { + ctx.network.put('direction', removeDuplicateValues(netDirection)); + } + if (ctx.network?.iana_number == null) { + ctx.network.put('iana_number', removeDuplicateValues(netIana)); + } on_failure: - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: json.flowRecords.flows - tag: foreach_flowRecords_flow_to_append_protocol_to_network_iana_number - if: ctx.json?.flowRecords?.flows instanceof List - processor: - foreach: - tag: foreach_flowGroups_to_append_protocol_to_network_iana_number - field: _ingest._value.flowGroups - processor: - foreach: - field: _ingest._value.flowTuples - processor: - append: - field: network.iana_number - tag: append_protocol_to_network_iana_number - value: '{{_ingest._value.protocol}}' - allow_duplicates: false - foreach: field: json.flowRecords.flows if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_convert_destPort_to_long + tag: foreach_flowRecords_flow_to_convert_destination_port_to_long processor: foreach: field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_convert_destPort_to_long + tag: foreach_flowGroups_to_convert_destination_port_to_long + ignore_failure: true processor: foreach: - field: _ingest._value.flowTuples - tag: foreach_flowTuples_to_convert_destPort_to_long + field: _ingest._value.tuples + tag: foreach_tuples_to_convert_destination_port_to_long + ignore_failure: true processor: convert: - field: _ingest._value.destPort - tag: convert_destPort_to_long - target_field: _ingest._value.destination.port + field: _ingest._value.destination.port + tag: convert_destination_port_to_long type: long ignore_missing: true on_failure: - remove: - field: _ingest._value.destPort + field: _ingest._value.destination.port - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - foreach: field: json.flowRecords.flows if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_convert_sourcePort_to_long + tag: foreach_flowRecords_flow_to_convert_source_port_to_long processor: foreach: field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_convert_sourcePort_to_long + tag: foreach_flowGroups_to_convert_source_port_to_long + ignore_failure: true processor: foreach: - field: _ingest._value.flowTuples - tag: foreach_flowTuples_to_convert_sourcePort_to_long + field: _ingest._value.tuples + tag: foreach_tuples_to_convert_source_port_to_long + ignore_failure: true processor: convert: - field: _ingest._value.sourcePort - tag: convert_sourcePort_to_long - target_field: _ingest._value.source.port + field: _ingest._value.source.port + tag: convert_source_port_to_long type: long ignore_missing: true on_failure: - remove: - field: _ingest._value.sourcePort + field: _ingest._value.source.port - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - foreach: field: json.flowRecords.flows if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_convert_destIp_to_ip + tag: foreach_flowRecords_flow_to_convert_destination_ip_to_ip processor: foreach: field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_convert_destIp_to_ip + tag: foreach_flowGroups_to_convert_destination_ip_to_ip + ignore_failure: true processor: foreach: - field: _ingest._value.flowTuples - tag: foreach_flowTuples_to_convert_destIp_to_ip + field: _ingest._value.tuples + tag: foreach_tuples_to_convert_destination_ip_to_ip + ignore_failure: true processor: convert: - field: _ingest._value.destIp - tag: convert_destIp_to_ip - target_field: _ingest._value.destination.ip + field: _ingest._value.destination.ip + tag: convert_destination_ip_to_ip type: ip ignore_missing: true on_failure: - remove: - field: _ingest._value.destIp + field: _ingest._value.destination.ip - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - foreach: field: json.flowRecords.flows if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_convert_sourceIp_to_ip + tag: foreach_flowRecords_flow_to_convert_source_ip_to_ip processor: foreach: field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_convert_sourceIp_to_ip + tag: foreach_flowGroups_to_convert_source_ip_to_ip + ignore_failure: true processor: foreach: - field: _ingest._value.flowTuples - tag: foreach_flowTuples_to_convert_sourceIp_to_ip + field: _ingest._value.tuples + tag: foreach_tuples_to_convert_source_ip_to_ip + ignore_failure: true processor: convert: - field: _ingest._value.sourceIp - tag: convert_sourceIp_to_ip - target_field: _ingest._value.source.ip + field: _ingest._value.source.ip + tag: convert_source_ip_to_ip type: ip ignore_missing: true on_failure: - remove: - field: _ingest._value.sourceIp + field: _ingest._value.source.ip - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - foreach: field: json.flowRecords.flows if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_convert_packetsReceived_to_long + tag: foreach_flowRecords_flow_to_convert_packets_received_to_long processor: foreach: field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_convert_packetsReceived_to_long + tag: foreach_flowGroups_to_convert_packets_received_to_long + ignore_failure: true processor: foreach: - field: _ingest._value.flowTuples - tag: foreach_flowTuples_to_convert_packetsReceived_to_long + field: _ingest._value.tuples + tag: foreach_tuples_to_convert_packets_received_to_long + ignore_failure: true processor: convert: - field: _ingest._value.packetsReceived - tag: convert_packetsReceived_to_long - target_field: _ingest._value.packets.received + field: _ingest._value.packets.received + tag: convert_packets_received_to_long type: long ignore_missing: true on_failure: - remove: - field: _ingest._value.packetsReceived + field: _ingest._value.packets.received - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - foreach: field: json.flowRecords.flows if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_convert_packetsSent_to_long + tag: foreach_flowRecords_flow_to_convert_packets_sent_to_long processor: foreach: field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_convert_packetsSent_to_long + tag: foreach_flowGroups_to_convert_packets_sent_to_long + ignore_failure: true processor: foreach: - field: _ingest._value.flowTuples - tag: foreach_flowTuples_to_convert_packetsSent_to_long + field: _ingest._value.tuples + tag: foreach_tuples_to_convert_packets_sent_to_long + ignore_failure: true processor: convert: - field: _ingest._value.packetsSent - tag: convert_packetsSent_to_long - target_field: _ingest._value.packets.sent + field: _ingest._value.packets.sent + tag: convert_packets_sent_to_long type: long ignore_missing: true on_failure: - remove: - field: _ingest._value.packetsSent + field: _ingest._value.packets.sent - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - foreach: field: json.flowRecords.flows if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_convert_bytesReceived_to_long + tag: foreach_flowRecords_flow_to_convert_bytes_received_to_long processor: foreach: field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_convert_bytesReceived_to_long + tag: foreach_flowGroups_to_convert_bytes_received_to_long + ignore_failure: true processor: foreach: - field: _ingest._value.flowTuples - tag: foreach_flowTuples_to_convert_bytesReceived_to_long + field: _ingest._value.tuples + tag: foreach_tuples_to_convert_bytes_received_to_long + ignore_failure: true processor: convert: - field: _ingest._value.bytesReceived - tag: convert_bytesReceived_to_long - target_field: _ingest._value.bytes.received + field: _ingest._value.bytes.received + tag: convert_bytes_received_to_long type: long ignore_missing: true on_failure: - remove: - field: _ingest._value.bytesReceived + field: _ingest._value.bytes.received - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - foreach: field: json.flowRecords.flows if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_convert_bytesSent_to_long + tag: foreach_flowRecords_flow_to_convert_bytes_sent_to_long processor: foreach: field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_convert_bytesSent_to_long + tag: foreach_flowGroups_to_convert_bytes_sent_to_long + ignore_failure: true processor: foreach: - field: _ingest._value.flowTuples - tag: foreach_flowTuples_to_convert_bytesSent_to_long + field: _ingest._value.tuples + tag: foreach_tuples_to_convert_bytes_sent_to_long + ignore_failure: true processor: convert: - field: _ingest._value.bytesSent - tag: convert_bytesSent_to_long - target_field: _ingest._value.bytes.sent + field: _ingest._value.bytes.sent + tag: convert_bytes_sent_to_long type: long ignore_missing: true on_failure: - remove: - field: _ingest._value.bytesSent + field: _ingest._value.bytes.sent - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - foreach: field: json.flowRecords.flows if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_rename_flowDirection - processor: - foreach: - field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_rename_flowDirection - processor: - foreach: - field: _ingest._value.flowTuples - tag: foreach_flowTuples_to_rename_flowDirection - processor: - rename: - field: _ingest._value.flowDirection - tag: rename_flowDirection - target_field: _ingest._value.flow.direction - ignore_missing: true - - foreach: - field: json.flowRecords.flows - if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_append_flow_direction_to_network_direction - processor: - foreach: - field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_append_flow_direction_to_network_direction - processor: - foreach: - field: _ingest._value.flowTuples - tag: foreach_flowTuples_to_append_flow_direction_to_network_direction - processor: - append: - field: network.direction - tag: append_flow_direction_to_network_direction - value: '{{_ingest._value.flow.direction}}' - allow_duplicates: false - - foreach: - field: json.flowRecords.flows - if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_rename_flowEncryption - processor: - foreach: - field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_rename_flowEncryption - processor: - foreach: - field: _ingest._value.flowTuples - tag: foreach_flowTuples_to_rename_flowEncryption - processor: - rename: - field: _ingest._value.flowEncryption - tag: rename_flowEncryption - target_field: _ingest._value.flow.encryption - ignore_missing: true - - foreach: - field: json.flowRecords.flows - if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_rename_flowState - processor: - foreach: - field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_rename_flowState - processor: - foreach: - field: _ingest._value.flowTuples - tag: foreach_flowTuples_to_rename_flowState - processor: - rename: - field: _ingest._value.flowState - tag: rename_flowState - target_field: _ingest._value.flow.state - ignore_missing: true - - foreach: - field: json.flowRecords.flows - if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_rename_timestamp + tag: foreach_flowRecords_flow_to_date_timestamp processor: foreach: field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_rename_timestamp + tag: foreach_flowGroups_to_date_timestamp + ignore_failure: true processor: foreach: - field: _ingest._value.flowTuples - tag: foreach_flowTuples_to_rename_timestamp + field: _ingest._value.tuples + tag: foreach_tuples_to_date_timestamp + ignore_failure: true processor: date: field: _ingest._value.timestamp @@ -601,55 +523,16 @@ processors: - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: json.flowRecords.flows - if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_remove_type_converted_fields - processor: - foreach: - field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_remove_type_converted_fields - processor: - foreach: - field: _ingest._value.flowTuples - tag: foreach_flowTuples_to_remove_type_converted_fields - processor: - remove: - field: - - _ingest._value.destPort - - _ingest._value.sourcePort - - _ingest._value.destIp - - _ingest._value.sourceIp - - _ingest._value.packetsReceived - - _ingest._value.packetsSent - - _ingest._value.bytesReceived - - _ingest._value.bytesSent - tag: remove_type_converted_fields - ignore_missing: true - - foreach: - field: json.flowRecords.flows - if: ctx.json?.flowRecords?.flows instanceof List - tag: foreach_flowRecords_flow_to_rename_flowTuples - processor: - foreach: - field: _ingest._value.flowGroups - tag: foreach_flowGroups_to_rename_flowTuples - processor: - rename: - field: _ingest._value.flowTuples - tag: rename_flowTuples - target_field: _ingest._value.tuples - ignore_missing: true - foreach: field: json.flowRecords.flows if: ctx.json?.flowRecords?.flows instanceof List tag: foreach_flowRecords_flow_to_rename_flowGroups processor: - rename: - field: _ingest._value.flowGroups - tag: rename_flowGroups - target_field: _ingest._value.groups - ignore_missing: true + rename: + field: _ingest._value.flowGroups + tag: rename_flowGroups + target_field: _ingest._value.groups + ignore_missing: true - rename: field: json.flowRecords.flows tag: rename_records_flows @@ -850,4 +733,4 @@ on_failure: value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - set: field: event.kind - value: pipeline_error \ No newline at end of file + value: pipeline_error diff --git a/packages/azure_network_watcher_vnet/data_stream/log/manifest.yml b/packages/azure_network_watcher_vnet/data_stream/log/manifest.yml index 3f5dcef90dd3..abad059b907c 100644 --- a/packages/azure_network_watcher_vnet/data_stream/log/manifest.yml +++ b/packages/azure_network_watcher_vnet/data_stream/log/manifest.yml @@ -2,7 +2,7 @@ title: Collect VNet logs from Azure Network Watcher type: logs streams: - input: azure-blob-storage - description: Collect VNet logs via Azure Blob Storage. + description: Collect VNet logs from Azure Network Watcher via Azure Blob Storage. title: VNet Logs template_path: abs.yml.hbs vars: diff --git a/packages/azure_network_watcher_vnet/data_stream/log/sample_event.json b/packages/azure_network_watcher_vnet/data_stream/log/sample_event.json index c892c7cdc2d7..1dccef4f6bfe 100644 --- a/packages/azure_network_watcher_vnet/data_stream/log/sample_event.json +++ b/packages/azure_network_watcher_vnet/data_stream/log/sample_event.json @@ -1,8 +1,8 @@ { "@timestamp": "2022-09-14T09:00:52.562Z", "agent": { - "ephemeral_id": "da7d1177-fe10-44f3-b86c-e04f04934ea1", - "id": "71355b80-0d54-4a86-94dc-712d08b2cf9d", + "ephemeral_id": "21a6a640-db1c-41f2-bc9f-a1828a392fbc", + "id": "8a466644-c7b0-4c90-86c2-8a2cf6d98148", "name": "docker-fleet-agent", "type": "filebeat", "version": "8.12.0" @@ -579,10 +579,10 @@ ] }, "ecs": { - "version": "8.12.0" + "version": "8.11.0" }, "elastic_agent": { - "id": "71355b80-0d54-4a86-94dc-712d08b2cf9d", + "id": "8a466644-c7b0-4c90-86c2-8a2cf6d98148", "snapshot": false, "version": "8.12.0" }, @@ -592,7 +592,7 @@ "network" ], "dataset": "azure_network_watcher_vnet.log", - "ingested": "2024-04-18T12:33:38Z", + "ingested": "2024-05-01T08:54:01Z", "kind": "event", "type": [ "info" diff --git a/packages/azure_network_watcher_vnet/docs/README.md b/packages/azure_network_watcher_vnet/docs/README.md index 83f489754bb9..966146006d36 100644 --- a/packages/azure_network_watcher_vnet/docs/README.md +++ b/packages/azure_network_watcher_vnet/docs/README.md @@ -1,6 +1,6 @@ # Azure Network Watcher VNet -[VNet](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview) flow logs in Azure Network Watcher track IP traffic in virtual networks, sending data to Azure Storage for analysis. This information can be exported to various tools like SIEM solutions or IDS. Unlike NSG flow logs, VNet flow logs offer enhanced monitoring capabilities. They are crucial for understanding network activity, identifying connections, and monitoring open ports. Flow logs serve as the primary source for optimizing resources, ensuring compliance, and detecting intrusions in cloud environments, catering to both startups and enterprises. +[VNet](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview) flow logs in Azure Network Watcher track IP traffic in virtual networks, sending data to Azure Storage for analysis. Unlike NSG flow logs, VNet flow logs offer enhanced monitoring capabilities. They are crucial for understanding network activity, identifying connections, and monitoring open ports. Flow logs serve as the primary source for optimizing resources, ensuring compliance, and detecting intrusions in cloud environments, catering to both startups and enterprises. ## Data streams @@ -42,6 +42,8 @@ The minimum **Kibana version** required is **8.12.0**. 4. Under key1, find the Key value. Click On the Copy button to copy the **account key**. Same way you can copy the **storage account name** shown above keys. 5. Go to **Containers** under **Data storage** in your storage account to copy the **container name**. +**Note**: Enable virtual network flow logs using the steps provided in [reference](https://learn.microsoft.com/en-us/azure/network-watcher/vnet-flow-logs-portal). + ### Enabling the integration in Elastic: 1. In Kibana go to Management > Integrations. @@ -68,8 +70,8 @@ An example event for `log` looks as following: { "@timestamp": "2022-09-14T09:00:52.562Z", "agent": { - "ephemeral_id": "da7d1177-fe10-44f3-b86c-e04f04934ea1", - "id": "71355b80-0d54-4a86-94dc-712d08b2cf9d", + "ephemeral_id": "21a6a640-db1c-41f2-bc9f-a1828a392fbc", + "id": "8a466644-c7b0-4c90-86c2-8a2cf6d98148", "name": "docker-fleet-agent", "type": "filebeat", "version": "8.12.0" @@ -646,10 +648,10 @@ An example event for `log` looks as following: ] }, "ecs": { - "version": "8.12.0" + "version": "8.11.0" }, "elastic_agent": { - "id": "71355b80-0d54-4a86-94dc-712d08b2cf9d", + "id": "8a466644-c7b0-4c90-86c2-8a2cf6d98148", "snapshot": false, "version": "8.12.0" }, @@ -659,7 +661,7 @@ An example event for `log` looks as following: "network" ], "dataset": "azure_network_watcher_vnet.log", - "ingested": "2024-04-18T12:33:38Z", + "ingested": "2024-05-01T08:54:01Z", "kind": "event", "type": [ "info" From b9ef7632732cb2f2f4f1bc3f631b767ccaab50e6 Mon Sep 17 00:00:00 2001 From: janvi-elastic Date: Mon, 6 May 2024 10:29:32 +0530 Subject: [PATCH 5/5] Add groks to parse resource_id field --- .../test/pipeline/test-vnet.log-expected.json | 12 +++ .../ingest_pipeline/azure_shared_pipeline.yml | 100 ++++++++++++++++++ .../elasticsearch/ingest_pipeline/default.yml | 5 + .../data_stream/log/fields/fields.yml | 12 --- .../data_stream/log/fields/package-fields.yml | 39 +++++++ .../data_stream/log/sample_event.json | 21 ++-- .../azure_network_watcher_vnet/docs/README.md | 26 +++-- 7 files changed, 189 insertions(+), 26 deletions(-) create mode 100644 packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/azure_shared_pipeline.yml create mode 100644 packages/azure_network_watcher_vnet/data_stream/log/fields/package-fields.yml diff --git a/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log-expected.json b/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log-expected.json index 2116ef44ba23..6e4c9850097b 100644 --- a/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log-expected.json +++ b/packages/azure_network_watcher_vnet/data_stream/log/_dev/test/pipeline/test-vnet.log-expected.json @@ -2,6 +2,15 @@ "expected": [ { "@timestamp": "2022-09-14T09:00:52.562Z", + "azure": { + "resource": { + "group": "NETWORKWATCHERRG", + "id": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG", + "name": "NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG", + "provider": "MICROSOFT.NETWORK/NETWORKWATCHERS" + }, + "subscription_id": "00000000-0000-0000-0000-000000000000" + }, "azure_network_watcher_vnet": { "log": { "category": "FlowLogFlowEvent", @@ -80,6 +89,9 @@ "time": "2022-09-14T09:00:52.562Z" } }, + "cloud": { + "provider": "azure" + }, "destination": { "bytes": [ 0 diff --git a/packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/azure_shared_pipeline.yml b/packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/azure_shared_pipeline.yml new file mode 100644 index 000000000000..a52e9c431719 --- /dev/null +++ b/packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/azure_shared_pipeline.yml @@ -0,0 +1,100 @@ +--- +description: Pipeline for parsing Azure shared log fields. +processors: + - set: + field: cloud.provider + tag: set_cloud_provider + value: azure + - grok: + field: azure_network_watcher_vnet.log.flow_log.resource_id + tag: extracts_values_flow_log_resource_id_if_subscription_id_resource_group_provider_namespace_authorization_rule_present + patterns: + - /SUBSCRIPTIONS/%{SUBID:azure.subscription_id}/RESOURCEGROUPS/%{GROUPID:azure.resource.group}/PROVIDERS/%{PROVIDERNAME:azure.resource.provider}/NAMESPACES/%{NAMESPACE:azure.resource.namespace}/AUTHORIZATIONRULES/%{RULE:azure.resource.authorization_rule} + - /subscriptions/%{SUBID:azure.subscription_id}/resourceGroups/%{GROUPID:azure.resource.group}/providers/%{PROVIDERNAME:azure.resource.provider}/namespaces/%{NAMESPACE:azure.resource.namespace}/authorizationRules/%{RULE:azure.resource.authorization_rule} + pattern_definitions: + SUBID: (\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1} + GROUPID: .+ + PROVIDERNAME: .+ + NAMESPACE: .+ + RULE: .+ + ignore_failure: true + - grok: + field: azure_network_watcher_vnet.log.flow_log.resource_id + if: "ctx.azure?.subscription_id == null" + tag: extracts_values_flow_log_resource_id_if_subscription_id_resource_group_provider_name_present + patterns: + - /SUBSCRIPTIONS/%{SUBID:azure.subscription_id}/RESOURCEGROUPS/%{GROUPID:azure.resource.group}/PROVIDERS/%{PROVIDERNAME:azure.resource.provider}/%{NAME:azure.resource.name} + - /subscriptions/%{SUBID:azure.subscription_id}/resourceGroups/%{GROUPID:azure.resource.group}/providers/%{PROVIDERNAME:azure.resource.provider}/%{NAME:azure.resource.name} + pattern_definitions: + SUBID: (\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1} + GROUPID: .+ + PROVIDERNAME: ([A-Za-z])\w+.([A-Za-z])\w+/([A-Za-z])\w+. + NAME: ((?!AUTHORIZATIONRULES).)*$ + ignore_failure: true + - grok: + field: azure_network_watcher_vnet.log.flow_log.resource_id + if: "ctx.azure?.subscription_id == null" + tag: extracts_values_flow_log_resource_id_if_subscription_id_resource_group_provider_name_present + patterns: + - /SUBSCRIPTIONS/%{SUBID:azure.subscription_id}/RESOURCEGROUPS/%{GROUPID:azure.resource.group}/PROVIDERS/%{PROVIDERNAME:azure.resource.provider}/%{NAME:azure.resource.name} + - /subscriptions/%{SUBID:azure.subscription_id}/resourceGroups/%{GROUPID:azure.resource.group}/providers/%{PROVIDERNAME:azure.resource.provider}/%{NAME:azure.resource.name} + pattern_definitions: + SUBID: (\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1} + GROUPID: .+ + PROVIDERNAME: ([A-Za-z])\w+.([A-Za-z])\w+\/([A-Za-z][^\/])\w+ + NAME: .+ + ignore_failure: true + - grok: + field: azure_network_watcher_vnet.log.flow_log.resource_id + if: "ctx.azure?.subscription_id == null" + tag: extracts_values_flow_log_resource_id_if_resource_provider_present + patterns: + - /providers/%{PROVIDER:azure.resource.provider} + - /PROVIDERS/%{PROVIDER:azure.resource.provider} + pattern_definitions: + PROVIDER: .+ + ignore_failure: true + - grok: + field: azure_network_watcher_vnet.log.flow_log.resource_id + if: "ctx.azure?.subscription_id == null" + tag: extracts_values_flow_log_resource_id_if_sbscription_id_resource_provider_present + patterns: + - /SUBSCRIPTIONS/%{SUBID:azure.subscription_id}/PROVIDERS/%{PROVIDERNAME:azure.resource.provider} + - /subscriptions/%{SUBID:azure.subscription_id}/providers/%{PROVIDERNAME:azure.resource.provider} + pattern_definitions: + SUBID: (\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1} + PROVIDERNAME: ([A-Za-z])\w+.([A-Za-z])\w+\/([A-Za-z][^\/])\w+ + ignore_failure: true + - grok: + field: azure_network_watcher_vnet.log.flow_log.resource_id + if: "ctx.azure?.subscription_id == null" + tag: extracts_values_flow_log_resource_id_if_sbscription_id_resource_group_present + patterns: + - /SUBSCRIPTIONS/%{SUBID:azure.subscription_id}/RESOURCEGROUPS/%{GROUPID:azure.resource.group} + - /subscriptions/%{SUBID:azure.subscription_id}/resourceGroups/%{GROUPID:azure.resource.group} + pattern_definitions: + SUBID: (\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1} + GROUPID: .+ + ignore_failure: true + - grok: + field: azure_network_watcher_vnet.log.flow_log.resource_id + if: "ctx.azure?.subscription_id == null" + tag: extracts_values_flow_log_resource_id_if_sbscription_id_present + patterns: + - /SUBSCRIPTIONS/%{SUBID:azure.subscription_id} + - /subscriptions/%{SUBID:azure.subscription_id} + pattern_definitions: + SUBID: (\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1} + ignore_failure: true + - set: + field: azure.resource.id + tag: set_azure_resource_id_from_flow_log_resource_id + copy_from: azure_network_watcher_vnet.log.flow_log.resource_id + ignore_empty_value: true +on_failure: + - append: + field: error.message + value: "Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}" + - set: + field: event.kind + value: pipeline_error diff --git a/packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/default.yml b/packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/default.yml index 63632bfe44ce..75e4fbac7a96 100644 --- a/packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/default.yml +++ b/packages/azure_network_watcher_vnet/data_stream/log/elasticsearch/ingest_pipeline/default.yml @@ -704,6 +704,11 @@ processors: tag: remove_event_original ignore_missing: true if: ctx.tags == null || !(ctx.tags.contains('preserve_original_event')) + - pipeline: + name: '{{ IngestPipeline "azure_shared_pipeline" }}' + if: ctx.azure_network_watcher_vnet?.log?.flow_log?.resource_id != null + tag: pipeline_azure_shared + ignore_missing_pipeline: true - script: lang: painless description: Drops null/empty values recursively. diff --git a/packages/azure_network_watcher_vnet/data_stream/log/fields/fields.yml b/packages/azure_network_watcher_vnet/data_stream/log/fields/fields.yml index 06eefbcfc2b2..d1ca668f6bb7 100644 --- a/packages/azure_network_watcher_vnet/data_stream/log/fields/fields.yml +++ b/packages/azure_network_watcher_vnet/data_stream/log/fields/fields.yml @@ -112,15 +112,3 @@ - name: time type: date description: Time in UTC when the event was logged. -- name: azure.storage - type: group - fields: - - name: container.name - type: keyword - description: The name of the Azure Blob Storage container. - - name: blob.name - type: keyword - description: The name of the Azure Blob Storage blob object. - - name: blob.content_type - type: keyword - description: The content type of the Azure Blob Storage blob object. diff --git a/packages/azure_network_watcher_vnet/data_stream/log/fields/package-fields.yml b/packages/azure_network_watcher_vnet/data_stream/log/fields/package-fields.yml new file mode 100644 index 000000000000..1ccd6ed90f88 --- /dev/null +++ b/packages/azure_network_watcher_vnet/data_stream/log/fields/package-fields.yml @@ -0,0 +1,39 @@ +- name: azure + type: group + fields: + - name: resource + type: group + fields: + - name: group + type: keyword + description: Resource group. + - name: id + type: keyword + description: Resource ID. + - name: name + type: keyword + description: Name. + - name: provider + type: keyword + description: Resource type/namespace. + - name: storage + type: group + fields: + - name: blob + type: group + fields: + - name: content_type + type: keyword + description: The content type of the Azure Blob Storage blob object. + - name: name + type: keyword + description: The name of the Azure Blob Storage blob object. + - name: container + type: group + fields: + - name: name + type: keyword + description: The name of the Azure Blob Storage container. + - name: subscription_id + type: keyword + description: Azure subscription ID. diff --git a/packages/azure_network_watcher_vnet/data_stream/log/sample_event.json b/packages/azure_network_watcher_vnet/data_stream/log/sample_event.json index 1dccef4f6bfe..a7fd3f4be57e 100644 --- a/packages/azure_network_watcher_vnet/data_stream/log/sample_event.json +++ b/packages/azure_network_watcher_vnet/data_stream/log/sample_event.json @@ -1,13 +1,19 @@ { "@timestamp": "2022-09-14T09:00:52.562Z", "agent": { - "ephemeral_id": "21a6a640-db1c-41f2-bc9f-a1828a392fbc", - "id": "8a466644-c7b0-4c90-86c2-8a2cf6d98148", + "ephemeral_id": "de847db6-f5bf-4453-8aed-e34625b9fbfa", + "id": "43c0b2ea-ece0-4773-bd18-10caab20c820", "name": "docker-fleet-agent", "type": "filebeat", "version": "8.12.0" }, "azure": { + "resource": { + "group": "NETWORKWATCHERRG", + "id": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG", + "name": "NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG", + "provider": "MICROSOFT.NETWORK/NETWORKWATCHERS" + }, "storage": { "blob": { "content_type": "application/json", @@ -16,7 +22,8 @@ "container": { "name": "azure-container1" } - } + }, + "subscription_id": "00000000-0000-0000-0000-000000000000" }, "azure_network_watcher_vnet": { "log": { @@ -582,7 +589,7 @@ "version": "8.11.0" }, "elastic_agent": { - "id": "8a466644-c7b0-4c90-86c2-8a2cf6d98148", + "id": "43c0b2ea-ece0-4773-bd18-10caab20c820", "snapshot": false, "version": "8.12.0" }, @@ -592,7 +599,7 @@ "network" ], "dataset": "azure_network_watcher_vnet.log", - "ingested": "2024-05-01T08:54:01Z", + "ingested": "2024-05-03T08:01:53Z", "kind": "event", "type": [ "info" @@ -609,8 +616,8 @@ }, "network": { "direction": [ - "outbound", - "inbound" + "inbound", + "outbound" ], "iana_number": [ "6" diff --git a/packages/azure_network_watcher_vnet/docs/README.md b/packages/azure_network_watcher_vnet/docs/README.md index 966146006d36..69013cdbc265 100644 --- a/packages/azure_network_watcher_vnet/docs/README.md +++ b/packages/azure_network_watcher_vnet/docs/README.md @@ -70,13 +70,19 @@ An example event for `log` looks as following: { "@timestamp": "2022-09-14T09:00:52.562Z", "agent": { - "ephemeral_id": "21a6a640-db1c-41f2-bc9f-a1828a392fbc", - "id": "8a466644-c7b0-4c90-86c2-8a2cf6d98148", + "ephemeral_id": "de847db6-f5bf-4453-8aed-e34625b9fbfa", + "id": "43c0b2ea-ece0-4773-bd18-10caab20c820", "name": "docker-fleet-agent", "type": "filebeat", "version": "8.12.0" }, "azure": { + "resource": { + "group": "NETWORKWATCHERRG", + "id": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG", + "name": "NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG", + "provider": "MICROSOFT.NETWORK/NETWORKWATCHERS" + }, "storage": { "blob": { "content_type": "application/json", @@ -85,7 +91,8 @@ An example event for `log` looks as following: "container": { "name": "azure-container1" } - } + }, + "subscription_id": "00000000-0000-0000-0000-000000000000" }, "azure_network_watcher_vnet": { "log": { @@ -651,7 +658,7 @@ An example event for `log` looks as following: "version": "8.11.0" }, "elastic_agent": { - "id": "8a466644-c7b0-4c90-86c2-8a2cf6d98148", + "id": "43c0b2ea-ece0-4773-bd18-10caab20c820", "snapshot": false, "version": "8.12.0" }, @@ -661,7 +668,7 @@ An example event for `log` looks as following: "network" ], "dataset": "azure_network_watcher_vnet.log", - "ingested": "2024-05-01T08:54:01Z", + "ingested": "2024-05-03T08:01:53Z", "kind": "event", "type": [ "info" @@ -678,8 +685,8 @@ An example event for `log` looks as following: }, "network": { "direction": [ - "outbound", - "inbound" + "inbound", + "outbound" ], "iana_number": [ "6" @@ -756,9 +763,14 @@ An example event for `log` looks as following: | Field | Description | Type | |---|---|---| | @timestamp | Event timestamp. | date | +| azure.resource.group | Resource group. | keyword | +| azure.resource.id | Resource ID. | keyword | +| azure.resource.name | Name. | keyword | +| azure.resource.provider | Resource type/namespace. | keyword | | azure.storage.blob.content_type | The content type of the Azure Blob Storage blob object. | keyword | | azure.storage.blob.name | The name of the Azure Blob Storage blob object. | keyword | | azure.storage.container.name | The name of the Azure Blob Storage container. | keyword | +| azure.subscription_id | Azure subscription ID. | keyword | | azure_network_watcher_vnet.log.category | Category of the event. | keyword | | azure_network_watcher_vnet.log.flow_log.guid | Resource GUID of the FlowLog resource. | keyword | | azure_network_watcher_vnet.log.flow_log.resource_id | Resource ID of the FlowLog resource. | keyword |