From 8ff7d753f82e4f4f979ece4d87c7d8f881928182 Mon Sep 17 00:00:00 2001 From: Arvind Iyengar Date: Wed, 23 Feb 2022 16:36:39 -0800 Subject: [PATCH 1/5] Use applyKubeVersionOverrides in rancher-pushprox Defines a Helm template called applyKubeVersionOverrides that can be added to each template file that wants to respect values.yaml overrides for specific kubernetes versions. If defined, this will automatically ignore the value set in the default values.yaml in favor of the one supplied in the values.yaml. --- .../rancher-pushprox/charts/README.md | 1 + .../charts/templates/_helpers.tpl | 10 +++++++++ .../templates/pushprox-clients-rbac.yaml | 1 + .../charts/templates/pushprox-clients.yaml | 1 + .../charts/templates/pushprox-proxy-rbac.yaml | 1 + .../charts/templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../rancher-pushprox/charts/values.yaml | 22 +++++++++++++++++++ 8 files changed, 38 insertions(+) diff --git a/packages/rancher-monitoring/rancher-pushprox/charts/README.md b/packages/rancher-monitoring/rancher-pushprox/charts/README.md index 4d55f0787..c789c79c9 100755 --- a/packages/rancher-monitoring/rancher-pushprox/charts/README.md +++ b/packages/rancher-monitoring/rancher-pushprox/charts/README.md @@ -55,6 +55,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/packages/rancher-monitoring/rancher-pushprox/charts/templates/_helpers.tpl b/packages/rancher-monitoring/rancher-pushprox/charts/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/packages/rancher-monitoring/rancher-pushprox/charts/templates/_helpers.tpl +++ b/packages/rancher-monitoring/rancher-pushprox/charts/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients-rbac.yaml b/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients-rbac.yaml index f1a8e7232..4fbb1976b 100644 --- a/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients-rbac.yaml +++ b/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients.yaml b/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients.yaml index 19b4f58ed..fa8620ace 100644 --- a/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients.yaml +++ b/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} diff --git a/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-proxy-rbac.yaml b/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-proxy-rbac.yaml +++ b/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-proxy.yaml b/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-proxy.yaml +++ b/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-servicemonitor.yaml b/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-servicemonitor.yaml +++ b/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/packages/rancher-monitoring/rancher-pushprox/charts/values.yaml b/packages/rancher-monitoring/rancher-pushprox/charts/values.yaml index c64c4faf0..db5e26deb 100644 --- a/packages/rancher-monitoring/rancher-pushprox/charts/values.yaml +++ b/packages/rancher-monitoring/rancher-pushprox/charts/values.yaml @@ -11,6 +11,28 @@ global: cattle: systemDefaultRegistry: "" +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false + namespaceOverride: "" # The component that is being monitored (i.e. etcd) From ff5544e9796076017983289a22ac836ef5d66abf Mon Sep 17 00:00:00 2001 From: Arvind Iyengar Date: Wed, 23 Feb 2022 17:10:32 -0800 Subject: [PATCH 2/5] Modify defaults to 1.22+ & use kubeVersionOverrides This commit modifies the default values for the pushprox exporters deployed by Monitoring for RKE1 and RKE2 to support k8s 1.22+ by default. In order to retain support for k8s <1.22, we use the newly implemented kubeVersionOverrides in the rancher-pushprox chart to supply them. --- .../generated-changes/patch/values.yaml.patch | 107 ++++++++++++------ 1 file changed, 73 insertions(+), 34 deletions(-) diff --git a/packages/rancher-monitoring/rancher-monitoring/generated-changes/patch/values.yaml.patch b/packages/rancher-monitoring/rancher-monitoring/generated-changes/patch/values.yaml.patch index ab5dd038e..2831dd467 100644 --- a/packages/rancher-monitoring/rancher-monitoring/generated-changes/patch/values.yaml.patch +++ b/packages/rancher-monitoring/rancher-monitoring/generated-changes/patch/values.yaml.patch @@ -1,6 +1,6 @@ --- charts-original/values.yaml +++ charts/values.yaml -@@ -2,13 +2,427 @@ +@@ -2,13 +2,466 @@ # This is a YAML-formatted file. # Declare variables to be passed into your templates. @@ -23,9 +23,13 @@ +## +rkeControllerManager: + enabled: false -+ metricsPort: 10252 ++ metricsPort: 10257 # default to secure port as of k8s >= 1.22 + component: kube-controller-manager + clients: ++ https: ++ enabled: true ++ insecureSkipVerify: true ++ useServiceAccountCredentials: true + port: 10011 + useLocalhost: true + nodeSelector: @@ -35,6 +39,15 @@ + operator: "Exists" + - effect: "NoSchedule" + operator: "Exists" ++ kubeVersionOverrides: ++ - constraint: "< 1.22" ++ values: ++ metricsPort: 10252 # default to insecure port in k8s < 1.22 ++ clients: ++ https: ++ enabled: false ++ insecureSkipVerify: false ++ useServiceAccountCredentials: false + +rkeScheduler: + enabled: false @@ -219,9 +232,13 @@ +## +rke2ControllerManager: + enabled: false -+ metricsPort: 10252 ++ metricsPort: 10257 # default to secure port as of k8s >= 1.22 + component: kube-controller-manager + clients: ++ https: ++ enabled: true ++ insecureSkipVerify: true ++ useServiceAccountCredentials: true + port: 10011 + useLocalhost: true + nodeSelector: @@ -231,12 +248,25 @@ + operator: "Exists" + - effect: "NoSchedule" + operator: "Exists" ++ kubeVersionOverrides: ++ - constraint: "< 1.22" ++ values: ++ metricsPort: 10252 # default to insecure port in k8s < 1.22 ++ clients: ++ https: ++ enabled: false ++ insecureSkipVerify: false ++ useServiceAccountCredentials: false + +rke2Scheduler: + enabled: false -+ metricsPort: 10251 ++ metricsPort: 10259 # default to secure port as of k8s >= 1.22 + component: kube-scheduler + clients: ++ https: ++ enabled: true ++ insecureSkipVerify: true ++ useServiceAccountCredentials: true + port: 10012 + useLocalhost: true + nodeSelector: @@ -246,6 +276,15 @@ + operator: "Exists" + - effect: "NoSchedule" + operator: "Exists" ++ kubeVersionOverrides: ++ - constraint: "< 1.22" ++ values: ++ metricsPort: 10251 # default to insecure port in k8s < 1.22 ++ clients: ++ https: ++ enabled: false ++ insecureSkipVerify: false ++ useServiceAccountCredentials: false + +rke2Proxy: + enabled: false @@ -430,7 +469,7 @@ ## Provide a k8s version to auto dashboard import script example: kubeTargetVersionOverride: 1.16.6 ## -@@ -93,8 +507,32 @@ +@@ -93,8 +546,32 @@ ## global: @@ -463,7 +502,7 @@ pspEnabled: true pspAnnotations: {} ## Specify pod annotations -@@ -187,25 +625,77 @@ +@@ -187,25 +664,77 @@ ## ref: https://prometheus.io/docs/alerting/notifications/ ## https://prometheus.io/docs/alerting/notification_examples/ ## @@ -560,7 +599,7 @@ ingress: enabled: false -@@ -397,7 +887,7 @@ +@@ -397,7 +926,7 @@ ## Image of Alertmanager ## image: @@ -569,7 +608,7 @@ tag: v0.22.2 sha: "" -@@ -509,9 +999,13 @@ +@@ -509,9 +1038,13 @@ ## Define resources requests and limits for single Pods. ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ ## @@ -586,7 +625,7 @@ ## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node. ## The default value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided. -@@ -625,6 +1119,30 @@ +@@ -625,6 +1158,30 @@ enabled: true namespaceOverride: "" @@ -617,7 +656,7 @@ ## ForceDeployDatasources Create datasource configmap even if grafana deployment has been disabled ## forceDeployDatasources: false -@@ -637,6 +1155,18 @@ +@@ -637,6 +1194,18 @@ ## defaultDashboardsEnabled: true @@ -636,7 +675,7 @@ ## Timezone for the default dashboards ## Other options are: browser or a specific timezone, i.e. Europe/Luxembourg ## -@@ -681,6 +1211,7 @@ +@@ -681,6 +1250,7 @@ dashboards: enabled: true label: grafana_dashboard @@ -644,7 +683,7 @@ ## Annotations for Grafana dashboard configmaps ## -@@ -739,7 +1270,60 @@ +@@ -739,7 +1309,60 @@ ## Passed to grafana subchart and used by servicemonitor below ## service: @@ -706,7 +745,7 @@ ## If true, create a serviceMonitor for grafana ## -@@ -773,6 +1357,17 @@ +@@ -773,6 +1396,17 @@ # replacement: $1 # action: replace @@ -724,7 +763,7 @@ ## Component scraping the kube api server ## kubeApiServer: -@@ -952,7 +1547,7 @@ +@@ -952,7 +1586,7 @@ ## Component scraping the kube controller manager ## kubeControllerManager: @@ -733,7 +772,7 @@ ## If your kube controller manager is not deployed as a pod, specify IPs it can be found on ## -@@ -1110,7 +1705,7 @@ +@@ -1110,7 +1744,7 @@ ## Component scraping etcd ## kubeEtcd: @@ -742,7 +781,7 @@ ## If your etcd is not deployed as a pod, specify IPs it can be found on ## -@@ -1177,7 +1772,7 @@ +@@ -1177,7 +1811,7 @@ ## Component scraping kube scheduler ## kubeScheduler: @@ -751,7 +790,7 @@ ## If your kube scheduler is not deployed as a pod, specify IPs it can be found on ## -@@ -1237,7 +1832,7 @@ +@@ -1237,7 +1871,7 @@ ## Component scraping kube proxy ## kubeProxy: @@ -760,7 +799,7 @@ ## If your kube proxy is not deployed as a pod, specify IPs it can be found on ## -@@ -1337,6 +1932,13 @@ +@@ -1337,6 +1971,13 @@ create: true podSecurityPolicy: enabled: true @@ -774,7 +813,7 @@ ## Deploy node exporter as a daemonset to all nodes ## -@@ -1392,6 +1994,16 @@ +@@ -1392,6 +2033,16 @@ extraArgs: - --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($|/) - --collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$ @@ -791,7 +830,7 @@ ## Manages Prometheus and Alertmanager components ## -@@ -1404,8 +2016,8 @@ +@@ -1404,8 +2055,8 @@ enabled: true # Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants tlsMinVersion: VersionTLS13 @@ -802,7 +841,7 @@ ## Admission webhook support for PrometheusRules resources added in Prometheus Operator 0.30 can be enabled to prevent incorrectly formatted ## rules from making their way into prometheus and potentially preventing the container from starting -@@ -1422,9 +2034,9 @@ +@@ -1422,9 +2073,9 @@ patch: enabled: true image: @@ -814,7 +853,7 @@ pullPolicy: IfNotPresent resources: {} ## Provide a priority class name to the webhook patching job -@@ -1571,13 +2183,13 @@ +@@ -1571,13 +2222,13 @@ ## Resource limits & requests ## @@ -835,7 +874,7 @@ # Required for use in managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico), # because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working -@@ -1630,7 +2242,7 @@ +@@ -1630,7 +2281,7 @@ ## Prometheus-operator image ## image: @@ -844,7 +883,7 @@ tag: v0.50.0 sha: "" pullPolicy: IfNotPresent -@@ -1646,7 +2258,7 @@ +@@ -1646,7 +2297,7 @@ ## Prometheus-config-reloader image to use for config and rule reloading ## prometheusConfigReloaderImage: @@ -853,7 +892,7 @@ tag: v0.50.0 sha: "" -@@ -1661,7 +2273,7 @@ +@@ -1661,7 +2312,7 @@ ## Thanos side-car image when configured ## thanosImage: @@ -862,7 +901,7 @@ tag: v0.17.2 sha: "" -@@ -1781,7 +2393,7 @@ +@@ -1781,7 +2432,7 @@ port: 9090 ## To be used with a proxy extraContainer port @@ -871,7 +910,7 @@ ## List of IP addresses at which the Prometheus server service is available ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips -@@ -2054,7 +2666,7 @@ +@@ -2054,7 +2705,7 @@ ## Image of Prometheus. ## image: @@ -880,7 +919,7 @@ tag: v2.28.1 sha: "" -@@ -2149,7 +2761,7 @@ +@@ -2149,7 +2800,7 @@ ## prometheus resource to be created with selectors based on values in the helm deployment, ## which will also match the PrometheusRule resources created ## @@ -889,7 +928,7 @@ ## PrometheusRules to be selected for target discovery. ## If {}, select all PrometheusRules -@@ -2174,7 +2786,7 @@ +@@ -2174,7 +2825,7 @@ ## prometheus resource to be created with selectors based on values in the helm deployment, ## which will also match the servicemonitors created ## @@ -898,7 +937,7 @@ ## ServiceMonitors to be selected for target discovery. ## If {}, select all ServiceMonitors -@@ -2197,7 +2809,7 @@ +@@ -2197,7 +2848,7 @@ ## prometheus resource to be created with selectors based on values in the helm deployment, ## which will also match the podmonitors created ## @@ -907,7 +946,7 @@ ## PodMonitors to be selected for target discovery. ## If {}, select all PodMonitors -@@ -2328,9 +2940,13 @@ +@@ -2328,9 +2979,13 @@ ## Resource limits & requests ## @@ -924,7 +963,7 @@ ## Prometheus StorageSpec for persistent data ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/storage.md -@@ -2353,7 +2969,13 @@ +@@ -2353,7 +3008,13 @@ # medium: Memory # Additional volumes on the output StatefulSet definition. @@ -939,7 +978,7 @@ # Additional VolumeMounts on the output StatefulSet definition. volumeMounts: [] -@@ -2475,9 +3097,34 @@ +@@ -2475,9 +3136,34 @@ # fileName: "objstore.yaml" # objectStorageConfigFile: /var/secrets/object-store.yaml @@ -975,7 +1014,7 @@ ## InitContainers allows injecting additional initContainers. This is meant to allow doing some changes ## (permissions, dir tree) on mounted volumes before starting prometheus -@@ -2485,7 +3132,7 @@ +@@ -2485,7 +3171,7 @@ ## PortName to use for Prometheus. ## From 145196cf6684ff43fd8ade0890d3c9f8920710b7 Mon Sep 17 00:00:00 2001 From: Arvind Iyengar Date: Fri, 25 Feb 2022 17:21:05 -0800 Subject: [PATCH 3/5] Add support for pushprox seLinux --- .../rancher-monitoring/rancher-pushprox/charts/README.md | 1 + .../charts/templates/pushprox-clients-rbac.yaml | 3 +++ .../rancher-pushprox/charts/templates/pushprox-clients.yaml | 5 ++++- .../rancher-monitoring/rancher-pushprox/charts/values.yaml | 5 +++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/rancher-monitoring/rancher-pushprox/charts/README.md b/packages/rancher-monitoring/rancher-pushprox/charts/README.md index c789c79c9..33efd8603 100755 --- a/packages/rancher-monitoring/rancher-pushprox/charts/README.md +++ b/packages/rancher-monitoring/rancher-pushprox/charts/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | diff --git a/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients-rbac.yaml b/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients-rbac.yaml index 4fbb1976b..319da6ede 100644 --- a/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients-rbac.yaml +++ b/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients-rbac.yaml @@ -55,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients.yaml b/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients.yaml index fa8620ace..c26bc0eaf 100644 --- a/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients.yaml +++ b/packages/rancher-monitoring/rancher-pushprox/charts/templates/pushprox-clients.yaml @@ -103,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -134,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/packages/rancher-monitoring/rancher-pushprox/charts/values.yaml b/packages/rancher-monitoring/rancher-pushprox/charts/values.yaml index db5e26deb..b1db28dc0 100644 --- a/packages/rancher-monitoring/rancher-pushprox/charts/values.yaml +++ b/packages/rancher-monitoring/rancher-pushprox/charts/values.yaml @@ -10,6 +10,8 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false # A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. # @@ -75,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port From e5ce500071c9830d5a3e9da26ddf874cf2e8ac4a Mon Sep 17 00:00:00 2001 From: Arvind Iyengar Date: Fri, 25 Feb 2022 17:23:50 -0800 Subject: [PATCH 4/5] Provide seLinuxOptions on rkeEtcd --- .../generated-changes/patch/values.yaml.patch | 70 ++++++++++--------- 1 file changed, 38 insertions(+), 32 deletions(-) diff --git a/packages/rancher-monitoring/rancher-monitoring/generated-changes/patch/values.yaml.patch b/packages/rancher-monitoring/rancher-monitoring/generated-changes/patch/values.yaml.patch index 2831dd467..76aecef55 100644 --- a/packages/rancher-monitoring/rancher-monitoring/generated-changes/patch/values.yaml.patch +++ b/packages/rancher-monitoring/rancher-monitoring/generated-changes/patch/values.yaml.patch @@ -1,6 +1,6 @@ --- charts-original/values.yaml +++ charts/values.yaml -@@ -2,13 +2,466 @@ +@@ -2,13 +2,470 @@ # This is a YAML-formatted file. # Declare variables to be passed into your templates. @@ -78,7 +78,7 @@ + operator: "Exists" + +rkeEtcd: -+ enabled: false ++ enabled: true + metricsPort: 2379 + component: kube-etcd + clients: @@ -89,6 +89,10 @@ + certFile: kube-etcd-*.pem + keyFile: kube-etcd-*-key.pem + caCertFile: kube-ca.pem ++ seLinuxOptions: ++ # Gives rkeEtcd permissions to read files in /etc/kubernetes/* ++ # Type is defined in https://github.com/rancher/rancher-selinux ++ type: rke_kubereader_t + nodeSelector: + node-role.kubernetes.io/etcd: "true" + tolerations: @@ -469,7 +473,7 @@ ## Provide a k8s version to auto dashboard import script example: kubeTargetVersionOverride: 1.16.6 ## -@@ -93,8 +546,32 @@ +@@ -93,8 +550,34 @@ ## global: @@ -484,6 +488,8 @@ + ## + windows: + enabled: false ++ seLinux: ++ enabled: false + kubectl: + repository: rancher/kubectl + tag: v1.20.2 @@ -502,7 +508,7 @@ pspEnabled: true pspAnnotations: {} ## Specify pod annotations -@@ -187,25 +664,77 @@ +@@ -187,25 +670,77 @@ ## ref: https://prometheus.io/docs/alerting/notifications/ ## https://prometheus.io/docs/alerting/notification_examples/ ## @@ -599,7 +605,7 @@ ingress: enabled: false -@@ -397,7 +926,7 @@ +@@ -397,7 +932,7 @@ ## Image of Alertmanager ## image: @@ -608,7 +614,7 @@ tag: v0.22.2 sha: "" -@@ -509,9 +1038,13 @@ +@@ -509,9 +1044,13 @@ ## Define resources requests and limits for single Pods. ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ ## @@ -625,7 +631,7 @@ ## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node. ## The default value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided. -@@ -625,6 +1158,30 @@ +@@ -625,6 +1164,30 @@ enabled: true namespaceOverride: "" @@ -656,7 +662,7 @@ ## ForceDeployDatasources Create datasource configmap even if grafana deployment has been disabled ## forceDeployDatasources: false -@@ -637,6 +1194,18 @@ +@@ -637,6 +1200,18 @@ ## defaultDashboardsEnabled: true @@ -675,7 +681,7 @@ ## Timezone for the default dashboards ## Other options are: browser or a specific timezone, i.e. Europe/Luxembourg ## -@@ -681,6 +1250,7 @@ +@@ -681,6 +1256,7 @@ dashboards: enabled: true label: grafana_dashboard @@ -683,7 +689,7 @@ ## Annotations for Grafana dashboard configmaps ## -@@ -739,7 +1309,60 @@ +@@ -739,7 +1315,60 @@ ## Passed to grafana subchart and used by servicemonitor below ## service: @@ -745,7 +751,7 @@ ## If true, create a serviceMonitor for grafana ## -@@ -773,6 +1396,17 @@ +@@ -773,6 +1402,17 @@ # replacement: $1 # action: replace @@ -763,7 +769,7 @@ ## Component scraping the kube api server ## kubeApiServer: -@@ -952,7 +1586,7 @@ +@@ -952,7 +1592,7 @@ ## Component scraping the kube controller manager ## kubeControllerManager: @@ -772,7 +778,7 @@ ## If your kube controller manager is not deployed as a pod, specify IPs it can be found on ## -@@ -1110,7 +1744,7 @@ +@@ -1110,7 +1750,7 @@ ## Component scraping etcd ## kubeEtcd: @@ -781,7 +787,7 @@ ## If your etcd is not deployed as a pod, specify IPs it can be found on ## -@@ -1177,7 +1811,7 @@ +@@ -1177,7 +1817,7 @@ ## Component scraping kube scheduler ## kubeScheduler: @@ -790,7 +796,7 @@ ## If your kube scheduler is not deployed as a pod, specify IPs it can be found on ## -@@ -1237,7 +1871,7 @@ +@@ -1237,7 +1877,7 @@ ## Component scraping kube proxy ## kubeProxy: @@ -799,7 +805,7 @@ ## If your kube proxy is not deployed as a pod, specify IPs it can be found on ## -@@ -1337,6 +1971,13 @@ +@@ -1337,6 +1977,13 @@ create: true podSecurityPolicy: enabled: true @@ -813,7 +819,7 @@ ## Deploy node exporter as a daemonset to all nodes ## -@@ -1392,6 +2033,16 @@ +@@ -1392,6 +2039,16 @@ extraArgs: - --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($|/) - --collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$ @@ -830,7 +836,7 @@ ## Manages Prometheus and Alertmanager components ## -@@ -1404,8 +2055,8 @@ +@@ -1404,8 +2061,8 @@ enabled: true # Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants tlsMinVersion: VersionTLS13 @@ -841,7 +847,7 @@ ## Admission webhook support for PrometheusRules resources added in Prometheus Operator 0.30 can be enabled to prevent incorrectly formatted ## rules from making their way into prometheus and potentially preventing the container from starting -@@ -1422,9 +2073,9 @@ +@@ -1422,9 +2079,9 @@ patch: enabled: true image: @@ -853,7 +859,7 @@ pullPolicy: IfNotPresent resources: {} ## Provide a priority class name to the webhook patching job -@@ -1571,13 +2222,13 @@ +@@ -1571,13 +2228,13 @@ ## Resource limits & requests ## @@ -874,7 +880,7 @@ # Required for use in managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico), # because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working -@@ -1630,7 +2281,7 @@ +@@ -1630,7 +2287,7 @@ ## Prometheus-operator image ## image: @@ -883,7 +889,7 @@ tag: v0.50.0 sha: "" pullPolicy: IfNotPresent -@@ -1646,7 +2297,7 @@ +@@ -1646,7 +2303,7 @@ ## Prometheus-config-reloader image to use for config and rule reloading ## prometheusConfigReloaderImage: @@ -892,7 +898,7 @@ tag: v0.50.0 sha: "" -@@ -1661,7 +2312,7 @@ +@@ -1661,7 +2318,7 @@ ## Thanos side-car image when configured ## thanosImage: @@ -901,7 +907,7 @@ tag: v0.17.2 sha: "" -@@ -1781,7 +2432,7 @@ +@@ -1781,7 +2438,7 @@ port: 9090 ## To be used with a proxy extraContainer port @@ -910,7 +916,7 @@ ## List of IP addresses at which the Prometheus server service is available ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips -@@ -2054,7 +2705,7 @@ +@@ -2054,7 +2711,7 @@ ## Image of Prometheus. ## image: @@ -919,7 +925,7 @@ tag: v2.28.1 sha: "" -@@ -2149,7 +2800,7 @@ +@@ -2149,7 +2806,7 @@ ## prometheus resource to be created with selectors based on values in the helm deployment, ## which will also match the PrometheusRule resources created ## @@ -928,7 +934,7 @@ ## PrometheusRules to be selected for target discovery. ## If {}, select all PrometheusRules -@@ -2174,7 +2825,7 @@ +@@ -2174,7 +2831,7 @@ ## prometheus resource to be created with selectors based on values in the helm deployment, ## which will also match the servicemonitors created ## @@ -937,7 +943,7 @@ ## ServiceMonitors to be selected for target discovery. ## If {}, select all ServiceMonitors -@@ -2197,7 +2848,7 @@ +@@ -2197,7 +2854,7 @@ ## prometheus resource to be created with selectors based on values in the helm deployment, ## which will also match the podmonitors created ## @@ -946,7 +952,7 @@ ## PodMonitors to be selected for target discovery. ## If {}, select all PodMonitors -@@ -2328,9 +2979,13 @@ +@@ -2328,9 +2985,13 @@ ## Resource limits & requests ## @@ -963,7 +969,7 @@ ## Prometheus StorageSpec for persistent data ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/storage.md -@@ -2353,7 +3008,13 @@ +@@ -2353,7 +3014,13 @@ # medium: Memory # Additional volumes on the output StatefulSet definition. @@ -978,7 +984,7 @@ # Additional VolumeMounts on the output StatefulSet definition. volumeMounts: [] -@@ -2475,9 +3136,34 @@ +@@ -2475,9 +3142,34 @@ # fileName: "objstore.yaml" # objectStorageConfigFile: /var/secrets/object-store.yaml @@ -1014,7 +1020,7 @@ ## InitContainers allows injecting additional initContainers. This is meant to allow doing some changes ## (permissions, dir tree) on mounted volumes before starting prometheus -@@ -2485,7 +3171,7 @@ +@@ -2485,7 +3177,7 @@ ## PortName to use for Prometheus. ## From 523f6f942b43cfb68c85c892841557c4331b1c3a Mon Sep 17 00:00:00 2001 From: Arvind Iyengar Date: Wed, 2 Mar 2022 16:37:43 -0800 Subject: [PATCH 5/5] make charts --- .../rancher-monitoring-100.1.1+up19.0.3.tgz | Bin 329408 -> 337718 bytes .../rancher-pushprox-100.0.2.tgz | Bin 7004 -> 7775 bytes .../charts/hardenedKubelet/README.md | 2 + .../hardenedKubelet/templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/hardenedKubelet/values.yaml | 27 +++++++++ .../charts/hardenedNodeExporter/README.md | 2 + .../templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/hardenedNodeExporter/values.yaml | 27 +++++++++ .../charts/k3sServer/README.md | 2 + .../charts/k3sServer/templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../k3sServer/templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../k3sServer/templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/k3sServer/values.yaml | 27 +++++++++ .../charts/kubeAdmControllerManager/README.md | 2 + .../templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../kubeAdmControllerManager/values.yaml | 27 +++++++++ .../charts/kubeAdmEtcd/README.md | 2 + .../charts/kubeAdmEtcd/templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../kubeAdmEtcd/templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/kubeAdmEtcd/values.yaml | 27 +++++++++ .../charts/kubeAdmProxy/README.md | 2 + .../kubeAdmProxy/templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/kubeAdmProxy/values.yaml | 27 +++++++++ .../charts/kubeAdmScheduler/README.md | 2 + .../kubeAdmScheduler/templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/kubeAdmScheduler/values.yaml | 27 +++++++++ .../charts/rke2ControllerManager/README.md | 2 + .../templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/rke2ControllerManager/values.yaml | 27 +++++++++ .../charts/rke2Etcd/README.md | 2 + .../charts/rke2Etcd/templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../rke2Etcd/templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../rke2Etcd/templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/rke2Etcd/values.yaml | 27 +++++++++ .../charts/rke2IngressNginx/README.md | 2 + .../rke2IngressNginx/templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/rke2IngressNginx/values.yaml | 27 +++++++++ .../charts/rke2Proxy/README.md | 2 + .../charts/rke2Proxy/templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../rke2Proxy/templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../rke2Proxy/templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/rke2Proxy/values.yaml | 27 +++++++++ .../charts/rke2Scheduler/README.md | 2 + .../rke2Scheduler/templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/rke2Scheduler/values.yaml | 27 +++++++++ .../charts/rkeControllerManager/README.md | 2 + .../templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/rkeControllerManager/values.yaml | 27 +++++++++ .../100.1.1+up19.0.3/charts/rkeEtcd/README.md | 2 + .../charts/rkeEtcd/templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../rkeEtcd/templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../rkeEtcd/templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/rkeEtcd/values.yaml | 27 +++++++++ .../charts/rkeIngressNginx/README.md | 2 + .../rkeIngressNginx/templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/rkeIngressNginx/values.yaml | 27 +++++++++ .../charts/rkeProxy/README.md | 2 + .../charts/rkeProxy/templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../rkeProxy/templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../rkeProxy/templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/rkeProxy/values.yaml | 27 +++++++++ .../charts/rkeScheduler/README.md | 2 + .../rkeScheduler/templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + .../charts/rkeScheduler/values.yaml | 27 +++++++++ .../100.1.1+up19.0.3/values.yaml | 53 ++++++++++++++++-- charts/rancher-pushprox/100.0.2/README.md | 2 + .../100.0.2/templates/_helpers.tpl | 10 ++++ .../templates/pushprox-clients-rbac.yaml | 4 ++ .../100.0.2/templates/pushprox-clients.yaml | 6 +- .../templates/pushprox-proxy-rbac.yaml | 1 + .../100.0.2/templates/pushprox-proxy.yaml | 1 + .../templates/pushprox-servicemonitor.yaml | 1 + charts/rancher-pushprox/100.0.2/values.yaml | 27 +++++++++ index.yaml | 8 +-- 148 files changed, 971 insertions(+), 26 deletions(-) diff --git a/assets/rancher-monitoring/rancher-monitoring-100.1.1+up19.0.3.tgz b/assets/rancher-monitoring/rancher-monitoring-100.1.1+up19.0.3.tgz index d9062d5b9cfd6fb4ba15dbfd4dd17026814f8873..819aafb56f46ff36ba794c1c0185c59fb3fc53fa 100644 GIT binary patch literal 337718 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

?|F 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

  • x%sJ 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 literal 329408 zcmV)MK)AmjiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POwidK)*gFbdD#S66|L%=`K<>Lw*0Vsj?*Ek$-FT9F-%Bxh!= z>?{TB21!KSjShg8#MpkGeJ%Ua_Lb}hg>!e4qU1x8iTxuH(Lmu;C{z{dz;Tr=2v15@ zQOP*1=A-=u<}zL4viQ^c`8OVq$B!RAg#VAnso5N-`;aD<0I&Y>V@gKSqvNb1YAbCRuTL@)X;)2c7 z3`H;qly-qLOKzb{~8e9-AD61yu&fmV+Np~Kn<79lNx4MEUYMhY?(uLtf#ZpL8 z_O`1DFR2tT_JUT;)%Lm>)SO+=oQPz8!6(S~kYbnE*yU9@ZWcJ-3wMGZD)NRn|aW60TStU6u3c_FD z3eWpywxZ$&{r5KO8^v>(<*PbY-!|(DYW9IY;_Pa<3O;PTI<5QO|~ytMfv$l_#UO);0b2 zw~0GHC%e}lj^0|=b>7>i(|PZiupc()qI()t=|MH;M2MGjT3z)*4=ZfYOH{qnTmQjx zUp9c>bL3R<>hl(T-JpXNCyk$zjduSQn}7Y@uiE;}cD{GxuiN*VZTs3?U%BZU?s@-~ zuifz*Z1{@(o)>J23(I&JjlxdE7prwL@Lmlr44vh-H9IsYJ@743lbK7YlO0NYr%jg zyPdE{GvNA6V~#IV4WJQ(XRMN>k}X)lpQf(jrAw@4F~UNS=ngt7*qkNV^wFc~^ilTU z;p4Qf=3D1vdC7PVtg{{3RubHJTM259Gzr;x_3^u2ajnF(l9*P619XjB7owo7sVF8F zu53z0iFtOul^{}LT1?QK;)*v@%Kl@n3e>zk_in$1)nW4UbIj#}o{PR#_M2}dGA8AJ z@W<0-R1=Chollp(YDqa01-?iZIR9lq$wf~O|B`gRaeYlOD6?xZ_^ZfYaz-A4b@qyM|WMMK1UQ~<8k|2^2>SUD6TOnU5sR9$ zE4A=_OmVdIGh7I@_C}L&1XI}=?>^eyLMTwC0e)u=R8l&gJS!-vq}j6Cv>)&6=v5Zv zkY%`7Fd^MOBanPgh~m;1pBSYzh^w3xBt3Wh5$J|>r*(lV66l~2lB^)y>){bf5Sh(L zCMRg{l0Cm7StCtVgaR%0^D8Q(7<8Lh26j!Gt&q>%Y$11g7E%OU^@{b|{kL5|kU}KKQ(E!bHoaE9UzUerwuc2GORgK#d5O&nTau z5s}%*W5`H|BB=6}6104`$^Ep3#|-uFoGd$^lXJ2Rs$_US29ja-^(Hv0fd3|NH5A7; zJMItT9i$pSQW^1o#V$U&5!SAs{>lZoW(iidyUEU7GJa0{TcNt#&L4=6e($-*fXy~- z+&Xp-L?Y~)!)@rywa2j$#HdL3vWzvA+~*`Gm87^3QAJt_k~N&1oYVR{!s%=oeCAV} z*sYuG$+y(CkWT{ z@0>L?d_V#Pf4{Xijwu)x>D{51|VLc*w}H4^HMNtM@(x*bl;9{aZ-*icq6eu$@} zwLP2^s*qOmV8!){*xKKpof%kXHI|FBGrukp^Er`F(RB!w){I1bo}kVS{?^A?b2cTv z)@mwJ^G!1)d(U2cd`h(9wQe)Q^!bP6!aov~y2u~X2;Sm1ktLq=37(tC67NCg{4HRKBI@U4_t#LlbRVIAXF3V7w$jh9YPF2v5`+NG$#Q}QxUM@IU$YT| zPNQhH2UTAM{ixOLPxm?S_fgzfvYHiazWfFT6%R=5Y=uh_w{Xuloz4;sz`V2QRzpN9 zc=b8{=J~F*o7jeu2-|`S6H$S*$vDXo76uGP&!DU%mDI)-J8Eyy<$_cixOpyC&HwrZ z+DUiE+rBL(C96(|?63bfsITwg+;!7o;q5unC8<~E`dW~a6oHtHl&zj$cVC4A1!v#NoN7#Q^E zJ;G>f=vE_{VnK3bZ5xqXV2N@@1ge;{XA)tg@D9k0c~WIHsnnk$=N9lSFdJCc95S@lLEU*Ct^K1cjI$-g$ zvIo_CE8w8I9Ji-g;W9scYNRxc@-hFe7#tC?qeFE~)O8nnA2}Qj(TPSNT1mn$aFHsU zSEwh5+-_U2TAUVf8^uI5g5;@zxux$k{Sg#Owlk1MU-4psUL7AIHbYn!X|xv$))cwI zZUqgN)NWh^+CvFI|1XWumaL!*%&5RH3)gi4mc0U(bwLE0k{RQ`gA$?8GlH(+90$}1 zegA`5+63Xuc)Ac$yY=Q|POc{Cj^ZcI?&iR53L@WlZt_jd@;7el->B2|2HcTmO(BT9 zm;U*VgVv#es-2>JrpEtz=PB|Plk20t_{_@%XEn>u)YxH2Kll-o8k+<7m-eFk&)xL? zz0X`}M7I?v1u19)1Qz&j^x2L_XtV0(yQ1+uhSfdBbVtUv8^gI%;s^jxsMl-#2T1p$ zIzK;ZSx+b^FTXu~K2ZlFGG?Pf%U#=0TsA_Yrp~d{hHgF1Nr8P@!wW@nLc_NS8gy;i zG$C`gar$C$l8{5F4?f7qWN(57tL*CrtyMpNBAlqD(6o`vTkj)U!i}bF@e#QK+|_LP zDd34Q82256)%aukMz^BUK#yXtDA*+m?9T1gsVnBBLYE6#5N-8m4fYM$v|X$M-a;&O z@|vlTR5p?T5-C`-rYQ6#DTH%ew1TZZwRT?v)~7Ez)3_+&#u+P1R@rm<`t8;biL6{; zv6vt{&31MlYzRNCm=TAb$5ME4bs!cgomG50(THq-ys9dh9^PF?G62M8p z+MOyPGA{8X=I`A>N8c5}tNGeW$0TDs@7B`vb#E$w^7VbH>-K>4hhs0B^?W^% zjN>`!{{|s zY5sef{mQw&z_p?308NK-=$Z7YDaR9DJKdF&-O?_A6CH*@7Dgn|x4iMCI3{x{BwxBW zCD^zKOVbx#_&|Q1dG4Ku6Yh*Wlls>uV zdOKyPsplN$B!Vo|RKhWcZ6pX;xALlaMEGLAaJASXF@5n!kT6TJQdh3XYbFcxJ@gK> zeVZCvMyWHOpo^V!cbw`sT~s$kal{ImEfs6~lF1`Z)E&7M>P0K*!qUo>UdIuMad-HM|%a6afayzYfy{&c}J~Xi+Znh z@wl;_)Fh*`B|Oapx0A1M9MXXJy(wpz7-g)=NG-*vhCLtEEKfi+PUSK&WkX!on3qlq z`o6#ll4Y!{-#65yaOiEZO)G7nx70RBaZxXD>roJpiR4F|scR4TiV3=N|IW>z7(@u5 zOwgU2W#@$3ZyusuTn}YPtsIe<#H&-QSeBgOb z9eH(;(o#|Ut?u2?vlSAHbJ!3N|4E{@B4fs@c%&dE04}LHy}*(r++1BFtCoY$M@>Ba0DDeC{da9)K^>FiJ3$E2G!3* z?)9`=!ARCrtL6NV(IqVkeOobPE=0v28ohP^Iz>lJ2s$l@b+`m~$(?Oant z4Y@{G)9cQd&2^c+54`Z@MmL(6UL975=2WdM$PhPZt!2i;O(nk z=Z(Ikl~EEDWP-FNvBX!eD(p)KRw#=QEMA11a*|1U(MyTe9p(tkXc+y}QVhU@fBo<- z$y72{1TZ;k)c+I3t0g2?tdv7l-GN>Y&$}b@dRttOGew#s8>uebofZ;LFbL!hOmJ1)a{FswoP4<-jO{_aQK% z35`o&_WF$dQ+>#Lu7PQ2mS~YeJB@7(PcF#vPEnwWxWiX-Ruf(< z5fK@#Nsa{5L|xSdnp`odxzw7&p`9)@Fg4~LlwXjdOvOSYdrmG$!D?E~&y2`0gvcj} zT#!W8MKWtD(A-~(>ub-B+JQ46xm&o60aZ-WnW2kf^bU>BjB*-)$hy!3J$@SO-5UrQ z08EaKBH&do!y)=|X}R=m*WfFtuXYArDsn_Cv=Tdk64ROAek*GN)O-iTPF>XS z(xBn>_oZc|tZ3kIg9+lhxFNm$Fk3wws?Ck|M$-%6R_YD^d@n%>GkVG?Jlhd z8i)dC=c#FvN^&I!D0%xfsOu4C5LP=Yn?lmMAOn=5s6m2Al>?C89#;SfJH7w?-;ck2 zb%YZ1j7Uri@xy)h?c0D+#|7r4(58G;XxgvwOmaG(6RtP{6fR*JkBQFET%x-LsZa{` zMOx38eg~Z4Jv0tyb{}dOJ?Z3ra1kg_9G|M&m?f6)EcuTiQ5 z6!iA(jd^ouTykl_b2v#jE4PXy}KuI#(DCl)!os+*iB1 zs!7nvR?j>EkU$$@iXyx#@#NO1W1%KJ%V0LZUC_~5e7|@2{P+|lF#DdG0kXk}3enfT zU8{dT40wngM&&Ysb7BhZ?sx0{c!Mr%?60r~qg!1H+3U+A))etK$e*iR7XE$Zu85CE>*--=cn_GzAO&Kh1secHFASI38w z`{=LjPUB{8CZeVs7iSfdRqcA`NgRBEI2+(MN2EqQ`dQn5| z=kIA{1DbDa9D0RktrkaLF&@S|1RMFCCtyTk%(RSNA+qKV?D#Jz);1876uGUiUtl3# zdW)Zv;9(-xZ%hj|AMK8J$D{GX(Rg=6%bK$bunZE3WFTSKUU5wmS|!0-t{Q8k`B2p} z)p^2Z39f8YGmQ4=CfbT`Yn4VPdaJch5MMJPg?{kSg4YGjwS}p1%|TSy#f~0P;E~4J zVHq>CP?wgo64MF-{n^fruv`fHbTnh!PQg4sCZK7pv0T{Q0JLP>@cSH9>cCA_*^PMFd)~OSdr4Rbc)HgC+Sr+uesnlPQss@I(zF zfu0q@C^Dmqs=2*CL7y>#A5MfJPE4(K-Tf`k3pB$^R)zG84m@h|!ADg;%wS8n;{TQHo^%Xx+ z%G*%N6@>CDs;tI8vBcB$+>(|{aN)-@I#n9Wg$?MnXGXvmd zQ%->qPgk~k1{BubnBI=y$eSAhA?q2H$4n53e@x25+Z z3Ns)NJT!`4F%$<*H;$~M*WVYP$o_jG`-X@EE*qV#HK~LfL8r`tC$siT;mRGo?cE>? zaT44E0WzFub8V6v^4x#y%r2#9A6E|jB%2e^_W>KO<`YCX2=61^b(?~&aHs4g3hTz! zA_|&(qR4G3A&P$dP1>{cHTV)C-=)w5u*mZVD1(B_IPy8#XBC1fMDI^h&*)t9x|Ly4I&sn z9(7(oAt7$q^WZSRst<){2Q#ps*fy6K!Yv22t|?87LBEP08vA0apA07aKIVDgW$5c*92s86dF=oAL%EEQBp%20WFc%p}4y9#=DASOM6 ztr-T`ZaF_o!{LIjbqajrwf!pmoEc>4F%!`l^m>yCOba%(rmN4wOdlg$)3nTovJiUA zmOHVtv1DaRFem(!os$Xz;kuc>2%Q1<*ZAAvnIwK6w$ZeaD}C@b3El1{cdH2-2ftv_ zzZ2(1bva+V)@EJpV*mQ9`uq2%Gz46#dtM>)jAZ)CZz&6V9_2s8N{8JF+wB(W498P{ ziK`s*9I@$7B$Ic9!gQQtiBt4KAHo^C#xH2(P5i?Ff~JN}8_Bq_co_*gPcY9GRFX_K zoTy*18F zsbt__Tn6E{`j9TTzo*26sL)icBz#Wbq&Y+7coOQ!NB!XrTo-}O zDo=((^xQC*26c$eC#Mjo+dgooHm!lq=&%Y}_oD|l&>yS~d$m-%JTSa$V(T#8E=zW8 z1hh4Sch_-$;5co+W%gUeV zYcSSzeKXYc@%C0Cs_AAEe09)bly$}Hu(msa8>4SD()WYKt>@5nHIm(}o2>V>3++%? ztFCUpa$O|ub~kZPly(l!w6)$Ln=A3U#71q4UI~HOT zs)DCd;KGPvv-JZ=iO)5=7eI32U{k^4i#5a}KR38=uW#WHQX|9#F&!;4K}&*id-cYe z+=ULyq3&n|jQxypckhA%Z)bPBxT8Hg;pxWPU~n>T3e3U%S|1wQX_(^acvy2Gwg5^2_;xWPbKRK1;+bSc2AHv(m1>=b55hp)4B(kzVC>r{s@!x46 z{RcP1R>;@dhXK$puHF{6gYM-6HC3*UlTK_{5j7#qL9L>VLZmuqoRdr{=%TMKowYg? zM#IW4)D_BEi8y0YGs4eao&YsXk+#u8fok9EoSn`qUQD8Sf<=;z_0f7wm{S36`=AM3 z;3_ZFFF1R4#El@crr7qX#?bg$okpvdr2=ts$tkEh0HF3p(lao-w(X=soGG#sL8Af* zsa6|w*>(=oMjF}Cy+sk>ut0AH!YHRR@QszxgkyE7qQIbDRkx9Gme-??552eHngkE_ z2Qzz3fnW@bS|)9j01(F2Sc;`u0KLXmg(94H(42v!to?}ypD|vNd>fIgjMUOZCMk#{ z7Idtkz>18tg<^Ag>HGJkI#*gn&vMv=Ra(>a&vp>KP@f}3M8W|@QNBZ+i5ZjU zTHSuB{V!-qji07AiI1hu8;mVuW!-=avgv3PQ}2j^Ak(pTh$~46ike5`@eArov$}yW z9%Ju_7m}Q?;ZASEz_bvY_a#kiFl~sOS#!8{HCo#kLHf+s1m z-e8U^N#HWHmYUJf%#aqC=WB*U1-fseiQj5KeSHoz`Oc{T%3XK1!@BTQto1?Lep=%1 znY6abaIccog+*_v>SBoAVpY)*eMp0#;o%ch)G(MA6@Wk95g19f9lk_uqZy_}!%1T7 zTzdiz{K6`-W)i1i9P|D#=3Yr51f5qlhEHql%>LlMYjxA3?!rREUW^#}1rKz!^UxZ`tU9Z`VknEijUbcj^bt0S-;#w&Xc1ePNNuu`#{coi-w?>`=U^^?y zccTkU8(pa@2&~Llen*6%W;dqED>h0o^fJMa{NDnNb}I~P8@~4F(EjISIdIbm1Jf$; z!+(K=n4kgt-xv3WxxIe!8vT)|Il-V;6OyZG++r~<89y%=&c#U4EC_01;U^k?62NaQ zjIMVA)%Ja@XqifUb#hKFtyBK6orl2wSV;m90$u;BN?=LFjB028XY3`DcFkPHo_q}& zy;exxCU$Q0(%}Rs6A@*fRgzpuv|vRp)D|RKShf*U5SIGEhzO(REKBdh4g8>fXN#$1 z9%yVUR%uq+yp_lWYG@7@Jb;|j9PN(B;}qS$*h!CA-X2@TY`VWT)4-!W7jeh# zNvWy!1bAsqV4z{~OI95-CgWh>>ccBRbTBeoeHMXm>Ityvfq>JX0O--A8^+sN|Db}g zdWy62ZFhUpAk6lZDxqMG6{)w3C^|TD`}2}Xo6uZn1)w#rHjQ`4}oEOxo94THowY@pYQ0I+x{ z(S(jTWk6=YN*`&y!ao=*u_R)ZO!Yv)5paBd;g3lF@_+!zX5l)82m|D*CYDN>I0p!$ z1)VR7WuSs^p$|jGC+#0f9L7W6ZHMg59n^)ObeRb^R}uf zl$$!95JPa6loB~h8J~|9vMfe?mZ?h73GAOin`nH+ct&)%HZ$iJO5!1vXgFy-6FS0| z6D6}>*l^HRRa&Z+@Sbj!sKzMLh`vUuarE((ASlBE#3_=_QzUAv+qKDy?Ez<;2@$@Q znlGZiE438_XGYaL>z!*HjpO;1#9&u)tzLax}$)W-NN#FuC9O{e{#w-z@jh(Wt33PF}6$94AmQrQT z^urkTG;%RPZ?-HyGh=M>8Ls)xXWxGH_Xq!4PV3LI^TY91Uq9PBXaD-IgW~I_X|@!n zW7k5_HC7Q)2x3}3d-31@+Wqf`KY#Z4WcrVT*|ItON1k4lY;-g(ce50tpuGY;TO`m6 ztsUsm3eP#7;R-`6nZyK+F&bc6+2E75l7^KoaS6f5P4T1??kvcx5XaPpRsXwgc1MZ( z6#V7eW+X0xx*0sJz||~}rq%h=2t+Gt!nw5Up(Z0>s8TaZIM*OQ7DXJJ%Sjb*$Zd66 zQH>`MKhh=rX(T(-Wd4lt`I&y={Em`KqojsSHS)v{#G z+T2AeJ4ylF*SK@I@a{fzCVIhg?Gt8eS~eWo7Sw@P#s4h-y5ygEY;~ z7OW&^uI-u0MkC95Vk1+HwE|X8GsFtliv8KixoT^;2AsRWq=iO_yQ#WN&C+keNhNvQXk3tL%W9%8+C~$t7!SVi4#v zKIs74^}6jW8JBL>HsT?4vgqvuG<5n&sylOFM=kNq3WBSq{2&CsYVO%+o`8l7|J5zAZY69QG-Upxr7C>ucpS`eHUiX>S-+#fq;KP3Or7yyJ`+`*OJli|zP zYg-&CDm?oMe|ci6XgEP)4f7)1!@#aMzz%<`Air-HHPAAK5yCUVrAXY;8;Keee@B{9 z5}7%EhM@;hX~1D% zxKg68`W+$188crr}9qbN^W~$j;lh6W= zj5%#4!4aC0f?f8;Bk<}{ov%_2IaItxgk`g615d_|4|w-j15d^t+((Et@M!GWl8v31 zVN!ZIH+QEh=#*o=OhRrFoTzrv-JNtN!9`6gr^AHnPDyAsvxa{}q*ZG@-{}>|p;gWD zfZn8 zI#Px?k}PAz1fA|5nbPRV%7G8>i*OZDYwhC|4qIJdKFV;mAieF);8;l1vPp>=L?YO zynU;o%7mw!F$v*Ssp1W-(*mtR9e5yIx-9mCtxrDrpM3KFU_SXRW8l~n*xK{%2KKyQ z&AV%@fZH~}eHOrx{jVfKe#LP~Ag3qPXe-M^hD=!?Rm2E zp*RfDQ57{`>UYEtD7dFc$emke{@13JA29UGPi$)N$mQm@oI53H=#@Ck8R@H zkR#FRnsB8*k=Rcp_C1qWw*-ov>QdW22hP5F=8T`U%#Hi1+PFh!igAw{tlMcr0{-G5 z{RLLlO)DbnXJ^K|=j^PXvIh?Y2C@?SCl4P!xQ>VxL<{xi?_|M*Bst3V@(U`MBdmos zDp_d-p@(4dvTyy$Wb#APNiQt-E+@MnT%Qr`U1jX(Azmn`7Ia(CUkc*X3h!{LO#ZT` zyN|TEM#EreH0%^k#naRaSer&iR@Q7o%;K@I+GZ&thfFV^0$E3Ut7t=HL%$#xiVcK3Un{Brig zpYQ!;W2QRitiEnEHy(ybet#yj`m7OnPR=BgxOijBn>;QDGy5}O5#D5Vb5<~%pWzF_ zRh6BwxOcPZ{JWx*ra7Mw>Q_Uk-y<(N9NLQl%>T4&w>RL^p%EHX)FH?w$gG_pEk3#ng4DV|9UOWrz`){ zmH)o4eEx}~7?N_0UO$MzW!<8U8fxEtu?bJN`b>0(*3O!*0%*etX$7k_A+K4!?Xt=o z90^3-^YV-}VApM*Os(E8v^?4wr#laK(ue8pZl~lyr{tj@sSX^}JHga-qUhC9DTof)99!3n)KA9gFD8Zif@J5SM;RC; z6FWJlbthHO1ukf=p+r&k&8l`E#;T?$EX0>4G;I)%Dva1~VOR5Zx6nR(kqe;y(Rhzf zFGPRTNBI7GF=L!Ot3(Q(&x9I3B`Ofp*W0s7sQb}W>wBi@SYuAm)15~TI+WiP_7VQ` zCnAA(B|zHpO8oo3@_eE@pXkmXm+lza(o1&?v9Wx4o9?uXWsGlAB}y!Qwz7|9LC23C zZiOPwQL9{>FY`)tTRmFQ>d_|(_KAXhqF{e43ifY`?uKNpf1dn=_3yN}8>@hSv&i3n zeG{4G_I`eDd}`OK%2b2jkX}rU*|}H6S~B(NgDS>$AAJ6_BOSTIYt&+}@NKtAtv505 zhb}RInxc(THC;mDOB)Bxr1Q~fsw}I4D?Jb7bEx}Bkg+#BxZ_3Py|-PoE1x(zhcP5s zK}jW(jBuAsUv<*qjfTS@XQMS(gu-4aIVa0?{xrXy_VdGWnW%*gD|Lk4GA={|1Ho>-{pt476u52q z#Mgeh;s0QK?HbYChlaPeybVaa;j35_TK+e3=||VRo6iS-1l#Fc_P%tJM=-w?e=zF5 z>gCJh)^F&+>jS)aeR}fxbisYP;6Bg=rz1X?%k9Vpz_|WmbNQBj3zyoachJMG!0Ah` z*JkUr`pw-wA3??4d;e(Qzp17hhc}Di{wf%)P!qp-yL8Ro(}53C8hp&Zt8X~C@oXG z5<1Yi&LI$_p{7+BUJ}xO+J4iT<%bqW;KcZ#D)z5GKzM|&*(EAiHAhV)X@RgEq}g1! zLIv9V-o5#?`^UW0-pNtue}Fnea6d&X#91{HXLlhJ>l;0C$|~_ja$E_8?f1^oKW|KZ zfA^-jL?EvPHXzs~zGzuFla?b@8O;D0#tkC>&I->>A!EI8i)1M}AP!g>o z`r>~^cXM*_rsgbrBbMUL1?HoIPDeS*&Iuo-e|9A%P{}C$^S!&Dy&2uxth1R& zi~qTc8_8zk&6HNNQl6DmWN)VR>`gZ3tf_bZ|8F$v&cvIXOdI|Gi(10}WLeL|n^_}B zCW|+VW=>==oryP8u&0k7kKdF(H>4qNDlrpp6a!S?rJj=d&rH0jAr;jdUT0@Dt;tNh zvBn4RXF;pxO8xb7gT+Gqu~d*G#~GOkKKsaT40+ zN`!Zi!l*c@n3aP?d@^j*@KxM|hnd)_=wh5cc$(@gn+4XVu7-!L)58-~VM#AY0r`yq zd!;>0J^DNZk!5v;1ASCXSZ94eTj{Y_fvY(L-mcH*ql_>zApn*kKBj@K@0MDD3qrR; zw>~esPNPAqz5wxPoIV&^^|4J|4F)?peL1Z%#<@CcOOwG%nzuGZ`CHw17Xq4 z<=e_&dsELj&WS*G8AsH<4T8}XWIq!3^v)43%?V%-!NYRA$fx0l~u<})}Tu&7BR=J=D98tMigNDnh@hAMT?1Z43ef;qSsyaIoA!B4;^!#Lc#!5<=M)Vt`5-x_CkDjD?jc+T{^w{_lA0lczg zqn|d}&*bU&=|i=BL5kRWencO8I6ie@DlW3r^pog>XfRf1bscZS1P$zmhoN_5gb5wLVPUGu03C0 z^06SP9rD?%4~~M4*C%+nQF@o2cB6lg=81Q@?fx zGgf7!mSSXDiNu8Tq1D`$jfRkzEm6JNtrUJ1L3VUVLE_27A;b9;7m9pvbZ``}Qr{vC zREsZ7i-GT=2#U>~w2O5*r(;NT9}JvKi39f+`E7*KiN=Lx&A;uwtmijQ)!tGG~t(#3ueFs(%9}NXv5I$AX3n-U~5?Ztk zv4wD`80?Au($1g~Ee+fUHm6FJLz-wsA$@|CI75li^NF4V{Em9-1u6O)9zWlE_TqV3 zx;->wI9YFkwmOKnPt=Fo*}iN#Smu-E{U%b$_`c+Ovh3(L=~$Jr#=bb&_X5N7u6^X_ zyf1C=((~(^FZef++t2a$|EOXpzX?UI71ZeeIMuT~7PnMn-}q4+S^#Zx8Rcgt^){_s zQtKctxzohn6-~B4SfIUso}lO7oZQngpOI1aUmo}x87^qX?rlRqVGMQ7ili=ZMO;tQ zCBVyoSp$7VQ)#PvfUa(fJL&@7KX`TwWEHpdv^o~MYHj!#yQB*y6=i@d4W)9X0>i+1xA=a^Y zkq|us5DBjG#H*LwpxPQIBPx^S1P#u~a$vJf+NTRNc>Z&vqzqjSg3kmE;QzLe%w{B0 zbnqp!{yBq~GcYJ)HDF$o4{keMF8`h8kD*TxS=5rcsdw~mLs;@XTO6EpeNLV=N}MxO zqSajIP&dWTuSnLw$#?DIEk7l^Y^5K8SD5ElwPGw`2ZFCI+gm(QvP%;DOVUa^f}$-t zs9K+3cUsUDd<|@8MfvU)IKZ2PNWmhhy8(FJD0lTvx|=>oADR-KV46fVDzVce+}dQ< zLB(>J=9Ne_j8rtU8ND)}P4@T*tagpbnH0fHEN1Rnth5zLUWxJ63Z>!9Y6~Afdh|fg zCDb9dO1lcgKzXR^c3$=zw+Je9i;ICieXTCNho|c+GmoY73Az}kkH$uy9_rFp>e1T+ z)8KhvDlmspSkoj&vD1}_y-2Y%E+23tchLY+ltETJxCgTaK= zHyTdZpu3lv&Lo^D`Lu6%x&quyer%CiazrZ-~5(cv^o z+t|=xvbDm(pq;AyD9RTNmtwC#-=|DG3dz84See+T2n1qq63FDzV2&xusmRy`;Y-9S zK&K1?6|si9+H3(UcKMuGwEIV+8kpx;sQqJ-fH}+;c_jqD`19GE*I9ZdvpW6kwRJ*r zImji>&eK^_6l&;iEylT_q@TTZQrX+^9@To^AJrbX%Fumq9MoxGp-rl>b5+&u9>GHj z;-n93DNOV^rld+)Ic3bKk9Jx+h z2n<`SI|?H#f9<{uR3+b;n-K`nz|8NH0kcca4?So0Z$%Zb5W>pr9^za%6VF)|tB zKx<-y1-c|f(MGv`mq(9zy++VBdWesuXne}t-r(^U(oLl{sY zDMRJy;fYlw>8^s_eM(a89UeW3gl^u;6l`Dg=Td0TpT&Fkm;e)ROyXmu1& z*MbU3D((I54aKx6?)d50fjMO{5wtENaiV=_+1dCf<0m`6+sC&Jap4B9$Nlfe!CH6U zU2p#Kdb{I(8y-w(HJ4Mct$XSRs%Qh#o`Kh_^M zCXJh%jGA!U;m0~95ujTloL`L_q25kE>Y2BVgCiw4&xyEU&)4AOdqBP@&|=MUB`NVn z+w@GEd`@JqK)j(S%bO}uyn_w?5Qw(Z z7-k^{u?n7>jc!_#!)IR_HaI5*k=h_@N{ldP%*uP%J3p`RPm?kD;iCsnp9C-d&)nd@ zgu$;oOeL-MED4?Q#k(sUZO9K${2~Bo+VUQP&Efhp61%}2ZA-SKGra5UZ> z(X!_3LT7tUBunIiI3sCX(}Y%u2au?-MmVIZgY|O4W(lrrQ!|YA=q3p4uD3Sj4eTim z*t3s!w}riZ&4d)%TSW)#xuCg*Yq5n2yW!D`@j^9pbV5I98Af`JCAq}Q)Vw@otn`z^ zav?&w&Mc&Un~JEpsu{gSj~tYnp_+npsut&NP9)(at%yJicIjpaT?Kx&rPdnW^Azwy z;@p%-NqC|Lk(9?Cnp7-Xama3-+LVyR;{(sR2_tv3^wna zNQVL?uC&duC4y9YeY8^c53QgXn+pIeeIR0FNMzyPjWq7KpX(3@>exWU>ee>H%>pfe z68xl+ATKbdtP$W0qQ;FYebbw9X()GrWs{Mrz(D}BKuo__V6h-MnqomS2sWgaA=e&1 zAOsOV24_=41G^S*b#V5&O<=#CoB6I)nW{21dh-J;9U8fqpf_9g$!*5ihBN!wVc+UW#@z%@l<*< z3XBrODorx&9+u7<%Xgy)PRdy$$q^^++4vLT{y>B~5Qshy@$QoEKnwCX@|fe~%mH+d*NCj2h~4do z-B+~21-RQ+Tk%3Wz2;=A!`QYfrn9ERt&{~ zbDk-KPwe%_rP3!pZ-e#uv`<3qn8q#gy=p&iOUh*-P6DDm2sP|lpJ$C9`VXDiqxe-# zvN?eyW7_bPaOpD2#@C1Lx=lY#1AJ=$F3o2=#x-;Jt z&v_Ib_6t@trGHQQwH*ak8}NU65`J&dlzzqc;ZI%^zc()m<4!IR1`~6Ix3TE={#~hh zk=8d7w$sR%Qw_z@E9Wd$V3Bz-eN|8^~5?>|Lf@SAPZcgwQy9*RWcS)VsJuW!G z`4Z(y5_Tu|)Y~N5v}M|%exH@KT}OZ44Tos&=->q2OZUSVW*>gpTxfxA>@@eOef-q| zTBWU+?mQVM zhdWOmgfr9wJ?OJAGW-CWsf(LcISl?18&#k_K&prnQL`$yM;$y8edN2Km%cEEYgdt6 z;G)rzQ$#m>dGEjv;kEOSWw-#dGqK`X-o1*Vg0Xsvv-52vn3gW6L^(4N7^bw!5uRgO z328lY(7{nOq{8>vj-RfrGxze6R(nSWhS`f^bwLaQ^_>dIA$XR)!&P-{S3s+*XmTRZ ztf?~1W+_I>IyS+}8eFNggm}s{z&(3T&G`dEbi;x4<6&^fE!!1fRDmTCa`baUxRQ+3 zDH;tG)kt6pO0bA+5~At17w4a3dU|-GkCz%1NJCaIP}IC6;N_)IPOZtwMuT>CB0 zGo!uhb3QYlI{s&-e3c8Dy^w=&Vmeb)en(+Z%?dVOB2lY*76_!|upa%#cin*E@k~`@U9$XeGWnIVYF)X?++p{6;OJ{gK9_{DoDX`%+TE zt4d%=#f<7F`Dg4UlXlHqMc^J!ItfOQR+&UmJT=lG$U72y^PsjrkG|)C?1H0>aH=L3 z((9wJCBcwfN|%-*&YD=q!j|^x^A8^%8QL8&%1at4s?WSqVpmW#I5uOoli(zXZ|w!k%Yfgdk+{Z(vDV2gG<3S2G2 z%M)2IE@2&YtOKyRWq~d^b6OpCpw|xXu&d?`({7PyIPP&aCl!;#>2Hddly;`~8Ao-oD;9pKXu(P^W8ujz09{-*Gg(YvGXZ)$yUX7!7)| zWQG%*Efn2L`*5lqvizoA;~QNVYyHL}Bbm1Ec%Ylr(jlfifdN^jBA0GI zOm}fSdR-R1fNRqG0@tnm49h>_mImEkyQ}(MEO9MH(KIs$Bbq7r%AM3CizJbswFez5 zO9*$Y4%@82b8|D;u(dr5^oQpWU}#3!<0c1%ojb>e_5()7U}awnVei`)(9?<*+ol;} zmzCe;^cv_b7pgAs@Hy*4tdWmvX#HKac%l8={k7H<2-_(LG{piax{0D-PvC+SCGz^-ZASon z)MH!-78t3-yB`FQj!B4HBRi3ow0I?m_?i^ucRG+m>$+>BRS#|$9a1mCy?*QPO;L#! zv{j?>45GSk^<#n|HY;I8aV$N#)O7bUxvD~-nK zIMsF0HjLoe5~r;!vof^C%D@`oxYmD7v{%yb_G=j}B4-5|Ad}CgwPe??PFIjq@FuPK zyz?=QANGE;2R4pp)_YF-XL9X{jY;*pp4b+&>&JK9*%h4ut~#d{(F7~?3zJ2%6&+uP zZb1wK?`df4khLUy={RgVvl)f4fX5jIRH{gyZfxE0F=r zkp}b5oaVG;`xlO3gR`MWar0vlb@M?_gzD)xd>GX5)}I5Hrw`trA)Kub#Sy3~A^8le zCTM4zdlMaeMa!l{g8l-^$#pGH=r5!%Yj?&<%d%Vj<|U_+Bs!Hz!RE#e;-tcL9pCns zxY+m2+w^{&^0MX(UKW+`anz1iW!3*iaTTqoI_h~xIqM$yjZRmnzqJqZ0&}Aeh44-g z)hsq)v&TDK0}cXr*9A4X(G*ZnBB`lKCUJo(*9a7rh61EL3TH7v-VN{hzmA?CAG~<} z@^tTT5?U(gE_Bc#lXAoyet}pe*@ql0ddVPz5QfZ;5KALxmz9O&66SECmlxcw)SwV2 zrLl>%+GeqhXpeDg$u5Ha4k`#34Y^*|^+70@r%oHNYp~Bll2(l+@Xq^H=VEfoJU1M# zf@4M@HZRx|#-whMR!}Eg<+eywrfSW&nx$GGI462wk|B&TQb~>rR50zR?8%XufwltF z#ziKf5+q!yq&;^(o}HOU3}P1gtUSkwP!Djo*y*syhSsZS#&Mm(gVbULWeLGA>5B zTG)}G^91v3K_$s#!-={=l8jXsnk)--o!I^zT{pjNw0TH@7sQqWB2aTy<2jbzOk4-_%Z`EczY~bw{iPb*_NL_5y`3-=OdOQTuGX^aI+b%Tn08cfac-G;R%_}0smiWhySfpJRci+j`WFvA^{$@pHkPSI&kQa8dnXaHzCG00 zQ8!?$>4@1%V-eY&^1K+Cs z0@E^VJ+xj|@Z}V2S0xDuoA9m-dc914fd}r~h2(LSv|a8CmVNjDy!6V%oYGpvKlvqNBO zV&O3zt!R@#kg+5%wbuU(i2inYg zkRv+qcMLrXv`1f@e>b(xfpM`Ts+@G(pj!!iecoOZM7}5KV~YNhP1_AYfdC%Z;7ZSU z>3R+G2pYvLo6TrO;~C}Q!FS$6H!@d`S+)4rP_NjTE=|#1YYoB3$Bo&nlGcqu8dxw| z6*a2_o$A0e5NKF59D>$Rp;J4jfo?|Y<-p$6+!mlc(<#^Ra|X zJD94$+UQZnflxG`(ubnX@p4KEcBy5X8HHqFpm2b&+}l3tid>MTM=S8_PVbjOruVm< zS77+CU_x~5KKT5pPL=~HT#3wb?+xlhy1+_WLpfG~RzC2r562Yo`Tb`%VsL(9(=$zk zAcVLYftS|3f1$_?Lbe!rZFk^9i?!^Sz2q+oVIYJ6GJG}zOJ%gu{!oo5$qGs;33;eZ z0S=)ME)AR;LV*kuZiSXPnN_v0oQn+vWS>nN=W^A_Z|UzJ`QNU-~LPL|$(K1k>4U$8YX3U#@LAu|pfIL;8NrW>S+(=$&a zWmyASaoZ_a^6I5mcg_XHNYu2d@VQPrVYP%8+NZ?aOMX?i5jbv=`7(9w6hma{s|C0N zD{!Z^e(UBK$qb$`1y?1L#l6LzLI84jDr#NtY!*8J{lup3wI0HYgxsL*a#N=8Ju-uT z4M%Ax#@`%fhcj=VA#8&zHVWhSc`D317N;EpE$};&qrE zF>e{GL{s!KXNmFYo|sB$PA*b~Z<8mF#^Zoe_qv_w7?K&Oq=Jx>i|9t2p9OIx?rh%) zp_z#6ZH2C}C>ZincI-tLarMvTK1afvIbk+1UB6>1Mk7rDGx`p4e3$FIXRIt)gxlgP_6P)96pnMAJ0j&BwkOn+h?)R0$O2z<7QKaCYFlA_~NY2viNHD_Rw>Vk4s zMTTdm!TkhJ>Q^=46c)J9W>k1-{VdhAAl6_dizRG1YoxmQIMLQe>OexSmI|!w%rWf* zQwjSpY4xw^V~Vr$OUwaL;aqE4vZ9|4{w%0Nh_`(Qb!l{;>I?lyYv(v@co@ajsO|U! z&9gczcd=XIn77Wu^i5Q()d5?eg5qtA|xzx~hW`=@6I&zxRLT`l@=D`eRV zXV8L+KyEfL+4Ls}T%Im*S@@dTq{%$1Y3ip#3XCo=cYW$wi3hM{&H}qy+DS(7Qm%=Z zQqU>KeA#+9fmkU!>F!Rtli;GJ6$w3YHEnau3ax%J5yt{P(viR*NLNV=L#S1+s4RpYVGjo%i zX|p`O9H11vef#<~O0{u%y4D*1YMBD?)T0P``*w2U<`U1*+qVNZVzsi-;6Lh+N8>15?oVcb}qxD00tvI0!c`{auI z61DHZo%RQF6Yc~FJ`O4>H#}!Fs=D&5<-nT>R+5%!Ho99AUQ%rnw2gAgk>rHjL#%Rc z?eBx1-bhxc$72j>x1!QtoGte_--QlmD;VCVNkhrWv^{O-TCe@7bjOY$+ ztT|Ji>PNcxv9f0nzK4$21K8MgoIX114NsF4Dx*$q$MSo{hWEzUyK(>bktd}u8=0)MLG((2%b!eDC4f8lgtL1`mdZ=FhJn5MurnXQf#vl(>*2p;cHAbby#f8ZC6Epu?Zp#cVC5 zml^-b__@%SKxZq)8zN|mUO1J*l*vULSHk7o2Z9XId7^0Em~zWfUNh-#+>%2EJgd{| z2v0IyJTtYJ|2Q;08Cr8tu=$)sDiI(s))~XOpj>ha8Q+{YAIRMLF~!=S<%Tm<^jt~| zspRzqmZH4^926wIAjMMaY+N4(j9EsEgv^!1-XTIPz{9S1egBKh8^}^FtoC7J^l^~RXpf#U!dJ|=W#mLfvZbJk8&b0EyOkw zgmglFvrM47YZPb3nhtzxl7h`g`hD@|U~5+qiW9KiIHV<&E^v(|+uBS~U7y}_NfYVZ zMQDzaDX43>Rwq|4OmMqZOBD2DhoH8sCLJ$##zzW0{Pks3VvaSkO5o{IM?N(wFnyra z+J%#n3|_=xIJj^MuwYJlE+Z4Xt*LUO^U8^!>LP}92$7u5q8-HZ^fAZ|lG%w~k0+06jrziLCQ%iU%> z5rVfnv3>1UY%97>Y8eQo#?ehTq5}OwINMf-S(CpEn}@WDRf+o60uRCW6`KZ>J9ya8 za4Kdt4BR&K_Qv=SOvK@XyT}Mn41?5jDlG%ocNmTLrABfXACMclz?CM}9WZLlH78-b z%9;sjn1IB`UEelA_$B4eGR!Tu&FU$@gG4RO*f{Cfl}L4JMbN6NWex~ln|$u3yPv08 zty+;w!sCU5d$ji)^(|XLs<~VQ^M%)@4c87E76;k@wpDX|@T1lI9j%*UCJtdqZoh*1 zAlz^X-8pNoVT&MqpI~OkE^9A9OW}ths z(e0r-SFU|#OTy97#YhCtxgB*Ge=f&r{f|MKGm(~L=Lvm zK=JMB|Cd;13k5M6Pb;X69ZMWlv~}4@W`qx${ve7{+kFTQBEc$NCQ2rC(i<%(MW<1| zA7TAs4J0LF1n=!?lei4EETN54Pk>mPKUyC#8wy+Pu@I!37FzcEiA^;HGs^(4x_=Fh z<=>LO){M))IRSeHCkHA}(GE3jRWg<+cGA!cRgYci%&(s0xDqq#tlF`_atZsv#SyN_ z7<^!P80)V#>;har*TAoty`8&VSSc@JcJnZ-R2m*4z=xxXl z(~A}bb%>4_TGbzX3F$xhe-f|U(gE^Lf*ed zxJe`?Cbh-opfeuwv2nL1xWHz;)^UGfuKcK1klKT^Xp!PF;LcmglQf6j-Jbry*uFcL zal?fmHr7f($~hx|^a1zzs2+?(02UHfKps?uI{G#Td&D5PN()r275=tH3)bocR(-G{ zyDksu7MZB}p!)#iTfq~8Ng!yc&i)=~TcQf#50v5dcC?^qv-&t6-g=0H%M~zB&S@P% zx*%NtNm;cTB8BWLoT%pCsTOVG(LdyKvb<)f=VZBRr23T~t{xle0tUN;w2eOQb}w9Q zBM_P(1lF}aN?AYi5bM|98{=@)32^qInT8{le_V#4X1O~tH|838?pu3(2X}3-Ih)_J zNAWf9cm`ot+9+EBeGP9RUdeas zV>}*@A3uBu{~wRX?f;J-J$U@5ork+S>d*1cgFlUT9zT5i_)lp3z9zZuUn3;ue;U7Y zU+u~LPX4`qjXq2F)zy>2E&28>T3~^u#3)^H0h*Zo1n8ehN&kBxrAjB&8F^&J&dZhG=t z-J876Lh>flmeZ_)e9Vp`K>x?T=|`D@K*iIODnvN5ViNe1{Mx&F{lB&6|7<~unsAZI zx_E~^)}Q~~hYxliw$A_O4<3&{o&S&VZ-|aH25h~4ofvLrjk#O$_AOMTGiS4=-?h>V zOIeUqw>0Ju$EKZYR&!d(85;a=F&f+o0IBlM-&?O=kM3{vP=W<1%zvm54H2VCVe;~9rVAb?D z>SuR#t#?@%n|^Sk1?f}{2e|sdZv5q4 zCRY%-$<%^su6%)cPAZarv*LSqe(yL?^XhQjc&{6m=Xo7d+TXzkno0Lq{`CK`_wLV) z-Sq zz$#xdb7?-)c^Bf6`Qe_~xz^2cIdKqGVk2oie>q7z@jhQbI+=0wCZgs>yZ9o|NNGue z0dt#uJ6bO>QTqc<>9b-WS5p!+4Q5~OdKB!U-%FxH!YeQm&qpVD-MQ^T$DhEiu@`?x zqY9J0i#nHuO;6d)^-~`b1dKnu>$ZDl+iaPJsCT0FN(|)(tD4`+@%sb#Cw6V`E&!LI z&m3Z0K~LUVJk%hLG`8(@gxFop44OOG4e#R&R67v~&r!u+XKrj}*5l-QV_?l(S;_U6 z%);vhC|e`ft#i|i{mQb)X0C}2_{>Uff{x({_BtNBz$&@$nU#%R2yc28-5FiLEh8p$Xo*VC}p14{U*@2d>OEI^Qjr6vWSZS%w9>=YyD zA2BAN72&&mmI0jiDhonSz2k@dR{!8#@337)=HeNX!gznaOK;WHg!UQ6Ekn(~@^+nB+bDX8^*U=(WO?JCtN5Jn~A5coOn&w}_! zWV5OmNazKloB5oC$^g5m6{v2KwD*Jpp^EX0DO-{C%<%&$^Vw^QR>poV>y6?EWXs4u zAxpW8kBEhGM%u+;o@`%*K^jP(Zdcs#+*bWGR)(O_>}%o_8o>A;0~psvvUrod{99@D zWEQvZ8$QIzWxx;y*h(DZiu`eEW-o-kUr-=;N87F812dkc>o|#N6c$RnCix<5FwA}bj0n5^iVqNw~m^eFq%2_l## zcIP*xzROS+b`YNVgvTau)Ihy|!Kou85ExxW6FjSV3BNH7!Go6Nh5Q^zq-r#ko^ds& zyp~E>DX?ASOSWUhAu0<1i25+u?dn#&K$5rj8no=jQ#H4(6?ib>e;D)DTe+PH2F%Z= zP?>*}G8;wXaa!K^2)8TY2rYYLmNp`}O>VI<$?biLqarD@z_?WG!kLkgwL9O~DA!o& z8)PRr*x+P=3=dP_Aw}^)I~(zX)a+WgOf17JO&-H8mNy+@7ukHb4^%NhCftF4cwxxW z-*Y-S@1IsJm7r4#N;?0R40UCP{XIT37dt1jN5GRtSJq9f#3NeQT_rkcx7AUvqWicJ zm_mwLNx=15d$QbqWv9k|-`KlrluH`GD0Q8Y>#T*USVi||v(I=oY9&VP^$tQ67pg;1 zRlf0n%u~@4hlQV~0~zyVN%krurkhzMSx)P1{USqu(Znz2{sW@mqdO)j2*ByZN08K{ z$T8+c+t9}X#_@<@%H2HUrxzb%+MxYs7y!dX^v)wU*d4cT-g02nHTJ-6$?Olh?e1~Q ztVh4Oj%@GkrQ^)`VlcC!-Qo<1By)52hls*%e%eYJ%~1>IW?UHEQ{?g#aiUVydK`;$ zOvX8&FizRmaFlUy$uei;8vVU?G(?l6y(jDc+ArWPn1CI;xq9$X#^9d5x`Qmk3^xW> zc6%fOGxp?eyZg3jw2;SUQ)Z1REa#M1X(>Nv<9v*d%^6|gDzS%#}@xSYMWLASDnuD2S6S;B%W>ckYc?5aP*x0%4?%ZJ4KFLMP z?NA+Pg67@R4knP74JNR0!)al$tsbOze>bQ(y)K+jeRc!qC(nXTgE}&$ z;*Tp?Ae9zTtrfFfyD*BZWv{?ztYu!rDSZ8^bt0>)&AdoiXcOsA!g>-_vKU7xB${{u z4Md#A7x2am@8*!ZtSWP_*#gU4^k4c!7SI-{;gKBw7ytviEYnWaNsW*=d&)rPzua zX|oFwpPqQOoXkL!J0~+Y=I5u~e6LjfguIZ--iw|;P9qF&i}poVd1EY2=WJs@=m%|3 zzH+w&z=vUg>;^KE7l@^cm{id@=khfK@l z>S{D(ac2EwC*d~(G#fcW+Mdt`;P z>*)b#0qXgl=QIXWR4-eLwG!) z>}s>LqoOvF!9!%49e`EN2+5qNn-vSsi)Wb`0((^EtW+h^%bllM4D4kOe$64?vc;FP z6(#fQ(kBSoXPz5S0$K8^xO*yoZoW-bx1{fYE)~Q-HZjmtS3mElu#EEWne{);qW;;lh-~k>il#Mn>;|e$<;)sGI@H5L;?I*eE2Dw;Bfoc~nshri(Pbg9yI~XMxbS>aS$&{>ZxIG}N1e*` zh&VJ}tVrZ$*NSz6l+Q)<0#PMv(g{?)&B+`z=h45dppb_~JPYD&cC?IbN95YpjAmj|n@oXzqwF!dH;^PvL zIG|a3=e&q8W;i~Bul!jr5V)m=+)p^DFyks?_cui_(ke-(g`pd!Xv#N|SQ)|l;0^1b z(52W(<`&y3S|E=t0fSeIg4R@}$#zyw7g(Ufq750(Hto6lDx-I0!6nE5%o;8$I82WW zs{+0^vrYUh$Q?P3w65Gj6yj1bNmZRWy-(ao3D~nv5rcb4Q3VbXY+I{liWwE7Q2;8C zt#WB$KjmJexRyT|#93%0dY_ud(#hKv6P|lhh~2zKng<&o3pf(aa-bt$s{n!kH5dXG zg(5&1jtF~r_Ef-<+BuVbD&YxOjaVvlLj|+}P2dfXLL4A~Iji{`6?iRKLapMO_DFHk zQYW~a`9rII6su#rYU-30XF0@m`D;}yrIa}4J)3;ANRo)E@k`w9)J+z}M#|7wCKT5X zIo0u>@7d=#AfX@aNi}77MRPuYsj9Uz8r%=F07x0 z^MA^L8#cTGw32%Z};m=X?j+uei8 z+ojmuNzlh1h!^_73HbL9Jd4{8zvhx%6li9N8xy)&_M7BPF{{c>j=Zv3F^cF}(w|{) z!bI`Ee+UD_UM3~^b@MwhXxVhhyq>4I{2yZ1#_qVmHc%)3`$whxZ-Yba|5?kk7WuC% z^k*BzPkff?ZJ=@+@Er67jUqM@0V?U-9RM<$@RGVR2#3ERi^d`~iPF#J^z`zL)V5b<#)ijp4*Bl0{;VS9I%RJ9A#SEXO#>? z3hofFpbLEB-A1?s^SfegG(v8G0Cs_md^%x_r8z{1=VwvS39AgW!0D$??4SHj0?Q*P zK1&PegO7rC_RuePbNrCz(fT2IgQh-xIL9P?;S(>~5Rsj};a-CDPush5?;x>HFFwu+ zMJpqq$ff^aEuJ|LPorNaUO<203CU;u8NK{?ah88^@$r22f`smA@b>`4#;ZSo3q+=v z2K;)u;d;5>AJ0toD0bsqh5q40tB|zVIFtWkj1i5UT@C-KCbE97; z$e99mQ>5d7}{WyX&jWVw1fr+q{9sC!w<+zJ&8j1=S@IR7Nx|?O@WGc;1b15-AC-c$D_p zAE7@c&_-qA7SG>goB*S5;Z#co*n1x%8^8(K8ONXSEcJ<+EVGhbd-LfH5Xd)9l zQP)~+L$X%le<>eLPv#2S!olL_(pO-(XtMwF_~xab|L!05iuT{0**ntv|2iIN@(MA6 z&+J2NM!a+zEsyqcM#&nfjx~sv$Y)O1jta&9&M)m%TpE%rPvsN0g#vS>s7mTs=m@i@ zk_B!qNvcaO1GoU$+)*DdYKJdhvSCjonfpIp6z+NWc%j}C*-91~7srG4Ptbv`HS37{ zyZYWJ*RcQ-mrTq1!T@ubo$RlLlb{y1N$t@ac}q#KDyym(^HWNA7JD_^`SYHoaZXj) zR1>x%H4PZQcs7guO|z%E@r(K)N+<=9OmWb3Z54hd>X>6JwWepZX?w(@p5-|w;Ogu` zO?u2S__4bR)n!+)WV%>-r7_Kibcy4)mKwbUm?=?`Vmvqeg_PoJ+y5KufAJ0GP1L~J z_^)o!{?qRtY5UJwo@Jc>EL5t{yY097c+$q@RLjQ%{lTE8<^MXKWypUK-febg=w+^=mu^s4 z+;y*ZK4HPl1pvbD`RA6(+^zpvdq#2|E^8s-IRLW#epzNYjmJ%~*({k~Q_o3`ALQD; z$20A-GrCeFQ-k5;r&S6o0J{{C+vJ{10Fu9zO-98E1o@Q|Sz-4IruSkpSjPTVW+f@G zFeiaEL9^cEf2rHha)sw-Vu&C?)s%iv z%jr~GeJW57_e#;A4frNyj!BVMbvB8R!F6bxjrG6f=YQ%S^o!@e2Ii5D|6I$nqWn** z$-h*SMXAKjnsX49R><;l5Ve$&5EVW(5=wbb9eB0LgqD>?C^r+EW%#KsI%kHTe1!#n zSM=n4UiI{qd5!WV>)b4Irw#x@$4=um%I=)XPsqJUojXY-v)HNm@IkJt(C@`BsqpT^ zD<$jWDHP0mb+YZ068!iTRrsai1>a7Q*OE7E9HObcYB9g z|69jXfIQJSpS!_YLw}++Z8uol$Tq78fZx0!vxuF52;)Et-DXMgcr zw3FLpk_~1;so#nr@=if)7rS5Nl`neMh4Q?rqM~5W3-yXgkQ5Fwx0{!7Z6$TF6K9#U z;y-WR1}!$stWT4X%g0)7mo(kJXHNOw$O}|={-b|T^#2bI`r7}qmZzEgU%wk?Cet%A z*vJTBV|n|=;(nRgu9N(0Mb4V+R;TW#Y2b`0cCpZd>fQ(F$F`$Px_a$~BiRN2s=$SJbIuE?4JJ zXfChdO)C)6M{)mW(g6CH**Kd9gVgQ+M@PNF{(orpb^PC2p2G5t#`)C8mu!?bM+<;H z<`XZk2gI4qmJpti*1xz8P}nJ#vLy)iw){xV6Nk{K2Kh!Stx9RTRjQ%FiJj^qK`z38 zziGnh686-F^*8WFOKYBUe^sti#wW-{DoT>M!GdC&GNdInS1ltTelr1mPmMhFKGwTYM|4sIP z%X2C5948`=g91`vCsP5M+kX!SN80|omPg?KkH-2e9qP{&fdExh@qDPX9KTN}mZBI` z%*(|!g6fKkc1r=#@=eWPCkTfDN|Xv{+XMxH$f4R`d=jjWdGE9)QmD?{91( zof~)`<<;hWkph$>-?s8;UZjppIUjPjrefJzCuinBo@_n|y`D+*$yqYq%ij{0Bmd=g zz`FR~ql4o4ucLzl?f+ZLvl{uIfY6OGAXYEE)wvayzcH-c%_x&to9lK|nwrWc(#AEd z!Y4TIS1Q|Hm1|PA2iMlf?6bvVVKX!CDol#=O%$;)P|?1)Q2kW_*^L?y8Ac_x)w${u zOowVKc5Mqwvcu2OP6JQ3QVR>%yL{6^1d-DgT!l|Jxsw?7xG9zV`pEZ%1?*W}YsuTPTUUpS33s?N)p#cE%% zB-Fj^i1La$7eLlJqI~u=(f<&&Y_*85{8NYjyWOJx*FWs)`0uqm75<<1)Ut&xpZJGo zi1LbN-;z|lxT*|vi{7*r4gs&W63h|2Rqp9TF!ojO^UD7w2H+a`KQIptiuT{bL+$@t%d?35-^?hlc&R^g!tZ75CC_71 zPDSNr7?oAFkj8d6mBMQ@CyUrowkOL9OM|sC*HTs06KCHxSX7qLAXZE9BO8V$saBy9 zHYKWyN0`luB@t%|Y!r)Du~1(TBDBCo{6>wBQt^2^;|4wCD~ewzu~8~K)4TZJ3XyZ- zMOqasCpRFA>ROV$TdnGb25(WN3s}7Cs(V!?Z~bJRCi*|yRpxL2)Z71y=f4N$q0axl zmZw7hzlerf2mq2_p1}ja=HHT3^Q5j~_!fV^Aua$xU$4stz?;@ifS3L>m;cQj0JZl2 z!{YrP{e!Ny|E%SiQ~p1j2VgaOK*0yFx=mmeP5_yxZs-NbS5@lKy?U z^bJF_XXCED0dvd$1`dE4`QJM_D%$@Kx&y8MujN@x{%@uSAX(p=-~w25D|sFtz)V7J zwi7@&8I`>NN~PE61`zV2><5sRRz9^YtYz&dwe$P33X4lJ<|@|R(3&f(bpdm3ZGGzY z+$Q^fH1c-nsHS~PpIZChK{5VoaH!+I*7H>C|Ch;73w40(ug_oyOy}W}_ULSVMXWIU zZ9{B=6@9-hyWp&OZ5wV@Y<9ra?g0gR;A%I4 zRoDc@VtQV)V7ay#u~_33?@|q|gXL!HErgOXjZ-z|=fumj6)q(I6>Weu^1pvjw*MXV z2U`BG<5`aU-%LATcKvRGEpQpz$n)3(^OA70ZGx4PQ`s)4T*De|gOxlf+XriFP__|P z*0dQJ9VNrJP$tK@>Mh2-HsQBnbabP7@_b3{t(EmI$>!Ri{)Tqf%9BEzPRHC3PNoor$0)2Far^pNGOmE7(Y{Z9%WK z>s6yyO^xc`$Tsr$2z-KFIs(S`fdO{qJ8zvzu$Q;dNQ_3!S2?RGukZ=2^i67+-8~yu zICCMy`iww(I1#9Yl?5W@5V|a}Y}ugo^ki%t0qRDo>m;Nw;#6~W%|57C2i<6+=Lrjnjj5Fv)6$Xgbm3>D^ zh``+hxmC@-8$l;P1~7{FEz5sJ+5C4^vY-F@evrQde{XLy(4vEA2_hE1JNTdy$+Dp6Jx70N!Y{zi6@kvv+u%k_Tb zR9jZPT4ydvIaR8;p-w8Oa{*Pfrnbd-vrg?>9PluUX6w#}baDbZiH+ETydu3O8!#}3 zRYb~%ng11BE3`C{Bn0r@1@f3LC{@@|f&+W2X>Z9oYbv+xk zl0Tbzf$PqH^-K5v9vt>`{-?D(mHyvo#NWpQUhM?_MM%}a6D+Dg;0_jX)5s?*szB@* z7JkwOcz<(CuyL4h=0&ceqRHwjzWzZ@PF^Z)k;`ux{=o_N`MB(E;T zBVRiGpS-ux2!;+lPp8BCqK24Ijyz(abL2bT!;Csvif=~PK>;{<2iiYJ|7w45ydf}V zv#ix^cL$vx+rI^#Yh=VsT(BzL4EL0LhW;lU&>c+CG>&HG`Ly2nkWTh_C1;*XkxLm9 zvsxK*DI09xKY0fT8l(F!$akQHP8|mryZ>MN$Ijkv`^UYnUm1^Y3|=`f-aPi67{@J8 zU=e@#8HKn zLtaGQdCf81U*8lf3b2hVNZJ`$;>^@HUb0cC6JT_WOryEmj+$w(Zz2sgZnA;y`lb-1 z4!~?MqmRiC#nTg;E3tAJPkcn{ zyBl{G7eQ1<@uPlpMRnzqnNOxIv?CACdnU=M4718fkej8vp~2D5SIumb=7fol`*~?i z{z^KVhv|MRo?yAyp4t4K-0x{!GTxEg3i*pu%)Jf(HyO5fZ|(kz3CMeA1Zxd+xxXoj z6&);N55D&d%G6oRW9k^>a}>yQ2hqEykfQQEXE<;rirtCDza&^Cze%MvGGIVZljP(P zLLd7jvM2F_NSqCOR|hws4llTAIuDnyEM!kJ#E{@P=lV&OVwk~0LB0y9b%UY6^|p4~GGh!-cgp{r9`am2yk>5M~)?r6E+!3kY&X%Zt`~EE>{p z5Y(6rl}!8^3OvDi+Q_vT4AXY@a3-RnpmH^P3u6Ik@(VVTf#9Q=4ru)ZFx$Z=^ozDk z+@rpJX>6|{DF|ie*Ca(J5a3f{940FQDhhxipLOo$zlaYG-O5SHJ7j;M#&~V(KIL#@ z^*@nMWVhErm$3pAL6FXPe~A6^cB2AxuDv$?cIjv9VI%7@rFAvKbBZLC zXN6l2gpHt~vI*>`_2)Vx)ly^aQq7%mT_K+^R}&5_=afRCC&wQh13dZSojVzue1U%exB#Pj_;pkLdvMqix;WsxP+ z6dYN>tcq+)&BTNR06!H?fxqXpYN$=Daaf6{KU1>`Mwp6;?GGS+6&;xGpr0t!3CtF) zax02(-!DLHOjRlhP@^nHLbgf*)wv>wI2bsp5m@MfHKT5RL#Fqn*L-8Q^kW_XGK7&f zStBKfkXw?PLqq3Y3xyjC!i>NuxnB((ZNbEJc^U#K>Vs7jgDyuwB7eC`g8MX{T&d=F zu=8S3uas9cRjV*UUuRu?&sS?PgUF zv2N&_l>VVdjf{18*v*V`QU0K>hTH|6Dw;q(;G5mg06mu5D|Ok%xX&niF4lW85gA26 zIKts-$2BO^Ls93~Bn1@ct{Nygu{GVuv8(-r#A*9rWqP4LxoGLXu6rgK0Z*&S4cJY8 zj>t_(GX@(6`*9icX>`3zhW14X%c5gR##&KDDfZnDz0^nOMTJ6IJg{&;$#5W}qPs*K z*#zYkXrP2*($$3bq9|@?Tm##ku4B*Uv>c0WKC^v_l3rOa)Rbrc`{YIW3zZQv)p)|)y zteqAj%d<8MC?-mZxoJVc{v%vrFC_H2GdlY9{*c-*_4(4Lq(p~+!eNS+=xiesRdAG@ z>4sLtm2bw((osV6H_L0`?GZ!8Q1M2_yP3|6h-5I$nT zr&Nj(q-wLT99if9vx}>D*aIf-tTEXhR8~+PsFL3ac8`9q?ULX^sKxIs$877eW;iJk zt5g+ulFiexV*~ z2r>6ns_K9%*XCRq#E4=ir^Xhz>vYSQiA?Ki(M5s}til09gmDe$LPdGvBv}kdqI1iQ6)VX%+8tbH+{z9 z(@yy5q%V9oW6e<`++*<#B=QeLtpJ8pH0Zoavu3@l{G)NVkL#?^v+1 zcCa~vir108z|u$-tw6#(>}$o{`dR;T4TjlaTcd%SNm-`bK%BKhWf`;>`Teaw-yKX0 zZ7h4*reWxe+p>b&rmZ&QB{A2z)MPu@HW0*354?!iImo9q^^Els_EFosSat+>{E5v+ zsNN{=Es2IL16BjGB0r;Liy7G#4y6Mj8rcg_6_rBPC|*cW8Dt)*WVS1gsVIt>;A%=ZCId@~nX_Xf%BSF|(^$3~ zhG|D)D2iH~sHM$?_e*)9dLGVe%{N`c>`xC^NivgGY~N>F$`~E3!H-RPmP;<}G|bm$ z(wBR|_;cD|8CNFC-|ruXRsU?#eM7EVM|F!Hs5=UGb}6wkMQ9S9hn~qq99Q5ffeSxq zdKt4M%-;9Cz#HT`*yLX&{KhtqAuQkR#n#3gMVVIY+g5H7Mf!aM7QF}Zj*7}4eWTo` zU0u6nJl=E>PXTdON%dXb4g)hf_SQFYOnmW&(F$$W6d$JPZ)4i)l8NeS8H?{np>km% zS2Z|pCp=$~(6aMUapgbe!>qUvv+?@Rj}&tK&K9d09joOVtWT8n)fCuZEnywBxS(-I zSM-lj2^H50$~1n$agR;S!yT#$e>3B3w@FvyIl>+LOusSU-9mp|t>iCOebgAGk9szM zRKY2vp9xuQsm)loU~0vA5Iz=*(E&`_ZDio4b_L9*JsrLAkr_<-{LE(Sc+`xG&*<4a zBb22#a4GhhsVTY%?8Cbx?!!~!y)QD%oYcy{f9;oY|e|Q|o3b<7;O$i7o1^{?j6X<127h zfMxo(*ymU9+S0Rd-Jhz7uY%Zynb&&P&wAnGz^6$if4}i?#Oy7Y26yZCl*dxFM`7RU zPq%v?&eK=+kp|4t<9Z$|W`VWYrx+Q0V4uG%wh>0fcZlT^Gh~o=>6HTwAFR%{G zEkwp8MX3kyTZx)5vUGNg9HeV=Zh|QbEI`JOSp@V(|G0=zb;I>39!|O- z4lKr4*aO!A;d~9}Wk12Mk`gPl>!dvz{Ar|TDCjM5KlFl}g<6AZQ;D3VJaKb%J8w)Z zg~H%Gdg8ddT5M9?=9@89^X9CnrS(yC)K$76tBI&>2-&Zba5z!f^kc6>YOAf-DC|zO z_&Z88wQ@9Pe}d@Si0#`(PLz%=S95cLu&$oZIiZuM_~(KCO=yevOXn?6jRWK-W03a- zJ~>$|1g;fUYrY1sb+CYHAC7y>LjDIB&Ey(^>H`OEy z*VZ&f`0c!wtx1+M_-=mXHr;8}OzVNZ&o>WstS}EUprkKurG3Uu!5s~+bJA@VMuZ8SsK&ew>fsFkFBHbQ=FgHxi3_mJ$~#9N@$WbO7`uk`FNg! zYhbqM6b2*HW{1W^HNa!{n9FQ zIyw|alBZD|_pNXro*Z|%z_o068BtTVZQP+E*_br1`+>O>*u|5AFY*U00dc#68dGL= z0j#$1(?}*={}ph$3s>z)w71Yfeb@Y?j1ABsTaNJ=@@fY=&4$vdk?U`Q3W(Bx@#1&D z=q++ZI)tA_9uczzLm?#s{S6=@hjRiU;3)3D?Z&@|2QBS~hh^Cq9X)y`p_d)t34`dw zC=x+x-H(N7`kdp%j!D(aK@npi>qk%Le9$QHp_t1pPSOr=3EKB_u+RH zd`{4#h)k5xIqe=@g=6P*sfo;PjA#3U*`T-SNvAM+tbY6 z%tU#IrbEDC*|@`xmrGoqFdTZs(97*Bj0{B&7Kdm?Ui#wV%T#UdJxN|>lJIq%O;Xp9 zo7#^v>+B{*A_=WVNzn$$iY7bbTFw(paq#*Bv?UH9!`SQQZb2FVW@P$ZBSQ8N);%-q zM90;}H6&m~Ynzd`r{hZP^TZZn#TrM&na|RWB9TM{1u-hd&MCs0;DR`4EA;(ckdl0y zYE34-B~D^PW=O*dUzYL@@SF=K%fW9k089a$rxQmYF1q)9r+!4V%K%YR6q=!Z=@NQ) z+|$-rfSAQX8jgd33B^X6!DksErdPYPab^jC>xf;jvI_hnhcKg#>A=muV zJb^|b*SgtUEezfDEZ1~m!Go{9m-9bM?J<2u{#`sheDC+|_s<2}Mm;Ok0JC{5FJSDC zRH0I#7S1b{p1ayQz(>) zM8B9@2i3S|6a7@xp~Wmq#b&h0g8`d{d%RI!65%1q&7ZchfFgSJ>M1@#xMFnx+(ySQo0o3O6MEn#VWvh^pa*{W7d(-M}Fuu~Wj71Ayp=C}2 zUjZUD$DCu0q_XpN?&TXFWB%?EC$VZEFN@CT7c)%SBda@V5!6JnG_l&s=%Vd-d$k^? z{&tPoS(52se3jPjajkIkcA6DG9+j&cVhX1`ld?_bKi_d?_on#y29eiK729+d)WzzA z+89_)2TVcW>psHt`fL6kcA(`E_k`w^MP znnJo>=xV4_=Qk3`E>EJ4S3wEV&L3@rPTY3~j)q~s)li5{oG+j-INeh$r;p9ED1@ zMxceyZR~AcYJ`AJ{?>!n$KBE3kpw(pP4%K%Gs?1&1n*?Vkp!;0QwectL_*3`c#+Y2 zDw~`*r#uw^&iMzA4a+FHbQ-c!126fbcD7X z;9%_a3DGi8EIOa)rCbQp`nH;K`{PVb5N#Fb&2$9Bvw_%{E6Eho-lZ%7A zr`QOA%4NE63C)%zSuXKI!=Yo z0jt9xDH&5Sjg`W!pa-H!42FU~wCY9tx26pzCz0?w+3or145QWPG9~X{M-EhDjdk zjLZljBQ(iqQW}`!c2j=JQObZk%-@KF$HccVvV5%kw0LnwYOZo@y9o&(2_iX-SS_Ov z@rCdksMT#G)*Iu+Nb3uLA|B1n4YN^vv5Gi-9=Alq{QRj=>7ZPY;ED>v2PJMFojEoS zM(UQiDmCz-1=$RJebqpeWlytFxD^>w-we~g+fD;?Z6mUawHI7Ul_{LCael=ooYyvtC(g(h_J zxkYtyPANmoDi~!+NP5H?Wa1MNYC)DJpA_=j5X3{;v*Kuo*fMDwvxk$Df4Z|izHP+( zDYJn?vE= ziN*MfTY>%SE8lyO(|5-mx~I-M8``4%D{l>-z~g-f)RmAB1qvhidMbQ_E?_fVAPM2* z6O zCKoU2jOD@LU_!WXyyFkHOgs??F1B+oC<+FIi^kgjC{z^1oQhk9Sbs8-WDV~6}=6aWLX4%A7@;VXwk#av4hH3E3=2(L}rcrSyuKolHNdGE`GC}3~` zeXtqd+Sb?*2e8vlzr28aBXN8D@M3G%!8^vlwFvR(AH{xq&ts^rCs>~QO;n=5AD=TA zDmbLsDTMv=*DTM}&BTjb^NOb>9$wCx^VF+lu)ExpJH4fxV zg5EYh%6F-G>JO-e=!Q)d zo}SwLf~r6wYneCYWA_|kS2Vs<2h1kLRo!gFHO5r-Z}sPuX;q=~m?4@NxE*z*dc~6% zhK(9w+Mo}OnO7)E(#0?R`5c4F!VEmzp~>?09DzO22#dpcMq8K@j}~Z3=yw`^S2o5P ze^NgkoxW3u(o&}S%*B7`R|2$pXD&5uslB_WRB>smad0?0SqvX9jhHWwm~ydcQ#EE3 zSE&-aR<$9-Q%)ArHJV=po%6w`SN|aztXJ;KQ@1Z2+mky?MR3jy6p^~n#;-Yje(15R}+Ev3kp+)OayD+>% z5udXtB6zl5l;WV13|p2CS(XZ_mIzpO;E_wpFTSctxR58~3*Rz8pQyqb)WPqhg~gL` z{JMeZX;U%2gxYh%ZVvTJKUR%2kf<||xE646RY(lKVchR9Fx`n6n`F^(SsHVa#lCn&p;J^!t_g$wDLA;MiwyqtcJSM3O6pSRgL7p>Y#f6Wgy zxf1eaao7!Ra&g#+Zpa}$t&ABp=s{|?!b&%Y*)JIe@!9=0r}>vc*2S?{k4=ge@&ZQG zL1)8Mwv&7r%M{0lDqrw9I5Xze!i1D=bO5xDftZX+yePVRj=-TRS&+rIH|o>NkZ92$ zn}I+%(ZEOQ9vkwH?1Dv~wJnu&6+C>*03S^|^;a`-Ckj<}4xag4nb49{u~71x!G2Uq z0AhKjja%uQ3MXG@v?c5kh%9*NgLiAB2zcp5Gml7<0CldWgimx#sbtE%xYiweQS)!{ zSSQ)v*&H)s`2EDC8{!ipa@}}T0XBm}O7y1tHL&QGz>jWN^kd+MKRVTRePmQY4$JL* zbmj{nED9O;-&uvsm;0tHnN~$gCW}RQtJHgKZ;4E|!wwEuA|9?j>@>sG33gACNRi{Z zmb*xhDuI}3s$F*w@Ec+Y0amm+>B(S8fpJ>;w$U$K(VQh!$={d{)eF7(D!sZtz8*J$0&JgFednK^xxdd1b`U<_v66Au zy0}+Xu&O&EjJf*K{K9702fiO&&+C~~uG0(L4U_$*EEQ-k5IEzfQdfF1iuTp__A)a= zZSOIu*5fEvJ-9uS#@LR31h#GE+lrKptR538_edP$sZ?3tdxtwTN%$lAKP1v2RW0iO zB7LtUTCgyqrI9#GC^*A>_5pyPX>*V;+Wc%$26qJrGv z+@?yUqmoc2%a^DAP^fnK5p-D9gZo^msn6MqqqT?E>3ub}gU;-{5w1dd7yMXLN2=ki%l6pw0`F@n%+T+{p#1Qb?}LnJqjJuzq#})0(d4*T2JY z3jXU>%92fUQlYxVlC@BdtxF<$h%NsdOik@M6BB#6eh#=w&z0KQHj7?)8(4r3m(;Jj zC`*!j3xyrRJS4erda~ zC^1p31xzzHap51{4720rkr7X1dZNTFMoNQje!5e_EOe&nl%FI23n`B0q*%&i+0(+@ zp16f?@8??_ZgTzv4v-#t6G9lTUVJt&r{#Jd6hTzR0;lPLlIfwJf~p6NhN8hMvxDhHjYXT|3XQROM(vIyQFsuMe2=) zYiU88m8-~=`eb(ZiD-MZ8~xm?VPet`c3K!5)PS+=x03rsE4nv}-fmD}tpR1x>^6(q z#t7bJO-tC-Gv2ttiS86C*3QjmU^vkpzcnMs%<18qe{SkF=7G7UPr8AYBOl7C3EJGmQNGwMjmhs9sp5LY11hXGxv%6-zRL;#CF|2B?lvygByS6+Z;YX4SM6mWHAXY+>IUYq1w2ly#^H40DieB52A zMD7{4`Q03^BPNQ|B_pwy?XZ{k*{FiJu*mny`xIb+(oi(lm8e|eIaf00i`Xc2&AB+c zm50}3`(Q|>3-1#+6LZJmvvOh}wT#d+`J%a+$n*I&9_%34l7lIyz80uR0?7lSWr@8D zFGsTUrLwjvw%m} zMH*))J_-uzLJI@Pg!Q)P0)BPPQ71a>YhjKvMKR}0rclg8*USrk#a*1~bA|sn|P^^8A=8>Ha@`0ifpP=QC#CaLxE&Bc_t~(H)~tAi_l> zf;ru;eZ$D+2Sibd3l}(j{|Yw*>TPq(7wLiD+qXZr1$q@CQn5C2Wy;7Hr3@VY73}Hd z>-y#AWX94-@pF9B1IM1Xs(cw(F6V-FNrSnZG9^`FPt7Z4&yOm&?on({-Fm3ERI6Z5 zUDm#l#(yYCN~9BTmPjb-DDm#zq98@tY0)-a84`jskq%!2n>`pvf_Bq84rPl2>c4Ab zD(;d}n=gBJB`LA zq@c96lBEGSl6nm)8j?<-fBVpn?*>|Juw-iHv?v{mou(+vZra2CR#U0zY*%Xiqn%ZV zgaAzgoh%|+x$sZJlw<=E3;2WCTw&E!ANu%WTl%_J9srR_q{Z+B`}nDYQwig=vmr zYqE`4vY#(7H!v-)V0Hib(%5^9m%(<S<}$QhQWEh?9IG_-)qq`rwc<2Oo#lTf1Gc%%Dwdsq>i6(mo&){>v2y(>QwR& z^`4tEqn$I31OuWemU-xntL89I(@gCbPNI#T6RD*Y! z0YEJ&U#-Fz#>Q~sklvvI7la74s3FqgKOHwh=Yn6KURJ~W-EtXSa&!?pcCP>B4IE*1 zPAy}I!3=CeWa#5l2Cjag=h&+NqK?fh%UN51X%xWC4<^d|1BpL{|JaO(cNeQ{{s(v9 z(8tfi(RYsIW3a%1Jmv7k-|XpRMdS}XB=Z{{VpuQ9jCf}X@ocNH=$*hs;)Bz>QKo4ojqxPYy~XB|4B)p2SJ+L4>>k{Am>NjxysQ!f}#fzG3etbWJNq2$W$uC4v2^S zp(@L6E88J@ZUdq)Q5ZLzMw4mxk4pU#HtPNpJnK;XKI1^K9ZUb53k8ilTu%xwADiLn zOY@@aUnu{{9z>C@UIEzy*vHyo?>t($f7t^%=ii1#=nuY;vaF^Q-%@ZfqmI=@XC=7G zok6@n_gnF5dGKI5>k!wRZN)1w(?aZ z*}n)euv(~S=4X49Nt37U2ogRZYI9g`#k2zZY)sZ$pE-5@%kvkGg{Hf`?~wfw`O?@)5ZZ3`g3*~_hKA3 z*R}gz{lXI1L_4+;{Myq3AxihiRt>e( zRP=%H_YXuo71bP|>aOt53HtLgGhtce-D)|WMsJ9BYHnF#N+M8=O|1M6H8xlQsK#zJ z{x>!DG9IYLcA1sl(EmTHv8VBt`RIyUowS|ZCFHD&GOUimza$Plpe{s0V9jSQK4f{e z5dEFERg@1VY0bWA%+6>X$o^S`0q5NuXd^W$oq0mYk?kRu3>X7D7k(OsTqWeEDQpnZB<+&zNpn;M3bHw=*pHF74v_C^cp;6| zjM1Do-)h1Xng6-poP9vE0)#Dnf?scyjDFZ?`ehqQj$66q77#P2RHZ|I zt5!Z^f95nF&+=VsF+?HGKv9ott4H=_er{;br4qU@SfQQ`T<7OK@IOw<*%8Mmwzb*_ zW_bNVOT9T zAUsD8%{n{jJ=1svTekhw@2Ton66fv5zIHgZY`-7MIq6t_3YJT5U57Te&TsJ-*??~G zFO+%3y98H72Br-_+Z`@MaUohQ^m}AN&6J#0UxImy*<+&!+P1+%q*%q=1n;&LyX?I0J} z4q`kj;BS>Z?0UMgB=7^Xbh43>fN3Yau-IbCOkTMOwPrQDuvE-GmDl8x+;BZ#S@sp~ z5|)m8#=e`Ev=t8p17JHDHN^0(GZZYFKvFwP)_CX6?x}9Yp#myoI^wJ6{k<&YIh^x& z8gJ@T6Vak?&-nA96UwzgBb3*QC)2XtmIb-Zh6Nc9>FD*mCFzrrfb1Vu-EVI}mUsjW z#fH7=WGE;xdq-{xH#zgKZO7;ZDgVDm61@Lt@wd zUQ1~kp?Y%7l7~~b-$pQ!&??0}@CbMU7nQ8PH%?R%fQKC56rG!QJ$=Mb5WI5|^ed#% zPU9`4b02#u{4hO3jyt0)Z47zNnr1-Ux(~zajLGK|_oTXPLv?m=0(AbPi#I&3gbgaoD6Q zSxZmmJQWtv9NXZvJu9UW>R|-s9{uBpIDHmRR79%g%<|3k00*mGM7~4t)*P*^B`OC) zHWMRzzfZg8MOc+8gNsk*L>kk95^G$i(rZb{kMPucDa30SpJAB)g6)o%NdL#ZR?Zp< zgzfP-NqFM=5-NcIu&`m#X1^hot`cULx9{x+!Tm|``fDzdJ47WiC#a{%g*O05I-8XL zu&~a_q>P0fb-~;y8?;eq!zclk5atsrD2^+t6gA@XMMMe=4Y;UDP}9_?GLS9N&&OB) z2^R$dYSqEYYO<`jEMz)VxXxx%pyl_2oQPDG+JaiLAKnaG^lH;fTo1%vU6nkt*ys`1R; zqfUUs33KlE7i;1n0WIDoHrF1o-No5QZM`~OdW`s2gjc=0th5-aq`EjCW;zWc_iiF@ zEiIIA(9V5^$T$JLKI5MhZVnn6w&!%o-QzxT#@LP$}k%^^>15Z*kaZ}hk?|pIi zr1SA5@!P=cyUH=ONzxfOf!*=A>>j+cZDhX1FtEfvF(ru6;m2sEI{L+p($^;Gm=Nap zZgKmQo_Zosz``}IR7wRj+WiCr7~0P&IHvP?r?bZ!07A%;!bO6`y~aj*&xR{4Xij!- z94Q5Tbj!+zlNEYUP?z>I#miS6s-DqQe?X=K4gh3Lo{ zmgOaF|DfH_%J1z!kgH<*KS6FFfRG?yh47)X+?ptJ>(kQ$m^~!?hLrj9^W_8<9B$n6 zXwV*0*x_5gm4#=(=4+6?1c@Y9vYmcR>`l7m%d ze8^DqfRJC1unbZZ29a2WCLQx^6MBsH4_r-;D-Nz=Aybkm6T1`F2Z>3JV%8yt!`(*GQsh_8+K{stkkDc znT&bBDe(s{jTcmEMFu~X8*rj@@?OK8^0%z|eZLM|NvZZ%M;^lo3iduR9_FN{C>!Q# zI_7vb`c3U{N6zKnETS4NzUVXpd`PT;06RE~P((1EM?wf8rz6pI>0P7+*k35P%LwLX zbW^>Su?7;5ROV2cW{ff@*vg$Ru2?Wht!*yF|@o8z(A zWE3oG<&_2Yh%EeI6xcsFKMvUBn35Fs{MjZ9nrBW0haJT9rSaao)CI1r1qP{^uJF>| z5XKS7;LFm0HFwmLyxGQIZ)HD1jg)&1^k{y`N&Kf>@pm)>34?eChNY)zx!F;(jLLT; zN=RYLeT6eQS?p&5Y6P@8VQ$NR?21gJtl`hciGwi|H42@@6DnTm$DL!vGUf$iK*Qp8 zPj=SHzlKE})_)C)Lz6zn0nCh|iE=%$)uOF-G{WM6ymNR_oXSLNne)_03r2hua)*Yx zuW&~y1XQaT|G;DDucgQrR1X3yqM7AyEwoQvz$wAM3%S!Vp~Rr^z0HF?ZZS}DoWMEF zK7o5BhHL*Iz+QYU&Wy>Vw|FvxobrWF=*f5z|X(9xb9S8^4U2@*&P~t)Gdj+UAUtf*^h2if2e)hjUU`s7j9!m>@Dnf9b82$ zYP%k#_E$%W?F|bR%5n9uG*di2=~@mJ%4x>6bmb^iI8g_^6gfHs1Zjfn7J}AB>I>G3 zO!L@7kChG9>TF(aF9t z@)nFq=eHc(TobDbdV_#Axwhf_;aiw-&@yia2A=-Lp=r0k@u3aaFI%b=P4FwVn0>vp zBtV1S?<<{G1)1og!@h04$V!vv``=gddMa|UQnGZtHHUnimPn-AC}yE?3<7^D=xjZD zELp$B!m`WDbVXDIE>cC&soE!3(v&Hn>Ft?WHo7k8O?I|L5Y*^HzX+e;b=`8>meGi$ z+4~mfLSY8^!E`2{wahd8*!`gHFW$v7={s&Bw&NW7d3}00;-SfdNQg6_9e2rvu~D@H z(Pj_W*V$dSa8K5s1zW$SE%k#6B8_=m0ucvCP^p3h`GGLoYZauzUQOSRjZUEKD8Kvg z_Kebr!Edz!e2%X}Iew*(qToYwuXqAFh#-;c-0dR-^lW|Xv1i}(p~wXi(GiII9g0V< z!J(^$J!Ya*HADG6z29IP5(*A3QgpBFdt#c$_3^~cp*o&gfnJNuI%~07f(#}O(Zx=Q zce-QHCZ1oQ8OU{zGY5uCnQg^fan|>LwD#&Z#VX5hYhtwz)=Y~m1u}gYfWOJzcnd=C zxZV+Az*go|7qNc@tV?vC+r=H4VjIdvw#tMYhAzQgx0Sl48QyV!&l0x z)Des#x^?+D2!4|fsnLBSWFIXm=O`%(^a*@GZUx`jYrmrLS)tkyH6>eD66lP#IKYEB281IHo^!zO;kNd zXGj`hl)PIB(F-{-(u>sj#G|t>gexpt1;=Y(K+--eDM5{qVrag@YqT0_67;V|{TAi2 z#%iYu7pKi(Iu|J^Q5UbxCG>+a(1J>3-9JnQUHIE)=@gVmCVbeKOD_ zU66*&p`sbXO>Yrpg>LTRBD$hY5V z5Zm#*IYKioFv~{jf4ze;{)s4Iv>O>x%Kj+mt$+h0+IXshb&K;&wj_0 zoL*eP5fNov1xJ2%+75)kqiSnlTxCA7O4|0!-pmeaDkqq2NcjzMB!oVn$NL&_7LEY9 zA&NW+76>lTv)3&P^z2Rb<6*?d@W+VGEqam+U;Uy;M1Y1?{}nKNPY+H)(U4sHKD5d! z=@ueZ6&yca2w|E%7FYy=F={dR?9mK` zL+Tl=M5UAbyEZc_9ABNO*S|vtlB_3ZHiXb^=`ICffYhqhZVn!Pau#rB{|4s52cl(d z1?uwO^=OYEdvnqGHWL)`*%v9}JW zEsdJ4xQOBB@o}PfT3E&cGcFKDbb#~7U}aVHc(w6`f$K0iv^y0`WZH-SO%8WW2-~DK zN8^=turC?u1oV?5>_XbldIpDYeJfgM%qH8Cm=Y#IbzWwsF_Hm4v+XUF*5W{#=NRlj z$&uI)R=RB6k;@^WfO|EbCtFMhoz_@z}Q9bbB|-M{%|DUJO^ zn25a-Cn13{%ccYsfzT&EdJ*W!6A=8vQ6K>yV=ng;v7tVG=8n92UXeFCs>xu_{`H|K zjQ@smqKht}t2R5lNWMzwXus}-g4ZqsEuWya#P9iy>q@`}gT(IgI-K-|6E>2mbxZPy z2deDJ@#Tx~#YVkXp|RWsP(U5fT0s9D0v4f!Jw)gY*BybL&`#5lbsYQP6i*T?x_ zf1V+vavaFZzA$kN^j6{BRG}mw2ZcuOP9}8&BeH@;m#%?#Fh-8WC*6A>I7P8Zw2BA- zE|9T1o{5J9-Bx(cr8?v=E};0SWPJjgEr59aTwC6N-gF21S6upB2Y#v1?L!N=Kf#J8 zm_rvo_iC$Bf7WsQ%?ta3XL;nH46*PUD2XZ=II(V|^>%AqyV_eNp49*U8 z?KL>~#RwiNORppi ztdm|#D<2r2IUq0G?gLI~bIX@l=LIEkrSMBu3)is zNnALN-gE!h+$yMCTB@-Rh#>w&?3Kbco%w-Q>I^%O`=_aQ?Q=R0sAOV{T@O z^%%GeaJt7VLr8y5(r-mUncH-C!N14=Hkhr3LJPy|wy|W8ea4fnS^RlrqXfu%bsfk) zTUSCSgaj9%4yX&IFJ~O=wx9U9e35`+t{l;~TN=x>pRsAy6@{j_TyP8_e^-$lb36`55NqCTKH0t)w8TS4JhpiE>fh%Sa08X{W%)O`Z9@ACOq)39=1oHx z9Ipc9Gid5O#U}ZNi~*zDKGk#yYIm0%TKI=bgiB-gOLUjfDbFp=Z+%78rgRp#Iy}eliB!u@j+r%R@JtN>QZ>6(>#V6Hzh;9*v) zNaVqMI?FQt*=ugsIXZ4+v4!&W-AjXBiqsrb32yH?DS^MfnuM}GAobB2e}mZIa$(ka z33WQUC-~8!g~=+p1S)z5Qg{|ra0XIfV_CvLRKfR2wL`1H%C)4ziD|3D=|W{T!SH0= zLTf~M-g99;!On!-!Rkj%VCH%B$r``j)0TBCffh*)+mi&n5jkkUGACtuE=UXsTUh7%Dq zQ&eT(!I98VgvJo%mXouS^ zHjJ%cO*h~lx6xef8s)sMARp?GQn$<_@4R~U89*gVCLHS9LXl3~`Fvc-h+&M4fFDR- z2EUf=s4oAu08^_+P3ytMwf8=R?{5+tl5 z@>8}|V_N6WOHMVTmBN<%FLx$McVn)3u=F_e^iZT_Ko4e&MDlKHbp$s)T<#Yp0;>T& z8p_UdQBuFHB-mg92M)m4n7m(P&c&Y@3}zApJiMcDE=UU8RvbJ%(8Z2Pa644P7eQ0? zI+(BPOW1d3eX}j@@Bc;FTL8tmEb7{WySqzp4esvl?k>UI-Q696ySqEVo#1Xk5*&i_ zPuAM|?6d3a^WS@^8j7K&3Z@6Wg@Xp?HStR=< zpC=~~DkUi_2TBLMe$Bl;`wm}MD0)SzlO}n#D`$MRD}03y=yMkNH9wisnWO;TD&g;y zA!VKD+vDx^42qH0uJ>$!s@I5>=X--V#Ryt=)D)j(!5ux}8XeMSd&t^zC|GkG<6XW+ zTZnZ}c7C667%p2Rj7&qE;ySahbZep1l7qhaI47GN|AC`VJnOOyeV_Kd5OANQ3@8NE zvIMNEP|AT1AsP0J?5xM!tLD8See*&d;{E`s*Uzoj|46Lg23w~e^z!ZZngDBNRp%63 zAuDaINvO}-e18A$OdJvVVCbOyIklbmM6LJc?Szv zYzbJTfaq;Uv|zx23C^Y+b%08R)!Q6g)`$pz$=+OQU^)5q&h&ZO!6&*`2pPO6Lq8%2 zWQXI3is)brX50RB2Uty$R-rU_y%88e4DrA1-OKn~GoQd6P@nIg3+-g-O+RynAV$4|dYWEl+ zQ@)etYwR!&g9NCUl>;0AyTwGy;x&GA{=~hfBF!JKQ2iX)cTYF67UjGb)gxS0`CH-O zhlm3XP|YtqJM?0;l~3ZX84iF3l!#Dd3P6L}C=9WiKAzxDyCBVyntQX0 zU0P$!EAreA0CwvZiR|_KLjN~bUX|m{4SIc6oNrY0>Xfq2_WC8EayZ3=ZVjerh>1Vm zm%^bW#|C?jnu?_0Ir-IbDe;N+9y9zjKjDo9&&DHz3VeXf#Ai1Lt}eN%bt&jDq{GK& zs&s~VPp$mQI6$&~gqD~|Lg+EA6b>ujGCjJslCc|&j5}1Jc~by=0wER<+>+=BJ$T$! zcJIAS+8vbdScBSO0gdhP5>p7U?0KHe8>xCIH@2hb79sH0mE@-Wq(5KIEr0^$ga zZ91W}R`OdkyiWlde(0?+h#=vUn^BY?vmFAXU+jrmmZZ&3`gr>l*0%`G!iZXVP&{IAF2v72 zAl%B*@!=MIiRO#Y*ClgBI*73Zda^(EAz)#DJ)c>;r4#YbFQs|%?dbm=ob_;D5emt) zWZ&=xEm;#YG?$G$SGVK%XCmH+xdm$rNOurN4&Sa>jppROpdap zW1};{@1nO74;8#?ptpkc!N<$b%gybzK!ktiswc4U60UF;d=MNwfL3g849crvd@btl zU@*zJlCVGNbosRXI|PL&F>B1geO_aN@m1~dKvjB_;K2)Y$AwZ=zDH)3d~jD5m7)u> z&HMI~PB@QWm+oC{x6DH3$6OPW86O@CH$|>W; zPE7VOtP_c__Ro=mNuvT2)UNXx+TgJj4&gDNtX4r?e6Zzn?P9DIqGQ>NRH1y}X5d56+6qmyJt& zDA{;g_&(?7LME1V6YV~lX9fW!b9aZckg`xzF#E2RhI8`x`H`_@$Mb;cEu=XP^C1rB zfLXF?AMy9aMZzIby{*~yU1;mHKPtJk6Z{D)oKH|=i=1uZTxdKGwL?k{+ee3(^!`%hjt?v%L ztAYD|N8@K!y(e!CrEH^%1k#|C z#c9+Bt->iL6Y~?N=`5THVHS%p?vj{)QJNgH#g)X- z2-RW+S`GSi={vBM7E_JyU?F;U2BaP+v*>u5>5;c`6*LnxPMVhHdWC8@dY5cEVy%mG z)GBL}3uK;->NuUk8|SF5dE{;#=#yS^sx|>Xix3A_lINhugMR*qOE*MllS#zP>l-Dyg~QW_H#1DEQdc0)$Pw*oCVGEyJM`o=weLQU}v>GK_{C6oWWss zZ7VH}us+kVN^AuznfWAwwgYAMh6q~6J?o;@7W1(vn>w6*P#qiK7_es-RQF2E*tR{v zQEGDvFs2tispx;j!!mPoBe@t*9>--Ka0#cwKt55_X!< ze)AzePopwJU2C)e&`Vx`GN2eBnW|c`5dxa9Zbj@0FGv%P8h{R{Pz3=VrtNA^++qjC z7og;5g%ktI!3R(R6aqvs)PWDTBM>#qqe=6XLk{14CFgp6laK`}{OEInp;)1*p5U_hiwwyO&pp@V;)Vu(K!3 z%>Ae$5UE(h+fRcA$*+V3EGZiU%1f32iYthU-xvDoXTX@%I2II5wIO8QEG1 zLKalBVDA(2Re6!Ddbs&<_g00O-o9PyG#1`pCJMZIe|#juy&xTnPjCmDMQ zu`a9Hsjx+OS8qP=r%E`Mbx-5xDq_rNHZ<8vJ!osKu|p1cskoe|oiY1EER;=zMHX+y z_^bKrK);)X&!d#Uk23HBe)j2s0wd%ig|rJe*=Dp4_gFEDUdOK`?ALwI0wda)nv`g~ zvesYu2x8%lwTj-OoKSU5Lf?~mEDe-uDp5%p)Y@s&1di9zMOAUccBfK_6Xali_I0#3 zaza+n6W4_;h92^u47=0KDK97Fe1rX6k+AXN)g*;+F zH#9bhMpT_pC2P~8?@L>|bav9!YD8(EZ@!FAaE(PZHbH1bf_Vz+I*q%F>M{uGrsPtO zK={IdCd>4G0=>1p1*agOYm#b!dCL(p{qq>p-Yo!Ba2Dj`AkYU!h>s|othRhExOLYqpX3WMZ?_&>MEvi3ROpWZNb_;ddT0KR~*!A zavu9(6&}6gK_$7{qIp+yaKB-s0j87wn0s#7-&Us7IGxc8ItV*jD2&YBgmfD-jnoFx1q zCCwS?4VsW2>6k)_RTGI9Pr`RyC*apSWWY}~fTu`e0hB|^N}(9h=w3UpB&1LSET^F< z+7_0NIouS(#QnJ zxsc&}cFHc>#!|>cquFth+q;Tt5JAZjy`O>>`vH;`a6xF7T&Si{rey;K2^$HyM{-bl z&=(>q$oaZA1St6w-^7+pZb5Kp$ahe1tPN8RDa@daduU`}hrNWVSDX+c?rAKMjC#*(`kzLjpOQA0l zc;Na5Tn;*1f-AU!8m>P8g_tyIP)gx|LMJK^QIH5}41kiO3WAFeC^|-ZYhih+@fC>p zQ9Pod>H>E^Re+Lhs8VLxbRz(>=Em^;3yUEEz;L<%ydO4zO$|{0O>QIr!$6_`3`+yF zyHl3%70<`DL-s_r^snR=Ha3bNY!2|$Uw2CNWN^t-xf zs^>bLh*9^&kGgw9Bpa3>Ul?fia8zVE;#E};a6FFhhtV2*rQ9&k^`Lx~|H z_G1Mw0t}Qut}r-KnFZ8G^x(AQSAu&l*2o0wZF0B53@^)qypvDy6d(oZhK&G2z+4bk z0b9&ZPXdXoF1;m+oCX|4xFeqN;H5Hwcet3OGjZG~cbPrA0Z;f{yXifh%q?y@$`jL6 zCyC$?QgQfp>MS3#5TzCm`hUB zq;lfkFL9%1HlN+n8i(J$e*lmEh$5&C3cm$MRgm};thpS8I;p-l;uZPR90X&`n!z(F z*K6xXkF9eOEs#;TIxAn)h5EVZ+=KYKXvq0kscCaiIg=w+-(alVws^Rz<75&a^pA*D znYNdov_9>MS(MoOUapR9y{)D;U$nfgwm?^I>3ypxcB^GNuo(;O6Eo;eT5e7=@M%)Q zqkle3UGi&rJ(NRwvqC{rQx5#)hCSzbQWXvBJM`nbHaaNTXJ_Bmy1_db;L5y^01~yp zZiJFyWM<%uf<#0I9!HqKMM#hOqy#I5q)y!qd_K<@l655m74Jhj1g}@aKjB?zJFMt) zL%XzVxfJhsE%thv})wob{v*an7Kjds8Rg#{rLNGn3pG=A$ zg4r~Q>7ja1G1Ra?Zn4r+dMk*%WPm-fDNGf4+T(Ukx+tFY;!#$yp7JoqvRQzS)b5QR zf54WsY}8bm<1VF-(=teQtSm^ysL{4epGu@WVMSE zSnboeac@VLh)Yc80AA--WWULj!^&S=AZs;O--%AP?TdF>G0ND9Je^-;4TI79z?f)L zrk{Iw#1Zg(XoANNv-hE#JZcuYS+X5XauiK94-RZKDHbMwiC}-;W5jPfu(NXiq;2I- zEcm^S0P2n_$~l7;I?^uxtI4mgdj$+x(>|gWXw>CEYMP%qd{46J}K0xj)A9hm#Y`{NfDwHLwrVyi2(5zoc>yjC($UI7RTLcO!-8Z~wsh zefH$XFLO!Ax|?6(Yl1(>5__F3@6Yu$fWq@GJ8h#Fh~bE{Y%BIoZpl}W%V)>e6K~uW zdTV`r%KbLm)D+@V6kg6o!#lIIQ;mdp6#0K;M@MhjPdZE4GD}bX7!t20TyOBQJVPOZ zUy4tS{Hlc zdrOaU9V>6C4tTgcH3~sC3r$D9%|dis%^-Vfm7h|Je{>fr*A`)&jZ)HkB=}5984g2v<)7G0_}B2>0czTGn;<< zTzU`sG>gd|GG3fi<@{lGxBok{JFo*XJKzbruQh!v9|aaB6JG4*F0#6rpLHmWTH%;W zV<5j6^lN!z;WIHLGL6^>BbyP74njVGzKtPcQJ_fPJW6ntFyN|0=QCl{iUt{?#dero z<4sVE75=nt$LbS*gq=KKZ@2Z1nb_D)(R3TlFecf`Lk|i06i-OkqedA)e<9c4*z&tO zoV!W!{p+)7L7QgC``i`0*ca@xJQFAbLKa8xYScJN1W%fFyZ!$&E?CM1fHT7?rrJUqvY_7@mKMG z#C1+-YJS%jt4-Cr{jqucBHD4UmM1JpgC>yN{P6EGzudPyWCciSibCH^zO}>O5nec4 zULZ=ngKVf{q6lPk6^e$TYn{iycPTN60Hay1SCmR#9IMkq{lIbeUc1cQ& z$-v7<9IAip-e%K~LwDkjeHfgM;axg6YW&VTKG=&kx}Msbq6gNegCchCFt4%89RX;% z2kt2M$3$X(FaA!=hF@4zc6)#LPu|W(lplFjY06fJyVS&Odx8hTHqmC!k0l|L5zK*(CN|KdF8C7CoVnjLU>wz{-;`YKjJ+UW+zmGwLzfRS1O79PVPiXh zLME${i^99z6&`s_*ovPN3=e0QNezUzRS?0WI;Z>IgYLFjpR4=^^f*aw7bT|9H z#L6-U$}?sxaX_QkBS^kYPl3(+C)PY;9dOWe!d6?(AUQgr>6I&R#{eS7KW%!n`2Z7@?eDn%ElF-_%sgq_o9-I7Ed$ zDS0O@(0%i^bZ0?){PMW{d+lw{1j=;JZmnBE&o|wF7|FM;rwW9Fs{0AzZU2&hr!*R| zktq;YTTc+7M-ajK#K}of#9jkI&kaL(o*PN~YJybj|sYy`=y1v8#r-Q>e*8AsR-NU2VgAjK5sF*2soJNn z<=ItPfH+(Nw9iIL7HUq384B9-8HEi0uoOcYE}A77!-aYNZ1imZ+G98XsY+mXB&o`2 z=bKmL)bZ~OMNPwSYT`eTrS)&ff}o-2mtL@At5tDf)M}=5n%Q$ulX3i93jqPy`McF{O&-)Z#NLYdV$Ayu#@#r3`t1dK;ScpYLg=zvU3{0 zOp2yV05s8T!`Wz0pK;qXw`gA=u7cz3&L)t4X;ua>T~21Cs*3Nbe>9DfZ)3E11!kT* zdt>M;^czrbx!`Z0WO>up~mV0z!om>;!JhJo$!I>3$q!!B0sWGq9$ikTL6_eNY%}my_;ENQMxw+N@>M3)P_HmiCGL(yks%IavXSa&EySV;fn< zj-WbTiPLww<;IRyT$Dm}{W?UfrO{^&!1tP|)?|m2A47dWDi)-H$R>Jc88c!qMzcR9 zq3;qz79?{)JAJV3^c=n3lpyIhAA=0+?*dt9BADDrBpDW^BbbcxIv~P!hlXw&<-;61TvlIh@pRDI<12l?n_4|5~oc4mV@&q7GTu5`7Q@k-za_8o?SD zcP*c7$7XIygBieo7f?ehGCajWE20ITpEo=Oz^4L-9G>m-gkLfSp^KT70tKXh)U zKmMwB{LnYH{JkOLa@i35rw$-+a_0hZQc~A(9yD7&bCRfn*=bfT&3Ftglz^-X=~d)5 zgsEXcu`C?`H0ac*Cr3g`lA#FpejYR+ar1nE^P5%Xb(Zb1Y=0zd&6m;gmb zl~@;1Q1I{i;4R9;{DS4L^B^J8+ECCC$dxt7G`G!KX?=xigw?*bkX2$&V}NQ1I1&QJ%0|E`+`WG zuOV1h0eZq_SGmTO2pDc98s0we0u^ioLJYF(W<*KM1RI@1x>bmksOqS=rhsaI7D!_h zEOAwPMc5Av2+Qw&macu#RRBF8=bBSn;LfKN)UXxP$SjL(MZ>IqGGw$Ntd!H!{7x-x zqC)V7NiYQR2Ko$fhle59=cvN;%m&@^pf@X?-Ub3I_9CO`@iPv5z9h8`DvE^rBm*%*b4vGm2CGHdtdqY=N*tT3??YSlRu*? zuN@xE4iIg_5)F=Ys-c)b16XmT02TnnC9na_?G-7Jjrd>bP3e4XQd%Eo0F@=@KiO5i z1u!v|33c2^U(gFj3xln9vL&7@;fRMQ~RtugwPmBs+4Y#%?{&!(RUIrBfmrJqV(w( zYvQfcwq>uGpn-kD{InYumZ&rpW~fvmexJuV&$muz$3VYFBg+kuwuQij0cF$y^-~T= zOcm>_kfUI<<}?;PW_sr?9r6hK#|=}mTMQ&M@$ROy07z9jQ7P{)Pl6b^KB!)_OGv7k z=V&*-0}D@6LpAC$`^|m{D^3bi^ckhbZKdeFk-n;l>Lkke-*ZsirQ6duT8klw=~ntI zWxQls7@#Vdp#%5(k!@6Rq~=hh#1PWgre~}Z)CYDVtyp(#pdHjDJ18AoP#sEc>;g4m z+-{T$4VRTus*Pa3!p3x26-@QHF4)0Kmk3jrAS11shJD~rfuzMgI&#*6nDYtv_RhHz zxJ%V34gLdx5%yC4#9c>x0s#nLM8W@tFR!y=B^D2H@%j(ryBY9fiH=T@P~6K3aZsb- zWfG=7PM!{{U0$bd;4n2`>_+#FKlDuIGj%p+l$YE7^h&kr4Ml2K4j0yJznftF9NIk} zTv(YS%xb9G<=N7z)2Hk(l>*29=XL$)UHe3`jof0M-pg)ZrYfl?idkd7U)8{|!XP@? zA~g|)8Sz!WS$a7psy7EoKZ3^ZLjt;KQxCGdIIj)|jFmmh-F>Y(iM=b$ruCjP5YthJ z9Kv?GJ)dEZl-@X4T6;9BVSquLswLux=Jec+$NZGng-$#)?&qyFeUt`jMhE|fhS4*4 zP&%rxOLCRy9Ky!2^zEcpQ%v?q(qn3-y-b1@Cv)Use-l-y-9IHHZyKyFf>2UT@_{uSBQyD_73zpFAe>#QcAL@(VJjVMOKO2oL7a7cT#ytD^A8BK`TqoAhPMB2Ak6Fk9fa94{*Msmy_40covYAh3JpFTYEs$eYjFI; z8b7z2Mm>siF_)w2h74B9|nB_GL z1$J*@7WasDv?${HRO5_u)W-{5`TgR8`A61Ch;JhPmu-nVOA?+1e3-XSLRjVDGabJ? zlJeUcX3@?HzV06ZE&RP`rJ^jXL-@J>9b5|ZXj`wqP{3j&H}!ON$-CrufsQbOvY1GV zjvmKIGf-vUk-A81>faT3-v)pA<4mRLe#hpJ`i;4vu20lidp;U0bX8Y-9{us~LfN_P z|8J&L(ZKHE|D-Mug?~|(i2kIEu^p{BjkQ12W%7TeF3yVUdvQBdSbQHg^ZzDFJys`Q ztwG?ZhzGNA>{j={#bKw9Wf-%QL^Q^k7zO(T`k6++B}0>Wz82*uW5rg8&1Jx9kP6jD ze%ow(L@+}$RdQq7j5he>6ME!`x7o@keq?JeP1j{2+mK+V04qG0D1nr=U5Qpqd-7k@ z#i7IVEIHJ!JTVUPk1FL>_%BuJ8O~I6=`D}q?s_oWidvp1@L#4>v}+7Q`qy~inQst| zbbdSrV_yq=(^pqSAEQ|@!L9rSZpr(q++F0Z#kHRMa@`cV%5qiMTu;bGgCg@n%n46*xfpJ@@K@OMJZ`-wD&RqoB!GehNKth;3!inaik$ z@Jj-jST)|P*Tem%mb!zrgu+)6dRlJW=a}NFjKDag;1A`OTn@rT1<7+uqm>LM2C$K0 zp3SZ9RgO|MPq ztOPkN`Th3hkdhM$N?^Fp#+LJf z4UgTjjg6tqX92SjqD0c;)R}l(tWg`3nWW8=NF!ut=4t`gc$4;eilU)z%z~WG z9t~HluI^rnj&(;4E&C@`%Yr%6NI;W3Iwu?7Dp;$mn!p0nxG8Riis!AjEEQe-5PHI8 zL_6!}f*W=>>@g%A(QP-aK-Fr`Tp^m}RBRaK1_nf{Hi9bcl-kN#E3Mx}m+U#CRNy~% zJw$9Iz2w5AUVr5<8K>VTMyN9NLz}r;f6a6Cjs`s=F%*^D?aad%hYjGV7t+dIw{Wn1 z@B+7KAAxWD&120mi1GGUzh8TjFoK4^a(--q5O*%NwA<+DhpG@*VH zD$E%nVOx{%vt_uUkAkw-?9E94BUX{pFUgh9ytSMZF)D>M9N(AjO5rWzW)$2{BAEQD z@_PgZ+bKHJrFAS}F!bQ|Ei*r9y6jyRSu_w7Z!;T#X6^IYEaU}(TL9d}G;pGQgB-wM zN7AFs&sMDQMKQw5YcllrtepR4(bs-rjf+LRD!&hmDF zh%!lT$nK0{QOGTkrYq_Y1#C^TheTCiZi;#&5_tOqh>>Q~<)0JH}`?wyS&FhWB!XHG%+_ywt z?4{KfCgP*RsW92DsO(+DCKHzRli)cm?gJkk!S=*@K+c@XWuPj!uhZE%nx5PJ!*jtR5n$oW4FB1{b zxw9C;zirJ-KT2nxsQy4=^ZLKJ(qWS4U!=nKKt4U9 z@yLH}x!z9VNT25|T&qTN{V^*s4h3znRM*N0!DL|CRwbbOHJ9IguwVvBy5f{>ZdaX? z4mCLpv)fFzN)9^_w!||d*^7`mS$GQsS>T5(tR1y7S*5a2Y3hPAd?&aRE3kzr^BB9- zu6nI4SxH8xfC&Y!YmvW#T}d{DAT$1o^*!_UM!N9KTizMU>bfo z|M0OWKY33X^HY09H&DM$(UvsUk?j4JA@-%ETYr!8>EiCF0P!oC-o+1n$n;0v*QCwj z*rxdP#l!gcb+|)^MgL<5mi8G5Gh66fy5tL7mnH?~n64~cv)n$$@^&A)yExZha3KEBf8je@>!S(r}ug|m>W*3FZ;r{YkH-Yyyf|NP&< z11*wiWjR(wj>t zc4r(F4To7BezX@R9&d8#j~r(&t{>5$v(y?l;= zw1#lNOSs`~<#izg)-dD+4kO79N}|;+-$C|{$!^kLkHu;??Jl3}m>V|tPsq@{X_bj- zfJIu8G2P{s5%YG)CD*mk;?uq(X)r;G#k8Ft!AIyiTyW@i)un{iZPZyYu=C)e?siAi z#IBvx-4JdI6SUqo-Hh_NY*{W!UZ}vbGcr1GJmar{i8|en~L!Gw~f8pze#n z&ADmYPw}6HTgIdf5b&#cy_UI!fro|eC+XWpd`eIvmT9NuGEP1!BE{S&053gf!RNP= z*Ln=`gm9XxtrXGgt^Ej#rk$Ypls-0pR6~X|&6YV{A_OeQ;ILjr9%6#H?`1_g-#42` zUf3wHsEfaDjnpCHSQ07p;cqPyf|C`#`S*EiG!ryS&%;ye;TCfvB8tf^xdffHN8qZC z;%N|+VfoAvR^eHdKeWqw>J~SE9Xa--jwVc#%RsN`-c*oe%Lr)|&3KZ(rl{`BU!}H& zd$4iT$VAk!)3GM3m8AGckd+2z>b24^A$uA8B}0zu{Ut+=T`K=AL%uTnks(K9{*ob! zJ*dx^B~Y#~(Luz3`G|XmO~IwLaZOa%IWCqOq~VVW+wepk#$d_zL=r+6`%okY+jOl{L+a-DnCYcg7U~bZNty(2n8*6sI#P=*_o$`> zAf|9N0%X0vXn!ZxSW_->qu8igIkl9F#=p8yE?GZZ^VZ$QxL9w;@O2Cm_S5saJ2t@T zC!oG4H!Z1zaK~QF;HRUex*9!uRT{@vfqQoVqWPZxI$?ux9p3v+TeAD)PjmO$Cwlb!wX7&{XM;+=-_IKp)GRz3 zVS?q=t0#p7;bSJ>V0OZMGMRY1)VGa2Twy6Gz{oxHrp~64=@A_sM^|q z2aP~Vz);b}BP(W90$^!LAkqJbYUqDNwP=&Sbw76-rZf6dz$#ol7RXPC)he2JQx8^% z-%xNTSaX-ccsfjih0zIkAfSw>py28l0sX+I5hw$E8i51I9qN+m{S<(4KvF0Kuyk&e z^`w&_GXyrsmF%r%iQt;06u=t|U=nEkrTww~(*9U~%vwO}FSOCqfzvh8qzw8>J$xD> zoC`1n2m^s1h3I$KRD};i5U%kBZd`t38z2lc{+RzZ{vHn*3>r#8hQFg+C%$boSs?WH z+P`tFGOzny%{!&W`+c&cIa-YKyZ47m21v(^DmuOXQU3&^8ziB%;nf0VOr#@);+23; zpD(P_xqlHZwesLlq<@?%B_J7uvJ7_j5Qv`V+wn;mO~-xV$5j1?muPZy5lDwLpmJU_ zJQMzQ|LPn(p_+4KAT7D92yTeL)a_{1XLxPXray8IK^35%uMNtB8OmuPdhTACe)jEA zoDqK*hQ3D)=Bm4r0W<=RD;Sn9VLt;fBoN8VIR!@&Y4Z0YvX!+$(eS%)!UM$mqkF}( z>m@j5@diFt*2taZeOL>!UgZk zujJXEKgcs?g$-j(zWCp|^<~Fw3yPL{QPt6Lj{()^vDMMN48-Shq~}-2I;0ekzt<}I z8Av)f+W8TX@_mOK;V`gW**(pS#d!lRTar61u)MEoxL zeHXgA`9yx$>ko4^F3T?UDWdgi&#_FSDOnUoPwfyjNA2mdlbbFYQc#9}WAj;^KiGU1 z=D)D{TO<&hs}lSJo7bNGh0Ter{tKJSAO6ASLBn5ZolfiCAw%D9u+uOcv0oIEj>%LV9bt?`H?oX81objFj8C%yoEEMB1qW(C^1cYp-ZKiSvO;Xb1=}3+dq8CD1<`-lzFqKygjhWo)UjO^y;Hx$kE499i1^ZIMsfmf34)tO#9DD7#$MF|{k)dJ5!*=nSs15bMFT2yJZE zLi+)W&_G^-bK(5^T}1o+ivxIDWDY9hY{o9p!Rw;R`+hzQGs#z2`Oxv!T(1K70%LAx zevZ~^gCa)N&yloDV&rz3u?Xt10nty#7l`vrXOQ+MZj_+$OhbCUyR+o#v49w z)&9~-5;rX7X?P@W?F@N>`h+%Z{=7v%nkF-6)?UsLvL}Nl5u#8JTkucJx~C1)dQtKQ1e7k7Q(1FHMP@2wKI9(R zmez>8AvLVtq8eyD>EjtpjMOGU6_}uQL?K-d=J0|h){_DdXS#u0$8xnL;ELY6be0#( zB#Az&4ms|ncG#fNblf=p9jfKW%I`euiDxHu_pV0=BKHTqHC|rDKI<9+{7c`LDs?5+ z18=N$baid~bn;}Zla;hz3E7SB=i&g7U1cTm4uUY!uAd*L7cHK%>SdX|3sGpEh{U+1*7;b#t`_8HN6{*9+o{wHf0 zjd`&+1ZWx*-OExQzk*_@iw4dJ9hSEtBw}PtWtp;(MYTp7>VSU-Q+i*Nj)>g`uG?@~RE&@3p`( z|7k5S-}#2h8UFiYEq^$tgBj|q%`2=b%kfybV= z^lQTM{NM$Xi7w;=w0pa|dpOxgfNfP2D3cnRuXsvkh!iWd4gzu*4}9xZgjk-sC387u z>+Xt9#SF5QFa7D~&7)v}h6C_hyh~WEP2;Z+{^7 zG7xfaKP8g0l|i`0!j7^5A@^914gSI($gM{`1;-uFEd{a<`1JKJ$bDL_YSp$-n#BdH z3)~8Omt)PDm29y}jk)KB_Z|W~LAGvt{Ek@87Z@(B&S=T&zX;|%zr|1a54TH+kB?K$ zNl?hA40Uvs?0I~e9YJFT?lPf;U-#LC&s)@&v!N1n@$!vp-$uamad7Xr$w3iqfX~7- zv0*db{Q`^X-C%d{!Djo0>SJ4WmzS%nd0oZ}(J7yTlF+HZM=BP>q)_ zdf9Uf_%DyGA2t|02gtwjDsqst`butt1{=Q|zb z;l<I7rZFOw3)3I&aw$ZU|cbs%= z+eXLkq+{FY80YS1t-bfN_F8Yf=gaw!s(a3)DjBnCR>p7qaV-O*$3!Vj`CA8J0EUIq z)CnOHJ5jIr@Q$~L*1otZHeVZhDIbj`^j(w|%C*mjXYRE45fWWZ%r%4bSw0K!KfpHZ zXziC+mANYSfaO)Z8r%lw(6mj=Z9Whi&7jG64r~st?Q-Wyw*%F!zjaa65H&dKT?qCs zLSLxWa8MwA|FL%^Q&Ek?B7IhNfx8Y!D zh#e(?LI)W`S$I}rBsUI89ch9e!h|j=Nd*E>++d{s$I1J1VwDv9U@8_+yqFMxOv-0S zC5K8(`v$yRU}1_FRddA|F;@DMvjg*xiEIz%p@{zhev>w_3j8FCr8;7q$W7*8WnH4I z9c47<%HtiYg3zbD3i~|}o&o|+LprD=l0uRzmjMIw!bnT)KE=Q8riJq%+|M0t92}|WsvADBUe2wJ#QkATb$r2)}5M- z>EI-}fwN{q!)fCMuvv^M0wq$?*QcI|p53B>I{4$d*f^h^Lq!=FCrJRtNmxFETK_FI z=cw@?QgflEKmR*5_l#&FF^dt*A|yc?%rdna96wwfMH9?&fN1$f9P?6behHy8~k+yf?XCU%d_~9AG)n9c1)b4`0Fe7x88C;-@ zuNQN9*7i2^wz{SKZ7Kw~bq+U(KE00xjIV(NF9CupxS=>&70Q_LctAMPgkc9G9aiFV7-~ET(U1yA;U{)g80x?T%v=)C(nk%2&&gAmGdm>2 zxuU8djT%Dm7Ioj+BP>1xEnS#vH(dakjuWvJ*k5qefI2WEs6he@fip+t_*FC_Zh`wB z(G9w9b^^TzK%14#_r`bVUuz&Xh`%}!f8o)!SwnOd8&pTGO{fhrswhkq`r%RY45&gy4HSfq!x@US+d2L}VBM9r)O&Kow*# z0FjQ$4j2qXq5_eMxU2OWpc*P@z%L9y6p-mK|Ij(+7kOOUA$pBl>B=^*$cLr>mZH@D zAw|XZ{r6^G%i?`jl8Gc@weFa5jK%c7GeNL_Wr9>C=xL~_H2vSmpU@@#v6Jr;s2wS` zR9ED;P{y%A;iQ#-=!<4YtU})c%23O-2K*zOwf~TzP8+t^5|nrL>E|DgNZ;;kMyvN}9~l zmeK-u0(Zr3Tl82D5{F%?tH2W=5++rwqedVJTb_0@n7QbF;h9N`LB;R8 zjNJ4mwVha|sJYDe_oRHo+nrI#{p>q`%y?SII$E&VxJH3*r2{cMSrl3@otpMz0ao{1 z0vl##DLD@5XWUEk$#KGsrT*Kag1Ry-BkVuas?(qURIA{w{#C6?KI#1Xrk)AT+RY8S zNvLqEU7`{8PeRDxM`i`_M*`J@0#df~>NT05y=3dg%k+CT?}LTjmVW;B`!ygZ`uD)V z{Pi)lhldriw}}p-+{iIG=S5Cog$`x;$jlo1YDdSZh*mVE0*)TI+3>gU*h%bU9R;>y z(Px95dyDTckks=Gu+E17KG4raSO4{4YfoVb z>R)#CrAV>z--&$C(6-u8qbQ$)UbKAMLece8yrv(zDWjq3A|hTVk$qI3fxCK`5+$yS z+9kBdV(vVr6J1XR6iD+#re)UF^-Sv~pi=d+1yri4|5d44bwO?Zhf-zz|4yj_jmz6W z$5r>5_A31Xhc#8gxBSw3Ny&VZ3zVwV{QfRgMa2D6s^S7lRdUKyCsDB|W)v%jBn|6> zC&&AT#tiUIf_PDzQ!V-C7MtYvtSIknK@fr~o71l$x&OhtqW5T*9AA z$?P0H#fdvVYJGOLEMi1>4-fRNXb_a%NOK=k-1+hw{?08XrAjg`^f`9z{>s`&n3q4( zo$|D^UT3Ze5-$k!u2iWc{^xCdf&nlyG?DeU%+R>V--~^SaNIuGoS?M)yLZJs6#9KI z7EQ*b^I>n&mZipm?Nns_=~nSZupjGp1-+c$1m*tfGGXIa)l# z2+5-99qii%HbW5_x~077$(O-Ys*o)(1;43u^fe_8^YSc(`GYOa1D!ykKl^%RZg67u ziIz@(fX;YdllPL&_-(i%t6!}_6^x6zj?sc(;Op^I$uFAkhM_%TPstxQ>wQ~yN1amH zCfL-67T>f!mAlW%0)w{q3}3aY*8+N0Cm!-5lM|DRX?&z$%Q?hIhE=6j0Ai-%Y z6w`j`bt_>+axw7NdH!MS?^Tsr0hNkw_F*CQHR5#ng%DdPI@5%OJ)2_=+%#951xFH##<|m0n_DYJOltI!sFc}3X z`VaI@6Uey6z z@`S7Ij~c-A$}xXtg$JW@r|``*&)75V23!n9u6vEMT&k2+OTC+}>?NkiarILBRrhOF zWIjgpgyHJHp9lu8W-I$w+ee7RGn&3gC3x*tby@3%DWxwuUL{HDt9F=H6>2kR8ew#{*!!> zv=9;c4#W`+V0B5GU?UtWkC-x*f%1-$=urHERbHivlFxZ) zWhbbnqH8k|t-X5Feo(6lk$rxviqj;(5$1ntM}RTrfCzxg)gi^uK~6;*T)@bm9~<#r z-C*?6MC8eH@WbOzwEJ@O;bt~ z)qm`^n@*)7)xzGDGCBmO zYg+zWy@GQKc}J7>cHlfcbPTXb#X>;NX;hi+=f72%Jn8tshxGAMuzz!t@+lG3qw0^0 z9TDtx3ZePdh6>e9g%PJ=eXUu|%q%z@pq;8V`nA{p82uBs57*!Y5?>( z&}BQrP!tM%UL|62cn*u4x4s5_KDSmH1_6$ouX~AXI}(#Y9=ujMbQh0<=2QR*hK@cG zC8B@h5hLLMa{bqz$-nnOdRxgLvd=4J|ZHWx$TR-Z~Zc3(Zc27=_IjgG#p~6PF87ot3pM#Pc=@_N~Umu!e4(1KEt!amhzlY1W25k>b10FBFP0r2t*b9D0~VYz&RZP3B*1WM3KN`i!!Wo;UeH`CoCI{v6%}m80}8|v}in-us2ec z_PbuQZb#Kvomh^C3Yijdm1r=65i1-mjN>{GM>ZO5(~Z|F2bOO1eQh@r0I;ZHHLX(lV^9ES(1c@V?0x7D(Xy2H_<(Z_lP8Yz`a_ z91+5lJ32Oj zQJS2|9YrX=SH4VDE_O)Uw=Z|x<(?L+mS^2kbnX=nUJFwq1|?V7AQ2T~p$U()B^hCM zlLn+)S0pDCJ3!gV9~z5BRV>Q!TvC-kuYC?qGu*OQ1m2NHM)C4opA$3TkHikfzcLjI~u{wM^Dgu4Z!Bl70@eP zd~ZKzS@7@3UkRdq;)T3)qLmO}Q)YLJO+P7e0)m~c2MsjMq}~>vTOlm6+ft$8=wG8tOiUB zYWza0&JZLMzy@vu{fmjgA7Qtc=$6-C7!ZaF8dk9miuB0j_thUMX%U1Fl+T8iZvvV@TBSR* z25_mhBnCj*t^C9ep}q^M0ba{tZ>-Ix(;HRuQ8>B@-O1?}4Cz_P%$4Z_+t zLe@?G`u%@G3FZ6}A5``OpVKsSintcYzMH7SP4e@?{L_w@UVNsAx>{FTXp^X!#~RhH z)COB7N*+Q1x79@?LvGdUxSy-9_Xjfc6$0;jKua37cJQV3P}oXweotG!q= zi$#+*n4Ff6%3e7PS#e_he-lVRKK^Gb1hD-Qcouxu!7W0Un!9|~`@wiicyK3^Zs#0*y)rATF3$p}IGn@jix zkQrkQQicmz48q7+xDZ|1adz3W-|PDo;Sg!w|7mgr6<$ypm_3x1!M2*rbS?b4rj}#Y z_`ju~G1{E}pQuC8#=gkYor1pasgBqaBa)2!%DOJ(hiFE46!?1=aE5wdpJ_GYvv_`p z;D5DBkZ<3d@xM^(>CFILN|UlREE!lFkQR^oqmN4L@-HQWGcbHOgoFq{*CE&(KN}>} zBNeb-LXjv$EaNYSWB+&g+%p@LG;C!OE;e%&C&A@HtmBXH)hLZlc6HmYe;kg7_KBDY ze`;Yd{ueQBT><~4{EN8}5lWmAXl@L6@Z0%2Gx}j1@ov6+XCkR3qquocxl_FZGUG?q z|F;rUaRyX^BBK1I{}maXT~H6&B^2s$|KF)VI)a|cHah3Lmw8ikIvT)&iA%7sSP7Rn zpbWG^qwqHw=#A)~GEmNFBf8f>ZYd*|SX#P8PSnH(IxYS`vJRrT?`fCX(=*-DXVxUI zyfAQqjXgO}I~zZ_+l$=`=-xKvI!e~(r^+(gzwW-WDJBeGHWBv4_7;S|Ns6%RdF89m zD?Fs@gK)E)So~K@?BD&4pDbF#4oV&b3beV(?Sw8L(A1EuxB{6u#a2@74yDzlV^l{; z{^G}SAU}q%U?%+M?1SH*>_cYC-?9$~*?-SI{iG!L+-&-pi5h{qHBug(dU4fh)} zrVQTy%08su|5Fxn7M_szYvnujz6b`(BFqva9mA7nATDj}vSC5plaGru-Sx|$_)QHP zZH0kYFjzQe{z~WlS0F<6%iXYhj(d6`vM=EIuObTA>8_cNuVt(uOGeM4&Y)r#AmtSn zRE?j>Q?MhQtEI@BVKBK1e(gx@@MIuG z_Hc*BXHZuLOIVJnH5T+;1TK_T~&i65%Kw4BX=B=jTzMyS5cN8Rbzoh=G$zi_Rv8m4x`r z8}wSS=hN@jpQ3nCQmFYWncwj#$sD6K0|Q2}mZ&xPTgi~zrU$HwB;RO=W#u4u?7l2j zrkAw^r4)NSs{Cf)Qw*<{?({}nb2Z8?1@=>>aV*9TlCQ_TqO^T-`uqan>rIJ)+j;)- zM2+#kH0V5t+oqJFV;FjT%EXjzitY|z7@vYe;?EwV7eQ_ z0oJKAjV&+>kp;2^ub|}IVeU`H(p*g$;Bm%~1!d()Ai=O3B;2PIARJJCErthsbE8u2 zNu#hAo1uJD`cdz0wNk2_Niu;9!m_#P6bH%0-nn#=BA*!Hs~L@MmYBFzkxLuK0vDQw2J zi}5Z;DICj)fS-plZ$vp{YiS3nE9qi3laUtp+>4J0T}^)_10R8_IwGnRgL@8kA1Wt_ zkVBpB?>oO(U7Uc~0cAo7< ziX#)6%@7YH*mfFO5FihbeZ(^JVeRpj##eiGJ5o7gm3M18s-1+`EYMWzUfbkNa8;px zqtPrLZ;(zkORi3oZD(;aD59G$U#6O-$u5kX!u2b{n~ke?go_h3d{dkn>|ga->hQt3 z+z=ewH_;H}%6baj^zXtS;-~8#fNXhBEF3-A6_QNcgB?vcG>`QgvX9*`BKM}7^x~Oz z(`mfHJftlDzM;`npHlRNLDE=<+Q%`uacKWIlJ-o|^f;nnMu(Mr$TA#GEw9bsroV9j zqhVKVJW`t)*RF`JwFo;zz2~m*_m@On7XTyON26+|!qIvir~wB=Z><1u)S4)wzhR!y zI6ye}sshU{Jf~YAs>Hq*A*$%2l~_d`)Dv)53ubOAfFunuBaARJ(C33zbqDoxHpmGF zgb&~?03c+>zy&8PUP$&PspWm1ACOUsIy+sTpT{bNt!C;vdObxA`ZA9nQj(V;9E~+X zB74OP$V%wP{#=naugod>xds&I?MhfXTN=Lo4TdaEdkA(le1ARM)s>0(OuL1!Uxt1K zxrNY+n;wbKkBhCbeMLkgK0=p4B~ehv$}|hUwsqBCF(KX8Hx?G#ALlhNgn@G9vh>?! z;HmO1K%W)&t!taY^N0iLcwv3#a3|ebk64ww+Ay;&~b0B-B9TDMCic7QIL%*stl2OqpGry1fp2Qqe2$@ zQfd7~_sQ8@z@n6`676lpH&T+`_(?d3wILVPde!O8?>It06)Heyux zX8w7CwA+{iT;ry`xjQd+f#LIYqdOG;ru6PI~0f0jUZS#8?Vy|f#z@ZGpq0J38e4qfs zA?n6gpqJiX8_)uq4pvlO`>jAltTI@< z+?*G)q3A+LQZoFg$$EuAVO1wLPY9KO$v2!h!}5E9=$4dxpgt>It_ z?qx7VPy|1{K&YFFm9eT&H#%fh`>W`IDgk|Hg^46kh4l(`f)eDJTH_>12}GDK>f;s7 zqD*suwK}-ook{+lH-eBXux2;_T1Re~A0W%(I2w>!%1K1ktXmlfEeC=^7Y{-rkpM=b zQTmHWq*e%X16?Itelk83Ypegnf%vG2(&&(j z!<7pm00%uIRBUuQ3#zjMVzK>h(HH!}1)$Hx=fDTk(xCFk%!tN}MN$`lvu>U2IpXPr z)u9prvmS;M{kjSQ4}wAjDF9FWlZ!VN+;M-T_I1dLY$S)kaUZf_;ehi~7gH-X5BHHP znuY=)yu;P;e9GlX&67Fz>&ID_pYtkPGyC_RHyQ=I_9id-h(=S&dz<_8;VIXb^~|ny z*%fXdJFa$Q7|Bvee+WVD>Vm^2zpyPNMO5g-W)ta~ZJEqqF2MEf79a-+5s|HaH5S)Z z`)76}_onSz%vrPVfL(`s^}1_)!n*5R?J7e{Cfd_O92T+|u6z99mf9nL!bDsfyfvQw zKuB+yz7=_L0*bq&);S{*42e0_A<8}eIa_&h<%8NyZgnWEmBPq9+-Tc=oZ*BnmK9~7 zD7Ee?XWsR+N7;q8S&LW(91!c&kH2Z*4Osg%dJm|*zB3R;^9Nz=$EndWh}jJ@M)>8X z3$fwsP}{oR01^_4|sc&vi{A ztJImkQF~&j<5~TAEqITn!nRZUNOnBnLq_DAUdGPdIRDt{0*!};PV((H_s+^$HD+ue z(?)QCyvd{&z2%b$9vMq6yN|+Z@Wm9m7OH4OE!QvPGADYg!R{uY#QGGBm4fJ}*cLP` zlIb?7VJ~|6OvI#^2J=WIR%qMFG?$TVUw%euNyilw*b5$1Me~p>p%DuuA4wzI?JplA z$w8FDurm5WOC0mzyeJ$hMn@}J@opW&tyngYl)Mb>qB@&@p|OQx)|%OigcW56>K29v z$9Mu+$7tDHeH!b-H|U#M3!dv?!PRtmfqYFGSUg{_S3~EadA)B#{+O*FrsGu9P(Q7v zDvD7>QKQ3cUGLdyRW5`yx9rA`c&XM7_)d^t392gMDtTRDRJlas+dNW^!+{#7?DC|p zcQ}UfEptUpHodTXnhQ6}vO^tu2<0gaGw<{LdiAWfY4u@fnqk7P-pUqi9nK?%NaAe2gQBftmPl>lkd;#x-?FuM4y6ajp#oUN5PfYocm~2 zX7ZWcSj2*6I8uC2IY6D{`4t|N(0!ssUFUL*)sL%ncG}6#;-svRn-&v}bFZ1!GhX7u z^)TNjTY?~xLVA<~j-TLKPOQ9J!aDT@H@gT9m+SpYsk|_Kj1cLn?DK5EF#B=L^`^(1 zOawY%EdCo83 ztZC_eC<@Dwtj^t#|4}=L6UV3F*T81sC8bj6tVa#ym8_f0 zJ{iF<3JSv?q0+@;CNrR0j%(g|R+{2$>MTsppZXLcZ5AcMB+oQkXq;g*oVlDXb*{2Y z`cJ|>+klNCyk73eIMqAE*B~4&4w$fiFUXpKjwzL&36GQjChWt+)*hY^OpW)HU0u3U z)k&-RjoNexz(4;n9}@e{I8thilmg9%mZJ?=a7`yv{XOh`7e6;zco#-Pug68s3XHD5 zAcAN22&O{_t;6B%5dSVKBs-xsZ&K$OUad!8=Cq>mkbL6RS!S-SX@QY$Tdy z(u<=|v)%dY`I)ZbL3RP$l-So-f-oqG#Tj{FdbseTIe@6mzdABHkMPhemCBRv#Wj&m>PLxr>DexC3(L6}W&mc>*F z>P~$#54)knL%Qzv36I4)M8?m~!Xqg`wbqxwL$M!iyBc_e$#~x3m&JNwPu4N!2 zNM32zHWn*f*~o-iK4zHzVWeCMzORa=>p%hV!1}UKravTPm%;l`e-fOAg5WUw__KBG z!SPeNYpgTMG|~JBXOYw`0s3OGtP1WVQc;T5vtmn#)**EK`+LwtX#`iF-z{!TJ-X0r z@TT`ft#F9j@Wd#yX~B&4MCXETfz&hDn{ZKDmX&Bd3dz_OHmlQ|Qyn)k4ERo6Uc{P7 zWzW#XPmQaz^hPPk1CcDnQqTFh=lR*?^wlL*)wfFcsoCoa;XS-;{CwbY&n`|IqzY~+ zYc_xUa9_4LYAj0jN)y+?DfAASLMSXV4q_d?c28%b_C>rp?3Bdsurh)8wlAbgvV4#m zK}F|{{{AIf6IZI|$4+Fp8c00OGU4QY9yDuP&w`0xme_tKGS_zrA8e)FLT(6s9Yu9c z;7au%IN+&q{ba&gr_w9P92v#^z2(%hYy*oIQp|#UCiY!L9#&kY;fR!wmpTFB&!8+e zOVg68V@FmNE?vP5ze3Qz^ zxyHDG*`Y~|^s1AXrEt}(kCn5ucg|*GS!|zpN&IAmvr_48ftr+s?YL5Yrx@h)h!9)N zY(*$*d+N>-2Pe=nJ2_4qw->H(bGkpR&_i zTINzgcVu5r?BmSG9DP^R3@HtVbRZflL__DPY}08UZ~x_X4>)%%9PjWqv6Eg7xwXro z%f6Nm`Vx1xg4ozo$ui+`*a#SI(p~W)jHg z5uouKGO#sRFNx(Y(sH0P4UoL#a$O_8c;}~g05^A=8Yr?BmsB)xQcx?7+Hm3`E9ubZ zxVnelcGUVdg1GWbpnpz04*&6iD;@X<-6hL~^TvJddX8G};IHPdNSZrgvuxG1s7+7q zre85MKz7JZ%cKz^y(es&GIo^H2B&$j52iEXrp@Sk4E+-@sZX^U}Henzo684ApATS9>PZI@6?hWN(WZN@dyu=unAQD-W3@-)o ztHB(tc&U3v=FO<6LDfMC9pkU&0NjV=Zx_7B3IFEsEvklH*bXVr-^s8$QR7_ zmnq`fpDKcJO{U@5=IYyaQU;UWL80gnT9@$=DDT1Aah#Vg7Wz^CQf^ZjEexZp*kN_p zoRKDoSW~m!pm6*SA5+?|y=Hx(5^$R#^Bor6+()Hh5jgO64X(~pBXN1>HdWvEsp$6I z=kNyg?d|eV(18G3eXyts#JG@R3|_F|V9-o&d9f(BJC4WKc*ja5KPOnf#R;(vnEIiJ z(Z`yk_LHf~sL`WbxQ*6P?prK!v{Yk3LyuJBAj)JTj55h}wN~k%uwGOxCx{9%G;Ks! z2&dAE*hzQPOF;c<|JH6EOw&=|#W@|H$#X|4S1=IpY&l3E{}xU3+j4;48KJr+%JFEH55b7AKXCl29CB=nM-~FCJMI)Z~tW2>uN0+4Y6S z6XSOajL3uEdWMHhKF?$1=5NMpEuT5Lj&tth^|M>2mMy;S+)E|sHmvK74QI!DeS}3_ zBW>UwPHXztu>WwqJG7?bYM|d(ey@He-rLAb4GNH+AOI&vs4?uz5o?pBo1W7?-#EYj zE+a6Y-AL$Eb6ngRd2E23ZTn-%;yEaPjD0PZT|zW5_&EmrD`Um|o*V}ET7p>U9yJ#; zVZ33xUEp_{l_atHZOJgQucqVGEcy4cpT6nAn&paT-j|{P><71k8Elt}#K<(~izd~& zt*<3tiRu>gOcm%Z=H=2}x)OrcUBhmirc!(>zIx5BskaE%b$(|GT|(4tEWNGQ|0x<} z9YOB0(0?iIJikk^(ZG>M;DHr<)66He_dy<*S+q4bteJ?(=iBb+U{BbCk+oRq77|oJ z2$yhjE417cueuQv=R&*Jtl;&~iBLcJIpdXWB;JdjF;M4$>wc6mYN9#BIzOrUYHFmM z^V3CimVKmb>z5l_3%n$G7w-IR=zFc2sI{R34K_}HX-q#)B^{&a(>cgAi|TYJ1JK^W z*DnAx0EIl944YLAPW-4cNzxi{-UW<663@0>%@9b&x12EHq`6`3p)B@j5%qha?D4f@5*Bo@Q&M1v0NtORVZsfe^X17fWb)(`{T zDn)z=x?mje5@jnF9sJXYg>0$G=r?6B3b?j|T&I*mL>|B~ zDY8=m3*u$uXv~|YFV8adC>->Ixc&=5&4NTcDg{1fS6q~4fI8DQ8m3Hs3Vr)8t@MLh z0c#|x^dp&)Y=EvW+gw-NjLU;lY=8lBO;Rd`J)D5u*U!Hdc{LcK7VnF&c~S>){Evj% z5oHeLgW}UyxA}F@Tj<9aP@4r;Mf1b*E=V%PjymGm3a(z;^etwS@ifYWPn{FZ7W7aj zA22Q*FS-%Ou>uj8-eeZT&*AD0KJoiSqeNLV`4L+TzlUg`A?706^+KT6H)RPBFME?K z{y^EAW>$~qFD_}+@k&*V>AcO-7T$Nux|J)EmMcSS9$F1}4Gtu;?~Cn>`a{mrnhj8G*Mros>Xp`$zZ@zT={UsO_YN|vEo+F3E zZOhyLcKP+dX8h@>2O-{vVOCDyUaT7%ss9WE936C`n+_q3Hwj__F%6%oL+rWC=L?__ z%)(EI5TW;6OR)F69m>HghH2{_=eWdfs=3wY_}ul$suL|R>Su@5nWfgiSoMaK5{K(k zrX(bsSxFXy6D3(MKN?Dr?QSOnP-mUbaQ`Qg+SpdkK^Xoo9PQTz;^<`Uw~j-j%M39c@A~2}stQRA z5n5_LRfRgO{b|f))q8;*$8zS6FYYMT6k zRTq9LK1e?jmmp|k$O&6{)OKH6%OjFi+T%6TFb@Z{WJx1dT=G{X5_4x&lv4C-IB!P6 znKS5}4#ek#g(PK=6#G0?5K}YS?5Fgw^XIF6>0s>pk_9#0o9Tt9w&!ol_kTEyueH0k zmc5l{yympMF_#{Rt=1%&nVp)fFP6s)xesDYMUU7TefbJnnu1eHvQyGQG}#L+dwz69#!*QJJ^?8$ z1fiU57tw_kgOvC>(SfNC^A{$Zb(@$UL-39$F$MRP$jUw_qRn4L{_AgW3T4w5H zb1M*fF5m3zw4yh^rWB(|FBk8zS1^yqx2um$8WQhT)7QIZ$z72aOjq7(zXUqT{R~)W=+>Ebqxj7y#1Zfr%7K% zI5~Z{@8a-Qo8@f|A47b;o^*2g1f2b_@aIU>=&U7ttr{A$9ZjM#zFh6Pgdqi$-pL!x zDzIesH8{XQ(!c*_SSSOMXTy08B2tof+YxoS)4ecb@3-He z6G!19^$JaLc~+?q+n=Z>S3359qe9nU%#4AfLWB8SN7av@LR+uG1riVW$6#V+!k@uo zO2f%e!M!X7eR4L*jMqxePP`dw#I!<&oH}@*jsDc%3BBg-%GJgz0_*SQ63rPgt$r%T z+H}FV*4%fW=S{KTpEIJ>#f{<9uOf&Z+AEkfC_I3Mxl8!aP)D>!7>)%4>u!Yj*xjW$ z_ouw6UNG^ACwLmChY}MeT7ob)<60d?$zgnaxxeH>S@4tev7%t{K-UqCJfCKoT)Cac z+FDvQ(tV^hTxdR2Iv1x_H*H-;PFC>Z&C#uMw!7X}Q{7I@LYR|s`Nj=&`AcL8_}}uf z6mb4r)I1k&5AnXqW@(ech8^33*3=izt|5gx$I=#AA-Ie++EkD7yt~O2K}Z#k3+X1K zbvVeMH~y`T;~g$e`i!lKPy5DY7A?ImiJX18zD_*q*B7v9@=)`4Ku;s*Qg4tiCT7Gn zDN8KkBs9&@@`K64wDS9j6;#=h>@#PteIG8L{KkCA`X>sFxtKP~ z(-tbl3dZcl)`kc#rd+z{qP`wOCgi<`v`EpVih7wcV}grBrsy(8KLbb^W~69t{5zi& z&(iraA;>b-(jNI~Iv}7g^}m0m&JU)YANRsoG1TQq@1#teO`Mc#zuaoANy!jIE!I z*O?qLkicZ!Q=1=}a4J1APqnOzV`93hetzBEEN8Hu1d0Mp@J6X*PLrE9F1HnnhKpaX zt$+5?5mC6!NR_b86xhGM?Y8n zdV{8GkA}|}SZA^1?$Ab0gWt_;<#2myi#u8Uv!iZEr6$=Q&H-WI6GJb(bma%A4#3kI z!ZVq_S;Vv51(%3dz|;Q@7Dm9+;zzt5iVRpTfk0RK0)udu5;T&4m;ZhJ;c`E&fY<)v zw#D?mFWx7eQCyB&KbEkT^tNEyJ`5M@cgKD2z;}}@f=E#G{!{9~RkjfKj$$F5M(V+# z3|PnIV&qh7n!yg>-IijZ*D6`!_vT_D@6BT5&6+Y~KYQiyo|<;#kPh7>A@qJE4f&0* z+PS_{6mw>`6OM+S#UfuOLl=7}{K?3U#M(JSYvesP_cgR$|bA zjO`D(+7hR-M9I`cRgj2Q`y+Bj(`1|+PH&Dphto~_^>X(^ic^@>7abEIn)N$5QE&HSt$~Yq+xx@vvGJ7xza-v<0oS=)p7A86X;3{DJpc^(Tb_Y8Z9!Y-`WMw zteR6bN)VcO@U+I#dG)XqM~-i>7QiYkJOQYsnjkTj7H+P`b>M(BnOF(3WZHC&Z=aeitQIn~ud?=1X~bw$n*`;a|*oYSr%#LZe*wR(`LmiGo0yZhCQSZa&!3fnQmc;*QDscy2<|kL&vy=rlEsIcB+r!!*Z!wrL5e*ymH-TiF2X8w!rwk-v2LQu9vNH*pL8P`k<=$5JZ zj^jqH=A`3JFYd=LLD!VJi&^Qg0^{7n&b5~c6m!&>*{^Xp=@hJSc4<<20i_g@h-Yj(`TmxGFcREslfAUVWo(21KYXq;Fo z4CdlrTp{s->9FY{WwCb!gg?I)E7hwv9h7(X#~5EvC@l=_QIlm39#98o4jrYV)x`W% zmRK4-OP5?6x&VG-=!$yK+W2XL40q@*J%T;*{0pTX?rurE9r9^OJnN6wQNkp(r9nVO z(iglD+HqCo?cHHC!Sdy7?>dcm{YbO&AdJdaTdg!L^8L&?QY+NJT< z=*CojGV98IBDHi{t1+yf!=;=Mj8HJ~}+<((Q>E=CF|pRspHtBc0;n94u+qshIRI%lba`IcpAZ{g!l z10Hx<`gK+^?E%gp2N`ehX>d$S#Rd$&UZG~1$eM6-X*YwR79dJ#zKsZxIDL>vZ&5`k>}T_$~UxlCUIf zoHRho?k%}~+SWUSxMSk+%fS0o8kcGxcxc-8GYg9;X3X`fO9CPc^83+@e;wmwqkyE1 z@f5s3{Nka9MJ_~+!XAV;WCkI2>-6ss2c=x8Gd)TOcsg<7)#ogMAj}$L{u^`S&JUnd zSik6jpXD$GLJ)9~Ck0)V;;KEkB&gK27>(x zYwPs)v6$v-?Cc_d4yXA{L=?Fe;12*by3K5$2dTSr?LdrH$9?z#$5k7%@dc+iZ^cXO zbRT}>%XD;~)gJFIkALsnTB@=HAb^z-0bGp&4jdC%L%_hYkbT$-@`4YX0M5Pgr~7Q~ z_*W*7bXH1elavb(<_fV-BbEO^S(B9a)n3sF@)Zb%{B-t7;gN9GwF+1h@OYFH5N1#i zY!H*+1I-?Ggj$qdF#v8Ia}5p=S!1Ap#1R1znN@H=d})I3$$^cu1YOrU!)1mW(2C@F zn87P+O@`*gj6^|=*YP?@76j3tEQi&GhPss#5kA-KsF&*Zt;JH7hpu|eLyAYQnN6+! z1T|U$)dlo9omu)tR5EbpM`HbTVn~ZOj${=^g~L^Po;#Q{`KUQ7C@*t=oxKR*m_(}S zDzYi;JuY6@Nti3&wMLW5x1j-%blJXo8q{|JG{*|~#4V5nG*tEFqC`1WPDL1IiU`TN z^7@gcR+T(*L0Mrnn_KuJis1aQ;*EMrXXPWaX*HqO9(NCe zlqFb^a#8sxh5AJ0)#<#H>V{yu#!B2k$L8bJBqgoocH=N?pHl*hfsvgzNk`B1HhMb|(V=~aT?Bzjyer03YywTHx#oCcK>n2D& z$Y!|eTs6B}h803`$7a^-w=_6+1g=0IWF}F&ncC^eQ{CO4*IFEVN5|BT!=tQ9Ng7mwWq(TQXJ?q^gCg zm8_cK^<`CyE~a+@&cO1;^4qh&#=j%;wC&%K*$(prL1T#KhtpRxDf>=3@sHA6HxY-3Aa*IYMmGnTb(8I_;I{-gQ& zI{i7WsdilIQ1k2$8G^|+v&rW44@H}fe1d0lDQ+b;x%Y%1%f^q*Hft@;C=E_)?Sbtp z=pHWKz7p{tX?Q)ZvFD^O3qJeVzw4Z>;>IMaqq27v(yiOw+?Gb~%k_F2JmPvMvXN(D zI0_Qs#)i9WpuUTA$sBq%@Q%gKyFBv_^UjS@WyFRDuSSs0{TnsQACBHR`_Uo_fp-jfV9{~u~LNfh3+@OsR=`w{WY@ax7YjQ2dgGG|1Xqe$?0 zI+={CF2S8yHyAzv#go&l@{3Lbp(jXjC6mJh@WXNL>ySC^Pwnb5iGVqX(1v?1}xMOCcSuhrKt1fGgUwI@?f2#p-Wla z7exL-WABBw1BLGv7!vKNgq)bd<5j0n5qooaAzSO!^k9qRQe5`tl^*V+qPLPxi@@a< z#4H`#j>R!3e4;EVxga~?LIG@z$GmxBsr{yWu^U@&Ka0{oA^f64CyU?4*the7g2m9L z!t-vU#VPQD0#hB)x+NG6A-Jf&Nfy*&?PepbTwwatljSnqZl3+6>+5;vywif1dqCe(;rso38|Dor>n!>-+GZQ11 zdXh^q-{0w3pan?Jy11o()a}Vkc>&e)^d|Cus@nua&mxwhNhY_l3P+)?axe5!3n$W) z^cObSUp^^d4$p0IvVVfU@sb(JSGLzIUib`Y-U4YY2IO6SDDxQX1e~~`h4E+OZ63Wq z-$Eg9Gg>#55^@kb!=W(Ai!@bgqV@YAW!;h|KX?5sLT)Q-W064$D|3{(!IuHCYn zc4f$0e!mvj_&=<@Wl)^$qO?1>dywGn5?q42JHg%E-Q9w_ySpa@4est5B)GeOL)O|$ z_Imd@`_y-SP(@9_)D+JE{d8a5_iYy5TJCmMl(6fGSINclPH5Jd7T345wolnhK?$iL zUo~=iS%TYEk^@tpo^r4R6Gc#&Q!*(k68&-d1Jx9BL@iG2vH>j#gjc~TN2#kYw+Sk4 z_2WGMOU-N$;*GZ8FwC9uE=fr@ATTh2kQ;X{QqkXog-dkfi4`y@Uqs^yDfYw-a0+l-mU`kp4H|Os417&D=_meGoHb`j`Ak|ukY_A~ zBy8frrspzn$^r!>2tZRIKEdg+jg$i#M#5(H79AmpP++mjneVIot^7HXwl`ia_+s@Y zzzQc%*!(BkPyhkVfw=^=UuVRT&EELX<^+gP_O}Ld$`KO?`3sAuL5S%bpoBG0A%$C2 z=vFY|=-bz-C%G~CUat#Nbh0=eK$Nb;ckFvkWX%|+nX8;~4aDP|pKVFQtH7uyK!^ji1gIBQ#0+|N!S9rY&jp;t+= z(H<^g2QdkCsp|okMT!m-Lzs;R$8eyJA|&-_*O3%%_s4ZlYz+*P{`?)QkzQ0k@U>y_ zLGM6UrEb7hr6fGSQb9L$veP})J$`7viY>7K5XHOvlZ^0_z&sIfvF!BF)d5gnsJ=_! zVx4~~)6L49QhO z339#3LSpklfq%=VtVtz4h3yll3x`u5=ls5%%aBWs3*av;cmwU|pVb|rP^|y8iT3%v z7q*`yBJkyLxu$3t3JPjv)Cmkys5iCgo)4IlmZfaw1WEIYtsSh&MSgDrNNB?u@vF zOp*_B5@C(M;Cl|E$p?#%%t=%SJe~@B8^XT5{(!lToa(iz3kD&?ig!S*$toNuJB1LG z#QH4yAOFNLnXRG{$;Ly&Wy@x20beBys4L599hzuW%p~MzGSRc5y@6>=0({h>Br7(R z@Ml)D5wBg3_sM-AAc#=#H$V_aA?BN!6A!LT$bS)nkjSluIY@OIWbjDdTX_ew9Y2J6 zW1!PzW8ypOcZ~Z|s2pDwNj4r>ze=F3sk{r%g)^Y=RI+&&o^6u)>Puy<{2D40=2GRl zb=cLaFIKGDtWKo(B|I-RZKFwslr61Q>BJH$InHd{GcFa#5hRz4bOG7q89AP&S67Wz zk7bAV5CwdaC`oURhZMisgcniO0!rku^UH+8Q~ zX#4BgW*c0O3j@tM8c?B?Bqy2!87&H(^v%ZkFT46T|BtXA+gR%lO{Q9W1=VgXjN6;{ zWMMFJ8b;<6<(gjeEEoUrpy%^-_8<&!uSA*XiuEI$>!Slg1lJ^^vLv z+KZB5CPsNKrAGp(zK-@K;c5F;+0K$=TVhljifHjW45*F^oM!8ll9!IhndXxRzATb~ zx-3lDx4}B=r(PgRxG47WO0x%1ud1o?f+mI7LnB0yNnJ@yURTvDWL*Pcf#^rIJU=>$H>DfQz&w-!!yZmwT49S>$z)4g` znr-hQ!dJ|Zl*~Wn+aenJduqS~Obs&7|0Ol}K8)!Rc_yayZ6`j6w=*lP9;}fdZZka$ z4nIf@+34j)hH3wY%Rn;=t48wM2rx77oada8T3DWTg)5R#W@OJQVm-n~G*3SGtMH(* zVB!v0az56=RJ1D9QfiV8c>a6gkjk*UJh|B5BiEr9p1K*ICLD=W1>%~*@sq_vgbuz@ zDm#H9PyzwG{zC#$0|NvRYGL3xIj-WDx^|oF>c=UH`3zx9F`vR8&8sbvaIz}Y$&@lu z5bBkOrg7t)s-`nZM(QGviW5>FDG-I`Dj$NB=AzYc@(&slyy?wj();CT(n&LH0|Y64 z|E}H07mn(1nl>0G-|F_O|C9_DdB7yZ_%{(mOre=f+ zNMD2U#YzgCgH7>lLV@}a{#dM^`>p;27i6=j5#|Puj6!H2f&oCGAp;>EkF+8azUI8m z6c85%#h6IC`{npEG%ETQvkV0PmBm$}%a?pOP>^`CFNUvs4R96UhvAHrE5aWMd`j!7 zt?88$E>=6B3PQ#LLH3mRt$^Z5fc%;8Hi8yVrz#0*kb}7-*^3|R7rD~sy|xFjqOaM4 zZsS{{4C&%R0|8QTgx_`OH|JVsykg+|(gH#;PPQzbX{Lb!CM)cR210R23VaCo`efS> ziNkjZaiQ+notaKPw!U=?blUq1a+B}dN}#bkGUbW{V~pUmn}2@guoPQ7&cXx-lmR6M zKP*x;oi3eS5QfNvog;e|K+hM`?)^pD|1f7o{Duc&1GQS6uu8hBL-sYjN+6L+c6jlL z-5#c$yqz2_4!3MUum!3n&SdwA@>3)z^$PmAHJW*vQC4MtqCp&E@^!kCk2(}BM1K%G z*8BJyf^fOL`SUZ#!!a-wUvk^LG8NA=>ai{A9SRi7`Tl0aMw|zhVEg;FOa-aKJ9~D4 zPYHqAQ!@9ZB^)Eq3wt;N4Xf5&K(7m^Et&Ofg*Gj}jQ9ye65FM@$WfS5or!lrYk(MzU8@B zfD0s$Q}c#$=4A}JO?b-#_=>VC%ev7{`Mk>u27-KrMCk@7GhL83lp6^r90^qTbJk)X z4?rjEVTpOC$JLMp!ZVU`na3Tirtll#5#6%C0Xc77pj^}`1;9fv?uCMIi3c8?g!lb3P#~Y|fMA^C0G)kv!bvh<}~jyKU^r z)OmOSe$8y0d|MC?o)<%AyiLYz^S~0Xp;Sa5O!mzpmyh(JvVT4%07_U^+)4w!sNYRM ztH$b4x>6!Sn`Zw0@3KNV^#58`X#6i^MaYN$ovg4D`zu*tuek*A-A_wJjQ{_etk}}n zyZ27?S2eE9v2fa1?J`7+@p{FFH$3zN8x~E%6tFmm`1k|F&;s4i;&jYv>@yuhNvUE= zaPTapF%>QFNS|@y+-A}Vp9bm%_%hF;!P(%i4W~FeT5b}vbmm~ z`QAtSx&$j8=6HR2c;*{i>(6a(K%a)3S<;=Bx3c#!KkG2EnBhV}_icHm-Mh%!(~4of zRZ-z}GeW!h^fVcR4qt&CLL0*}IVO!eodjHJ!1=q_;U>*mLTU#n z&BJ{vAVD1xY~l*G(2hqjR$g)`Quj>3Wu%Y$+-)U|Y@9VYK>q;y(uItPk0O5gEXJ9K zf~}B~i-H~}9H563_3i8mXSjdxe+MnB1pX6RX!`mNEm$Nl7<#?yk0rCe)*t6U{h?X- zPyI1n7%Mc}cSl06C<9z!W6II|zrlf07=Se5bZT$*M@>oC*6+ z)d2@`BZnJO&UwXISpHJqEHqTGb!#WgoP-9p%-9JqL zeB3grSwS1@nj{Ai(@lF27PWv4T87TR4{SdI>+H((xf{5wymlI{8iW@N`H$8O$j!A2X{X)#{av%Sc93iYS?r4J* zxTobf@%_C&#wQZq%`8zfr9Q4FiVSMXX_vf0nNlqpZ;_-{umJ6!u{zUi-o!Zn3L2-U z(KQ#v#pMEThrU_P3+Gpn6c13{6Jh$Mu|O&pt%?r$u5Vo8w6XJwN_Yr%!70nIel7^7 zqDaN{ZEy4|HogswH@yvkEq9(WCC#;THhAJ~au-6;<5xg^V4aJntl(PW98i#v!5sh4 z=eA6L`Hjk2_m^_n7f>PTFU@JYbIkn)D`fuq*0P`vB}Cv{5cE93dDDSq{-hGgyL7l@1!% zFsS!x-g!1SL4trWVykj@jF$nPjE^r`A$f?>)$w|N0Sd}gdHs*B(;&CIQEM7v(IRva z`+AEdEjA~J_8+X;jM6mUyI1#npa$lhLMjfwrO_UgkM7Sq^^3>41l=%`32&5)LCCs~ z1n`F)W{Z&vC&hW(KCi*TD40!(*$*g1`p2*ka@*)dYo9t^VEj-u>^3yn1m9EInR3U5 zSwNDO`Wou?*2^nAUQr-4%f~6~a(Aq<#%q>-ynjDOeQ`i;b^`SIN1!+ zp2Q*|P6gu$$CPO!fvc{Qtr)pbqC>J=q`91CW8023@*8(!Qko?F&J|V+ur`dWHcal*l>6K{UD$SE9s^@z+_GZF7T;jaBzJ9?{i&?VSR zvHbFGdIFD(`Dw}iBy^bFc@@dvS6+@6AEH`TM74jYixmz~(TIp`A6>kH-d(H#HH%`G zCki1{j#>@z_LJipRL){cc+oN{zFUthmqyKrkdsL(@+H2Lm?)}nVw5+kgq0R{IZTz6 ziEhSNWxQ@u+OGa(AG>93tqA{`^GEd?f8XB%CJj|)JOE7(IDD$2`7}((n8c_{@ukvj z^I|26&A5EhZW0J?MGR8*A(EnZ>y4gL2xz^Pfa3WGum?y=sMQQbY_hGOsa=Iv#s_GJ^2`d|lJ3f5+ERd*tWzwjGJ( zvG#V4O7`|c_VrHvWdn|D=*|98hoIf$3MApRoR#&JZ6?knZ-E&N1Wz}mRDZzq{}nUf~r}C{a>`hq8=rMs{VIQuKp82-ONRT@Z3rftKG~H);(1b zliA4BhYy*Eo)B8NcJ`07evuW4t0MH(2XWZ!8#8Y+pP#HZniryAB0;yjX4h0I0Khmv+kS$GacZ;Y;R6-gUZie>?)aSV4= zMq=A<->{*#P(5VuPc0Jk9COZ+k9tG!xR=C7Uni8~COefxnDC9jM|H>`Q`-meK7H1^ zJu#bXPSt+12826?v!Rft=Np5H3jbz+EN#rXcv%H)Eea}TeH#%^!I-FT`fPN7@Q2wI;K8#uy}Xn zmI>_HR)_+7wo+ZQ&K!U8*B`Cl>||I-!n`Fc>xY^s22hS>@KiPhT6HAq0RdtFa5yq``Dv~7?=S;H@q8rs|g0{lE zq$6`pwSSv-F2Qrs;pkw~iV0*w`0cRcncCN74cOAkQAGZ+!?b$e?J#sTmCnOPS*MTz z2dk4K!xu}6$#$Np4(IEd80+>%L?5+3psnp35VRcu_ev34>yfNvST5@@dqgF;xv6pf zG~@BFYBaO%^i-Z5&*g8t_5ukB?o+)Qs0abGJIla_#9YQZXpfXMv{|8{&XIC`ZOlk) z&GyXGwKZpCef)G;UG5q&z2CC&tRMeuDt$|->K30J@yOjnm)Ust!!XHDFeQHOu-E0o%G@s1)=)Rb*-2Tj=C>apDg)8yhA$_a;({nvI7#e~z;u8hyjqBYC ze%Z98`(h)NEqvj*aq2Cn7GMz;ikcA9F?Dy&eo%u()wAFBXO6en0TpRG3_7JjxZ{r} z#sT!ij7I;$6SK?`T=?UO!RPwE zd!l#bfAw7BQA0v`FOt{)fzmeA{|8EY{TC=L>(yEPv~0=$+;xorc3l%I?dI5eI4zh` zoZx`x+?qQiF?~oJLaFbF=F%0zSf2QDI5>Ul=KA5OLqn?|1OS|OnNbUKbz9bbG6gGw!J*ALtnpJGNhW@ETP66 zS~o9ZsDq!z$P%;#{*gk*itZV~0J|5Cc;U7OqxR9)$006ZssRlh?p;@*j{& z*>t`Ej6NT}>`$SmTkX(u?L2=#VL-sDtpj1oPMNpr7=D&Pc0fvUFGk_?`O^NQBNaDl zK5(4<;C#iyqLc2W<=6bWI@7l%cJx3^Pu0HmG@H>NP0tFnpH=O4mbU7! zHYZhXoAc`t5!QEA?I5ph(ql%W(k^MXvXjSlDqF?L{_b>k(Kj zI4*$tv6s=9pSC<H1ipdT+5d`80*n{z^U$1 zJ-;UGoe(6jVQ~!ZgLeyv-f`Cl!f#i`b*{+%aO8HY4!Nb}+r%$O0=vUP3kE-B+%bFoadJr`HUQ~Ej=LaJ^;&UPJ*XI*ak_C zpG5Swhi~}oy9W&Oap`*B_`^+mEw zDhq#db!<5kJzaOUS)b2|9v@%rs4hR;OSV~^&uQ}^AlNo;$eT%KyDr`Zo?1$!l&^5# zf6B*7zY?X@g!9d8;$cMP;|d$^Qj~X{^Y)Lpmoko`%HtTNKBoDl9AjTY?FaIpXbMH$ zkm1^}o7Z)6KHDtb`A28=t35V1$;O+F>WdW{U+|(TUzaFd7v|7h(bt8c+{ak1#lyy` zEKQg8&o1VXc?Qy7DKFaJ%Hssf^zYUnDa^faRqlV}wg%EtMOfG!f8r6^{ae>tCPrb* zWGaQM@s4SSJjN~Q6Ug-;hqao$3VZnlU=(r{4AJr&zIx+rbLeN?8a3zasKVsf!X;2^ zWz`WD#(7$THo^D1$lkU#l9?y^+`Gp-EU%(&EIiK96^&HP>}cufWF-ie5i}|ObUQB) zPh2Pszq8XRP(`qGV(4Q)y!rC9L2p`_ku?VOC7nQ-kwD(u>r+v;|A)XT8#h2vUV_bu ze}V~`kx}a1p8%KZ^v`VvZDcb-o{fIk{4}G1aL=H(5;+`3VI$ zjth>BFKA|W-<3OZ6N-?&Tmu;jm+q|nLIg@E?ng)!&P@_fcsZcLM2a1Pg@vjo?nk5^ z3m#&`2&E@pPM{|a>}!Vr``Yi1yW_)$|LJS<$K~!x$9av;<{DVT&<=5_$6Mb?IB0N? znQyh9#41gragogF5ab`BUO5xpECkK!AWcVK3|E6qRlywAfVfMRq?%;LU;|3Hru)6B z2DhAvi-V;+V!|X0T-@eJS^wUoU0=I-L+u_@q!MQLria)i4-dhNnGKz^a+?xQfD=6g zgv!E znVp}@54ECc>OX2F&tIjD&m590DOsv0-uayZVP@|-whLfQ0R<*exkF@to9;K9QB&vc z*OY>+qx4?f*$rU^^zGm8z1=Z`G4@Et4a#OOo;h6{sg4(y85{P2`XP|i`umxLpC7K~ zo!~MrVeKMhLG6Z*O}nW4l(I2OxPPBQ0MHvn_{laV0fnIAWI)1K%8{QMSjrGDYNS(T zgh+PXr54V%Q93Q{D_*rcA%>-|xAl%|??yZ9z+6&=$rJQE)cPosT8C`0X_iv1aucl7 zUR}To_8oa)(YQDI+zQa%EWJ2(%OQ`(9(X)AE=4&p?49O+ z8kGP$Nf-h>0c%8>0@JLub zoG~Srn*gjDba1R1PeA_yG}zagKm0J ze0RVSRY~N3MJ_8GHSa4=jpV>Thr8Tl_zapjN7VSJ-C?8(6uCK64UM{qq|n~9R5%Rk zZX+devl?}pRQcO-y_tI` zP&9A}YO6Gse#USM`gkfjOG1yKjU<*pH1IRBRp3}E9VF^>aZl*j6{bfh$L&8So{WdJ z_-+SXZ|=@!X|kwQWZ1qNm;~$Qd?~*~obH?U!Cimp4+Xlc5^yD~Uut6_3qjBvx6zhf zqLAkLh~7mhcoBp!?4f8N^2ktz+!ux?*NMJ$)~IjyKpCp=C1IE*%w$*>J*M)@LxYG* z5>KpKX8CC6<*;fru~lnd^mzCal^Q(hbOkLK3mSdYr4S9QzIw_h*IgE6fnSr~}Dmu~kOfu-BeZDY;-SN|;C zHY?6{O|vn$gF$x2jpvDawA354nA;6B?lI}wm>N*ty%c8{e&*taL8O5LY3PoZuRBRT zz54mTtKBvrbWKA`-yNo~g-2N4KggJxa}C+fF`T8-nS4~dll*Q+XOww!Ls*mUgQZ5X zOvlp>QlYl17CkO~5S6m~w`A&M7vul6bo-e9ucceBWnk&HXf4Ys@VtI;^&xerfD@{G z$>f|bVoYIH=uKLH&Dd~Oh;Ka4i{^{Xz&y=yTeF<*_nk`LuTN~`ViYe4uLl)q3!FGn zva1g9M+Q%9H?`^SW)sfpMU~u)A%f6z1^j^2kI5Bep zhxtaDg(E;9j8 z+kM-AlEc0G1-8^4KyrBRe28}&Qd zXg|2ZJdF2oe9a^hy!|f}f6@uxL^SL?lp7dq1r!NV=-bJ#C*Dp8D}TAAxd$Dcs7Bbx zT^D!c-mk+e>p}Md16g`R1=$~h3dtsPXlKg{GTlAVj&)AFSA??6Er@l<4G5B?Y<`0V zjBn(QHs_r}AYQ~iDl4Koqk$#=-6X&Qngn?13b%Azf~oGn1!gkC^fP~k4g&jM@lrrW z-o?ZWY0^hHz>=8W4cR~-_GW>7==^LMZ)JMcO#PL?bPd?I-IHd}wmjINOLUnZF6#7w z4quURzV1Xr&mxms1`B0*0!CPW(ZBr)?BA}SDf&P*1t0z8KGt!GC2P^=2yb0~NMQf= zn1+e{l=hlTefvLxth;x=V4!0Ep95LrsQ>B{2#QR7Pd{c_^H?I3N}?Sjl31XY2~em4 z+61eAYywt0UOts3v-$KtHo*$b57vFOB6OMfF?NA!JQbyNTZMcLT`qHfQ<~sE{0wAh zZ8v}Hh9NbEx5@}pQ8nYe9jlrVO3d)F^ep$6#{RG3Q3N`NpP%dO!s!*@U>*JzWr=Z4 z&uGDYH%IJK=9tU+!ZDY0WENef?A&0;S*o~;kdB;Q`qC{rvul3Gz35gmuN2W@=CMHG}s!cVil+V<-6H93OXx*=Y7re7#J9^mCjlFgfxewS7aQsgZ#^ST+K- zr_NL1$(^`~;&8>WW5u@!apl>{=Xa^S4Gy9~NpPMU@jf?@OF(PCyQF+= z@q4q@+V`$>B^~IG;}9k{!xNC%duLZ3yL`FNp^DoKWD&u>6To3XAb-qpf2aI1IiPg~ ze4lHJX*WLigc=>P?SAhU3UaQ)-9-L1jKQSo8ulrjlxw>8)oSs3OUO?-`*`GK7H>l8 zNk@>0&lmwvU5>y-|BqeFetX;%xZFQ{K$*aXfg?Qr*7#78Zxa&dM<9xRtzSzN4EeQ{ z=AHd4RDR1H%M)4p%>gP9@{8QK!{Yx$Q0nea@G5+06g#I zABlP!zB-rg3Yh3E>O{HpuoAiSeywV;ULmt01@dh;6WWxJU2P8pzX-1-SaPk1iuphH zZhYU%_C*jw>8q9s6Kl)Qykj8U%8y2MzZZ)rF0D|mt@q(S0#q3y(@k-O z(^DaZ8(>kirc)7tPMb;~ixaGY70Ok8isjXuE}r;${SZsf?RNpvZ%Tey`ZWe-6?8k$ z?_%jgzo|=6!jLtn8_{Mkbv8y@tUpz%-qiXD7$rz9IDGz+!8vi(!6a0XA>d^X9OUr` z-|w~QC*Y-}P-aEY7sxC*0GTD>L352xupMClCp&}#XsVaSC-Y0u<&U(S(C4OI34Ro+ zF%%oy6MkgQ0l*I=y&(<#u6W>!@*~TEN%n$JL#-|3h3kq3VlrevOa@9y5fb>&4t6c6 z@&E8G2>=#bLi$*h+#lz>opy1!dI7D6u(MouXGZeO6YcG5y+?p5oBr;Fr=W-o42-@X-;)MIKi+H zE07{)ywO+1#tMob+-8Cn9fg7i{RG`bXh!NUkczn^2q_@CZf6(xA|TukqVEv<5!>$$ zuz-;Npi)LazmZR@;ZQE%w*a?6s9xq0d!s8Q1(1S>f8hp@ zj!feKJOJXnJh4Dv$=I{AEGg7lm;ah9Zb0OEz;7R9>Zk!AtV{I(kJ3IQZ-tPLsTTiY z0c9(9Ug#BE(1LAeeev>^3EqiMNH0G&a2c~h(Ec{ylBxh0xRe~4*B@8p0UL0rBD8~R zg~A=N4EEPr1pZb@(F12|QeEh$L=7~Qq_w&lp+C{-X+)9gExX6zbvKeozYK&lF0q45 zf#z#dQ}8AoQa1=ic4&IP+X%a)*T6nCe8JNDo!n@ynfm>` z%ZS}s61O7q)~{%JNZ>N>CO1R+k4T9|!)2(6*gXSdq-U%Ano(-&q8^1xME~zFRpfuc zR6W-3Fx7S;0rxykWxKX8A(nm zmQez-NF_;R{jCU=4#t93MFh-n<9OJW zJYy9#waKThR~}4qck&Efn0DvN{my1Bm9=jLqc?^zUL}K-hZtr|yn%};vtPj@88f%z zZld(wlO{o$z+T|Uqb>hZ*aW{WdKV4CC9M1xzQM7I%U0^H51@+%ECW^c+MgJmdQ%_wf=RZ{VjKb7k)Dg9fZJB-+e7=1^e$xJVK1l)0c}{>w zpFD@<9$ZsC&`9anB%_QDzlyV+1BqjS!FKgUc%aYVx(>h4JXr#$4ggHm|#SrTP2ntIa@>Q;e~GxI9u)U}kbr4P40Je}PvZ z*Pz)?+@Q>^g2EJ=UnS`&aqgIGz5>y2cF%?)^FM>G=B&<)91VegQkT{j>*sCJ>SAYQ3I~H&Okky%mY_kZOQ-pitA87#`}t^ zykZ1!Bxdy6J{ir`za!teS%RH^i?_=E5pVtfzT(;vunzu1)pO%k-ZVYEC?$MRY!@e% zab^D*VHlp|P-hbvsZ5THOyQ2;BGyQ7?aZ7gM{}+y(_sSkUji=Fy>IsaGUQ6*{ojXN zMZNxW$aUF#OWWV!&Q83+>94A8^<8`$LX_$pG;%1xb(Vb7f6aQokw~p<|6#qyqIK{` zQI7Vd0x(h|Wn<=a&CiMOqxMaWoGY&rfTxAbb;vq({5eD(0?G%?Cih>vZkA8`TEJtv zHU4wTH7jE7eJX}+%rv1~bQBx;&s2)Ww=MP}jp~QXKmFhk@_PEYv*Vb$Et<-&bVY7?Ws# zx#9k4u}VAk&}5zrhmUh6L#6m_C^IptHsn;qhBs>Nev+tR7~`R;(2{#=nsE0N+kIPc zp1*yscZTdulb}UToi@BuO2C`I{W*m7lCR+Skm47P_!8$uyhnL3{o{;llyYNUj?F8} z!3;!`Z7gwj3G-gt05%0*Faoy%3VfnA0i|t@M{X?#))yPvi6Xaj|I5Io7gKr^_@pdc zYF2zb$D!;i`G>cAWKoHt`|6nZjr5yWM|{HXLfr82)EC+WqzhxLo191=u!xej$czu2 zJ5P9;$VC+8*>sx7*CJuGdg`oG2BhB|&$lQfQyquU{nkbLxyPdopiMHIbjr@l@_nI+ zr@E@S2%A)bj|eC3L_GjK^Vr7yven;-RH9UEjTI-mtrP6o{d)`2WJe*$5+6U_2iVhi zN^D_NIL^W731Ghp#mQYIJ%0qp9s%LUvk!*BHq!5uw%@$smF?Ir$)z_#&!QPlatR;c%pJVfxL?gOy;* zEJCj;2S~@UpPTJmS`vq)fRy%Sb*flD^MK$!rm_<1odNETIV-@wQIkt;t1E*>oV~S8K zl+AeF`ZU=9D}lVuL=`Wv3E=H+(ub~89U+KLkqTRThFyE+x*)vCC_pgFOY=x%>Fe~- z6pjVZ=NJHpa7MC%Ob-S@S&+0PAr2YqQn7(d|1toWWy2}$HrcG-LY~oT?fgM` zDZN3%-y$n>?cB*>F|WS2>o4urI1e~uH3Pm7$ue@smCh+yYCqN;6)8@BTg{jlx^|vr zH`ibg6Tz^;)DrGX;hk)}@`8&;V4jl?)gSv!%=8mO1+M7%O^gBn_4}=cb9gkTSZ;|g z)RG;MYmdS*$$4cCuyrR5GP-d!bcxgk)_Kp0Ru;?R>Y`OqiL7dYC02#Ba9Q)BlGcT@ zqQmD?qQhY-`k%s0W%?b#Nx+iWL#lC{Ldo>y6F6elprl~kz>^gS>e;Z_*DOoLD781W zA~GOl%>@xMm17`flX|f^R22C{HxoUdzTJNI63o6O+J$gZu!^-cNMsD&`6jDY| zK#N&dCa8-bEXU4@V5s$DFA@We3d5BW47v4GmrtEE}GM+#a~*Na5%Nckb-8psVwn=<*#&lvVD021E=mN zw~?LS9AY{i2lf`6N^vxaL(X@pnN|R?WK1j+*rTq)O1hPyf!NXAEB|{iZhJY_kZGjM zu%{niwH)`ROWdy%b#`Pbikl8aCeJp7J}_8RW||FTy&pI7A(vlw7As_mR$p0AGqBZv zGKumnAUKQ&BmcmxF`pYN9WpZ8Kt%5oi%|DDdxVXzKi{*HAjOw&p69a~3n6#!5q$Op>1(LI$7_B!1ZG#R9zWLON zV|PwTD13>wb<`RsM_oasKN_i^JW{K6j|W(88LnU(G8O&gxsg&t(C)bPVMGkvg3
    cfZ;y2;K(cYicYP_TW!)wAg&H+j?bVkz{4cG0rR(@q z8@IDHP};0b!?60-Nw%I}Gqzxe@m5piM9Hjh0=evtNzxDbl!Y73Rw`>P84z8^si@{gbU zToMOx6!H#}A5|Ht<1zaBfE$Q#ga-b7TT8e2kl~zSl}%c$PJ-~kZL*7mcr-TQUuxEH zT(m@OZB|+)>nwMtPF#Kr^yJ;Qteh0TognBSJocEj>vt}kxWu%!cQ@GhPM+Q7_@A~f zye>7Eb_@`C&TD_JvD(ESLW9=c+g*1JBZTCv=g;-;hMVeP*oooXt7boR!fLab_>}X6 zwjnfH7)0`Oh1{7dT!hgXj5pDl{sqQ@j?W1X|4ta+29YC*_mcCr>%$7PG~*SA9<+v@q;-alArlxIc}hWh zDRw>Vl0(LkkL>NW|~G*5Kme7_AAp4`? zsDHmx8kWAs_|Dd@efSNm_Kau`wvPGmTP%^@^9c*q@rg}^C8b4T$=i{{Q=#`Xmx7Wi z^^&W;dCJW)l4{vcbkUDu(kugFdEP&VKjwPZsvQephH^%Aso0*OqFI8E_p)XY!hjU_N%ad64P|{V>8{CuFVJk+L+Z< z>`lj79ddFG{4l;c$5XkIdq^xgq2G`&d0MG}_NnzXyv^&4$vVfP+uC61!DT6tHQ7S& z91wC0VqADK)jHl=QG<1ul}C4kWa6|PN&@0-nk&t(9i6v}@pTw1eTt>0NVm_G?+Qiwi4macCKS4ucuvg#F?; zN3_e6suiZlkLU7@6b#~~f!XGZo;g=|4I+}G*rS_Ihbs$U|G4i=p)S)eM~c-Z{;lE; zGNM(@98wkI6t&2mhbpA!F(mSl&t$m)k<%wQAVCcU(pU{Q>W%c=`Ph1cb!t6Op)(4p*9|0qhFe#9urm`9Vof^%TX}=5D7*~BD&zWUXu3qOVKP$UAn0>~ zClX^^1;W*&|F%9;L)?JAv$UiGy@xh0Cd{MEmu#798BttAB+I{g&aK8L zj8nT!T*2KJ1>ew4+sja9+MaO2hJ~Ma*^qgXqJ+>D>KWI-Y(7z2CYS{(s3dUTBNpgM zP|I3D&!_$*=e@NF=S=ox+7Q*5%0tM|`kJCcehVG#s<%4;+k4Rb&0}q7OgIPBA9Sy! zcb0;Y68gr5c&=f0O?Y;0C48Pu^ys%V_ak@+0|a;S8r%Vx}_3t}7H2p;6t1TB8;$WgKe;NrAv)oEqc6 zQ#XX7!`$IyW$$sHnLj8-am)l^+m~ls=e*qYffXWb$*iTyOqraX*x+d@d^p0Xc;+x5 z@XB9s9}7YTCmx`qg=hOEc66LMV6N3lDIP zE?#v9^ZV&2joev$%+&S742cJokmiEFhi1NaVKMm%MWwU3t=QIxsV-2;*nT*rvje-8 zC3@4!*@XEJ2@-F7By=J&uVaKj+>nSZTr7bP7e;$Y9H=t2JKsLEUrU~6x;hypp ze0i?23LI86stVi~M-e|NiI5HQ)6PYmIh4g0+|F?B)2P1tWymc)mNK&So0Su>9i7vS zRjUsRHSK=ub2fO~QRVyW_gh6MINCZd%H=yx_i`PJWx#)c z4;tDux*`W_XEZZChVU?qWy9S0$jXL!Ey*A;a~tsFARRbqaK850`jgt_>ofx729Y(x zIz(AJE5kkH3Q`YhiusiL@=pl6J{b?Xfz{0J;6VkQ9jk(EsiKkoJzjmHq45ZfvJx+jctX*tTsu9ox2Tt7EHU+g8Um z-r4`P*M861XP-}}YF5pfmH8nxQZ>f)yK~*oBRG-hasi)6@KQ~i_7|>M{=#)EX5U;e z@?iY3<25{a2(wrW?s5ojqK52G9QManMZWT3Igr-m6=2SG*_>(qLVJ{#AR!MfQ21hNY8A%Aui7uoql-9dGJ}&P^1lFb z%ZzKPHkbFb8E)Z1FyQwzori8*59g^`)sAC+c+ z>$=U!3|c;02taM2{~fiX^#4I^5C2=MX1e;op;3oU-S9<`@2VIwI(wh;A8U$$#;(`* z6H_Z4N=jdO12uS75!XJ{nsg(ieVw3tLX$sI1PAmtASXci1_{R9fDI+Xfj>?O2sFyp z`M7*|SwlA^ddy^X@#LgAvvS}PC29;Y=g}B202SV9d!nZIvveOzJ~$Mo81?adFsCub zbQi(*5CC}JWFNw`ELuHw;M;BVTtc=F&z_;zgCzHaM&E#`5!E#W+R zZrVPTt>f^VJwn#%!UNEo9lQ65(|Eew>NvT2g9I=odEUM436D5TAchucf^|n^1Hj#p z|DW6~)wo(<+Z)*+TUTfPAKZOo`FrnQ-2DLazj8O2yeSdH|4;DVulR59E>iTskJEv= zQZn}fE>uFQke~SxNS~#T;}q5Dnnxj2@c5InB=+7eM(Lmf)Iiq_hOoZ(hY43UUjFp? z86e= zLNe<-`U zc>IFcm5h9*325UV$`;WNfV&^HR{}F4rD+!q!OGKT^vKrJy4piVCucpTR6kVg36WYZ zVmI05zjGWale2u*H;EXzRE%t0>oD_L96c9YGauU@fI`3wm&Z3?8|(0zREL+Dhd<^ijz52E8YQM43% zms3Gki*fb72n~Y>8!h3)$QzW2n7}QflLuXbfUUDceb@7@nk>A)LvI-q{3Po1+=-fP zUa&4eD_3;1&6MncZYjoW;So=ftRNG%01jC+${KQu%TP@U6NAXVfx-o={Ho^YN*!cm zW3~oi4=!_SCD_a7HF6f(_sfv>^n4CAPL$i7pq2a~QtGtnZD1(vQk~Y~#V?$8hp+7k zX`yY+9uZF+pPU899anXDl=Qf0`OqmLZ+jt2I1rsl_R4@eV!-#(N)!d_9jT@*%Q#3m zq9r46>oiHSF;XiV!h}$CyDRTXccvqYIZ1DazO;eeowXxt4+q__;~Dc|mh-(hijTQm zP8E)iS|cVEKa=Q673!`$MpbgrnWI@c*kpRME^bp2T)xM00LHu#On1FenV1SynwE}O z3nRX66(@X@1Cf#(+63eR%Oq_YkB((MIo*W7uN4s+dS(?AW(KXvTTD(8k%G4Y6nk`h zoxv&d>cuh3J3yNNESYG*(_3Xa<>^)NNde!bqjH%4&(T6Czc*9LY(t?=qlvPXXp;%6 zR5@LtMZ&NlR&{q$bN8roHXUHVv@@FX>q{(8g6+N-RqO#vOr1{P{{Go|eeeIQL2Fw5k$t0igoP?j zDo}T?>d40oF>}0(1(d7T3s-C66>k>)uOm~A=#`F@ra-a9roa%Ljt{?0ywkPa!qYW_ zftpPp$_oUSi&?;@!VsOe;5BtXOo8NfcfAG)Ey7LA&stt{p$ftB!vDuBa7yyayz0;pu8Y=%1EhXeir z{*1VtYn{9Nb{U&kmHu0-mC+FHqS4V1U2}JnO^f@nC znSDlqZEL1^HV~`rmYD+XLk^NQER>|H6_a@rp=E*a{7aU3f$)HfX&VQ)n67~o^)4eO z3&J@Zrj(c-L9uuT@~+==HXILZF4T{QL9c!t`31Zir|A300OXHO(W9m3vWj4jI zykrub%os!j-gLX6M>$_xqt%sTX!S)*CF za}-3q@xvaQYba-)k$4Qeo^@#Dun9|`+4z-t*Abv{AenEWZYB`EWBmPnLLq6W)Zh`f zlo}&;)13}_eTj}n+aE(lW8YQLCj!oyn3cX&0S4E4584itaYEj3-A1CL_s!9$O)!?~aF+R6q* zis^?7%9>; zO8eq3&80rPCl%!?OW=jIUhBW+&QkP#*@WY<%El}|NLJCW)wi3UqCAD3E~lJc&>XG{ zaA=(g3cLiuBwFRsHJs(yQ{frm{FCE?>c4jWgeKvK9MmM2IECF#m=zmNG~!Hyqex-9 zfPbqc2X%7>Gq9UEOCJ`Ka5L8a4OL2`OaFLzskw_yb92n{!Rm`idW2h_A_RSuWWanD zM2P5~Ef2>%Zem}#dk3H#&e7Oke+!rah4)>sJHzSHqfj=q@9Yuo zu8r@8cTifAlep7HvGf;MG2JP|2IU!8Wc1Rl(6E0WOz}Q{Ks;V6ThdBe;wf zjXg;zQjOV6_)m)KDRELDOG<-HD#al{iaaWD3W#y@0Wt2#;g})M(BOkRgdizhj*-JR zG*gXX*#z=gJTlW+>`EqMgBpY+CQ~qn;A%~eHF`rtLl8399WPO6vjx>b(hG8B3){cvc3psMn&9ZIzO+D2k@AN?wm4 zwU0zpr?Oj&qLCGAkf*mmwa~m}J}$5UKrGp;m#Zw2hoh%4K!n?C=xdk$=GCO$vZ5gh za-bl{75GVu80}4>1wOsA!_B~B_P^Bopwlb!LH%8=H*RnXI{0F~l_=={Ps4e+X z?Ri<>h`v0p;}YDlW8Rq|b4MIRT0?6+*rBM`e!PpE`es0I@ipI~eWd7AsV>!@*O;R+ zKk1sEnHY6?y1i&`XGe4g*GAtyRJoz<`aH&h(pRi8{F&TL8ti5YX##s)qShcXENdyQ&Q(U%T#NryRU6+eXc7!#1ND z_)raDVuom0Dc~Sz!?q$)>CcX(JbP6znn$}}yiOiiuICaWE8UKK){kwzCol<%(7B3u zea8uGJ`C5!&Teo3kDhrx_@o+^r^W#935~SrYc9}(9i3h9vJiiQR6Z0GcPMJXhq-EcB zH^zRGLuLK+t_4&nQP$}! zlB^IX{O*`|k2O^3ZBsB(j4aP!O&nX!=)Nlx8TM}~6kh0WPev=NI~}dR*gT~8u)Bbx zx0sEwyDaXTe|UIS&t{6+RfrXGL~pTr(2y*i&_!+)c#@y?H#1`{eOs_tA(5qzNni6X0My?yiv29UMrURvVb}gdfyv z0yOH?A(IT^{SLlE(9zcZq@y`Aty`180zp-hY;p}|&xz;Q3VwaWbxEkykQqDFX>ln# z+ooudDmWbIOYfEL=)Ix?Dyo z6&4LuMVewcZuY{-s}K?UtW)~0bTP2dQN4gFf%c#n#{ zsbo;wvM{U(Ud?60t9?KU17iVqdnd>yD~x5w3{K| zpR4a>m8+6K$L_dtmeiGx1;4KP4%ETHs4D&52q9edN6rJogKO&!2T-)M@ghrFe>Yc6 zaa=(*Lp2*Psw~5a3g3V-xf>fv2{ZM>M8*@=j(uNB z_Y}bne?%M)9EhT9t*e`~^p{!CY?XhvEZasvn+%N@j-RU5=^$jVV;23;{ja40)JeoC6ZxZYJ zQ&#Rt%oN>reT#c&Bq~!_*dQI+JZ}Et?GO=Ta)@VO`|Rc|IEzT1$M5G&v2*qjBX@Tn z1^n^KP1yV3z8Sb=k?6s>v@-b^`PnS+O?aE{5q2~dgGKVJr#&TGiDiIQ9zZz(&6F9- zIZT|vV9mVNM5qnTXz-S`7tid&yZ!jI=$jqi{j3oI@eIMc1Z^E9wU*oSO=d-0wE9>S zV{So1WP|c`#9)2E;%fsX3~x$gu4X+tlQMMxH}o!@AH`xn4!v(=Q0_qb`K_<$A|)<( ze7p4mw?KvE(k@VVAkalc!(&yqnV~v4P)A zp-gP^-xpkC&;;L6zN+D=lm@~Bby(*nH8$P#)7-!h--24kGsBs<7W>uOl=LqzHV^r(&w+)gNDOKaw9 zdO?pm^`blvW9?_Ls3`%+tkAIo+?ygd%SjFW-{XG;1{yGy>H9k0pir$OEK z27bm}e~dr)K1AD7TtB-MN(XjaJVRbKa-Z=H$;oh$x7f?)HP+HK7vM1!myo3j4nt!= znf`Fb?NHsi(Hd2&4{a4tk*iCC3N}1$De_Z79%-MW4HO-&%?SH~TtVke2*TN8dmlKR z`%^U|rx_kO^ddF(Catk|4H-jNOVf*aDzF)&H5{^+?>~dxtxw^u%8q9V4Rs-yL5(Ja zGB7t;h9fmi;bx?IGJMZ#ip#ih=XWLAn-Kg(^H*ZX4*b6o186oLN>k4OlQ%2I0jCI& z+y8YKID82~DA*euuS%2BPv{(NJUX(p5PG{qvuFmV%Jv0A{BBz2^%q(?s%!Gg6mmXm zDJ~KpCC-Fpbhz5OV5K_#u@(M^?o_n=3=d}mF-wxZIR|xqDsXu=N2FDo?-x}|m-t?S zcpLwp$*DeHcewQG{zbXnI!L>1!u(p7+5#>8Z@m4M9{v|^ivV~#b=Y9~FTCw1#lzZX66$$NGx=ze$PkXLy1Gbv zUOBpwfaaDWc~yn=qR51A)D&TqIQ3V&at?ZvqO6mU@DMV5Lb~_t5}M)T<_7B$9K++4^&0C;Ku^E)Y?BII)ZGOYiN!UzR5CT8J340Ur{EnD-IZb}9pezP*CGjPmCswQCs3n}{j}lQb;?WY$w?^F!Z<4_g+E zzxWIrvnm{6RUVeg7gEX-s;CE=EHC3Ctjis&lHiubE7&qa`y6HkCy{ zYYlN!Rv)R7PhA+fQYnba$RpP}%A>}-1)Cli_tqoBH!BoI{Td}5yJutrauSDJM!_EB%KG%SbNuYuaGL2JefwMvDtbIEg!o}WpG zU#++zY@=3GJTOvKnN-Cu&?%5i9eBZMamHMR#je4i)us{W)J{vbJ*p0avh~5;o41YW zjG3ckxceiZpu0O9!YJ2dKF=sOzyp702m^oDiyG*jC9ubpW|dXypey{4$6zTzeWe@Bq#T^POjz7gwCI1p^FVWVp9{!7v2BC7jzK~D~ z;a>fLa)g*z-oMExgLwiEH5p1tnk1;=nf9&e@<#W@d<+{>sLGMq1ity9&NHGDWng&W z$@|nKyO8$kY-ZdejZZ{3{KM!pS$0AD#Wfmcoj<}BmclY+9l@~S2-0rpho&OItj17T zA96NZ`^_xwep{nXZ)Lixg57{K@>AbY40WZ`^<+DFbeaO)yr{H}?Os?;smI7_Ce7du z+~QAv1`XC9uT@i)d4P50iM)M@)0XfxM`pQfnqx^cHu4s};W^n{WYrst$P_D0cb(LE z-^z@7!*XQs<4Q7ry{wu?Pg<_MD+o8tAH_-*xLgpJr0!U~i6v;R^C=#zeIoO%edb>f z5KYcE_@1o5+W=`W&q2hwz!M(U6G_ppK`8Q<*buHkG!*%m&(zouB3gouc6n=;f(k1Q zg61GxpTuU!tN(x*2-l_g!IS-q+>i>y*Z0byf=ApbbUK4_OQ@)YXb~Ig;}uju!LMXJ zZfwsc^IV9!aP3dDxQR2)dia9*o&3doIZe%m4AzkHzW(8)5cTd9PPeoq6fzD79=nEo(3(jUUC;U3?S;*>33F#cD3exfC`ao;X2sD+N<+E3m5gp`W* zTDdDQYOG`r3i$-X7DVqEd#g<)0_+_+lkb+j#lUKNzaX@+?Jr<<=5&3dTj!MJKpjN3 ze!{o09z>x0u!+hiQoDWGL)1IrxK4RgJ`TAU`UAU|34Z?>XegQo^FAc(603J|TyKA` zY|BSUGg$G4cnW4(-2j}A@KCtrFCY53)l68`D8(P$S6Dj5?jO-5jkdxg(UPtMQVd#v z>>8`|ry2yYQ6;aDVcZ4;x*>a&N`6@4OwgaMadt<-2Cd9YI&AeM8svckMi>XI;1_bQ z7+1jkr{A|-?@L5VCWpbs=%0`a<~P*yV)y6L6FrrI3mjN?wV8ME*`9guh$6!J`yrv4 zkOWmG?(*907)s{jLK&J`_=1`??lUQnHtzEBd})V7F{(2qkTxDOC8222h~Y}mjSm76 zWz~okVp;^$VNDPD0k8R)zseto01oj5GK1>n`ggM(g`r7S=tni3)slVFZq_@M>elo= z?4?TPh01C*3rm|W7>lL{Nv+z(2T6f076%seLV@}wWGS5bM&!zHWEvbk(5>}n$LF^*dxH>D*m%_b6O4ra6pv$2Sisvg{%o zLo(E~9#Z2n4|6fpSOtqv<}w^8r&VALaA@BrO0hEYsr~`E3*TT~<+(74eDeignP`6nz|ag}9&j54)>>X8dl+bI&lN#(V;jK9 z5juF{b`9VTmCSk(75Oqd~7k6@L?Q6ddpT$kvwwYWiDU{Ims^!21wTM zGP7tzRK*`59srJ~9=KdhjlKz=K5SvZC22eMItl2XE(l5*xb&06!2`vH?ULnb35nPo zRR(*Gb`rxIo-B5PG&+V)6sEb`D8Eietjc>Lj?NggeUrmZWY20fCC_$Q7riz0F{Gr< zM8B<~FH0)4wG@ruw_`NsjH6iaE@S3*uy+CWBzh3?lKUpK*Ur2(j4N> z=mTR0Jt5_}{4}*Q1o2nOgukX^OT8h7#kFqwGMCQf7C_mmoRkWz`RR6mi;gZ>o986# zu;U-)Jd4`DpNSM9{E|-|M6I!Q?mWX^j&Md(x_gwYWN@iTa~Q^6oUCY4NWp4ym{cN$ne5Nk(kH_YWky9IY#A3%9JOk z&MNibJ1;Jbjn}@8weZsLCiqM?lex~cN|UkD0K)m<(}HrT4Ye5M!rIP~o8;Szyv%Bs z{JeJo5$6VnpQ(3tp+qQlMo*6-;)sewMdS8qzJt3&d7wUVQ|QvBd7z&Zc2sO$^^t>a zi@v<+-5w?xU0XNxi@69Mfqlknd>*_!J|CwmtN=4)j}jfrynUsk!z$S4-t2Xh=RdrV z{u$f@mwwsH!6k&+zX`p?|I-F}+`g<-3;YiayN3h!uZI1h%=Ph%A9}9w^P;mM*^^X` zk^TA`zu{qs>$gNju7mC1ptqn~%hTqo{GS{v`v5II?4v}#ekG6|L1^Z`(Vc1Zuk?VP zRme+-TSI(M!rh_n7Dx+(1S?@jsytAkeR;{>Y7bussCFpR)n66TIWh6$ctND8huJeG zy$A_XVlahmnKM{_cwCsSL7{Aa#J>wO-f%YBj3WC1g862SD@Ia`eY(`Ol}9i4`ZCqbJ6ae3OWPWarwh(LHYmiw`7EF(;%g<>6l)MBG zn?QfV{s`Rm9ur!`;+S&prWBMBBeMX{(hh;n1=+Wn26{VmQDgrS;C2$GZJTBsDFW9X zYgKd!om)kK5=Ilm!-DY$W)zE~kVLyuq8Y8Av=Ll{;L{m7c3A;)9<5lWX$1(dM-+eh z`i+l7R*!yw{X*EOfq&%s;BY=a$})Q4`4Lx0%F?5pnsPWk+CWyN!dXI_QXoCbCC4{j z>inq}Ge4E~!hXB9Vbl3qoAcEn)^+~c!-skL;)?_L<8w1Sbqj$pjl_eOtccoNr$mU9 zbA=j*0Fl!zhmgOby2$~Vpd0$lpOEAl$rXVpP4FOK0xFS;>m|#;H7!hSxEGWEoOM|S zye{PinF*Po)BYvVQ>c$NPjDG;oY{xS5BsM%_hXE;75-c02`14AvLMtK_eW!iK!)?a z(UQf7XhhyeAhi!s*YaXK2u(MK{Qhux+m!l=_YJh2Q(h$f;Ex=g8+biD#mdloa})xT zX!>iS*}QUr@I$i6tZH=HK+A>Ro0kZcy;OtjDygG}h&Z58{mnlAWdB-5!#qqV4tkg6kW z1AdE_94hLeT-^#A2s_>;GeV7Thtn6?GKLsQX!=OpNS{BC{){{mwL|8h6Uv;*c~$!P z8Ja>SxSjVwK106ic>UKBQqcgXIr23)mzw?>-qe+w{#tkY_RN>h(LnAuSbCUyOwYVt ze5+u-@m-8u$ctoz?*@;%8VLie!js#|5`IJjm^rURmc~ol2g&7ri}u1tQb-^Dx++^@ zEg}x2&}xl!EW^X)yBI0Z_~~e{6m_8Z>IgB19aFNs4@BZV5wR({voCU-gUAO#O(1*G z*PF)s&kf$W&)jOBr=l;uq64G1SG}_j&*itL;wz!W1}>M}_}>hgo5wjvuf9}Xxk16j zYdGrpUyz#u9ED%85IPrM>tm=DoMU?qDl7Ag-w5)wivIKr>-y)^$`eSjeeui)K-f3!_P@0u4Ls51-xyPKtKvB4ig=kPx5U!hWxx`p#&t6fa zdYpI-EBd*)gAA!tk^-*rnLs?rdUl#nI!p@o%ftLCqcJ>JPN|z3%yJ(^S<1Mv@E+DX zqxNe`20}*}@nyUeEtVC*0&;^!xC8BUe?H0 zq*KwzfCp*5LG)|1wB{2LQBZ$DG&APwqU#jjY~MFjthVuUduU$zE3{Ol0h)E4Tu449 zw5w<-JqoYlrOR1K70+F>4WC%ONP3Q?Oqep;vTIv%?PnIjB5o} z6OunfSRIYrZyI^T9vrUC`Koef{sK0nH>z(GOhbRH3{(=dEWuaSn)?qYqxo)(h|IQt z@Dx0rGbrA&s4m4xVM=K0RkIzQr(AFM6{#%{AI=b9=-HqHC$oNpywr+Xe-F1oRjeDT zsPPzqLy|3KkrlYFHW52=m01{0=E#eSb=u>lnl`&%#hO_oUE5rJ%<6&2KBFAl<@sTV-&kR9|}M zHKE;qfuSN3t9oLW&3%3BD!6`ZU$`^@uGL-L>lY4{q?|K$9{X!hiD59#X-mT6YGjn< z=pP4?>fM*b?Kmu(EODDIccX{_sz+>%QSzNWs=&9@lSd?; zo&Z;7b*^f%8~xYMskj$PIDE$Qr$&qy`rp4^0ps6x}dP&y8A#p z?00LY@NN%?Go2^N8@o%Zm<@e-x7nPQc43W2PfMS%9VptLv_`e>S*$*xbCT9Pn% zaGR+npI-YrrHfAdd6E^6Z753r#U5%j%p6^5M4-8;v}x}9TYl>C z(?Crhl}QBY zcq=8RA+Gf`UD!l|Ul#PR*{#FAvhk?%kQkic3%#HOjtG!@<&_E>*9f2HE29fsx+u zmZmN_B!;62d%=h|g7t;&w3*}Q+FOe?pyi~+4W;k{Rl5jSb;eQgNE;j;!I&DrH9OV_ zieM!lu1BI1o@M>2(>5!H$U`xxkcevP^ zrsQvGQleR>dLSP9bt^$QAx+-*w!(uRX{#mkoWhNicu&j<&%lpjC`=~R7saXueggF1 z2dR$X<+lbTyxKor3KXV1CVfi<*jM{QS+N8eCJ)YhZwI6}4T92s(p$MC#9}i+wh^*l5>>$`tdTV<}N7{5O3Kp;_gT(;UV_y zV$0ph=+ z>sZD^`$ztS5z#!DRUN0u0)c@~Sf+t2f~$PycKgVi6d28kHBa$`KW^CfAx2;ZA0K+# zy{2+#8zg>bgtn^>m>iY^`Iw=Z2KDP7?|(eQ!1;Wh;)nY_@A4>(LQ2AjT(9>SW{YP8 z{R$iyjMwFZ>ccS^kduZ2z)CZA?shzQy20`e=@_a^gUOSuGJBmv! zCcO-5t{+C$F#TwMYkx{5+h758&>qXC^nG`EgmhJEBJq{*#`&HWWg~3rg#g%QU`Ot< zQD269V)g@CA-;#JeHU*T0Sv6&&;z4X=N+Op&y4x}cHt~jbuUod(nB|+zy2^3jL3Bd z&c(-RmiFB#q;yx0KHX%@6@1l3!G-QTJeVD*_u2mQ6Ysfgnfvo0wK?AWmw3>#TTEUs z=5xn&8+c?XmFZ_C#Nbu`=T~HgwHLTeKEmrJJ*M+po|%dQLOUq|4fhnWT+toCD_(}_kO>b@37ncVz7sS+h<@%x>_I7(=Cz=F4gB#3_h+xqeq?QzeQnSOiE{QibJ@_LMwr1lHZME^&OMhkhVKP0PwNbb z{KxKy(wG6M;g%w2ry`seJogEw3cN1MU-V5|hOsYuDDQS&R!jN>_KTm}`vyy2EawmR zpI_BHmAPMKNMT^ycBbGzt0fdxmWI84$h~;^JzPQ4bIl6Onjnzd9nb~Gzc9R%Q0A56 zmqINo2WwKb^=0NlO(fAi)F`Ze+n6iXdT~9>x-)z+l&Rks`#gYn+kp3{v(PybzJs~(Xzy*FNSC9WKS6XjFM<$=Lnr3{Rv?+N*I z4&-5uc&aABfkMPp3Pv-9qr4Xb7xfnhH!`?}DSlTxUg}2;lqlTF0ey{{^W&}To3O(UMY^Q2MmHsg94^Ewud99kTap_Uj=Dhc z4*?;9k{iz4wYx7x5xeL276ae70pAY+x$Up+C~;;&P|V(nQ-r@t8R;PooL*ePqSlHfSXd&KdU&JgzMnXx|Mh zw&w%-^V5Z0I+l_)}09=6rR#bJSrRZkht0r?tuas((Ji;Rt=o@gI=M^w0D)Nefv0We|(J{N_+r*DD z8C;L2Z7oPhaBrnFXm#2-V36QJ2XXd9U4zeRD|*15q(8v+$= zFVd>y%t~hGHsO)$F4*LNMOt&P;WykOq*MM7dp9Q!MGk#nYs9(;gO2?5zF8#<{ew)1 z#J75Bi2lfO<~2YFlRw@ytFnjf0*CC&x{}qe)G~%o|BV9C-B+v`6@O4(H#FdyA;cQ2 z%l=C5E%AL3{h75G429+?0JnFuVt{D$64FIn2z-`XCuv$?Q>|&N-jbx%L0qnV>*Z;( zqGG2bg!HHlO(MTyBQud7{OJLwoBvi4O7$W_6h$rNYb@E+IicG0R%IZfxV4%@S3)#6 zA({RJBAEKOTXhK?3fW-`8g@rIP`Q(entg7AW~4}{<2`gAcX#(7U9Uq!pm{!am-$Y< zoH2fe2zL4->L`cdlA21b!-QXi*q=Sy2i-S@Sbm4a8o^X!n@3Kcd9@C@uPjfEi z1=VXmS8r|l5B#Ka4SYOBp~X0OAP`1Vqk)AZ_Fwq}UR>kXlzc3qI+Hh~l5)7GRgyh= z>GVn$D+|g51dQc*f4sCQDva!X5Ws^Dspc9gfoozh*pKbNf%}G%2y~lsf}m(GrTSof zz^5)hlId3M_{cV_hn2i-iV-X8BLdx+{c27qrwItQlo0?tACO|UrAyQFeYC{7M2nbT zsoob!^BDT_;&o%^R3so@y@MlgoJMF#u%**$$3@PsewdDUoUuro9{){~qDRj^qGp~S zI&h3%`!_H{VI5BuGpB67{B6%(UFX1C)tQ09)j5&h(p4#Mku485WsFP5396m3l7zeF z&ynOYm?&BMJsqKHgf+x=j!lq#btqrxpkdsr_T}H%s^itpOk-u;RX95KPGZnrU$A#q zvtj|}qRgO)rUL`<5vk{1_h5lAV}-EMU4OmH%?RCDKuB}oxv)#5_8@eIOXnaoy9}B( z^Pg81eNydXdZ8Ka!ohtw(VKax)p2iIH#0W_dKW7sQN=LK#@KF~T#D$M)s~8WG$!>P z=v47NZMS{nINNWmwV#xs^RFF9nsdOEF&!DB)ggw;Lv7^H*V48rtHyK#k+DjBR}ZJ1 zwke}B38_sgMqG04Mt2pJMPyeT?1t}wa4fNd29x&^Nc>+n!i&XQoP zSP4B6Ox5NCXk_(qXKT0W6B=~MR?QO>q^4gWCdGuSX=4GhkrGoXitz%0b3u?*KEZwnqn=R9r<(=Ix2CJlhE$N2}*Himth4OFPV!+ZoG7{~) zupXQmQRCMK97-PEizsgTZ^!Us%!j(m)`Vmoixb$RI$E=}YdZ$%Zpjn1fcXURR5b6i zRldXsXFuZ(?)_hH0@zOX(5gnd!;RTRp2t zOCQbz2A~dmlms;#Swi=OWT0vF+g$(9*9Gz*;Hjzf9}cTXrki%nSrbMB)oiktXe(S3&;J+7EHFK+hoC=0?TjK zV(%2mp}!}J7~?6x3qna0kI9RHjqWyn-@E*H0pWM=SM+HaKI$zo3T0E9aSXMVL?85xHuW(~8dY_r%O3SQ=% zW6ZS6R61@aQr*tsi11RW25qu`g3yt(K5LbCQ?77Q=qBwi3c!V4JRMH$6^K~ARen>8 zA6)~-Sb#2h2{5BlrE*Uht`G?Y*!RAjf)gQs8+bUG8L6|5QZLo?5e&vvOM-~rV`G;; znx?;QHdI@4V-#@MxWUR!-rA*l;UMMP#Iv@m z6o}JnS!gPr+_GrJW9V?OnPaE1Yl8mCxo$5yTrIUOcmkpYN8X=eF~Bfay(p3AgvD8& zh4Tucr8n6j7c3|J(9KN4BUWDnxp{GAA9yi;3V)0^NLrgkH#UdjI@E>#BQkN!SUtt8 zZK^KICmYwVpbpdf43`lQHs$KIE({%AMCzr=Zu7tc=m3i2C{piNrcVL9NI)_gxH@zV zCiwlHc1Sn}%GqVE-ZMT5Lt&C3FJHvZ+Kb0O6&+tyWnUC&>S+s|&}EWeh#ndrd_0$@ zcRek))&gJ4OOI{gdpJ}ka&G?$#Yo)sljZZsY#K4}tTVHuIF^WW_+H@Cc^0af3-1=# z8%z<(gD}x9MM2MSTQZ|>-wGa{E95{ww%>QAughn?0{0Cb->)t!ySu+^Xr@yhdbD|6 zYdlZ~4eZ>154g7?yi<1DeV)w7PciMD zq=|HcCH(V2orDRFGq=Fr1vGRl6> z_3(@srl;iEcD}T8_!evS2ZLa{N2go=hx`7=K|W*u1I;xu6QmR3HJ2tt0F=XR_%~=G zgnBqPAdemFRaZ}j+pehINIBqjj)TYGm4!QA@=uv0eG&q24FP zbbpSTw-Bx*V2BqU%6?oF`%l?x>Z$RcIyhWm_U55T91^d6PpyQho7CE>4)>R8J6dDp zD=6{o#^f+$r`)iZP5V$Lkcr6Z5ES39O~GPfV<5ylfuwoc=r=4&-~`UZ47Ys>l6)g= zND+;rUR%S1B5tCq4%DSF{pJZO-p`xTYWEBo4Bwyln^Twl%(iPZx5(DH=^H(>zs_pD zg8C}{X_GIcch46a$&OqT!aXf&1TxlRVp^cY z6e}Ur59m$`KV~Ues$DVs2`D9N62{*X`+~XtRPZ5sc_=pjn2dDB@D0EJHv*stuGBjlFrvEIuazI&gcacEi$*h~41z14rP>Qw%tx3*M8>ku!Z01G<#iXQQM?I5*)yJ=00jsA#oKF19^-;~Q z{Nj6E0UPhzI^L!Yfpf;mbtGYsuD*V$J3F${Hxk*vRD*4W6Nzpbi0!sd10~^GxMmqs4z%p`!c8lO2Dj#6Px~QY4*MgP(jQOg zxAzlHb{1d=nfpVJI%cTDPpJfxD+Y8x7lh<^8PwhbJMjNdb(TSOG(o?|-QC?GxVyVM z1ovP;gL80qcX!ti9D=(CcXzjgoXhjRb?essuv4{DGds0kcDwuE{p)mkOUl`Ee(3ai zuM-65=o@ra{G*kSU$3GDd78WHvR*3smlmhzf3D`At>{J;VGk71?zb?LlV0SBvUcoa1<+5YM?|KSvajAi1f@v%OPx~-OwktPpD{+g(99=`3J;ze4D9ZPO}?o z#ME2|G;x#``E@PF~l_y!KqC|%6O5|C1G96 z2)?ocF`==9DOuaK%2u|GZc)|8k51(12>AkyXTRj!+bth5!)5~rPuW5{;ox>supyDz zkuREGcykCu(O!eM;Ly>$dhP@=W}MY7mG5;mlyb0bpG7pylB)Eh$)2;UVv0kkW+?*p zw7*#m6q>LQoVwsJdoWu$QJoO@$m%ZwER$wF77&o||q( zuCUV~B5+vDix*}2ypWn#q)3u#Arpx9gLx>Zu}gI)wn~9V$O|sQ&1Y8Wfuco%s^7IF z)kdn;c*|Ax2QWWP1qlNrJ8|NEz+yhecw{L0-+-BmXay{QKFdGuL{Q67st}vY!aSig z{%E7CNK2u~>#L|Kz5hsG3~6Fj0g#g`vYiuRr#1P-zIOFzq#pc_0 zMz)ks=JCD&3H+$>c_&Y?Fwwp)oY`8TDzE^Z=8(`)k7aH_5VqU8OeE8yt9~#>ofeIy z7{>kTkD?ZppQ}E@1w3u^?!l+eYB8o^f++YhH~~Z}vN1Yn5oNgF5{K}v+^=2HvR|#% z-%XUQnoh;O4G4Dm{ST@}x1|zq*Bmu7Mb|FV$7j>nh)o&TFg7WKYuOW^tdu4?!B=zfMnxGIuQFw89>#SH zU{ZdsTm>4=(TWL;{GXn~2ChVtRf`a-71Z*Qep#bB((D*8iAHURMhLCUgHi{C)zD_8 zey;H7d{9A)B{;x^%G-UBq6)5?soqe1k(g*)_2Ig|l1nHUzrvK~Sr;2v&yPOZT6znW zZR*opza7V`PLtNpG1DH)RSLJAKKjW%T`Y_=mqJyWsi!~??HHi2uw`P$A^&XN6B;2Y z=YYxm0)bKyt=sgj3-j?Yp|dMmCEj`q-cBhDB3k5ccbqKVz+1F6LWM;?>tlGr*}Em6 zc%2Y)Ewu?SMPPg>{mpSP?~d-V$6rohU1h^zodxL?bIn$yzx5W8rh14 z8;5gDc@8z{6DHgO-m5SkGpugnV>%XtpR~(=?u4~VCwkc~HiD0hk*CsGOZjGClo1Ji z%ebrcP?&5}tC{h8cpZb!ht%=T59NAG%jk=8!NOd*sz5;WN#D1#i7yxHj43v&E1=HH zNP;^enrvgBD;s4eXAq#F!L%`=FpIV1TTV><#KcT{h`D=?j*g#V-6f#==?Ye_D!k`j zhZf3r?0CB93@0whbAh7KzyPIGP`o#q5P72o%^w||Vv!zyzXZ{W387WvOcE?9M2(k< zRj~F_`NJcaEZs%29^yVvsUFdM+*VPks6IU$9ZN|;1#y`UC@p?T_C;Vmms))VoRK;I|PTK5OqJ%##^%nWrEVx&U?c^m06I$kg#{KRYc_~ zTLYy4wSxrnf-Z_y zHfLwMzI=Az4Y?ks-eHgt{6F0or|l^!je#%C#Q#=Xp2(mE{bG1j+c3^YiOd835W7-a>gYhjK14 z-Np>{`&wui?Az#T_vcx1*JxwFtD^jlDH5z>_AAK>ow*eyz3pEKkGuJBz0>UJ?>DO>2LF&f0I z0||1OTo|XrY#fQ4j_YccjPZio_|YWvXGheCuzV?-aRXWxD-ynf?T4eC$9Yi-ckHeZ zj$ShdaL+#Ba(I-T<`dnjiy^Iq`Cc9EggiX=XFLsGn96yjjh0BM<|RjqYl4oB*zDiV zv$j%7MAly!&zm1YaeGi#MLgwU2R1}e!f5A|@e*&-8KL!nTPwK|sGE_X{Lkf=h{4ODe391>6ZT{u9-kp4JRF-AgP$-pmLJly2QLV* zXPnAQ476&c70B!|OLTM^N@?WAQOOi?n$z=(+1HN-I4*{o2BpK@`HWtWwuFS1sGQNYe1EwGqW$Ri6=qEA;%X|A7+kmir#36CXzQ<|pq1<&yLn{wJNh~0 zhpdp}?F#QJw213{1;rYTea!zPYS+QoA=9wJ{sS3Q=Y2H18J~WTrJ1Rv2-L9u+hJg1 zIa;vgykx6}c!Na?)E0DQ6IblFO3_@3sv?WLbox27M5>x z9rw3Y{uGgg^f5g;=e~s;$*aKtp+6wHHEs}W1?ixz&nNm-$01fmfbgD-h|BjyU^e?3 z<3KCp8dxB;r4fE+$&pabC`9=3Xk117m8-8nWI73N_m z%(xZomVH;Xfr4ZPHMEu}lavQ)YMR#B7lg(!x+CmNf&pDv#h~58!mamXv1K4v0OJR_ zCp^q%O>6;owb-&eHa#wux%{#TWt<22?kOPldOP3P_w#CVXg)N<&d4cwVy!kuq>i@G(A3(`9s(Phg0nX(T`sMnl?HipoD_!181&}Yc8FKu zSjDt9Qw&n#wlZjvm?>fA|ENb_4Hr)5tn{Uu=tdX-b?SW`FLLcrFF))ujm5>!P&KEG zh|QiVMeu9Mk^yJG9?UF;{bzm6ANSO0Ls3tl@qWc7H%>s4B~O)O&gp^T(3C5aPQmPN zjx&xCmy|DJ*vXU)-Qu+t}U5B-~RPlk1M@x5YH_> zJeK)w-i-@r+hkT~`UM26kAnfe*VhU@z5`B$|MiGmzEvN-tvkpV>Q}TTUybpdrUeFy{_$~5v&tWpI zIZciNl1;s|#(G3=fg)+r1)0&j#K=1oX4r6%_I{*R#bpRqMK+&~p-llurPG!BHFN>e!63Z6zS@P%8qa2_aSOUs;7%Mmzv<)qy6Y=CH zkkacUR;Q1;yDU;3!*XSmr%pYFX&Ep0{wLNAcWHc|yZ9g)H7`MZ)qz94$5WtE{r694 zeEWYf?4F8NDa9k*@?*H9g2aABRU0U$$-cM0)bfcO0HICl1^SJ`eBO%Z$@?P?(*OUO zPgEZOXzO<@6GGqf@-hIr>Oip3he_|w`n>b%zC*cV$}#z6ZS2Y?Z_5b(KW4t16ZmZ0 z@2Str>tGg)cMST-G|O<`>C<5>I3yU3;LLs#E6l^OTi_<$$W(_~9M4v)Iu7l3_po=> z!SCq$dC=7{n%U$r`nz#<>P6>Fiwtu|D#sR0SeV#vyXJ`(Zu_#olw4Y;#ks_rRJ6yn zb3=qM#;p3ieUl8ABjs~LZG$X$K)$8#MS7ux`-wK(u*>_Hmum)3t^cavoBSY9-qj84 z%fz#x?I0_j60z58ac_e--z>1#7{YHU6YX(oMrc>v`AD+6HGwIc36>cZcXGo2_xb5R ztG|vFYZ|%io;rT1@dvp^;nQLwe9R*j++PE}6jWv4>RUeT$H&v>F@K)-vj~UXh7p(p zOMq}NVgY`YgO6V!3e^Y=tCQW6+riBF55*Jum1l(%(Riq2je>!x1Jx50 zwMpypzQPQ1Snn|v4T^uCqxmX->!ODkBvjr%6b$R=-Lv|129P z;-CUQbMmOZp~M|w?%z@jdd~i=yj@k>?@Q%$YhdTPQaN@jiE!pOX6=A(@kBjLX)gIA z;y{1fuC^CgG}u3$QUPu6ER%$RdZe+}50T>81)lQ9D~|M|<^n{o@Lnu|tAJHAw3-Po8Lnsq4A{GlPk zBgSMbc4kAZp677)HFER#xv{xr)2Xjr%*CQj=p+c~N2XY3i+qh!Q)Grnn>0}=+<|VC zgYz^Aj+nA-@FnX|^9~TFv6QP{)7hfH$VB^W(GDfD5318&9N26BGx>G9Nt57jmN)u8 zx88Z>jM><#lYVXdj61>JpU_AWkP>21EPO9Nz(GQT7FpQT3M#cq!K-Ec_6sJzf3W65 ziLY~JI1o%e=^f~CgM!^-Jt zt%5y)t7P(bLR4OaSjgUlna_nW*lSQ|GkoBZt5p-NbfZw@#AZVX%gk^QjFVk-P}bHa z4av77l6p9pu=5;` zHSvXaMYG)}*)!Vxi^?$i1HZAqP=aGFDF}8DLG0Hx&$Y^w$$TSVylA5`6j~$TMX0b% zB8n*Fde(_^Usj^+CLz@C8w6B2tBLSYtZ3p@4GJD(ZM;k8$Nl9c>W*R%x*+vKibf%yrS2CZR~6o-i2 za=o;0c0}FeCm)qoe@Vk#Dv&CD36#kp<#@oA0CJxtMS5y}HI9#msr~GYv(Ed>*W2d? z*;SwM6rLFqHZ_4Mw>UlUQKe93IodXjAbj)1R0=|>ZlURO#!@3$IhRES@W)sR3YAz30rcEcBDsC>}Ib?a-`VuVu?{ZYw3 z8MkV5@twppn;$uvE1xXN?k`k{5hINjiO-_~XoqVEF#&MQFMr$|Q~dGa{bU;68NNHF zko_Jak}qyr{8ahKbP3u|D6Wg=9a5Hhy_N@UtBDYTJlvd|R)C;?x08>cRlBaTh0n!| zTHG6aAMhdZUXAmv#PWA~d3$2-nYBV|7Wb`OYizXE$|u~(7eaweJ$LlEcN;K{LMMtS zwH>&^5{wG)QE()%yV=~7adB=)A}~}AloV0yfrmaB@;z2ak{+ooBwkjtBHYPPJS-QN z5HKPy*?0Oy<*)#J{5aXc!hc}FK|j> z1~VkmX($nTVV6KsFQV|Ewgwh`wK1ooWmrq1GUvl`XRdsoNtvKn-^t06#B3{^;Y|Tq zG4wh45@hW8@ycJYzOFdiYyN4P<6EY~Nq;vL5-Vtg#7cV3YIANRDXAw*7d5b+5=w^N z7oqHCwQOlh=RH86*PDBWlqG0Lg~hUozF@x_PynjPL^l=$0}$S9#VXAt!pD zN_Inj=((#LC_mgYwol|ka}&gOh06ZfJ1`*D`v|Jt&)f$^FaJS)w=?ut`tvS0SS|4h zwWQbYpM63QgJ1lJAZ%W5(ltIY@_gzTRv1nr5mmBWevqI``h;M}$anHMi}He#(AU91 zVM^?6GugKEVayTMaSP$6>Ab;ImMUzs#U&hL3itX@)0}={J0bN$PIZslJ)yy+VRAX} zR7U(^ZaM74U_+84VoP$}RPMu=(T)|#P8aO{5fq&K(eJDc65+F-0WIH6&Vg#V9KQwp zgRuDvp~~n>5;iINo-{GNO*o{pQ>I&tIPeEu1I?kx!Gul8j#$wAyifnQ9UL-!u)82Z z2|!L|FgWBVXK*t@$^&?JzCT3ttYl3^153F6+2gx9(F(s5ey7ur`=%H1BLY%#Us?c+ zLo{&(rX4NemX?j>;c0~U=1!T6{Zv19{vuF}^o2Kq*9_TvR$`AI!p;c6E^XVO0G5M{ z5PY+0Q7I0RJU2s_7b#L8rjg8V1)cEhwYh3xJj8tFlM-t_=OrnyGq?wooolDV^oJ1C zNfhN1F@#aW+cnA3TJimZWM0$+IM;n9Mf8w&!w9vxn$>QNfR9Ix1x5r02Z7-h%FG7o zq6TFfC=(Q^DqO}27F--|8WP}St0X)CwZsYxDPo6ntuaf|9QmU@cT_14ai(bFh#5V~ z^&?zkbk;Vc8_|N+8gyzvfnWW3T)x9i_AGWB&DFxq(mbmtP1BCcMC%qr+$ZPxT`05P z@wUVxa8rlE=wMwWX}gE-{5>`XV;{2w1Gt{FhktW!hvjW?R2*Pe43TWIOBPas$r|aC zc+iFQy;IJE&7%{F?T4o9=&#hx07zVczfagi1K{}-gjoId<`F^%L24zRn#ZGbU@4w= z-LqL)`yi+rDC9#mgdtsy%Rs`hzS0ENFd330G7soJ%Xv`@H;ABJOZFtb{7qB#(Wvif zL%7>HsVF}=pN2>Lv<*B$#Zd(kYX7=^fyhnK;o)7VB?@QAU3gu@&|WDe!SNxhOpRvB zvcPPIYlqYkr%MH`92uLH)`)N@tZlr%x;%rum~ItF!)gzp>=F->5P30PEgRPmD|=Hj zp{3M^Ip_ppgfbtDI!KbM?CxJo0y*XuJo4ft6HK-DM?0k_qM@qe4=o@Th*?`s#ruQY zI7)(`RpY*u#BG;&z8u*H?k-c|9FZ5KA}WoBVq>{|XXh*|#6^heVCX=e1iHH+KJd$X z!yjoc&Ld`6*4lOm`B#@O@Aasthjr7w%O@R%M~K|@)P&fQPb5T$AdOV8LH=D5rIHqh zA6X1`zPdUan4zhJSSdR}IhSbY0#yZ6=0vC$R%BggZG?bFK%lZ|Bcg>yzy?rullt3z zXayFAvwmmKl0#mqz@I7@RC_)_n3!8GukQ*Qr44K_i#Se1S4C52FN|P2kVl4d*&!c&fox|%Qq&|5(SvJrNbx-CAnrpN{oPt(0p2_U zX&qX~?y9(zOOshI33fo{j6Q(XjtVyxr+dsVJ4g1CQ43A_5o)q%R$MaQ?IJKN17e=`l*5{W*@-cm>a@K3<+uLW^6-ZebWkBg19mJbHx!VAz{NhI>WBP09JG3% zz+@gu{UAJPnXEK=p`LiXT7^1?6GfH~9ObIK+c)VZ5!w5>j+Dn^?8$o`_6{=t6Y@D3 z2ip%q{BJU$y~&APH_2$^RsjRw#e%en)_XSgGm(HgvxP9N3EN|%W7Dfe{A_%*u!`9c(A4BmacdWgW4;fFvtzoT(6aHVrtWdfj%!VPT>Z|91b%gAfuexvb@ zL9irfLwL3OXsA2D7d4%^-IwF9QZ68fCMB0igEbm5KRJZx%l^Q_K};dF-IKI06h_J8 zK)DCh)e4Rt?!K(GffdJ;Ta4 ze1^LVF1?cOaXBW7w#boXDL^<|j@kw{^A475m$`U;Rub(EZ9%x+@fjHSW4zOZK-Sd{ z8dr3DSKp_(Jr>_EGVq76vJjo?r67kZ-TQ|63yM;p3D6fwE7hVXO-<~E?l6CO8G=4G zJvl#!oAbAe@Muh|tESi3>A|ssFzZTL?*MdLD#+4xAz^hoe-%Q(g6&_G8RpK$KuTH*{~?=A~AiX8^vcWpNYRcRFUt1;v* z;#sa#4IM^Vz?G#PT4NRKCauiv1Qqgzg&E*pPinBW#c_^bp3)Mf5^-vzB`r~$-Y!82kH#9+R@NqdAx=^@3Rx@E56DZY|bIY#4#poybO8^lRY<4fC>3O^l`sjLOGmf zXfmb_I7?#}TZYdK_+pE=1*qgFYASi6LA<7M>!Om5iaxpd0fSC5WyS0lw;Waiesk_c zAu#On6Tj()yiJ?ap|E zk6q*sCU#G0F$zruh6V2kg9I$3jjp;!MiX=PH&mwL38qWI|8N2urYh2uABA7Sd^tKwD06ygE;9kxHRdoD{MAQ5`9#M3zaL<_?& znK+04<+)O&&xFjB8LkM*>6oipd=hr$&f$x<Jd>pS|vaTKj`VM$*h^jGeb{2=ywRUxREB-q3juQZ7oz=MvvpZ#BMO!Q)w7{cs&?O zVJUDO7QRFrPoymFaJJMcbuhufjE)+>{5hkp4t*z^RqzDj2KJX3)I70aLWp+clsr6dZ28>hXDR%fG_>$rGLH1N-SpZI36bI zWq?B?tRoA;FrAB|8VQQK1#?Ws{^zd8$0z1*L+;e!XH*}*RK&W{JDKvk>o`<9wAUkD zS$YPMd_}q}IOLc2yUU=mS1&M=cRt=;-|rVAImy+feN*(4?olNpL(t>)SAlI+1?Wf; zQ1mWhSc68{e9F`IbB>;DWiYu%0?Q(3JapIrq@}xKzY#) zTl|3beYUthOd*5}3Yd}bt<906L*u3UCyPUE{1IEii`%RlB+nvkrUG%;jH5)<$lDC_ z7^Q9t#EWld)zvS?W5c?+q?@#Zx3(S&U0>Tx&u*5P(U6~E+4h%Q90@e}%jk#tlN{h( zWQx$V<7_;aKom2q0V||Lr5_;J zV6omQP-|NGZ;(ju@THij51Q&Z8CjrtCvV0MMOm$fzOT(vJ*2k)A%HXCIOZv4r<#v) zl%>Z{w}D{wm~(3b7BO42orGk8Ox~$nt&QZqg0qaim*f<#{MbUt&vJQVt^DAJB!~w* zka`*H_#E^W{t;Yk|GAx9{Pel4pSK3=HQLuc{h9h%&jOUe1XM2rxV*cKZrc+@t|Ozj zF#SUd1isU3hwnBcMV2t>nTK;E4f4s|G4G$%&n` z=6Xz%2hPh+G&c<@P4i>;V+@B(JQ^-WBa4yy;J>L$V7mwXEWjAy}-a=9r$~O#M3K8%5D23IVwZCy~zCk&`F9?JJf? z3&z`ZzMpzhx%gm;(~u-};yy{ZZx=AaoavWi0RH-<`K;#t?R!MqG$-FRoD7~$&n;DV zb6{5Si~vv_5F=To57q)4%SCF8Iv1k1RO&T zNKF9;b)Yd`Hhf!AgO=nDX{0;Hqe}coy{)S9l5l0T4(8J#A0^w^b)L(y@qD zCMWMqr)JY?p2nH$gkatlf=i>djOIkmH>2$D-<_xH-fblcfY~_Jm1>4a#1R|^_TQe_ zsi%2`^GGUX_B3xB+F}N5Iw=@~F(Zg*WN~PJu#uTj&nL8>d!KUsO0jH(Y<&Or@%#!U zs>lv$LRULUBIa;93e1jloLToJf_;@lp6OnbHjiujU^q*~!I>>W=>7*eTVaC(WhvueSqP7LCCdeY@;u zM!ec9HH(x|us#tYE`m4W!s*9&1n(>Tk(c*7DwMaqG`}q>-vJ-N$;I{`@yWsdy|Ey} z5eHzrHw-x;QFTiaXK9Ef4OSL+lY0~?%d|Ix+`y3fk%02)_6w(4)|cwAR&ZS>#_ zO=&N?M5WWrdStvN2p~!ot3yGFqz<3AdkRWxYU_#%Bk}&~%Oy}6RssoyVe$^5$^}4> z7$exI@+_DGPx1BFR?lH}G;OoGN*f%m7y>Tgj|Mt*k>r91)Tu(>el;l$sD*SNX!r4e z)E2K`E>y@FHUivxE`HVY@OS2>2P;1DaTe>GZXYPsEnu~41-`RKc{6zcZSft$7It^~uZ)Km$dhNFN;>QsW^`#j z^@WI+4jXr6sx8klL`?%IE)(52XG zqE|1`F!jU>QA#^bP$uqLdah%-){R!)u0?_cNFP7nRQO$dKp(W2pmt2qD--A(Xn1Q( zw>1+Er~nFo3$+W(+@KW9bUARmNNEDoZeWgnmprRbo{&`je^LY|hvp0@yE#q)&DPvI_=+O zvrYfMdEvoh?thqahIB+cks^mt8kP zpK!pwg`b+$F9`=h)fEoPwVQScSoz{0aMj&IUmW&Wy==QO-7k)miEf*Ugu%enL1*SY z{I9VNEea6I`}~dggxV`~1@PI}1_yv!np?r5XBUxGj<4!Q>SFq76Qe8VPs8snPo0<` zCAS!BWUNo-@svlJhULNN_1(JFb|0?z@jg#KPe zec&=~NV!2FX?jN(2VoHSn6VXx)3m#J{&_wDC|3;QCS%uf3+|}Up(k)mLaaqn>EK-Y zwXfzdbQmern#QCs%}577;uzx7F!xUxz28263Yh#QkXaDsVaz=)H;IiGdfczMOVo$+M%BmD|@vdE%2A>^*}fS2Pnsvxyb z%(_mwgvQ~cka6Wr3ZOL}o%uyk=kAShCM-mcEDT7EJ=l*YJ1pG5|DlOcn0FQYo6xXG zoo_;F-GZ(pvv2zTI;*HsjV;xSY^f6UTRAR|mCH{uzkPO(IpUZ+9Mk(!6_3KJt(W`T z7=`=K78)pC;G~vQi8+6(Ivd9-AQ)JMryPTWS|%;}52@+#Aq`@wO3NyYs0xPx*KOAw ztFz!tgDM^|p0{ne?c|edZ*&)N6!+D#FjuqTXA`fYIS#K0XLFSr>BCzM>=qPL5nLC@ zlb%3;3U6PI>PabFHHzqJYEYG($wQvt5rf~19M{sT#uv$Tw14Q!#JXK0`?UKn-E zbJC*8S*uLUQO`21JDRR%o%utzoQkDM6s$qFh=d9NzNsbls?g512oT37i}KnR+Ffq$ z%T&iO`7KMl0R2iyX232ZI7^i0DXRAKDDTL1UiTRi%>53swgs zg;OTg7h6px)8CB89qp`B_LL1!kUU~GOz5uk8OY*rhH5kid#;VR|0MS7*z>f}Iux2WchNt}oajGK09* zDyyssjD`PPG<;uR@wG`4J`(u}Q;uQi;)%BPq80uz2ND(jyS8cqjUv&?!}oaJRFvg~ zFVf%KLS2;E)d`ZRiwC zMRCr2tK5fTmOop|(8K}g(#zskz!&5~MLhu5=AD^LES*%K>bFakBcEf!rvchopMQ&& zoMsU)qZ7IE#WNasYz}J&YJG6f&X$+KM(p@4F)|jL>w-^ zKtjaS?IBKo-?1Up;8N_66WC+|E2#+V1fZ#c&LuDxQDtE-7xy=AZ6K& zY32lX#XXVVKHFDrHBiB;NWt|fQ5ImBlzC-g!hTv|fh9E2`%*EK9gJ*$C>3;do2RKo zP|`;2-)mKET}RXGcpqjnCK@l2a9#hwYEFBh{2gp-)u3x0HD(K~Cq4j=VwXI>@{bud zmt5`2`|Nz!M?6tX?A&O(P5@y_xt6Pb-nPQZxVxa1-|4SYr5olhywauFEop;vclE?U zEULHKl^`}=e*W6PV=$=SN-avOnokBJHxZtp2@~lmW*%ugsNPy&l=>? z5|Se!KylBgx&R2VX=qqc`!6Lb@34q_>-d27Tw1$MOVPr)_(e&g5DgxP^dvYb&j_A2 zwVBQHJV}gWE<}y|YhUgXOsktE(AK7pAc`$)3{L`^%ZgA3@Scd1ZrtORRJSw}+4Xi; zdVjbqX8aFg15ycm35@fsXnOY^j(yy9LxkL;47qWm`{bPOCMRdKNRbEdgzTJ4WU;@( z468Naq2=o#gh+&4`W>_;lb0%*moAFVF~t|Dv?3QK%#oQ1$4BJ^<(HloM)RL=z8c&} zmJL0r~KHI6Fev{ZE@Gf{2cM$nJ zK06XbII@QuzF&$=^V?<#_uEJb4WsTg&S6v;Gu^SA;8BylKx}N}a9b)KmOH7t6u5uM z!Lt$O4QFd55w*|wPJ7d#&t8!+Tzl+aEiC@**(A2JyQw!=ooR?Y3YBRW(;m4pjRdix z2$WI)X$P}Z4DwPztn;XAxzvB5f@-B;oJxEH=DL0poGx|8MZHWC4(s%Sh{Oo~liilA zFHzHUsA#q56jpMEx_ZJwnIO6SBEW&vzfRTNBArp~Y8C&a{EAhOa_Al5gSmd!7~f2n z1zJPMw;wyl-&8-JKP5N*H)lzY@*a;yG5+M*v(=OeJc)EO#UOLV<{N7O<^jrn;gq2a zhhlNnr^a5`lyIKW>3dt^%gjJ0I*N9{<@<&SF)k;~W_(_|f` zoO>D(fDmo>CHQr-$WE=g?`6&ZgrU+Qb=BG-JxI6hBlAhy(>s-y6@Q0G+iN_G%o`z@5;h=0F_DB9}Qrv%1L}oKh z#PU^t-}B+5P8bkE zE^jmryjoY!3?3LbQ~xmDu*~6-?H}o)aP&(-aFhKG9rl`lF&3|vA*9Wqd#dPbT0K5< zj;ITnb1bF2eskBI=N98hp}uswQnW;g7I9!|ERI*OT_ z71|hlfT)di5Tm+oMd}`n&wQd){a$fwYKC3?(-&c)Yp&3v=3Fq?KgsVHmetdd2$Xk& zhygX9`kKfza;#JZK2L21mc&UosXn;YmCi>dNRpTg6#RqMGNVPW;%bKAC4tK!<7=UA z`mHt>1TEOPFde`ARS%yejfDAclOmFrfXhwk>ZGLF-Z$2Ln(~`zvKDqksS<)1ks_hB z;`Bx$K}xI!FT*yb<(YPw7en|AHLl&ts8D4ZLoqkN!r2;k;Jx%A?lMCw< z=@XIgQV`k?hBRhv8H@{!LJL|Luc^fxq%JzCY!>sRI=Rt*5!C3t-{=XYP8?Xp6boJm zfV&i2YgyU>4d76$&||^8l9OaiT;eJb8ihkNgNih1EszD>5+>BECc<9`uRrgHcU~B+6#6au{aCuNErU!2eC8 z!AwWS$CD!ZW97oUW91z?5$lPTH)K+|5kXr`TUc(wFCS0~SG$-~aY^xwKg?NV;7`7E z$f#>ffBZ}ME$kTuaBxhd5D$!g$b)^*IQ1?u5p!y!P%0xcJ!gf2tL z3BHi;a}vo`+HQC@30DPSbN2_=Q?&&2sD*8nct8w>=vDDfiXp*}H}2hRf@78Q#6ywJEMO()jGfXr1m zPVIc2am>hr=;7&UL_^IPF>}vw{DFSShZ`EPhkezCcznh#0R#EguS{1d3RI=xp1cW=?m_yiT;_agn}U^+E*c05C3?nFI z@FN^dbDLOA1Wf!<#bt2uXY73nk&O~lDT^z2pBfGUsnX$^Tb#O2{8+&s*~FKkPNsWa zFjyt_J>n)64C_El4SbZVg7D4B&{>~Ru;{1JJBY2g7%{2h1L$5THX zUL`4(r*wtRrrTl3xux2B6DwnB-N+ThnMyw*6Op@RpFl>R5i_CZW)s$6F9V!pUtf-i zr=KK~of)aQ>Y3Y9BY}}fQ0v@+0(Lz$t#+uNQvgRtlG`V3Y^KAJ5?Gbx@`lyZbdrzC zY)~Y*cQ~;o$G!%zvI^w2xIJ?KARuae++M!7cv%>~429su7?-61SI#**(pQsoj?1oM zV$)V9yg5|hNxeI8ZvN-SajJuNHykFQ?o%4dFhz8&S)KPH3HqKFi5^Fw6rN1#<*1%> zcjT_IkM+=C6OyEP*48di4URQ6JSis&hQ4?dwMTE2TRR_OH$%9V~7n ztBJlE6)^VTXc*%f^yyKJ$?y04lFBN+k0ij+n6lfTPcBpoVMO$kE?VXesuYjOwm^Ti zR@Smyp)$+u5Uvim+L_c`UF)3^%b;;H3N(2E)1SfcQcSIOR42K!vtCXqrMtS|&Zlvl zn(2t9jYZKzR1P&)Q7C5Q0Znc)17O;H7iK-pbU)lK>nO{Y+@DHdb?r}FsP{@N#|3J@SA#4pzHpf9Q_ zf9%WGAVmTO+kY;9^ov!4>h~Mf!>1d;<)t=S=Pdr&FjXXW(%21O+$x0;Num~>m7^PJ z?6SPuz-w`A&LE5fykt@{*;7OE+IEe~hunw-$UaPmqbe$C%icz-BA2R$AJwz;t;X^F zYQ>is`j(prmfeZ9+|i+w`A}KXrHfv@xghMBsK7hzHN;mNdNHEa%aA(r*Exm z7&uz&{Nq!6^eyJ0^rO`M?Yk*D$y$2HWJRoxc66YwzN_+ML&;vc>JmbhTNbB|CdB@9 z)_l!Aiq3q4Yd2@`%^}xSxEN5UD3GNBBqk$$!Gr^&S_nc$Q32wAT$?li=Kl`>0YU!0 z>VNBame&6?L7Z!X&{r2L^gi8sIrXn}@b^i{nMZd8X865KEHvDyL;R2gDBvl9^MC;d zX4zK{11RdLu0}iY$Ow8p?86DVj6CleITWcQvh2GeV9Gu(Jt=#JZjS}!zi!s3{69F% z#eW?Pj#~M@mS8`m1iNV(Qan0pK1}Rp??{(7aI8SfvEy z`}q?DngNbi1#W~OMf4-NMZr(li|3koT@zm=on^y|AfKvW61yzpUZ(~vQW9}=Ns;*C z%a=VLaf%(*saDAhgzAecBxMN>Cb17E_k+@jLJw@$UZ8yEv7kEMF;ySy2RE5+X&zdd zg|jY*v=F%GugNXzoX-WHvWGt&wTx_ILN1}q2a`m!=Ux+gU>o* z=pl8(0>mw%A#S=FSRHp#^Yms}eXv$1we_CD-WJgfYjm(0FiY!+6}_#ZEf#jYn$EaL zm&KZ69lft`lxDTRnnNt70~U6^k|tQ$W2+BlpXKyFwvYp`LjT(z9Olk{4i5XR{`%7tHt;=E!I2LZ6CNShQ=I)S-?xDMUx1MyaJ?tX0Z0;`j_buy+3y z)WnxbAK6>-i|Ju6mv$n)%v_2$;~R;bptG%>5+_-#Rl2DIPF zNDi6|WZtMn%Kl!m+2{1nf`v^~QwzrYhsCg3W7-P1)f1cFfq+uQKO}3Qdb8iAdQ3I1 z1j`H(68B@_IGG<(LuEgjJ6gM&KE-Fj{XayMB3Vgl0S%za|8q1r&hG!m`-koRzm8|s z^S?_(uQWke?jF(WOL?we5`~y`daEv!gyEoTy3m8D@8@3*PXH00gE=Zlp+~7=PfZ+3 znf#UL^z=%%? z#s5~x?Qg%6A}7`%FBFYm5wGYP+Y+afF{Ih>Ss{r!Q{?$QHr*3*=m>d-y0YMo=k1Dr zN8yA*7wv|G@#F{bhyEqsOV>pn;;0)E4?DBYDHx$Kp{Of=li0;1*p+|96#-W|@qC${ zr6jq9RWo_kDXV~-8nySYltiI*h8Pb)(F8M2?e)_q2~27h);BUMFyuIxXmOTG5X|Cs ze#9$U-61-%I-VdN|2qm@$Wcl3vLv~Xg>N$ElfaDfzG&(cN|R2633?YWgd^->juGqq zJsKh1sP|VKw>JajdirpOD8;UQd5$6f4$%wZhma!B`2h@igQH%*+wT-Xl9(QP4ZyFj z6gj>6P3?ysLxru-XO05V2Qw`b^(I*!*`3Rf6H&}(vS*CM7YU*zYJYtdF{EFcudRdS z?n>PFT(GSD%L483p)2ig<+0-TFK!5BdvQ3Mzc z90YE^W5V3o-vWSh?^;!JJ|A;Lf5HJ~Q{?r+>T{1xVfx%azRoNxn=y|3p>{wFwToq@$aXn|sL?432@|@<49I%e%lE|L z1bq4O|7BCSe{{T3PdSXFeHzaKPgTcE@wNC%xnnF#^=im4?k7D6q!Ww66_w}cTfFRc zr-bpd8nVV{su{_;yZooU#kcMryK{0gNNV#er3<7xV^YDEeb(u2u5Fh_l6&uY^&3azf^V=xE)@|&Y^KVOi5 zqtB^B^3)G2vP*WD8kMXXbV4_8|I2^rIo7oQk4|#-|9*S_b1hG6|38HNFK4k9^Z&{C zdo@m4`+qSSdcNlWD)jIbTmMG1*tT11{I|ycGco?N-Yb z{YnMVzk}f`^9K1LpS{L3ei2ggJ90R3<2Oplj{kJYeQ*z{dw%&g`AD!U<0#<&kRx7r z5c}fSDPjCQ;`fB!CioOD-(Fs%UtGR@oxGq?aLzt4q;JK&0GEjRm@~kqD6!S$I!1w7 z3%L$4@)>{(+#}EHsYvz6L#N=?mFV_7n7xw8+kO%1lo>#-u;N4j853BOg9&Ym0Z0*u z7!D@jJPgmNPbi>}PX!257=Y_Hvaj;7qA>K3j{*)o`wE3_`YvKzHdpwhse7C+z)ysZ zunVB;3IGI9a;_86Q7^eJfdl0;Q;!cnpMv9~ql2R@0LDy3Y_4@silF-;@Mc$p@Sm`U zl%;Og`1!{7S3S+@f0>Ja`l*WlKRW1V^}mCoqgMZ0$Mai>pLd+JA>x|Ns8sL7V?&El<1uFIlj%-RL)Yqi+jE)_hD}8_gvb zc3zvNGJ#Z`{~iqvviUy_PM&)H_XalBW+piQS%dt~h}d~qni4DP-5k1XS{g4CDN?YR zln7?g($_8ZEO8*LfUX0(V@mwfbn%u&8o^-(o3xl3a*{Lv^!EYfvgQ8gOWW(n&~k33W;7I(cq6!;Cjnw z)+s99X;3v+Gcu4ZPT%pI%HkX2Pp;4%M)xt1f?qp#gU&AK=un@I$}z{Vi{6aK(uD)w zli*3Z{8LYo|M1~7z-s+3d;jm?`1rWh|C*WL{AW}3zkkf7%T@zyHNaK_Y&F1E1JoLz z-o{%Uu+;$wh2axAh;_^E9RTbQ7ohN}P`wix9m+W7*>i zaG_3nAYjNFGdu~93*O2$y8s7(P*+7>JEols48Ay*Y7QP_N4y;qy7dBxuW>K|dZSlD zKbY7pSxQsQYD%$kssL!@nunNHSIw)d=DzabkW~UO(ZFTh_>Al5-( z>f#(+SV)SPx}qR}N#R6Z3gA;@5LXXJR@aRnN~~*FjMgB29Ez5{XlldbYO~}N93Fhv z?@#-FpMe+PXto7FOwgw*g?1Fui9>v!1ZoBy2ln&=^$L6JNMJ6`PXVV9(&S*+E6_9z z_!M$M3hKTA9FaQ&CYom4EMIY=rYB#npLgUEG|V)PPT|oMaag*6!uTX%zybjj^BN4X zR!Zdsp@^Z!VY}weteasw8=i#izB@UNxo%Lvb*t`j$*yEsNXy*(E$%eAFnyRZ!7MYc z86L^#zHY$cY8ka^Wt1dHT=DZI@++=?M48diV6XcWRsF(eas9ur#Mj)XD*pQ*oBwV9 z@L{i+)tMYSsG$T$F#2?SxNZK%_sZ;6=8vR!;PEbmzoP|4qp#H?DEv#kXm?;MKRU z@`!?A$ntoxNAz5jY<9cI@LLqM#m(1o~=4GnajoCO$0IljXP&c#%i^OsGnIUj6p@^}XBRpmQ z+(SRB?EiHOhE>IX?;m9AzaJeRw)el*@@&TbUw)tJsjC5xS*a?9Ke={Pdg*BKqpEzq zw%9alZyr6FXJPs8qR=BVA0^j&DxdlCe{gb=jsMv{92`9L_@5{8$WpU02ZGZxEBK>R z8QfvB?oPd=du35UVaSrL;dM-8O>YUS9_&BrV+?rCnm z(Iky_4G0@dmR;J{LMgEqq8=+OsCusRQ)G9V%Kf}}j_1X5UfWaYWROsr+MKTeJl->i-K7kHOq=X z6D^X2ZAYejY>_OMXVvm7^$P!r5n!|gG zc604SZ)ZXq5U`3rUIz1;7tAP?&t0PLWv~Qd6qPv8lLhAn`zO7AuiqOixZKIB*GgRe z2pM`S#7@z87Tap++8sfLx>8P65JLTtmZn|%c%ja8?DmUKXpzyDo>KBkMFL+Tk3bjE zx5YbtZkg06LYL~#&YIdN=fkzg20Fi|MO24{aaF8SJX0Ljl_{CocAYTlQuMC~v8o-? zNsWCGMs>UQu#X?4b07JH&XxlIo&0oxK^C7x@eqrNxwir1FmTZPEjuOXu>Pd}9$qov zQhRz`u~%<`7Pl@wy}5%uz~t0<^;`+Anw0EGjR+qbh($z={oNwMxnk1uMDbHXMhS(0 zrAXu|^6GN9#*qwySb_!SkM{sPpu!n`!pL*&$}`z%=~6{w(Jn53Q!$qsT`vu`K2?5A ze29a>%|SKjy0S&pb}+BE<;9D~=9%^PXrzDca*v(KAnT$wGIV#0J#;4T(g-8InX9J) zK8Nx@{xA$Lnu))P^$`KfEt)+TD7R>qfTI5>hs2W!`@7I}DPrubN z3mp)mSMIT{kAv==I%cS1R*#AQe}@BoERpUuB$Vfil^egL0Hey?Sp~K^;h1tBvPvIa z9eBR$f7dS^qROkbXkD<1`d^@^f|3ncb?plqw&HyLlI>RDWmTi%9f^WGZWZPPO({{B zL98!6x>Pqc^~I1Ph&7D%a0Nc?!co+VG+26Den(t%3J&+vtKC$reTF>h6!dZfZ8IhK zjbBxjAzSFgq~U5^wX1TOL6)joR~BGh2J6()r(`5z>u% zf5mZoga2GlAMOyP*hSW+!jON5=mqgZND=7#00zCmQLo?acZwkS@+B3c4Ss#462iXv zZOc|nGi}gkjslrT!L&2dG*K&MSFYJ{Wv>{C_9m)ZO5R^zMGVQ8=F7z{t(64>wQ+_G z$p1Pq;8pVfAe;Yn|M>8rmH%sb9#j6CsPC_Q8`y*pafywlt5eho6>o#ZANN^C{x6yp zvg-ctNw)se{{GR?ek=di@vKq)KT;v(2e}W_)+%mm6|b>Y@%&?joFlL;Y221HuBjL; zy#H%mZV?@zV*ful$=&}wI2^S5|5~134Opl<#R}fUc##_Db%3dC=@%1*eKJrI@qQ1cEPISX(zGjP`)WXIkVy^ z>g6%bg%EVJp%uCx^shRz5Sl0GyeBTYB$USiVS#>8cMVPZl5@;39Tmc*qhIx}!A^a! zL?A^s7sIj&8dk)@M~}@##NpvVAs$#35$Wr-tKOxpeUo+;qRP8$Da?KO(pk(Uwyge_ zDe*b?sm%X!lGXnXPmT{;{cjylWA#7MKHie7F!jr8ZbT-M=Cnxty*!*w5wvKk5(K^WU{RP0Rmxnl2df z#`@pcO`tFZ=3aJd&>y#Mg)#?zoDTAISw%fe>AL_hXNuCQJNH<=P!6Jthq>nRMFWuJ zS}zW5ZX#p3d2W#^jnvHT1_x&DS-_&Z4J1^T;uEKPI*i}Of7aXpU`hf)bq1d#j<>cE zZrD)XHn>Y}=9|B38d7E5EaMk2effw}>|7y9-#D1W7FzBHr7eUW*skqdDIX+eqT`)h zmW~XRiKN@Z%Ec z->dY$ukVgv7_H~GdB#3v}Ik?Var^zi}m5P2eA0bHw{cKA3Zuh}R9J!c3K?)aOw*m6>1(QI0>$FtuzJi!%*Jhe&6fu7e55aY=0fNeqSpa(h=3db;j zo%mk~2s@edIHp0x6xT9fj)Uiu{z~`slHZr?z+NrW#cEi}b9G5g9$A3qN%$%jw*PgK zwg&D0{r)@mgiCJ|LW~plbf;s8#=vN*PdUy)Y#$*Pi@p`yRyaH!kE)~ z;&a5@Jnj2QY+LQq(6i|N??N^m5lGzyRDi1ef3Tn3{|^rbt^a>5PlNk^)_$;}4YFPw z-9jfgd2MKlmE0C>M5-s0TdYk~0@uqVq<>7ozK(4$L0F*<(c-HVUxk{(lf_p}Wues@ zp5n9g{?GQH>ym)&=~}$qV1k3s2@_bVK~? zig+&wqVoFag}GRt6Rsh%a|QCq>yE@F(Cj3LJ2JApeQ|>u5a2 zpFyYFDL$(*epKut2hv``I`i*af`S7^Zs{ISDgXDg z{-42qTmN@G&-0c4hAi7n;BhyBcpciEU<02;F0Ygc@B_Ez~8X<5$MZsJM&SWax zPI3BHdk-tTf{>cvycs-rovRe@te#am+Z_PElab5{dkWIOEuVI}Y{O1rI<-feMAcTc zruQU3cBP$kxtOlX+RJp-*f3l0B{ftgJB|5<5>6cAoq~@Sm-?Mu+@-3wq-{~Q-OL4# z!XC^Qps0>A1ax7omEH`Xt1;Wr}nuTdrCG7|GZrOb-oA1 zCD9guMCLI3MB|>!-?c$89~46}LXaZ*k=&v{*p;VX?+(&E8U=egoy}gl(owo5*&Y`k zW^+!=gQkI!1dDZ_@JVGcf_WV;UWTArbYTbE$uT->15^3--w|%pE2V& zn8dK`#K6293b=)uX-}my9CQ})D|apV*3GDaBcTT*YTw_;s94wQT}&b6O27E>r5lRR zx(w#kxIAi0Rk!j!Q+{pnNoR^YzsII~Q$lV#rywMZcX7Zt^t@g5R}@YtbWy%}*F_%U zsH=+fcTRzP$s)%=$VKih7@;wts4HK~oKKhpv65$`#;MsjW89>QIhD^vJYGrztb+jn z3;;lvr%G3XtT8AOqcnbO+K)p54sn2J zjBBg(@^BZt45TEmxhekEcx((7yF#%JtOfwcT8{d7M23m zc%JmRtg?t?S|TyJ#$%Fv3j8WFPwj$NvfEd`rMd&ZzEX1P)o-aT<$Kq#v}}SAlZ|w@ z;`#Me#8B$XbgJsId98-=A93K~VDg}dCmy;&W6{{)Y7UfJ0OZM{223m({f-GF(j}N!mJwuA`u!kndP3jd+3FGe( zzbEuI{qpVQMf%0%+tog(ZSIc0Ar?jqoM97g6@aFn~90ZlW@7& zB`CQgUKG2Ky5N;^W2p3bRl9DMvI4atIGE&Qjb5x$+A>iR(DTT>_-~G+^hO?2g&^2i zX%V!g9SB-dN;g;bg(Cfrv(N}s?Prz$exv@`x)Cm z`f^O7z>WP0$q&*@S3h>j4p*QTPT^qh+^XQA!iG9Zq%PQ9s-q>lxFoK2lrGx=B_p)_ zxBAdyOQMp!UMv1q|T`dzfRydgqsK_1?#;?ihx5XMJy!Jco3feN9c0e9b=k`-}n?W z^@L_#IvPPoXgo4% zdF$IAyAQX%?Tz5=*0(+Ghg;wNXX^#{2c(!p47`2)hHdpiN`6NU-|Ar(!9CTElHa#p z0KqzYQUbHB5C44s=IVND3Z2`%EeG#yW#bpV?eWRKx3;1HbB-8idyilX74ZMX&*$&| z`sSApf9?5hBV)|x|NX<0K_>opaCm&wp8u`oc>yk_LcQ_GWb54XKtMPgc}Qpx!2~fd zro@+8NE9+o5%fW#N`em|qL34+6_R`Gd0>P9bY0{MaU%5*!B@SltrsuAua`=a0Ikn~ ze*ZVn1^fN|ez$+p9els_;>8PaF23ICs{aMQTEm^YFyx5-wylaD?(I!5pGG68Sz3&@ z$0`CXza+i>dSrNxa$Ws?ceB@%rh#0*na- zH}n==kbqO-d5FGK=Ge`ye1Gjskt>V>{r4p$pJz9_YF6|Xz2S~~11=*r6~BNu3{`fV z2rqE^9Rm*WLlU5XGr70m09^h3jR`|$g`h!jb9=yqfrDtlFn~`XH^VS+d%)ze1)}y? z+c!eM7fw+8V9!v_O1xCl+%a&9j_1NDKRS2)(oxP`KZQ#DE`?70ZZ(wZPAb5qw`jj? z$@jBszMoz6{nbDeJ=pNQkxZK6602(Mb%>mv(h%NfV*%L>AOW~jhlhfdB#6Sa#8MjE zNNev#u&`$Jo>GEKGtt3KE>`gdj4|?DGjSNqfGW!5 zW&%_Jp&;>OfQu`pNE>qf=C1C|4Rn?=r4Y!w2k1CmpiZ$5 z8G{=Ka_-srg>D3)+Jq8Pa)+e=Qn=MI4q~THZlE&5T1cIe#o!L(p4CojbQuM**_{#i zt7;CC03x6#DrJ(w6U)NJLge5v76@btp@u!7M}mpP?~1^E6!0Dp`k28)44yp~N$n$q z0%3F!M|NoG9Hu9m1W1OxV#tyOv`SjZN@+qmTknvIxslPCqW?EBxHp!6nB61_lk8A( zDr5{#0zhSFqR%MY1v3%>A5W$n+zTdAKnv9&f5tDTJi>u1(9KXX zO$e^l;dz1+!`5Oui9#Wv1unr&M)KZ(J#b@5UiEj%ugetes?U?3ZbY9qwh#P9N`B~2 z!jxpwyJQc%9amuvP9{_s@ksvp6QKe{H-fPBD(vbx+a#d)DgIO}GBF}GM2_?q7}`mF z7jyM!2L2ugeHRj|T`M?4vsNwKn;hj@ChU9EQ6DpL^EJW9TyZ-P#Rsusr8D_jlNgzQ=&c^g+sKTh0z{5V~%D}lP z*!%<$T9SQN%XQ1L(t{i0ugf^($Xq!RZ)KFIF{N%|ND{3p4%)oY-a!+!$$H!mJ&AjJ zRE3o*)mBM*G9HWfhJY6a_A#$Q4L~LPr(~3Kja0 zrHR^VXbkW?1B#+Cq9};xsHLwh=Dr{#hyrs8#!Ve2m*AkjXFsRniUlx_msGNt)_paLuqg1 z#CC;QBm<|g*oxJ@8*$=8E;!Ab38oLJa(f9B3z>3<=uAb-Dq7acuHw`J3b~Ot>~7S( zuOyl{gMY&Y_fzQ`Q+UKo+07bTF>l=fqru_;+-OgpR?e-E6jfzX^`&tvb?q>s(gPO@ znHVN4<$@1yr9~AI#;_KpQif_EUor6ME#Om1qKU9T)XXHMOyx4OXe19bwoz}=GsOOi zsfIhT)tttMo-8N8!;GUqP_!h2oA3JH^>4tows&sCOJNt?NMlD$a>{vlBdtdST{W?U z59-;9oaYv=EScAg?6?PIePhXH4k5ur7qPB}1qV~M>bNGG9{#JAHt*(5MN0_6-=qMUm)nnyJmx6~?x zV|7)VcE0a_-!GG!PzFhWi?`R{+JOO6eim~j&1|khdZlIQ-^fTUhzxs0X*Zmiqz*u@ zsi;bAZ=PBqw|wIlm!1K6?Z#|33NQnMRs=l{+@xYSZww|^f}|(URo)3@Mj85_tUXli zkD{@19TXiQC`V2HsPM+xJSCKvnB>1b2T{3iyK$1P8|%7~>`;XyOK#li#_*+yHLa{D z8c}e5Kj`-rVBep7e>|rL=%WvJh*IpL(urs;RHt5oDFWmm#vq*;-(UV5>J^Iz`E>OQ z*uD{Lce=M{U4gd8mSNY4<2lnxu9VfZ$L^e)9RbM*iXEAZ$A*!WQ%vsDf@!56)Yntr zP0d{cD#7z3#uclNP~3bj(o!HP%#~8%*NeXkqsh8}5g(;pms*dHU7~u=Ha`mPLHbZa z8Xslu)vd1Ft;~B%$cW}+BE*M~C|PH{bl|E*so@#SSV1Jew)hR zASB9b%#?MUMstEdW*zx}?Tkr{$8pTxPCVO`xmGoa7~w_&ranOObZl-D79X+AZzt7{ zf;P!sVJ2ym!J7mL*PKF*CTh33xkAQ4AS_~ajFiHdq{9&sh-5r+ZpB7vc1L-nbNLUc zmT(TG=baNXXsNjROFEUopJD7K{gXx>`oR$3d+dE;i2aN_U#+|ZGBzXQgS;L%7n&PI zEb{m+xJSSv%>Dx9ypEOvkX;B7+e5&l^K%J!v=t&^>7fvRLy&9iN z#92#<_Np>8NCS?gEV#l=J2r`pIv3mSKBiR24J|1N#S0SE!1KJ|Lx=`ovcO6@#Po1w91| zi`M2^gu+tVzscOq0XB>I`&2H&MD|{8llcE=)^bK#LGdy-|u`; zDlbK$2OaygQ~F3l7Jg#rJPgmNFSKSmgeKSWJh{7n_Q#i-l#i^)>{KGuc50DA>qpsj zEgn&`v z`B&c3`zaCDC}J%BO3S2wV04eD^mZ%dQL!`(NHFtB#LQ>OmYEzJvwU=lflU~kLRnPi zJb>|jAg3z8!KQ25u`e(sHyM3B9%wB>+x4cC*b5Fmz11Qx0XUg43Iz3e2%eO#9Z0&+k#HEN7WV>gUSG(^e$HbcxRoV=AnU5Kd5U znfTA5_}>rjKVH54@zck*@0$q$uFC(rzu(Ws|L-5Q^`F-AyZ|yh504@#DE}H^7kM~9 zOh)YfEbKvL3d$xZj_OrGs#}8|_=(V4^)5-(u?t*uhddHWDa8@v>IhbOe8g8jMt*4R z!*@C&SkSpTjZoT{Z2Kl)5k=tg3UJIlB;Be?MxZhN3~qicObqzjjrjJT!cz6&t<*>o z1y3fZ5PM-F9(MslO0kN~ZlRwT?PaP^!DfL2T*zTs8BXSo5fkHHOp$Y|q@%n5;Nt)b zFoj;?iCtbyf;kk2%3Z31KTI=;H!Gqsb#|&mlRDXn9fww9r4g#YJGTe^N6SUAF&ihh zC3U1NuW$MaEXjq^sOlwC8I$;}fJPqJN-UPN!GR1D7Ak{ka(ShEC?V7um?tBBz_!xx z#9uc%?QQTiKLzqXCjX|!m@ofNjt9pF+4~;{`>p(6%ku&h3eT;rx5`jcteTauKuOr5 zix@>W5Hery?8;+v&ok0>Y=w3S6CRHd<7^lFs&yPSkQhhXP-38+l@;bOe8pI9w-~CO4=eR5WoVkK3G`mv*P7k?hOzmEI@*H1p>&m>H)4J*HW7-w{D6@ zJ9~xFprWR1D^`)q9Dk9CWt4MmyHTl}3!RuA0W-^9Xji5yEEGW7Apl&x}R`>j-%5CKLB@-S=ookcOIDeEk6uKn7wN39MebqL1xQ;J8}ZbIn_6Ay=>YX=V?JC@>` z4Ixk)v!JTFh-QpSC+_tVM8w_kJHoF0f`ol{zonEqe4eoB1b2G_{J zceH*=o5lObHd{P5LCfFBcr=P5E3XxETRh^UQ3)-}roV+wEed1{_(SBFj-kuqo=CWb zjhoH!Z4I+thxir|Aj1Mxbr)|{AR*YanPn$B0^x(4`;t2B2i#GdbDbr6BC5yO zj)14c|k-&Xi5HoECV zVW$zy6=~c=5$Bq7DyTo{++f=Owp{}g3{mMNJAR0YCmWSh>=N#aM7Xi}lD+Uv0_I}2 zt0x81jn$!hjY!b-d}s!?iO4RGiS9}V=dOi%w#(EO*-p)7-dW@4GJkITil$16Irnk~ zX&`tLxxcuJ?!XZK8~f4-RjHha3rX9QaBkUR2XMDWqt$4G`hSDlR-@TyZUfu3n2nl5 zadtlQgn=%wUApAKfF0#r`$#oMvDiiWl}iLbwkIMDUjKJK9s=XAaZl@N95wDM6&_4X zm8{IHp5pP(@!g>qS*%)(il7(@3Ci;j&-=MJ2T9cFK-B4w)=38R8;4Se1ms|FZZm5( z_Kx_En~hGhao^x0J2JH=y_Mw*qVQSh94aw32iO4^7m|3a1_);MeHI#*6PX?ld_kYY z#=q_M^A~97dCmi<_aemX!#e?xL&6s7fI|2wHdVW~tkun3;cA}uOx^UY-P|Rpo2Moo z;LzEO8kfDUszNMzO}Q2>eI;YnzbRGac%$64O@o|r*EWHySXBj(lDcGH=#qnkE;*P? zmmEr6Lbb}v(*qm&{kmmFkj(RCQ&#WRBXdL6^)?+p)T& zBXr4rLYM5vx+J^hVL@GN7bpCpL|PRRxz39{X5Fz}1fbs!xhFGs1?0vcQI_-~unD-l zc5t8N+=+Lz$-H&+f!$WKW$ZThc8zw9{j`2tZ`GT-GD=KtMcE!*TG(L_84>OTa1$3}i)OSdPwu9N7x&SYwMKT^X7FH#L3Y@8ZiOpVK4*Hx?GIcmB(H9S`( zSF46+uj)D!+w8R+tJvCNb>2&?&U=%s&Yfs=-hYv+^Zv%I&WovW+3ULM)p?GZu5NXn ztCFi-ooBD=I#%b|YddyzZi&^oomidQldaBs(dyh;?dn{P#ksR_i}UO?Uil1NOy}kg zdP5BQR$|b%CL8qaXwdJyv_UU?S?aXy3mZqm^#&htGdt*5IxaoVlyTNt05VQ02qBguRisBU z{+F#mytmW=7&+;Di=}nWLYc(U@b*4Hz6+fwygKCZ)di39`27??je`OidaA}Wi*R&C zhQtZp+4mdtkPd8CMp7=pIqoUrRa%wVD|;aivK8E(oF?oxf67Suu-GG#8GhOG>5yjb z4@M@bojUD=8xQm1dBe$G=y;CG?u9OQND_=4j9fy{)bJoW+l|c9hmHHjeS-d>#-jek zoC$EQS3F~skFO`lgVdmSWq}zsz&qO~K}{{2(`T??Ls=o*qYY$UQz`%WxgGOBy)NH! z(C9Rpk^W7z_i*`dzhv(auD2g;*B(L#_=wX|S}4)CYM7-rwLzL|N9kSZ%M5G!a}uQ@D_!$ND!{zUd~Yt z=WmkT8@)C`A_4049`;R?q+IY(UEwKFY1rTQA|4E?4;T{&bOG{xEZI&?GxVhcAdkl3 z9)N1KO~#m@5?mw~dD~?{n8$2IYLF=H?t6Zn^CcXETch!Tc7UX`dHe_ibMS$ud>%sY zlJg&Y<^McZq31P{r%rTvs~%UgomYLT0an`Ed(TINrCdC|{F;8F$X-YrwdLB*_S3N- zDy4li9EL384j+!P>v&%=Iz-1u(0bsk^~hzEd&oytEu#7u*d)OI!?(z>Q?M#Yl3fc0 z$RFA+5`i{y@Y2%nuzw>+yd(pPj~(Y4nl}-Zo_Id-P-bMvFlV|JViz&5-&1uB<&jaB zr_8z4{yWNy!{*a#uFT&@nHdXQS{dlrWdU4W=HB{~8JAZN28ah9)Hyh)$C)0t8{h)7 zlSUr;D=K#FAdx~s@DuR>D{+8{Tox6QUW>>8-zj7q6D~kpzW<9uFl6Mt1Oq>m-Ki8Q z*dXLm^9uo&YJ9}kt)JAd+@n`fU!pZ)p^yv+ALBT=lu#}bJY77M6|D`CEtGU?*AF?R z{St@NL^MFG+Q*g3cW?%MIHZFQd!tiM;jgF5{H@ozo(jXjVeB>Ya- zXBI06Iq*mkln8~Jpz>5W8(H+W3x~|bnNe`c6ean2rNH-Z)ojdf^;=Z4lOB-fYooj(W9xvzk^f0_DW}UMm&;81dz?SRhTH^^b4seq}@D%Q1Zrq7i{ID zsukraxWJNQnRB*(2PaVqgW{^PXM0{|`+gTxz3FO9P6hcLyyrQsGB;%=0wsf< zlGljO=0x5jY2IL1%@0v6k)kU51I};7OktKyOni%2TCBvQM4b<65~XY^D&8F;2iW(t z7LsJ2e#{KXf}iakBcu;#6$Aqd)jPK~1ebDLcp({hKEBVL;^LuQ3*FXpX1dJVx|=R+ zy8&cacls9i7O_8k6G_%sis>HqhfxI3on*`tEfWCEjG0g){x6Za?Lkt>FHnu7%@{x1QYW9p3Go4XC)%a&MDr_`gqRwa>lL6-}&C{(@nys zzU|)6{%V_-QfI{FQ@s6cU|O@k6$Pd>#midDZ)>aY{ZU@ZIpo_Wfz1H9=M2RK zqra9KksL{7N6R)y<*v-Mp&)DJQs-+rLuEmwmO5`Itiw{~?}YDO>`WT@Qof7(m=1jB z3X{<73%MQ9Qz9EVHYVm?14?!Bx8rsa_`X}$GXx6?`r(i1G zBRG-20`g~qD}D z5ftK1tbO0qLEJ+yU{gP4ksd;a@iaJsi*%Fow@)EeL&A+QOxX z1v?t<_1I9sVL(-_%e5Cz2sZ?@k~gHm7)4LAEbxp^jU7k;nCu0aNR;XRc$>}}0s&uD zfWp7PhHF$FKhtDL##&u~_+70kWa&UhfIk=P3Oq%;@(OkBD(1W%^#W%zj zlDVk3!A2+_CUL>ECt2uKQj!Fu6X#*oSulYD1w4UWsi*|OoHTKqSE7Yn?5crOyaO#X#ySmz+io< zCXSk}yW{*`0uscmt#Um$J&DJocr%@=93RRbvMI*1&+y7v@z^hZGwps%XeSD3dMvM0 zl=f@FqWDs)=sHrVyjM>t)Wwbt=gWVifSnWV(!nZsXSr6a+$XnrCJ<%03J@UJVKy?r z=%qNc7mH>P4I4IO0z??6O$0O~QM$yAiB*-(Jav927KdA#FF4T-Q&Hqh=}n}}%{b{x z46wOzn|8b(BB9Pc*h4#zo&Fk`P-3}g35hJ1bicwqL~NG=P!IEyPfk0-S7#eK%3*(` z6y#_KFyL=sh)yvDiw7DYt^)0Jo7^xG!!Wo*c3(-0t|ZtPz*}MUWV3{BOH^$TCje6U z=mqy33BVNuN{0XEzb-_Tah%?!(*l`>d>|7V!x^6tZNJ{ z-bL(Wo-u9n;T-n_A1LoapLOEG-lWhMN&AkxC0qyXZFw^{EdtHT}0xQQkY(PR>h z#EC)b{J>70usl!^h_DY*Q+R8YtoA%ree$qI_-MMo4hUd*S42*^hlpmk2Ysn4awObf zVztY|lNPNa?rex8`7Lrdv^kt5(+>gRNDbDqxBYv&neiJ6#SZ`-Btw%!kI z3z6ME*I{)MK%eT$q4kppd#|TLbNIN8`)IwDQzFJ##iYqeTD4YDJ+Xa>NJZJorLwiw z5+|%;{FAYVlEPj@$9c4qsfh$tzQ_%xGG#I}E&ZPY*auN!gsj0b;?F#%_v|5^f)B!d zM=FTuEK~r~krRWZY7ptNrKMJQo5uMOf`RQ@br1T%1M^-Mc~eNEa^iAw>^sQT1q;jc z+O=qxNb!n~hjz43M2Gps^@>-U8jyRG6rfNWO7{e#O3RmstRVBprls?&Z9SW+Z`5!w(Yw5*Fr3_dyE ze<7c?@y?}VsZu#-d419p+1yu*Wqstkxb!}pt)9j2i%7enh-G1h3eo%Wp`9Jop(1ZQ(IR(ta(iTFM-Hg0Xt^A@!HXSo$pLp#b{ zoj!NUKt5qPxJ~p2cEVv~w%JuPM;6Y0k>oRgw)+j34z!2DsBm0iDMgjBOut6C!Pxt~ z+ui?P^!`A+p4RlgLEQttJXVQ^%FF2wQvP;6Qjd3b zzy${A9+{!==!Vz$7D=CC;U-Ry&rdu=L`9s{k;)nQVi(^4XR_~m$Oo5-8T-rYlhY!0 z9|q*vPiR-~@&l1N41NIGety#Jc-VoTo3vUXodV<@O`L&8g~(XLF;WM1iycN|xbd3#0;w^CyZ5(+*{a zVv*cf_}EqkVx7fUw+2vPHnwH@I+1L#QK_^W;0rI-41MNK_KgJ)u<7yz^`d0c0hZwu zY!Ue57na2(2*p8*91irklUryzR40$_r}0y|9z1vm{F`7G)V)`~Ts~H@S3L$*-VxOr zsCqCM&?~#N(z~+K)u*q&6b+6Q%IS(hAm3jO}l}dJ96;^yR%2+3d(#gN5(AY}lpguGo5@YZe0?z)Zi9~g(CkG$Me$25hP1tO^ zdh##1OQpaZyC^zhV}3Kx7inB$_t=wv@xr#ERXwjw`g z3fh!0sotU^MHu1h7N*Lrag73)3g!A6yXctiql5Y#B0=4Nd@Rvz0wi+ZOrm7FkWgGs zs3w%#lH3#}VusU>l07X(36JKh^W^M&Y<>OT>Bd=xCFgB5c^L7i zttPEUm1wgY~YbeDsrUpSWhHkpy=}!X7=Yhn+)RM4`l<+7d9O7 z&3#~-Hz**95LgO|E~$X#vK`vY5pK70)Z(WY#U-k-IbP^EyZZ1&C^-rMxA-m>Il@g!PJp<)N?o4bv3JG!k>&218TZ8zV%_IX zI8Y5NC(hToEe6Lw#pXopCz9vLa_1s;H+-zbW*FO5Wv4() z%##^`(2LfIbWsv3Dmx<8{GqsdG1qgJ14X*JL_Wm99p9g^mc;uCz&93z8Hd;^!PF7U z#S&m}gAlJ5ldN1K1dfSq34p^W?*E(by&yDO1R=yPBr(F-AE)A2`419X=B3j}e5Pe$ zm$p=<)=#XPe9XkKHs!ggW~w>)n|8islN*tlU8LIMI@yGdlS+3OX_9Xoi$zgLabTzn z*WqsT@qeLfk$Mw*D+ch>#$XC z?YCO>J+srSA6l(Wz1=&whHZ2N&Asbg*?+(KIP}OaVZu}1Chyn#^nqP*GU=1ukGAP! zf_p*Z6c4>HK)bXaWOwp<_sGSAhmJwD%D3N4F5H{M659=EeRiFPW5BHX6~I)xX$KF9 zz05H%ezhwAjI^yCgE!3lQOVl^#Z{{SF*CSa-q{WkHV_6try5dhSCbf59BT8*=MxyD z>H?In>aE;vjR$W0+&D>C*Yzo$Zi-j1h3{B3V@x~?Qd`LM4l*Uu*+eC8Of!)pnz6G# zPB~NysFJ{UF7nC1_T=Jw_6OhG54an?SZ)A}7BA_cnOU8MQ8}WZv4zL6)L^l-ldZ+V z6<`?Iw?#C3yaEH&uC1)VA^^j|p#`G(O2LWkK%b5~A4BH#r^KT)6dlW=cEk=vXfL(} zg_h;h9k*mC;a;8Wj6me_#NeCJI$(_R#<9_C?HzsN$|M&m@9c2yke!{_tDdKI7b=W< zYR8oj?muiNDlWdZUF(F`>zi8se|4)Q&-F z#IPsxo=ZqGQ8Me5oVM`$yn>NrMlHz4Y7ffQG;>L;eyV|-_V&6{p6ieD$;tl@J+B_^ zDHidL(fR+I`_0ZlD*u1SXf}2J|5bc)Np+~=W~7`Hu~gJ#>o!TUaD*NSd<2J?{P6s! zVUc;I(`9c%*aE^2>Y#(84E>Ap#@wzYYJD<-*=73v%OiV%9H_|H zK4E6uRb#Y<(6xJ#@1qYHT9R2p!TUf4fJB5m((cLQN3vm;qz0HZO9>aw=B}v;=0z6m z!PEY;D=rrP`GOBB*X)w?>r~v%Yw^h*4t-{jQ5*%uBFK7|ALt2YjoVh^eiyk4@ns!~ zc|q@WcDEa<-7T^;C%4|Qo$Giizv5!!_%_`!T&Ph20>2XORHu0TDCu^2&~7Z2*cX>u zy~!l*$-=hDmWPk&u#Oy0=BU3oHRG;oW#8S7QEp9+$QULIZ^8ijeQB{}fibzM#2d6{ zQwzn+&g|Qu4o)QSjhx5DT&tTQXI0LdDz%(2gjy;NfrlY5yf0j#VAN*hTJ-?ek!wX( zaYdLZ8qYD_;A1GD?yL{p*R?>tPh-xY(w&*y%>5ALUDm*^f z|K!Y7$;|#>R}6pzso^ZI$doG6*^szp!tmkl^APs zqD-_@MJx`&aGWIYYofaU5eSD2)5qidc zW53bl#MaG*!LJ=PnvFI;?D>QP+eGYaLLBWKSL8`Zr4GJ{Q;dcZBtsDN%|XPO^{u8p z6+mG%$~?wh1LTujn<78wxhReUI5r75$+x&kfQ#=MmC8Re^P^JdhieZWI~e^YRshEH zWyg8+Sns^C*_tX2OF!5opu=+ZwC2nok}Wlpr85`jY@EGv>ci6vyjD3Ut zh(!(B{XTaoifPGR5#t@$L(~A5?be>LKXRRt|BBN~_Jg0;7r_}?KWrTy9vTO&{q2h0 zyFa&2&i=n=JBaKi$f|bP{~P}%*qz}WBlrJ?(cC|1C-?uY=0Rs)@Bdfvd8`0X?RIU~ z3jDa83cc59v>Jw}L@obydCj#88|r48nE&2pqdEG$9(0kDekJ$3p{g?b%JZCi1+R?y zJC6FK9nR}er2r!8{7ip#t;hS4dcCSV#^cAU$DHajzCN(6 zoU68p-BavfpE(})ui;j+23m$u1FcS{28?aBXxRlPadW_baa$NspNnNGa9LH{d#Ys{ zn{3w4kBQ0jG)c?Qy~nCg!r_*{iCb(*?uuo)8&lzR`6jXJKoWF)A{>{{eeg5)1xT~$MuVUeq9O)b!YguMFCRrTle#j9#9!dL8p=-XBG>9XA< zU$iX2qz->(%hysF5u zgVaE&_FWXPWz!8EhhOobH@Lvq32aX`uxd+!0oqrc_FlVlwBOk~Y`555$98Yxy7QGI zX8|>#IY1Zo5aBRT-pKD!iM@vAO`l=av|Rap7KoUCizo{QkaFMa)IevC|JQ6BB_z+E zXdl#o(K@Puy(WF+Fz1<0vj&WVRt?b7nvJ7_ZP~wHW1ThGRITACUoeES~9M)Ds_}e}h;*(!r5lm#Tf=w$3m~)^boi z25qG^E^y~o_(K$RN~@0>;~ud->k?^^ZzLKS?p`-H|$#BPgwImLT^O3 z)9pO{9j#xog92Xh>Zje4)D0Z{U_{>$5BfKb?WX2Z&vu-oMra!~U>JurU>qLNNo^b^ z=6#R8C!U7(O0V>w$ z()s66x#nRjrIHt;v|Gck+uO7&o6UrVO)Pp8M05%AZA6lf$Ql0*ngQ!yBXQeDJr3h0Bpb40E#W2XswQ0|4`Z9jh>ptW^8a9!-87ox8BCsWslEv>G#y4LD?yt<}} z8s7H1_!jwW8(plh`3*tc*cGG2#_r-YxcagpWnN<^A+N5g&Jirv{FW=zopQXmD}PPfx%X7$C6aVz<8c zy>ovLd_+9#5~Q4FXw30KF^7drdkC4zZ@w(MLpzN>4kt7`X#4>*{?PbiJpO>U{c$G* z;(&jp=7pzAgTam+u-|+}CWSmlf#O)+C$s`pV#yX2s~IYWJD*&!{r zlf0gtOg?fgW%-g5`KTyjA?rPd|>x7gFVvl??odD9sDA1 zcXbCwz95-8GG`4T1Lz|wX9?pARV%&RbR}Fc!(qrNO*6qC6TuDUpC8x#9^Tt2^>rOG zuG&<0&?bo`iT0Sff{L9>>goI?I$Ap~zhDXM|_-97aKD zQ7suzxxHXqTTXnrWP|2@3SJ(j&}G`5X=KmoMjJHSt+`=mM#`gc=YmX=+2ttNO9T@AD2iyCIn1GC|6f70l8AJKu}2GT5d{ScrPJF0Jk z(xPqFSI^O;d2)+bM(U5O=HPc)^D-XPKO?BdX4VFPwHI%;TpV003l3|S5r-LR3Z#*i z(3BDM;OKdSGrnl17pE9~rS53-RW9@ew#FF9QWQj9DEWT7OqA;|m(7C0R*tkxFI*O^ z$`>k&g^NbGZwIysQ^7Q1k<7$ehya<)bslrj4@LzL%#Z9&&wif;)@8hWwEJbc`V%9* zMD!t0fmGGReg+J_M9i10=jtGz$pXVt%3^W`t2p4uXsQuMg<$9~1%_ICDKwNh7T(W- zA=_fXzEag?<_&IhopgeM z*s_#qJP970QL~O=c*R*KIhfT|JTnw?!ku{sj0<^Io*EhU96wha`V7=@55#CxIO+fQ zfB*M?>mNVX-@F08{dPPY9;cg_XLc1L4+7*f`Pq4W zg_sdyR#tDyA*&-TtMRgWTLxLZ|MZeYG)`~5TNU7VJ(Wh&BFhokMba)Z;fxyCmWABK zK={wUUuen58wJ!#X{m{c_UmHT!sK+Sq}n;T&3j;z0QY@3?EV!(H?SSF)ojq-oH*91 zD;MR+63z{LkK!jkzPhR=4ca9j9&k`i#y*YkH)RJ-iJKGf4NObjGeuNZWHUb&3!;JGrnYr+SG!_{%KCu`#lX6<`)xE@AGz zTd+9O5gE@+o~vD0f1T~{HWg5O#@!=q2Z1j_K7gWg0-$Sw3m>|qhkO=qoMyYFeUa^n ziH=tJPby&au~`0ylhk;p8Q)-)9#6W>jOe2>owcbu`5W@#5k`@dmMKqBNiBv)dvTn#6J^-Y9cRGu?{)Bcm1j zCT1%=$+q!@*vbxvP6f}5m&gSrk12y#vT!3(-3@&n!{JQsUD z1SoJg8;J{2`u`O9f!(uB7$ESLzVD$(%TrLmx}ppFeINBq!`pdtJN`9vg}-{+U9*5K>42t$qX<+Cz{n_g6MfQFs}1KaIK%Bt$vBv8hrs+>9G zR@HCh5T)P&<+kMdPM`zz0qpUPNY1e8Um^0Dv$hf+r`(P^#7JE2qx;l~r7AF4zqGDR zI43!hHNM)|QOk)viF5JPNm`>tSnB6)7beJtRRk~@h|2GJ+cllgLMOQt+)^x`ag6!F$7H$s9gctN=^?l})FH9sibJWeyh(i_jE4z$N&&*{V%WHm{+QR@M?83S;( zp|_?%H>oKmIXFFR>7hBQf*UYkv#zaUM{CyOb3sEjVo02OoQ^X+KE($5IR|j790QpB z`?VrQ4-Zp_&~uct1>e;T>2EF5vf#UF;%A<1-Z0yd__64cuG}H1dqWBR+23lkPPMIm zX$|AQJIddN`la1e?TxwD#05O6b{vrPf#0 zCDDC&;i?NsIIhedpR=$ZrM z*N51(1MJ&wf465li0q0PQD<-86_c?(fUf1(Zolp!pKYXF6E*%#usiA<&1SQ?zqiN! zZ8n>!fA@`py@MZ&y_V5zHaktD{X?_W*)!TdfaXG4IOY?Q0Qx^P=YChZaU1dx^Sax$ zT`x?SdLF0PBu5J5EO$3-A!7QrCxbl3?0%KIo)h+Mms>;fH`@FOnFvRDeR3_V$!5}l zZ2PF7p-OC654uo&5ub}WH)QAhn!OcI*Xn*_zmW~s&Uv*5UF77xScz6kzBYM7dFdqY z%kOx5M3=kS&dz_m(P%1dP6z_JE)JkvsiV`Olw~JnZM+U`CwT8>>~Tq4RIdXe3Q(^n zQ5JG@BeP?`ls(upv71ad)~tb+VbnmY)2V@UA`sa%Cvo$@e}NMR`RQnqxckZA8bja8 zvBOpr*%i#8eA>}!-$enNHAnl#p1ei}%0(2QDY}qLI<}Kn?End*%=rairEchwUI@G{`zQ6ebiX;x#B@HYkdoEhZ#TBWqK1A8K=Q zcnMO>1ZwLuL6|xwN;V~G&WKhIqFq+Mv z;P@!Hq>uIvyK(_&Haa!>FA0ajn`)a~2Y`8_@IL{V*>g-503wf!SN{R(iIRMPWjp3y zw&_3HS8nFquh4rZ=g_Fp$($PI_|zo^%k+JBG(qQWVAmZL_ucEo_1)1k9e77ag}rx@ z=)LIggps1?(7DJdN!5HEQlf}dVuWJM5=$hjoF$jY%ngOMAv2l^NE?c28w!aV3aJ|k z$Qwq_=TTG>Yp-|iOv+ME6q8Skpr43~&o^9`8i5ZG$KS+5ZUC?ge8xV`ruP6vh#K^K zJY-i=pnQE$J9TMJti7kPwz#gb_6B2Z;Q_uP%u~qFItCGqcJJCytiIZ=e|BKKyxq5H zX#IDop(Ew3fw~6jxpme+y|h4m-FEB4*|BtcJeD5C)4L+9U7Yw<1MwFF#AC$b!C`_s+gz4dxk;r|i@zrAS6@Uc%jeM+e)`*AhK-Bg&*afSrjCiNUYI#^KVi04g{1~X#2yHb8O{`0dxu;Z^M`N|;h1H5| zVZi{gWf=F=y&5-&m(CP67g%d)u(mX?ra{^|L0XY@OW|rwLn4ibCh>G)wki|5Bpf13 zLn3Xo(m*Ix{00D_bz7Jsj^J59%LK8y8nkH8B5s$!=V_&`PPO=n$kwEonrel|cHsJf zfvcMM-RgX!z~iH=>&D@tl$}WXOGWL{{!$tmrHj|lNV!yC(3t}p9UW?Xo$V`k8z^?9U6829wAEmkZ1##o^~gf4qJ&DT4F;XSTs3u2 zDE-1ZeVPxTeo zV5)&>;?70^)2z*|-I^Vj?vKZ%n(~7`prPerq2+i;Cojpf{;mT9T6BHUV3FVTO>gY1N8yauj6c7@1scR9?w~TrbIN zFNr}uIc8-pcRky+rN`ZL*--LRl@!TpMA8>klILQv&Zd7UP5?791$mcR5qf22-y(H7UBvY}ZlCh+cz9h4=Bon_VsbA7bv2)VDjC*VHHT%ieB;Ts0f=MQW zNv4BQ6T;*PEH5ogUSb%@IPsgLygiGvuE-yWBr$uxzPrBpO#T(AghZ;CN@4zw!u&7d z#;)mvBtX9WUKii%F18REoBD-)M(2Oo+c(M*3Uvc7&<`) zBby-!m^ONR%H84MgsCLc8e!aPCNAWe_KFkrA1H6TOC|2l%hTV?RAQ7VPY5~snq$Sw zx8W6A@bc|<`PMtRiOJZ7@=bU7hP$|>c}BZ@lie7D-3X(bNY@l^YpMqgLt$4fGRYMf z4T# zb}f8I*d2y#*yXEgZHO)O>Z)p64!Wv7UH;td(lR5kCJ*`KqLIo`RA{BjIp$N=oiygo z9QEa7BhR-#6U=RDsq z4{!=JPHsz$SzBr>xTVIVEqy&}OJ^3Uv1q9p6N~kW*FzI@O2V$Gh zkw579NIaMV1l(aPT{ue#nJw7N7Mxq=3$TcNWX;z`F)$~-&_*#0J~a4!P$_4|3ciH%!8bO! z(O3v*ETplJ#zL#aLg|yXS+LN)#zGnkO?J}8`2#4_VBo+<(Bj~LI}hdf3Q=IeewB+Z zCMaM*2RL64w3c!tm+F!`-wp!g&ebcl478eV`IEkC`UAYRW3BhQpEbr>62^L+BKXqB zTqEkK(bY3XSD9n3S>V-yhF2P1O$)DF6x?B-0wfdJx2TJJUtj^noa5l{wCM7sQyBym&8A3D+l9%fBzlP;Hz?x_io`R8 zI(ky zs3vnV^IRd!!pt747sIo+aFhX3>Jv77!uH(ZWJMI4rNi9kmosFTNh-cP*2{?4D&~1g zkmw~T^ac?*o64UT|18CwH~o^OqO4t<;0^48Q%>;)wmxAC5xyQup1E8axH@;zQ#j|^qd4dEr#zoo`Tr(k{^Or9 z{C|7o>;8zy`>K8{*PM=x7GN zM1^&L&WqUK)?NSvP=2^XVm{5pr=g05D&n(jCcb&O_ew>!H!r&i!0 z_pA|&W~NJ4SmT$Mh+i~J(Y$gRrhrnyly&jS&BG+O+0=1!k;Rofd_}Xv>DU#GaHKdj z!U07HM{~Prh_fn)v$YO#x6fYycDJ^{Eiwb_Z#B2K!9T#(8X4ZQ67bzA%# z60~9SbGeP1MWqqa5*gi=Foj0TX9^y-aq=mX9$Eqw$`V8~O8saKx0hwO&>U{saPb@r z7n*@h8!j{h+rnVSQZa@mSzBnIPis{u1FX|$QTit;?H%l|dN zLllvJ2~b|A7bj-`8_oZ9u-87=OY?v28Ewt~wTjPp{;ym*tZ4n2iVrJ#WI{%)@@yLm zH-qieX0Ww4W;d7(KV)5FWC2PwgB9+OW8xv=i&1)?ZbEZ_F6<$~VFvV=*unm5Xx{XF z9J0-1a=*du|3RTZdaGv2n35O-a2~c!vj&WVRt@ZRYM|LTI!I8lu}50%gBmbeM>Vk5 zq|Y24!K_cqX%D14TEPeXsh&N9f-mpCmEL1k<52rEMg~ zG=l8@fOU*<*!1qJ$!QY1tSXz5#89`%CzNh`YP}I%>Up-?zu;5L$h$rQ`%0=o2A@HI zL4fX45b{fB&5<@^4Jne4LZgQgqK9pd>_Yq!Xk&CCm0#YdZO{jbHpRs#IY$LB@?$Y zElN4iC`A^gQHn+>v!Rr&twk`ajPkr)9OFv%9TW@YH(*L0mZ=*s3qMO<1J(k)hA8lD zGwY_Z0!TK3#zh0N@qjGnmPTYtL}V^@(K6szA=+9V9!sCVjyr%o8U@EPV9YQy8k2>s z1C0R_`-+Ol!(?rZ$x4sODBf7miPMkiBc~0u?i3v|5p{-41s*yYJZSKs!NVfK!`^)0 zp{2otEKGw34IbtI4>#d8>N2=Mm0(D^&~dN{S>X&PFi}5pW5l>0Jo<<)&#$hkrWamS zYoTig^b7VWt{4&jQaZel47JgKK?8>J0S0DId?AP-?V~asVmQ)(K^C?Sz%UXjw5Ep& zEe#b`4;2>aK(b7Kmkj|K(%D4YB{a;?FawkXX2hn2*(?)H4K!q7r2`t;$z(Ht#z>ol ziX>(*OYomxRck<)CTKyMhZ?kX0%+KvVS^ZpC4dcS=hP`-LtDcJS(t_m8a7M~8y4f! zShn(WdR8hMM18(QCaWAq?CGNn2DX)H9Uu8F31Hsn9j_|VeA_C+ zZ1m792la)_Q zR-PfF2wl5?^E=IPUruK7)zvaH>X(*kMuWE%fw#1i>a5_crNNs9Z!>|nW)tjy&Epe$ z<|t4|Wtl=rK))r3DER^nE++z)k&my&my5!e>qc!FTWV~%7HpYuF`5-zwnu|YD*Y33 zkxob=Z!Zyh`gVU1oagEZjY~HhmkRE<4WW+9C0^Tn>bN}SxTRrUF7bs3Jc&F7ww+rF zsZw+LrVz5ujY%i&yTv(p<#yuY#@niU^Ry%gU$~!Xd_RA(%M7yB*ng&4t`7T`Cy!hY zI~MZU(l7zkHqu-F^l~GMKGkYn)t}% zkUCL1LC`k`nX3Wx`RbC!XZ_5ICKoP92GluEIReD zhb*d4<@3P+2J}e}-yxshx{UY2;IoH(7-0YF)*uKxa=g3Sw}U}=-7xWR*NdL3WAR+x zwe1FY&)#tj39oMR^fNp2Se;5V7pw8*x050 zKfrf6!w6V*uZMgBdOlu@SZcs?5F`lP+USmT%js_?pMHJ&;q$MJp+!5AUdv{`6@p+f znaBb*A7Ga<8!mrmZq1XAYy%&8n9x!miu(_;SxCDuz`$e+Qs|?c{>(P#Qa)s1Q>l=s z1*;Lg6IJWB)wth9?(R0LO*IEu4WWNy;X5}A-*W8%2^Q>PygC||X4iD)D#+LK&C6QN z?OF+~SJF(@vR(ENbz^mLIrc4T!TV~#>RVcS>KDbS`@mA`o34u-0ddFX=G(sZ@g0$A zwWE>r8y5S5bf)bA9-?fT?ape`Y?t;kHvjj{Vf1$$1*TPZv4zOw$-l?u|8DQMn(6%C zt^Ky4^M9}6^EfvDx0tVqJ-Y1#@7?5{Fm(n}uSZCwURSjZa&w}fVzW!?s%>I78S>Dq zftF#^K&#WK0b@JI6i_{hn*;s}oH)o2)I;9H_JKjDYGU`8oA6xLYpQ(bZHC?_&32wT zp^EGK_$cj6PfrZKw-1gEtWH)>m;Wehrad!1vuY+TOm}8=klJUBb7s#bX`kT4D&9A* z#}_ISKDYEkr&XOWwUXC2`h1CbDml#ckW% zuln)d`1;jVmF;!t4`*)%i>YSWjQ%BrQ!6w=D?d~V zVL}Y(W-e7ah;U5x`hi7S*3x%lGePwOhSp_g_%*dECVughETHQ7*h79`qm=hjJSaHy z2CD{tX=nIZz~2~OB@O;G_>;JYK^_ZThyA|o_PfJd)9hN;9OZDI2HWMxXF+J@&1-OO z|Ba>xaqEOIqS6|+%;$`pWOD)Q()t>mXmql6BTvRLc@{;#rxm?c^ph!iVaM=qk>4c& z^aErGTSj!pW?a7%5%A}{>&BlHo?lgK>=~+xUR_nMZOiU*7l)h}Djuz+zHI4x_j!k&D!1UML_NJ&9Y#fn1OwZI1;o;ihVfqa4U|p{O(lzmLXa^B~S>8FUYN zA2E8HJLq(K6rig)^>!h)`q6VA{1LhPbwkIC|d;h|b)ik|u4b23opRk3^|8-dZ+*^Ac)~|Q=&mpXTVS)T5j@(~dtbWP2EekItW@L7###XA_)2gM?IGu|L8F1g(D#y=3Hv9qr;rn73N$V-kb?+-rJ18 z=BeU;Zw^V_#6u6e$PLKEnZU=y|2B<-gH-(Q-hQ*A<9}E2(eb~_jQ{0-Z*KnY=f3UL z0m6FMyK1{V^lV}1_R(JC$4C0}r>Bj|0(o-w9-Onz0$+G%X;b$y zP2DBgJLx^1<^|QstaU)IysQyTSrN@0_HX_QQHZ)0@`Ax*WF3%qF?m zKJu@sH9$4qtE;MoJO@7vksD+(AM$5rw_QgigEzEdOJRqfukp9o35SR*y5)cHVy9{L zl&-GxHQPs?W1Enmh0FX4FZmozCG#o$W9MtUh|F4a%g=eS(=_|d8k!AF6NihR>!S51 zy!2^0;q59r0l5}i^B3Lxx1!u>8vbsT4Ywc~Vs{A>{tYX5%K855N(X)b1JnzhB{cqA z6g_40e_O*^Pmy+Xb17>+eZxoohG{zEeM!t5r%@*Y*^2+6ozB~$tsR>hf1t_1)a%;V zQQm_P%`&3x2CK9iQ0&n4u+^mqDI{HD4v-Z($a*xfYuQwvzq+cj7tF&;Arj$UU~n#8 zQ1SzhGi=GK+HN15v)<7FKmz~`05ky5G!|O_KNJ1$_HFmRYrB0P5z>u~2wi@|^RX#z zxX5HDb&t%J!i);gvfX~hk}!u20ZyJ}e##?)Iof##?O>tp{F4{Blrw>O+UYO4o&FT< zoYMSnBHP)rUDHR9pcz^%f?8$Up=ly7Kt-JR3+j*)@s_2W3@o@uMDXu&JLEV1lIaf# z*10u!&pQ<;#=_IM8}%Mxc_{?+HlZZj1ReOYj=-0HhS$h$BZEIiCj85b6Va*v zO8J>1{%7J$fTQDoS_ek6or?cy?;W&s{Ld;rI{s&w@jtA8%9sD|r5UqySdTVll`X7i zA;CN)Kh4tNJ34%)#PwX_PPO&|RJ-y+9hEa0km#r!4M;XQDrcdwIAsjJSzO3XNn>ml z;bl$GXbG-0lxA@OG$oFhS$LdGDFb5`7!Fg;_?JaSy_7Y~WwF66C68uVN(_q*S^+P3 zkFR}J^%j5aTYMdh!tdza@-yBo>sS;Wi=y>ROtf0xV70!O5R*BBO3D;P zGH2XKnF2-T3=P@HSde+6KQ=MkW6l5%9nk?^Fw)i$9pwkxI-;XA5gn66a_AV2=k^&J z|G|QHq6iTBt!|+J+Rnt`A7kP_I!&W#q~kx@`+GY6V-+7A|FOjQj}|k5EFk~Okb8S; z#uFVRBCcw4)CQTO;B9})W>F%K-7a0Fy4_d*xvElS+BLl}O6$p__x;XxEqq7V9SZ08 z<*RB9NJr>bSJj{8-vwJ|=9V&?FUDlJ2{9(8XTO8r1KY9x*112Ic|Ij3cIeuR*^yR_ zs@^y2L#nmMm*|KRjb1c*5uf5?8wyn%46RNSjYScRibBBWF96>5yL1jS+_EKs40#{{ z8p_iE?02~juEUy9SRS36v!4J&(|bI6DNrZ5%{Nxpd}HqB8->lE_RubB{tCr!%rAeV zcmSN11isRGf|Fb1(=|t9*BP*D>0qCRr!NAYYTsynN8`R{iu(*u2VC_J(GdF&-H&K^ zatmz-UOT9J{SY8B5)DZGk4e`XJP_N2jx4F?qj4o{gWb&AFX%X#;>~9E&0}6VE8Ji; zE4iiYBkKWeECX`_4s9%ZR%j$H=JC-&x3XWS)`}$YY*hKCl%pTMJ4KmFmDd z-wp!gE~gJ^;b^U$_$RHwB)#~$OepUC?q`kOmW1A3du081NaHq*+sbyRHw$n((7;Ut zw`qZ!i-J4sQ-ozA`xbSP?@M?P8WaB?0oMz&~=g1*!gZk$EN>W z`;DDZ7NBvcf})qGZW6(`DCl~S={H$Li`EfGwRCOs$N&7&*s%!=px4;>-q`u$>=XO< zjG)lM?9U*iwYA-TW9OIIt2jG)WHkqGS;d!%Bh&JfomX;^vg&Q1MA@nDw2*ctfd)Qw z$G!j*0G*83~9rVHVkDPr;NQB3`2+7Fr*Dbvl@mX1f-rEEg%16&az$<+*z3U zr$j<~nYNxXfK`2hsZTJUJ5XIJjbtU=xmD=2y;F2#0o(7HbZpyp(y@(>ZQHi(bZpzU zZQHi(bds99=lj+=XJ*dDtXVUcyXvZ{_TIIh-yaW$-<(4-UU1;BbT(6q6<2L(g;ZlH*+X)3}e?f{YVtpUG)?<-dmUZqthFRlXo@m6OA z-*A*|psmbrg9?sto&PwF8ZufFKw+nhy*dTi=f`dzL!Pv zz(n$Xo^|?Ga7IqYOft!VR3Hf&uX1gszuV7qvEKM8D85m1=Rb43AgY79Q2}O?YnSHV zvnt*!05gqu{^o6IB`?cHjrD0$@Uo!e1+NvLZHS-0osASF<1_b}Ca{b>W(5O0saIlJ z>}CvqxFiD0KslMaa>l>pZ%d%L8GA}7-j-LImTRT^=TZKp$KhZm=@DSjF6{yp;$=gKeHDXbod}AZ%gZUv3JZ?dA2BIepN|swjNS=& zj~b6RS?6mezsoY$;JmLm#wbu61Y=J8tXnsyzfb{(J3aNa?*uo4j%*#f>o)F z;Axf>CL~RoM$*bn4gA)QjE3+3gW=3neey;M{F&cWYTY3; zH1%UyAusX2O_w$tr}{-+moUtu55-8x-xjyIQ{X9Mrhmx-TR1kb;vt6K0_4T6Rc#tA z>~BlZKGr&I3kw!JZw#ap<$Ec(3H9Z?5$#Sgmd4;g^GHW{n}=0rvWsZ}?%@sUybd8J z7d`st{^2Kdo|DspPtXtN36yxOF@6Q9W{$sKF1mA%PqOy`{5gUn&_Bh0ZjIb zhC~rFJ4<2-1+|ojizip^D#fHw^2h?BNp*ke>H7oW0qud10-FcK zw%~wE{;_CcVbHw5b&-r=C=ry(F8oUP>8B)9=o=|0Zc;fnC$D1(?bQk*gG*tx z5qceiEr(qRPhtbb?@rbsV_vl+Sr~{G51WNTzs9pvFEW^qj23U)FJSy!!Tt%jH?6ms zTaqY({#~&a+u*P-s{S+Cihs>21y5TNAd$^mcvLE>L4jx zA{!ccJth=C$+NU(qs6r3&$nc)V8Y2AIuU9+{kKLkrbM>zTUslV#Zwd0lgm0~yVVT) z$=N&!4~8CzS2W+ip-mArI1vtmyDSJgUKa~+{oem)W2UV@M)C3A~a zcvNsk?!X)R>prp)bcT$Jmp|i%yi2Sn>X%3d+YS70D90t$BBmK{9+7^akRsViMF7YL z8f!U@*3!z?l69O0qS7eo(l|)x&xtHlPjs}76z&{)uzCFIdO8modV2`8jR}h z!iG}sP?pg$h*b40Z9wj=1w+Ri@F_4X;#wpl+4@XqP)5LQ5s4ri9u(K8S;d>&@oh&) z&7kkD>%T)`fj=XD*wZQVJmSNCu9`A{Hm4NNkKHM@9$pmldF^mw6|lF_u8L|`vrXB0$d2U zBZoTIT&*^fMRS5_LzpV^VlZortjG8)&mL58xk8_!*r-)l`vmZmizJFsvOj#x*|4>- zDk>xd4pz2DkF*FjD05+;XXq~ZW^O)DYT@F9_EH?)Pe{2J|M5O2+-1z%T8Y)A2Md6a z{T^cO_{*6WNBepX#lr`$@VgKF-{O$!dwx92WOi0}?A|=ajvI3sRmlv5`^ax7j zD2kYurog=IG!W%axM^z4RkDq-j_%3z3=9G6^*hA7>ObPk=trpWJ~ZUM zuKb_v1oiFF#)UQ%xdT7eXW$!P4{K6uiVYppd&E-K#8znuBv~o1VRL`x91H{8p7qNq zf4in`5fY@j2=U;6!2e_jwWd#0n$i83Ybq>OZc<@HcLX;D(dF?pSg19ysXcT(l%28B zq9srGN6x1l|1zumYWJw7|Bq9w0XB9!Q+VOo+Z!-P2K=Hh5=M4h$@Fj^5=>^pQu2OE z1Z>vi)yH|AgZ1gaI-`L)v%YJ`3nQ2O_0^D@_@mzfBbxc81d-vnG`(Yep8&`k|3_pgW0~tpG@)6=#V$yL&ai@fEjm{7YrXiSSH!u_P zefJ?G$XOu9E*@B&;RPIxI&lLak@;TSc1QEoJUJXEI)J=Qb@~*q0g{(=Vhj8>s|$5T z`*nxM#-3=5zUN2*Z8YmsOQv+v)=Jecf5(4Q&Kh1}u@CB2`RZ8fHqr%9;s?9)U;I*(bs<1M6AV3{CU}`0$a70;t0ncIw@W2zE zHw5GUh)z!~YRjb+qu?nM#n2-MC?CeNzk>BRXgt^aj`9UdhVt6<=_TZ`6&+?z-58+@5+Yqne z<3t@cF<6Fxf7w}cLH2XrQrRGD{5s&EK2fZX8yDLrZ;!;aU`loojxqDmH)1h!2xVSuv0%`CPYa4^?o+BQd&I);E;MWdRR1PdI4ZlF^T2J|;c>F>EjXMb`q&eN~ z11EG)+PrNfR%I}ibS{s>$Fc&16U6GxGSpgT^`o|uV~oHEU`x0=V6*1{$7&VfDW&?e z{4H!?_LT-<(wuG}K(mOeM;YV)hCY~sBywPw>C{=(OTsi5zvyq)w=fU9d$mHC`%oW^Of<{w%89B4#X-oBFaAj)(^XV@s`Q1hS7n)-Uv13nNtUHyGFuWw(h zA>wr$j8+F#pNek`Ds2tf{ad2E7v9+WZ$NL&*)pfUx_Mvh8rP-2I?Y%RxcD)>=nB`Z zT{Fb~g_&0R*w1|fv#8B|69^#-0K!hTZY9}mh54L4%7s>kfu)5O%tb4Tl7*hRnzHx0 zGqqb1GYc%c;eDSC5IPW-E-R45Y6uynskQ{^eOqO&8gy{!7H{q`&{K=9E$DXK*)og zmIcohc!UIzgLX!{9M;!vnj^ZM)5{@7o$Qg0cX?4+m^!F7=7%dhd}7QG=Mij|r7!*S z0n6h;mB`jUD&01rr23NA_f!ZW(rv7^Gxe-|;x^F;qgQ{;n0jh$v}o-WJ{~sMdl#?u zqs2}=?DU7pS#fO{h04vD++-N8GI$r@!1>^RL1_GsTywCU!J!452vT=3eCs5;Tn&%j*1n5gVvu5YBIM|=i{Sh>%(_@$8;WfK8TqcKc|NqLII^u z)v$ddM}Jbgjsa`Y;V1yqysZsCGk@?09S~M*XJ2c+#W*K6!$MsZmL;%{xy1{+)zZ|Q zR~7J@W%J}q>&?K2>&I*HU#8*g?-^{Ub{gdGwQ-@uPdY_in1RpM1RD32o*n2cvO3l|n*VgT z^~m&#j1vv#Hl@(?`|~b5BQ;6xlIS63Ey1dzn?H|`W2;$cKYu!?h^+1v;%DnvLTNyU zeQj)^!Y4b2spTJj3XW>J>PMEDxnQsVI9buT93GNfd#o!4=b)~#MomPVo5U-Wj%yL$ z|1JliZ5%fmT-Hx6Ah~oplSQi?jLf`V>9*B7sZQGXTXtb-R|uZ+d^fT2A~l z#{WF_T5|!S*nll3Fg#Q;f!H@e+iWLNL+rbF7-Ul)656IlHy*0gH6O{jzzKFSraACuRmG4^(0%x5=)2Fo_)_buTpi9Jtmm$3Qxp6S`bB@ip+xx zkRnS&=MhD>Xu~AjLY_!W_60S>|IUw~WG98L8#BfW&xUjqS!2H=D=l(pT7yCi((c)2|bNyqXeJXyhrV%Sji%G(=g1|cw5|u91{Ys=i$9)kkvnV zR#~&_fu}j8;v8;!J3p4zJ zwP=8oX~`dF`#C1xlpkY*erJ^ws9;P1?8E$!VB z!-Wolmd@t&K9Vc0{s$!Z*o7{?vz_&7!CUfoW{0Sske!6Ry^4<}WIE^?^5y0)NYf}! zu2eO{5&E1kh64?$sECLN;2j1D_a{Z^@x{EGxK z+?aB73;J#ZR*pq?z|Kn{)nVF1+0EEp;^u$s@Oy3u-4mj13U3c|3Vm4LSTiT`Ab|~T zP`Z&M)VlHDQgl&s<|CuVXXI> zHCmCjD4%mvarVq%w{+DfPL1CwOd%K#H`9o&ksC(qEidcpd^t*goDTk$OYcXiv*^kG zDW#Mgd3i!LCQ~XeRiW3P^mq>)_gWy6cFOId#fd)Qn@7*Uu*;uErQ8ruA_kcjama?* z-lW@$&I|}!vC7iO*2j3Cn2x)`4NYg-)5c4zGD=__Ic8@WS>~a`KICKg%T1;*=_Ek< z7ua+i(}{~I?R2hM4-waHgchc2(VH22vm4U7^xbsie!7mogO4~L#Tt#amT6O`3;xyT zr$b}+1|hKetbVE@Q^Tq?AVQcuEr5W`R8RqR5LKD7Ga4`1(B$#~&{5&Lz1~xClM+N) ztU3@NEXwhiHh#BOG&1stsicvX|7Qi1MCzcrIJySO{dOIW2iQ=G{cf!{vg4bH!>5gAU=xd1Y@GX~XL@*Li?lZUYDM#~e{!K9rD4Jf$07zt3 z_hX+A=h8teO%?4xA(y?|tQB%;Eb>h+n1E?O|N}#IjR1(C7ndr;AGxYEmkL*DWlo~!|bRUc#~*yX>xwZN(P4-5;C_RJ*B8SZj`Ui&s z9uS1hwsV}q+fn!^tUT=lnrO7QX6s(Ng?1RZ!xm4l#*3pdDxf{>N3XdX3(TN}mEkRqEkC7y|5SffE`Mk{2l8 zzvV-qEs%bofW|o3GjE`#EeIeT7=b(R0wUL0Bri!mL7I!TF*xzUfy!dpQfQspSl}m~ zQ8tZJHQQxs7uD7nX%4`9iuVYZ{?jLWMl~!T(*P5X_or3o9ja@86xlxt^QkU3T_}1& zZVzB|yWP3jlFT~?c&D;2avq(5rkae%7HK`_+=*E{VMAcpT;JBw=w=fULbi(3hgyii zKJ|X-{2hcr;JK!n<(hjJJ4Aes*##by-v22}UQbw0nDp84deR)55g90Ij7lL*?%qET zeDYU&j;CZW7)sHe$(XcIs4jfSqJR8vDyM>(Gx@LC#^q5ZE>n>RBL^;WVO?qc<@I55 zzx@W{ROL8EDGk|x&@8$A%Ww*)-lTOsd#W_?gD(1XR8ey9?i~(#^5fr-?@g)4-V>2f zG$8~J=S|XwhAWGct?bfob)%Tkp;zNKH#djhH;rar*JiUVtpoNVRK>9^XN%ePujApo z*RR$(+p9hR7r#GjurdN4&?qI`)B5vN$LWzCOo znlZswr4}Pf>qx`F=#JW<(k+^FM(FX;9QwcpqL??0mqJ&nHC&9y>-RIno5I&lPImN*C5xR8`&OG8fPWBREX-&Z49}V@;nc zgO=u@7?s#e&|=mvv4vnL1`a2~@|Jjty5=H)@XmE#dsqfp-fA*4(o;Bal;8MzLP-iS z(L?_mmd3e3QrT|&^HZEMq(-7x5{QN%L8Jk7qzbn}^7MVidPmTCu}s@%fcfN^LGqr< zmmcx?-iQzpBxesf4GOn@Ivdai8T6aV5^`l_;bVCV(2?!C z={@?7zxA~!BO;taBS=NnQ>51XgjJc9u032mR`(;a3KBB$qIvGRCpsb$_ilU|AFr;P13z_N}2HM4J81>nK|yk$d){1A!(wc9&lWk>{NdUA%Vfa6nM;Q@&c*oncf@ef44zMOuuvEUnVl&nj=*6mdc~V9yTxyki{=7+&X(!i zb4Wz9rjDLbYEf1>BOdgkfA}N9IH%3N>rfksvP{sRzV;OO&%DG0<~H53&>fA7fS4?C z@uy_5Va!&l#lSO=RVu!Jg<947=XGw)^Pqbng&Z@8-E(q|m!LbC?kSGd!e< z^J!7TqJ($g_YDhm7$0w{&{%v8T#ZeaNH=-dgc(2MR58rgr*!Fu5!4tthEj;9_#lP@}r1Xa5 zzo>kvG9~Yfw9EMOvxsQS?QMq|E7~E)Bte6cU{IQ4KVtKMWGiHtB&{yB!Oo$|r#C|b zRmcW|Clyu9+0$d@P|>=U+qaf%qRW)vuh`hLShpG<&gI6Yxb8N< zu44z$!P#$^55arEa=Lpmv4|fbndRa4t^CF^`C|wpGPdRZbrt^-oJ@umN6s#|cvbM; zE991s>qXHWLaI~RNR4u<>Z8(JJY~?Qf-;je^H27zZjYMhn!ck}EPFHd+J~c8ruBR> zIh;8ZH|&d8ipvvD+Z{g@I0kQxuU!oq9NHtjQm4K`#gRO!xti1C1gUH@byB!Hv$erW z9GoC7hHSoN++fM|NIeq!E4{D2nLLl7go0Q5Cu# zv;k?@fUz|VnnL%@tlzJAv8Y&Y$-B+z9k6lQn-Qt-_8u1+g(sYn1;DqvwOyX^>(t`@ zvOE1b-8W1~0vAN0=8D=u>?JPMz!C*;TJ~sBviQLSzYA`&M=e+g|G7hQA3!~pROKPj zo%NA`ZWpTV>_7?1!f9x(>B@vcj-g2$vLxV)8m03?-~^naWDN74bWIKUd$;A@lfs+5 z`c+n}AN>>8njw^!0wwLxf0u{tn|vDlQmm7dMf{#W@`Wo0>&PsbM{e2rcFAuBjrmF0 zHcQ@r&0DRv$;wgfaLY#VIgeDGeX_}!jyTj{Yd@WYRoOh_+VCvAerZir`i)qimLAq} zb-NG5tckBwQLF{3x(Bmhj5b@KAK$s5TQVTf)^XwN`FmdH^wCa`HSXX=J4tTdr3+U4 z>;nbvpjT+cTktH5Q+uNS5LT7n?i0qxqY-m}+y&^`pkjeIIi-wZI1G%`unsZGVoip5 zzh2n)W}MwE!~7#=SmeFetkTO% zWYKvLNO7!;agz8iFoculW;f;33IVcN)yFYcrqS?)c;@yJ<2Q9v+8D;(zrljsC7Np# zv8Zu_8L|66Xo|aAG8lFI=F}ujH%RIVBQeWy>gXd|A<= zdQ;$c&4&!fwMBCo>jqPpYwOzZXochijUq#*ko9n(5qvco$x+2ohwFUEQU_Ej;wHJx z1cf9R^vX%y6Vr_7y_B}J?*J`zei<(7jxJzMIJ_P83etbfe532JFBzT3xZ-)LIUk}= z7bhFk1azf8)ccz!Ewd`mNUGMQoROglz9mPG%*BaDMsyDwdOJ{^m2-M@VC4v9m*5Mj zc=p!j^Xca8=xKT1^cct7^@~X^XLpl>$Mf}8Pi~i>d#5UCm#I0)vS8xTI{%_ku8=bI zxQCl-U0bAK3glNE!~5-HNm1pcTlXFey;)$#g5j5LnDpcVoo-zdkY0_fRzS0^jYadN zl^#Ve>Xh8msHjc0lIyd0z2!$qta~C8Vo z5WN^uKHr|E#=l8IRi46HU;~qigP7K~n@ahy+H^chy4u{w31(^H$R`K=%4q)uhEjUx z;VJyF06lbkxdhQey5e;)Lm6_8mgB599!8YqkM5&R`h4uc7LfyW<6c_J)CdkOd*M%O zQip8aqst6=X|mCW7R;#UHXc>T_*c83$XFxRQ@(m7sKWD;9=+t!0z)E|H!(Rq2y`}q z+KjaResJOpW1$B}#A3ZuC4}peHTXp#CW8_cgIShqwis1IBKXlx=~qx;;$mv8EHSelfQo< zMeqr;$&-&FA;(R;sS4#Vqr-C(zDty1^Iy4^m$2Kr&|9llE#(ShQ&x{ZHGV4~0%j-f z44!kx`M>kUj>w{ucS#YAlOpiM9~kMydz;5JXQvtNv!+$4>((V;%8II;*-AF~X7`YT zC8Af0ZkDYQz_=OYUSfQCI2_FE(wdDej|kP&rqM$asba?tM`JNca-}+M_(VObHv{Y+ zYqD=VQ#?ORlxOAmdV4JjM{x?He0o}&Rx`1*9Oj>W4+r4zKdzgM42k;3YH@p6E9Ml$}_WUik8z?FP5%vs~caZwii^1tr`m? zj+$psng!c6(&@sYO=EZJ&RP=3CWPv72Cq62Dq=IYhy$8)@=Vh;RR>*6_9HdyT?U$E zX0Jue(#;e$l5VFZ|lGlih%n4*>7Rj^!G_HOKoA(3x0zycNYR zy6=CUHQ~_OZuHt4I{3kaqqt1*U3>nyYQBWW-Cfhs@~$J{ zP;nXC3#XD~p>D`(T*lcaw|GiBzdL(W@e)XPw?})nHPFRl9eCevm?(O0%E{+Nv605< z1Z|`t^>GX@MX)M3@ktjR~1ZNt#&DQzX=TDzppWim9 zuadV*=Sdq?8@7o_Wrw5eX!X}d-^a^X?@&l=duLHhSI-1_dmw=$a#Ub3qN=CM>0$D# ze5!vk+q}v4LvB~pw@)tGD?ooB;b#Yi$4rghXu_AD)#C->^ZV2`hn}-YwBPZs zbvTJMJq0b``l zsg+V>8=)M>!P??7MfxEATs8I2AMk+YB$FUDLQIPX)4e-*durR`1WAiOPbxjq`!`A& z>9h}a*ml<6E8c?v3z+h{tMz5XdOhO*C~Xt>YRMylo1KKkBkY0*Xq)PS=#R_sLI^aZ z2Ap{Cyx@P5{ImdW56+qH7CSjHP?ZB#IPO?qA3-s8Uz=huJTdSv z)hITG98L!Q%eu<`%V(_m%hEhHImnt3A2t5EJhv*;&>5tG-eo`aVD**@7@S7k_d~O! zgO?UFtCbkdP)t|_ku2uIBG4IJnB)%dN0$tw}9c2c8Qu{7$iG2F|9E@Fp$T@;!zW(a$AX+SBmUGUVChg`L2Q#!%Aj z`-0xaem%34#dTq@T85^OHD7#>`g;`5$)5faH;CV&)==*Qmzrrp*k6a%*^H?MvRN$S zMdL>R`mzwZ)<>~=Bl8a{oU=Q+WyVXmu$FK-j@&od=in$9ZJlc~%S$6Po4$-P%gk~6 zDON6yKjD6G4q59?IaU~a5_9}nXhw$C8tk4D%AT0U?YNf2MeMm|EWgHIJ01g_JyAP8 zDAqZH?60yQPl7}1rOoZ)QCV)+EByri#7>stmuLNdx_h?tK-VDjK{H_-NLLHcdD~HG- zlmQ%dNYbgWA?rvU0=^JoK;7sm>%u z(^;{P;s{^NQz6g_rRJMH2V;CEfs1aB9_I9l#_9E9{;JW9cQH|K9c3!WLB|@!t}unh zm2oxMNZw#51?mA|6c1X2b?ghjW7sKL<7B$JoL;=)4^JJVZj+6JE!cwiI~y@u4xUaH z36~DysAP}SjPiq$jW~%kxbjT;{*C#~0F+6iAB&@5xvXppETtSCwM+3ZG%kQoc_8gT z5E8QN)(mP|NPoUkwXdhS?pss=nN*>5P`GN`Jo2CB{8alVi)AW2h@)bqgJ|B+F=9l< zGw1USUXSLM4xP{*baoREuY-fjg)eM_6OAQJjbYf1s2Hq#BRF-V`ra22IuTQ9cZaYN z)jSu*pXU)X-bfbsc21do_e@`M3`q8N>yB3_UvGawxMKFqqgL2qThYi1EGo zjbxk|r)pEp)&-dmN%?q5MSqp9+R|L?MZ#Ow&KI#r#b)rMIZG>gFLA^R*Zx*ckzPB4 zl>!%OcI)UY>77YElOS6qjM4O&V~utT5Q#lV|0;@ENfp+j zz0;0=D`+b-1zpf9#6oA$SiXnQurL)`MLI+YlyRzUODL`eok2+R!j+0!yY;kP47^Zj zrcvNRe>WK!0!3SiLf)Qf$*(iLEH3x$YnwKPI=cs^ZWkp!pPE|HYwS`|mP6T6dD!F) zr64smwQvVrYr2i+x1j~#Ys5^gFe{f~i==-z$DF?D^0;-G8ekWb#0U`+2jy)-tE(^< z3G!7=#)^nk70|mE7DJL_XgZ;)IPhkxw0Ls$p9{kTEkNI_dv`RBFV2_esv$|4(PYSL zd`U8^+a4emFhVI>+(XNf+6I*D2k~f;Y&NGHJ`)d?^9kW?|xUdc52tX zUlg62+`Cu3ZufI6#~~fK`$)(Of#lw}>SyB;xT3UpaWPw!T-6e^s)b(_C&{0*ScGRT zu!iMAJ-Cb#un zgqul~Z9sB}VNw&-rkKDnN{~Y^Zgkp~uD0qI#~z+*uY_9lfuuh9TUv15dYQgjpZzf8 zRxuOpvjlO=7>Ewv(I%DlYQ5}q|B>X#SrCztPyvmDGN`AGHJ*S?8!bf?h$kxmn?*M5 z8IMeEwe1B~&nqLS1vl+c%7qK-a@>G|Yv@XKDI@X(qSvrkO&2k^yU#dEWUZ2|HjfsJ z2Qgy9ttW18Z;yU$o6UY~&gR(Ih3tnbN)p)2mvZmlBqDij+^%jxU?^t=1m}SvYss9n1=^?WEC^O2+GgER?|@XfgU`GwJ6XJa=Cehc33l>Eh*c zkIA+YXvyXAJZWh&NDEX%wJ0bD*y}_$+pbq?j&IDruA0$RVov5=8F5^~rbuT$uTAF- z_{}tBpX9SH`MdqnM+ArVnrn(aYzkMm%p4FL52a~$qyn~sXmjP9Rl-sBTIFi_T`gB; zah9YYjZZL*;kEMA6!q`_B(dB(2XMJY4@Un-VsW`9EH?#)7haY$A#X6sOt2zHVKH{P zQh14jqrcX1!Z%QO z#wyEYewb?{k{rDWVPYAxnfgx0zkV*1jW{&u=#>pYt`G>_83Prf!#W`&sHaE=*gMwF zVc32_21+%mHe$bH%R)f4Yo&DURTUU4<%q>WN1YD2OJV-mjaiyjM1!?eg+kz%cu>{$!Z5z>+((WB67uDfPSy;qSATurL*Uc+<)r@%aps1|Btl-2M%R! zi>nTlwh<^NAG)b_#1;UE-Hx_O$e5=Sr^2R>vWG2%bU7OhIn{sb1Jt67jvSH$!Kv}O zC<#=@SIAuhj;_Ez(&!lf{TNbN5LJ?0-rCs*JoEQknh5 z&=iQy(5(!V8n(Lf>+-hI3Dt#w7GpsZwi%1yQPjf1lucWDJ#yyhn+JCuD$R<->bl76 zexCG!0xKI2{4pu1A>(Vm=mWm@rBr5ym=;4YUPlV8 zO$5-}xH$)~vE%)b#A`^@Cl9M;|yVz!LUi!9%fXZQ##U%rmVw@W@6XoqJPw zX5*msEtK82u9Ec*Sqw3NagJ1$H!yZXYCTQCex1I+tibLZ_{%=|TqoLe8&X)xBfd{uBqbDjrT6XN99 zXd5ymC1y=}{oB?o1+wq?5$?l_tJFz>(q-1#m<9dSA>Q9t7j9bJt=WVcngw`>o4b|r z#`jguC^y*&{Z0)AhiX}8bJ!QjgtVc;PEjZvvsPgSO2Cp#F|{4f1LyyN`Ij#{iqj{i zIK7s}LoD!imSR2Z|9hN2vSqJCEk15aCqY6AMM}A$`KKbWyoKZC-kZZNv^`$&VryO8 zWEX1Jxf}271T-on!f3%_rgu8I)Q2?~(mtegpj5*(I-KDVSv5sjAY%)3fi4R`QDrkd&KxVS&G+}vz4jj84Q_l7 z1Wf}?ys5hWb7SG+_kA=J8h<0!5qPJ%S)<0&h*&Nn= zfFBi5T#LVLYt+n3sy~oLqNZ&Ke+Ml4I>rCw=rKL>s}7n^`OK!Gr>!1LPMao~!*jQf zPEGe?+@V76zZNf}g7R4`bRn=Mwd6j*_T*C_oV$26#~O&f7W^swLfC3xBMN8<*hNLk z3A4RDNRz6ciSwtZZrH>rF9)+;#(kn2-Sm3rQe%%{?!FA>0G z*LMu#S8G3K3}5wEu_~kbRa58Gld=iuU#oUJIU4s+D%6n=H)SSRv0A-#m#RF%wyTrH z29P5MzPeK^6}g&JFsPnk*?T7$S zqm=#sqPDGh$?b`;{p-7FQ)VX3c~}Yyt#LW z<0(*dS&nmD<_wUhp#LJZC4=$(%T!N}BNnSab0xQhz>UuaKL;15&-=x5|M_M&J49|K zRKLm1PH8TJuTC25J6TfOD&?YtO)p-rmtT|L-RI5-r7Q_+bHEAyeU!$?Sh&Cu@PdV+ zL``^{_DCwzNAP_38`ZfT*E6PPt&&W2{G^q`rf2mF%ZIs#&P*;C3fMiM3YI_>kp6i{ zU@4-zp#CoNOHeF*Er68ZZ~!>ZHLB`)>l4{!smBD2joSh^xhZ*O#Ch{{T{_HgG~C-> z=0dldT%+#s!T9!UGzi7*B~(MIL=4{1W!c(*BmE(q$M@6S;G?}LGcQd1{{^gV_RmNF zupKOJ5Y}MO>ebZwQNdWo|D~=ncR9E!>L9bZAUDIYa5-t_a{1?VdByA0+LS!DQDu(o zQT-@lBX6r}I%!b2UdT?{aZTFLAa8wZ7H=h0!Ds6j1-jxHm|@40w(G&}Yg_U>9xj{z?| z`ck2fQk|VXU+6VgS0_DP5v`f`R7%KKcplyBAjg_rJ13}aIJK=EZLe+ul3%mlw)B8% zd?e@e&(}AJukX>q?LWH*fSvJ1{CBxdKUSWOl~$UnekH5%7J(BE%l%~8Ml0=2D@)&I zEBlNLJ@;j^NOvh`I+&^0>yc5`P65__;0>Kf&4umee@Y-O`bfpA_C6i|AA;KIxBzwg z85sNrV*%Nhd6lBP_cXMyjsXu1QJPH6_I1EG^aRehp9ao`^EyIm*1xYZZnX7&%~ z8<5SzI-}nGv(N;5E{04S1LE2k8j%5Wz;sn37aqU<7lbyl=RS=60Ovf>NrMQEWv2H> zQx^|Ko^TZI2RA{WIA`5FZNQ}%Mc-{w8`S5j%pUu&TB}t|W?-d)YD)#psq@xGEnJmd z?5C9WTUw{o#n@$~bpp*B5k)0e6I74(T2UfkeEo_@Kke-_wuoSG;d}wNl@rk7=oaU7ikvJRa6>*&!hq zLr8_Z(m9X2-Frg8Jcix9L8@Nw{|lh4`ENj*&GoJ2_qzGfn^?LzB=z{>EUk{FyV*B+ zwo2gaeHkL3#5GSI%8UW7ek}^79<2+aIt}JhoLqJbeK!24TU?MQK}_pdV!MWI&+MY$ zPgo%@irqv+3?_pIo5%r?xbGvVh<1$EucXtr;>izc9P7=&QYUnj9eJ^_0n20BoR4U; z;t=~13p7H5q%GyZw$p{gyj^KSkB|Dc@auuLcHrpj?UcOCW6$Fj7zW&5R#fo+Ck%VQ zdI~E(FVF*z1YTAuIPAe`T&BR>L|d-%$`3w86XME+Apjk9q&hzEi%s3J#0PR#^=!k{ z8q7RX?7IBT1L#Z+#S$V@eUJf|2RFo*#4q34U$c8leOw|Y4KYKIWU$r`C-3M5bMrhg1~c~#V} zdt5>wqAG!GbvDccw1&WAp~Q{gLxC|+P|I*96d0|29?4%>V-q^>QiH)>YDe;FKy|C& z|6#BoLx|w|rh0rLU$<(0RG7BB$t)Ysjv}2j&Gh;a6HHkomSD_U{VeOOWmCjx98^q) zWbH+0lsH+1X4G-FuNN7I2tl{m8NPK&%8E^2XXDIZV%y=UHuC2(zs;!(55I$jA%q=7 zXSlMNmzTp&1rkGasu@w#E-zfOv!k?R{~NwmME_sltCK<(8GAz}@_OPwUE_^v@jgSA zKtlf@63L$XL{kE0&|hjF7;Qu$99Mm74z?<#MZgHP#ND$>U=v6h1O@wH&_(-9DNXpe z!sckd@$q|+GOzy|bzROo%yzK91(veZo)U&TQ48SGMmnb< ztQD)!)Ymsr97ZGY@^GzZKKOpm+gAXW|wW-wrz9QZzjIjJ0|92pY56W{(&bV z^B{9Q*Shjvuzi+gnjL?Qs%K_R^Z{(~=-MPBJXn!rM3Yp{&NmqA^iJ66JThc&k<_ zDpw%mDv&UGWsV{vf`l}NGPguvU<=Rn!Dhs@C#tjt+gcjm`BcyerR%%IOD3#?K2;V+ zI=(oK(qX_{Ws5B&3VTlBqLXh~p3eyS^jFmw#10{HTK<5R7H(Goh}Bl~Ms)RmBG)9O z5T%-+$(nRGUr3Qi>En8vd1Xl!*^!6lF!nSDniD^>V#nMxg2g+QK${m1x>6EAT`?sv zVdJd&)7$+)NN)ntpo)a++*$vSkJRJQYN^{jqU6Odm?$qAsMXL~ok+M!ddpq=B9koI z_Ia>oXh-VDi+W`{*vZe;Y@{|);U`S3@0&y1W9Vx88)|r+i%h~@fibbX)M=y>WiE#N zGjrimXVCUXZVA{q|I4Dh6lK}MW#6M6xSpPv()$j2s;hJ`!<)C4mjtso0Xh#>C(WTP z5>uH{+oxsuRNk)Bbi^S6nKwWAOXzfGDOlzvJqOeFJla!y|pG zjXH;ac{$%LS{Wt7u|%0FRO+&aH=+xgWe6p&)v2Bla>@)ffuUm!+ zVP&!s&WCE?zVz=&lwIcM=7K1L|$ zsYe&*|)2LD(l zym_DVb7eiXM!oxCpLhI2z>Uy$`9t6>wrkbz`Y6wG4AzyakCdzsT=s>tb|x{AGeU!# z2)|X`RVz`WQv6+YlJ-@TS#ahYYhdTeC8mHNTxBJk-*c7iVwG)KIK%Xa z5(v#JUbPxgp$5$CtkkGDrM>qo)Jn2+4T4up&6Uezkj~h_kw&p)cPm7CaSER+wzBIh z+2;fT&fxF&@RA$ocXN09=gH446NPV;1$x-u(JYCWdmk^KU zZxV<}Cv%{AA9(cZOjNOOtkj=HOv{0J-_%aWp?ArmJd9RY%OQz!fS3{Q4@eMQ4Y?i- z6oC+|dPbw!940TXc`Mn}dBXXc@$5nG|Bhr2dBag5t^>xU_M_J?n0Bkx?gO8?@YWd0 z4J>b>R~3yR=mpOfMk8p3C> zHsq)!O4lg6n`_datkat0-wdkLo^@OXU*2hrubs9;xxnf&Mnw@DdlboM?YTDixmvJk zuCP~uOs(7-5$4_|h~GZ6JA~}%_t54Rr&13TmS8`z^GZ|Js4k0Oa3!-ymmQ+cq71{NAXKcbmf^?7^D?MS` z9WZZjDu30ler?3Gvf0N}xyI4Eidpj#VLJR!fHvEA-R%NOLhi;1{F892r0Z8U`F-Bh z{DPc;{;VSwKaGf0q^Y`yVBeck!UsN5qLWJ=Ian@cB_QlZPQ3DLR<})Po&Dg}E{r1` zsP*pv4*TkIVUy0*tkO&Va^7apVwFtv#3Uj|7}f9=s^okuEzVY8R(4$FCZqRy$ zTmFl)3+uX7&{#WN_clrxOb@CCYW@7FW@$&|Eqs}LO+reBt@;U zWk+JU^0cRd7A1a?W$(!}qXZLD7ln$yz-`nJ7ud~T#AREN2B<8W+))Zah2job$4sK* zU@WzvY8D?|n)TDJ%VowrX6-YMm{lCNLu%wk28M+8jbTS?QD3+pufx3ow1m|cNMw< z=p5HeL7`;Hnzr*uZC+c}|DIv3Ahut3L=yB&t;`^^z<+j>60u&`)Pm3j-0gB?E7Dt@ zVAy9`M$?cfBRg%;9oW8VA)0+Bf_fWKQlm-*p02Rk!Xz4`{eNrKO`i5VLUj$IJVZ_1 z>Ukr3nx_;SJmf*gCjCP-oU=cDC0Zd3xUeG(N(aC)LVqzxk_n!^>v_mLF>bW?(q(5+ z#^fZs@8U?fCEnITl(+rd+3h^(^?@?Y*tO_QHq?L^=L^GGTy*Phu}WORq*j9XZl*+b_7yGXcTX4>#MGLL<@nc=6U8kNrGn3F5u&Bd@^I3kGwDRv(P{=zl@*(o| z7dXiJN92`sW&W(K(1qHZ-|8m}=mQrFo)tKaHpx>~!Ex=5`isJxjVwD${<5-?Jz?PL zyOw`ueVj>nUy;Vks}NJc^4bjbt3|U=8OCb$O(Z310$`{2nZpGw-VgMsv9_eJdG$eD z%LwEQ=-pLaDDJg#0a^K)m(ftDOs9zn>67*`2{3!V>^tgk{FpfyEw6=5|3PS^BNup z^nnmeJp_l>3qt5{=NRF`@6;{!$Kt5Q?i`gxlVIjXQze8~wHQ&xvi9tPg6sGvEOR!N zIlZ1AVSQdTx`4I`F+L0REOVH&WDtl^wwL=5EA!}lK_NQk&GGNPnR9N)zqVtWo6nze zvNyBsZ@YiikoZvpY;bg7rN@#2&N^eXQPA>M+KH&sb@L1ZDSOm2_CH--Vc1%~adbK; zAd$r1-JBOlZL8K5V7AP7fAHEF-CywM`|I)HbM}1FV}{q+C_E0vrS00f)DlOmmF{_S zcJzoO!IS{W-)Gb>XPf5gE6!50Z4lNi1nC1->+)@Fd6W_S9`*AU$3WszB0_bZ!)M^! zp`4ITX<2vxDvqQ$qy#b}OoF%{rdW@$V65C$J2=q%w z@jq(qa^Lx|_pwbAnKmq0cX>j!f+g+QSC-qd-oJ(B@8rt#06>O z@&6HNN%^~|EEFSv&|#YQV18$sfV=iV6h_Cl%_uo**~2V)S7_dmDAQ_fZ-5;4UDJc@ zWJ30uzgf!CfLUPRJ#3GJkYtbwVD9A@Ofcikr>wdM9lH5=H@PxbLljO(gCPMtR0D@i?8ppy$4(Ao*mZcd*M@|@jQ4-H#!a)`w|CB8u5V>|O zFJp7^ptsYmSp2njB=2p|}-gz@m6)v#i5vwIPE0)P%-Shw#_@C|$dsACX)}sp} zLe0}sd1pBPPr=o1t}(5vLKvQ?T3 zWj7CONUNqg)Jp99?6W(~uTq*&G&9jVnitX>bHV$Ip2Y8VlhpL9;P zl8eK#cJV!0@(T4bKhula>Kq2?TDW)DijUotAyj?v-#20K^Dh(5Lb1zWc78lr{oB^$ zPsG#*l>cMkcImhN(&x%MdKghy`?}_85yY0LGDapG1+~ps#U+t0Re0Mo+-&XD}Rrcx{ zK_yEGwgD543w^ZNX3H&2%L^Y?%R8)W-8bdaXtyaRS{P}B>(Q~+ZUI(-pbhP4jfL&j z&m|CNJtR^!yKgS=(?x2#uH?f-Y(_4kTcw&o|fIGT;S^@Up z=XZ6WecKTtIKAn|Zx=;o>PHi_QKoF$gJaO3inp~&>c`r|p#OHVFnJF~{j)9#Dt-&y z|Dr{34Y{w2P-Aa&s{c+zPijv1F88l?2Ja=m+jjdNwUhnws{3iN?b-ow%q#WI?e#z{ zhEb{`|0BtUW5OBMpI6F5#%ctBGC+6UfOGCWbRe0vklAkE>h8IFD5&4+g&b0EHz7fku!KtY?8YkJgTyf zqJP9CYM{}D)Xr7#5Y}{rwSiSO{AD;#`99EnxPGtvU)by9f3erI7e=1{2Yl80{{eh` zeDrgvecqcCVv4TT9Zq=f=F#SPeC&QSdH-+t`u}10%JY9Re2x5X`1;@Q^}pfk|6%Zz zW&4X~>NLE#p_$Q-q5GhIM|1CccKcMIdd=@$-sH~yX`9F0BI8b2H|7Qk+ENIWAA#=S zfGmb21>v{Em1_198Aipduj;*&ZwegJ12@F47QXEL(lAq=#JOQ<=u2#L_WW2qH&5}3 zSM5i-jVFtg^c?xX?A+~Vk_sIO0DuYn*Cf{-;+JBbcj(YWxXwU+q2vc;VR%XILR^Xc zt1O{f2Xtx!mUwgn7&UDNXVT&cBUdL}Ty*MB=EinXe#*g#=jZ8nG6=?$v>_uP#tWM8 zex9VHY{X(}ZtvlCX=#{9df30nQtS2mF{q?BrTb9U(xxWtC0N!n3vMKbH9I^__RE~k zZ@fG@wdl(P^;i-cFnrN!GlXeVDg-(jm0cC)u#$dBVh;ESi_ofUBSp}z`l{|}h%=$nTpwuxZ*)9>xm{$={l z9nn*r(WhAc6;YEB6XNfZeUI0;z&|W!ar9`usU4V6Gib@H2^`$O1fF+f5?Uc^^L_a5z;l@WM0ku3umng@SB2oS1yEN3_3efi zd3MWLhzGl?t6w+!$hewEI?*I}w+au!fKWPGQTY(D5%&Y@%i5YPSId-H@3DI}3~CLm zJIkgi6mt?f6e^@Q?M0-MU|`ugN&I$A@Gky|R^I2GM_?y`y`hAf99vskc#{l0nG$}o&?0`r*2BiTi&n45^z}rj|O!NonTf&u3aP=hyl)JCeHD+<;PMf%o5{{!2%7am~@+I zR=L$5su8--%#&qjcpVA%n>HSnSJdUqeZyR3ogVpEC1hxz8Tr>?Hx03VM^z0tB_@pww7tIlZ> zt)7JxNJNSO!>O>^6*77OW>+$=9m%vRDfuX7x%ez2w z7q-ugbEki-rXCg60m+iF6=Vx0UY3M0I9mIYgF| z3f>ZyJ_&c~?^>AzV^J2Uq>aGtkp{G#Rqi57Xj6+4F?7ZC3qG1{tIqRE5rS9ofb~S# z+W-=Q@qJh=CVdI86U|-X`UQlAslCKgnZGeVwxMs5$c_g%>fm^m9JZ*YRh=$sO71*X zATd4I$NX&PcIye`r$I%5Gyc^18`nR^qk+!S;f@OdVGTVffrYXKq=o*tGtz7%NqKVQLnKrxdfDHH3sCog zE~60Y_b$rhLwDOVHhLkA;bjr-mrhJ!ZnXtti7r_&pGiU0RG88kJ7#CAGJs`rFU^z* z1wkbau3HFlou^(*U=*|JDqjddBc&*>95i{D$Alpn3Jn<09420s*)Ps$cin`=L^xi? zz0|S|R6T`X*iIP|SU(+meduxCfL7Wa`EhjsFLaaI0qta)qoHo8Gom!3-jR32xI*&L z&`$vSkL~O@B~zEpTTYnoB7DIov;Sl=R3HMVcp=YFACrk8PFADIqi4hO--X4>py}sC zq=qAK_*^QcyHtx!5m><=8M2lu@S6)RCLVXal3j6h|M@@J2Z41Uf|l_m*YDm-4-qRyLk2shPHka`Xpt{{y20J%W75QoBhV|{CF>&%w# z%GUOIuWX~7D7WAS_6igA=$zXUjUN0A{OZ1(*TkjqA8&~kv zAkN_;I&5pHglXV1ph$)$mG4e;UVW@p&-p~K!T?EXRnBs82h!>e!P0$-X-IWB`nCwG z__y~ZKu10xvJP#cS+sOs#EwVq>F4cFIj(MN8p*qG1%g(YGVj1^RpRpR$G9R*)kOJV zE>O7g{S(Z;DbE)ce_XR_nuwpv>!eeuO3;eFpz2W$o~XY>$w&Mjnsd7T9@1Vm)k!(E zhIAhy&({@Rcq!lqH9#pMsB@ZdwRfOmF&z631sTBLj+g*gn z&yW1|ghY`bR{(726v|ZU&MZlRV1Q7{u0H9hd$j>;veFyrcgF{F0ad>VK9on)6pf1E z`t!F}tF|Z3bGPl~q(U&{5FQCpC?|!6??Rn)2RR9R_-DRxPs= zsp}ms+#^3aoz=ceNSfDe54mt3jMkg;b-M0PMgk9P(GWp`IP4LxtJ{^nI-`X@SRabx zN=#eZJD_JYr;Q)KzPvtP$M}L3CJ{bJ)c$)z&Y9!%`RYL%c=eb#10U4{`Wdbiek`@I z8F-GS4NC2B=3+__ku^+CIdv^NMurbb_W@~C;q`keqDEj$lblWb#1@&Q|bxIVt3 zwG^#9;x_P0_aWey5Y?34J=)9UZZB81~YP zhLr2n%qlnyM21ACUbd<$18;t2PKSwvMP+h!G@9qDT&hR>4jo;x=V^|rY?n9Eqa2}} zy=Y~IY1nQ-0Rx!-EOCSxh_{ zwUrjz7pYL43Zhw4Cr!NVa~VOeTY-6+YfxU5G2;q4jc2)W6$8HYFytmM zkO<6#)^QQVp+_;M1B07>g^W_dZ^z>xfo3YM`4WDt98nb(B$L(Ey9vFvd}2iPYSK57 z3CLBGQWU?BZL0MElK{PG;ztXtAOF`VCcUK;M8okJs6Exu|<$#I> z>{Pw|VOj~K;R-V=y)hzT{z<7B1lrMw(y)p;oZoI*TFOQM^qz&tawrJKs);5o3I%YQ zMBo#U-zOUpK$`kf2}+P37PIr_aPV=Dipfs+#@->m)gi6E=9t7~=R8D{x zmPhR+-9KRpgH{rjBZ!IAJ$t*X6)5TpF3gkDHpS&niy!l4pS?FZnvgVggvZi`W7 zgqj+CgUt10BMxSw*esetN2YXr?LaGH=9mWThNpwrTl3Q7=8FE~CIuwW2$pY@(fz@x z$W#_P3V0>m^$O#JeX;X_($ESo3J&(litrq&#zNd4=@3S9#401YByx`TY7JYM2jDH> zQG23S;S_1LNwwTYbG-td<#F8&vQno!hp)*+KM`_59Tb?XvA0f^hY&4zrX3eqc&Yk3Pq6Z%Ta3d8JIDJ06YGc*n=?rRE>cc09MwYOtFIyOl5o$2n8MZNEm~q5|>#AMN}#aOaLhi25t&> zaQPJx>S$D$fS%u3IP}+!@x!MtJF!X($4q%e22bTxmEhIt(sfWgm?>y5?W~EJTj9r1 zHiFzV3v7OkTBf#ww6b7+ROv3lBI1QE-rg4B zW<%0(Ri?|zP*{*0L@IM}6wr}bt8RsrB3?|Wrr@!l1qzM8ay=IR^1L=4Q3438x&IpI zPrIk1dQ#g+>{l_g6qA(vlj$zgg7}?TH+}dZz~}k=w&QYraw&_aB17Db_i_KQ7#Y+| zStIAm$LH~U->VHIg%=0G=`$}9X4~8 z%A+M_Gm5Qe(5KANX4SE)imn{;6xdRXP%y$Pcmr;=RV1^y`y|2e`5NCz6agISr1JE9 zD6OXKu>bfUt=9sRMY>d!mkteVS@G7S&P--6_t}32@re^9nj7suMI>b>gES+9MGQ)e z-|Vx~mGDP3)ocdM7H&bxqZtG9TAHG^(b#%#`}Gqh8lO=-tvnELOWG{l*a2*O`SI1KpCWiR z9gyO{cbQeRNBonqnOmoI^(rop?=Ble-u6_8HEtaeJ$IRqqL z4K0C759L!f#T#dnRwTwhuLh?JHi*n;ULWSpkyaec!6(CzO}kP~+d%mjqvpX-;yA^0 zNnH4pyOKbfnqh%oJbbhgQB3y^225a?qG0jF$wEtl`37TEqr6;9H?79#JOGhLUYXj4 z8(=0JRuM*CQSl&~Oh9myWP9hD1%RCouJ+2@V3P>a#ePTOtSkYy-_?U1wqNPA0)TNi z9$Olou<66F;b4t7Yz7G<=Y9&{;U_)WTTvGRhiKp83*kd|B*XreOfmsQ07`W_-?mvj z-t{lqLy90_yzC-R7r0=~Odgt*-W~r0Z5}o|uWp}au*!@W9>Np(tEAewi;NpLyso_z zn9rD?Q4p@b&L&Sbs#*a}+z@4?kcF(cKvh*_LRgQbdOY-bb$Yd5Ri(w;0F-|93$)Jf z0|t@P%WrJ+&77U|JJ49oSV4;-@#e5B{MC`h)Tnay(zRsxQK)k@Cof#~ynweWj`CFM zR*1?d5^0tEen{+8?Ky%ZHq2D<)Rpc=0s8ITqWxm#9(KQ#vQA+=eOLUN7$T>K9K1Z{ zsU$KFTc*-&hG54~B=T94pu{k%*D6+{KdqQLZXuW}a)6sgb0ST}KUFNMEJ5@()vvX7 z&Gid}ItgTD+e$NNzTsr|xJqoiqFinf=3e0|Lto#|(C1U^5qrjFj#g|76*Z&2G^|=i zg^JBUDQ15G8m?6M@syKSlCCFjSQ$Ed>hGQ-K^Ur^20|FLNRX+xa!Tp7=R<#R*zs8; z?#ZlUb}qQ;M`3kNYP(*pJ<6T8O%mc*shZ>8b2ZqzteiEYvyQ-Z-7$vUtyIy1=u9Q@ zxqah)2&;n7Iw01qR1YJqy(~W5HuY?RMfB?IC?pivA|j!N8dvz2pH6Sz1l?X0n_be1HZfY$cD_k;ZwN>#CbeTS``Zt+Z1ci`+Gsh zSEPPS1-fT$mR(g)z<}kHF*g|KaUL*vG|}G%0BYqFg||^4fr3=WJzjeeVQLtp#=bK` zSz)7+1lq4Us}0ZuuC2+>3P&(nga!w&u4tN-t1bB#4c+i{>Qaf##STR!9o{A#)tB4n z>V8WJp_Z6Pu@q>-czE_Y9g?Dy`~v3j`R9VFKw|oMmigE-C;5{EFTFDvu4Z(SND&)k z4^0UB86E5OV_Wgm+g#^xMBO|M#HOv_zM=f0qDw}=!h8@@T1^+=Wlrw{HXwy@U?374p<`uH6E|#S|mX3j4DazvK{*;1&PGdlIGk&ib}_RRXITwD$}D^1-g&xITCEv!k)mYx*?ue!bw#0NdDx$}$juYlB6HJc0 zIWOV3z)hW`sUu!Dm!&3N zGcJiYG?(VO8#VPvfPx!{S*HF4#&Z#K>?nTV6zW>>$Ef8>2_ZcRsi#VmRhqe-fT8T! z@ilJfn-4iSuc2}3}l5Xd>tuOa6c?Jt}(QB*L8C4-^ZViT? ztd%OK6o|LWq!v?PXB80LDQH59WIoK$YjwJ3G3YN^+`C}P_;O0cc)4sG_AypN;W!po zPfuvm&LU-0aQAs64Az;efhG?E6_-9cmuqhKe#Oy- zgpgSx1?z9GSy#&quVk5x@v$F2hDL~-IuplqM}Ys&o=gPV^ceFW57ra@0^xl z=Z1M@&D(%%9k!ABx^_&#h|10gN~&&oo1u|JoOVyVs?>ow!W|tko153-f+!|8LfCW* z$IfVin2)Vj+$MLiawm-;M8Gn}&x_|+C!^9EG^nITGxPye8rNga)n65AjJeeP_sb5( z{3C;MThpl{j`y*mv|?n8bglUcro|RJrcAm1X17lnH6-Q2G*-z-P*zHVPtR%9cZ7Cn zl(?Y}QH_o0;NY&4zyR~kC>D*fw(aX1IxcuCegjM^x<)lepA8DAj#cKsxMHn9W^ z{;(*nBZ{)34Bw{B^+KrN#Mio(zOb}pZwc5Pqn6C$BoW*qXk7juukz%=CoTGfH6q>( zIH-W5M@Gh7;O?xjmu6eo1q)|^+Bb@ua@^_(Qlg>_Z3 zykbSc!2&k~va|32Uq4ZrCW72&Db>~QCp(vsK?Umee!QDJZ@2D(-U5eRxt6R4goJNh zYf_(%YWxqM32d;3#3P5$K*;_mCB_*#(g1 z8KbNr_n3`7(Rbx!`3REsZecxmWD3oM&Zz`(IqPh}K>23C)1p!-SgO!>r8+fqnL=2n za`d0j2=txXD6y)m88$oAIWp|In+>g`7;6qUU60l!ZcK8FnjAGFwK9KRT}aGQHUB-K za7#T0rzwpi%?j6`zbMh~RTws|rPLnhzRBQ$D4_#oAO&Nm7HDC2K>_abXPT67z;+^W zs>ILg#lv-L?wT77ZJ?@|hqHgmRNvNqHGEG^-@RO~&5(Njr*^`F930-uaHZ@0URgaA zC>!*<7Fb(-#rXbY0Qd^}ntq;IH@TnW>i}`hPK8=qOH=VPN8a+l953P!m6I7qD!3y}p4}RBysbbIXcNIq)*u^#Q zOp0+A9{(Ly>(Iw%k83FT?f10R*>0} zoY(Z2i%mo@*%DeWN+I6zllRkh-%t<{G(TCZ+?sLq;sVL-$_fxW`_uhITR9zp{L z$wQet+o<2Opf-I+i^l>-gz|JW{jGJs^Zq?l$#HHMs`K61cmHiDU9WBXu+YM^uBJi4 z_Y;R^@RW+-DGmVffUO-NB#Cw$%gU;XBjdpl2`Y>py+zCSw-bjAQe10K1u3KB=|q5H zcNw(7t4yo@9+(fWN4sS63b^+|d+Wc|P16Wk)TzY$`%`hHOen6*>#JOx81FC2KH|ar zgJ+WBq758E`JJZmv~-pAOW_H6in5b4aq~2Km@YWgE}wJ0TjGRt)m3St=X&zO7nX~v zXF@$f0HGfzm)E0r9D=7`|1e_OqiL<54ha|O)VtRu7npxaK@ zAqZ_6SSh2;awz;?t)bcVKrD}R-~MEH)@cby`K)q?B->($$1G_9`!xKrEn$(xm0kf_ z0!smOm+(E&m{Jzy7wv!+A9o5}N7UpMQ~-t2-aBowZ(?l1ztuIZb*d~HSbOk7J=gTb z=)Ot-0pP>M#UO1ZnMmVFVZ9}ug}`bhDKk^n7irtp2A%zR9`8VLGv3sir>hoDB}yJP z9aG5CkHF6z9=K0xBw%J_d|E!7jw42zi(R8kz46gw(R|TLFpd#=4cnXdXQu$&7%^Z>K{FeovbC!Gar%@S3;!=Kb7e6CBZ2k94DY|I}RSm{|pI zHKQo3<;#T|D?SUpH2=}6v927*vN_E_%ID8;3}j(}>zob&&+ktvME;?DW9Z%Z@0{<~ z96_jH&p4wg`T#bjmri08D@DFHA#~K7_Grp`B9Ly!g_{%lt>eN?9S}DPkXQTU*G%vyz(=DM@C1~esSES_8J$)F1E_N82n8fSh~jH4N8-N zw4A^zE+3RcDnd2!5qV#dg0Hnz`)Yp%`-D@nh>)wt>iFZy!SVC4yQ-*Tgn^+)AJb@% zc!kziTO`vQuIH!9;RwN8v|BBCGP;XCqDR=f!XfP;XOuZ9@#zK(uk9yt!xX5{8l-m> z*gh#PUt1UGP$$noSvP4-hfS)QalM^UFt5{a$JG)LpeL=+du(FZd{Rv@n?--(eIksb zw7pjlN=Orec4+Y>Kltq3YQEYy=bfP|PN*Q(o`u(6)9k0-goS(Z7Q=C(w9^~sO)*vL#IkKYy_Tf zn8=}BXvcu&IO()x70)*9Bnr)gyiWWVmb4tRM9CX$%_dUsbL28yVI=C9-OkTU& zlc5dG;nUA3k8=fnQ=eKz1=b+~(Vl#hn8)9^IyA^T3RqDAcxu)2{`sE!kz;LM|K1!Kr#uqS7f}L9DR$@zl zzD`u1H5YeO(sruQR%OAhcQ5CFj*{lSLbZyP+`Gps>xXp7mUGzu#T~0%7^l*}$E~sH zoNhDqDvXum$HdrvH5cME(+*SAAagZ45%S`tL|Fplnffh)M6$wM`z+T zwy>KP|CuLusHpA?-`0z;E?B6WFjH;q$Ho1{=+Ce((9f!i3Rw%breL^AeO`u4376v4 zE1j3OHu(?HO=ly5mokjx84`+1)CrEzS=topy;K+9nZ67Pf}Jo3ll-_oGnUY?{eYA% zugmB@kGRi{-n2*WuZ81DH5C)*584)aK4c8bs1@O@|pMqzt;QOE|s(Rmq3 zD`<*0TY@zyS|;F`1@C%JgG1kUu(gh>4h3X?qpDGz{G`imvKqf&yrf6S(W}#;w{j^2 zsH?$1n|G3EH1S)I{S&<+OgetAMc$|~Od6wmG(uEMzKS14m7n~1fUyk?)-n54ham#1 zxp6$kj91#G;#6_jvq=M>ujBbt5EMGtpFT@GY%jAWt|;|r%!o;z9Ekq-WCFBa*K@7m z+vI7pZmkc-m#EpK8Xtj`X!g0v+2K)=$$_*$l;x6duy|c~!c&D#dnDhjYPGCf5fc72 zT6pa(8re$@nP!nE88A+HT+Ol|J(`e{euao~EuF4j8Wdj=%~~L4w=q@B$MCU8XKIyvV6J!F~`FkU-H-UL?}3vp{mn63mpsk>4vE9XZ`$ekS8 zJ=ix73g9)GPv!Z{EL&=Vue|)?5P%dc^zUOBWV^8HhKrYQkIF;Hoz^L_B&OpW2uisS=!SFP5@>nEt`(MDj9t`gvC^ zuoZf(&EvTdu*iCA7;0NPZX?=}aQL^R`PI{XXHy@Zl{CB(3-Jd{Xr2(pD|pWX6c)Yg zp|5Hkc)gD`^=J3hhxRX@WVfoHBHVh=GnDQ<_*0umHN*~YQOfdT$jLx_T;T>z^H9Tn zi4lBTm^6UeNEm(c?<8PgNH`Xe9-@*Y^xnp8Y)L+HK_{eKxTc|#N_d?1orQ0$L#}2* zb)reF=!$hsWo4E*u}k-Egi)P?^1Zt`TX)&_vZ=H}p}jv-;s)~K&Wm7fuD!Fm^(9D?!52|*(`8>kpijuB} zwR(k4YfN}gnx6~f2fLq|$gk3nMag#@|8heLatGm7ivd+(s~lM0sM1%D=VgtApqxj9~U@bJFx_MbC%`gpl`s?of- zeYf{FQ?zY>VIV>zpgth1j2SnpaB%lHe9eEY|8VTzc6Px}=BrK8RAW3|_q&(p{fT4Y z)*?91jetreZOX6`LVf^VB}C&`rMCa7zqoNr+gT5Pm%!ULAtG@B(SgGSbD68GwyVYk z(|i#TrK+H6=%{I`ZtJ1;11&U(317V$P%D;6Ey%%XtisqHUFTCruUyGk(YJ!$sQ;_|2n)i7H6_1#tQ?s|PQ^H`(xhP!{Lw7)=fb?Yz_C z!CDe8FGjo+grNoofHi)X<~sSgjy%;*)Jc$*tYIDMROCq#Ry>i zr$3z8$o<(Sf2Gr`YVYwYHTLyt45DQjy+ExAs-ft|)&5TM<>A7pgYXu#^I-3jK%NuW zIim-h=?6g13`RbCr&id$Opiji2pMw0xorA!Zu@(Pe&&=j zyP)q_y{Zq^W~)Uz#YvJ+pQWaF+u}A;&82=3=048ebz`aUg(R6!2p5zHmMfwCwp@S- zl)5tpB9i}H5PX5d$p*!4f9Xo*2H#9nVLgmtNLkbcUFga1_F1bJPXv>d&K!RCD^H$% zY;_MXO084_#o98sC>NBnSm(bqDeWzrIlfIIm4KF|r}gi!GMs$4P@_g$ z%VXzrDDPk}Lt-WwZ3#NZ`6XJrbSSyX*WV-REp+!VRwwh7u~M#Q0r9_SD|U(0~TlvNYB-P3t6YZD^4BADaCOVzh2kXqE#L_g>a`t$Zq z<-v8eQKd;0HF05*_n0zz`jdvM)vlj2Yxwl>oTzm=AjuQry7W#pmttw}T}k~6rEh-+ z*Xq#l?$OgxSZOcbA$STQ=DdArZ;9gp1{msGdnq`VBZIJnKnO_!_V}ISxFigcP(Ehr z%eCwKZFBbhKDH!`QhO3ypD_E%@A>KGY1rS?gHi@VNRYgiBZZCXm`!anvt=jU?- zvO4V2{f%~=k+{EZohjbmStc`6iW|89wB~r7f0T8OvQ*;Ex;}h8*nD5E-|sgQb_;m= ztwmADZ_(iVTEwtyiU8&V_l7*BJgA_T^LHfg;Nj`o=38H>_YlvEFeFWBGQhs@(r>B= z)T_s6uj-4)QW4uOJ0bMf)Mp57dM>`RJSCqtsyYugr`;AQu%sTXEwEyM`} zeev5jS;9fS+i&|e``zq&7HHsHFy}Us(oj@UPXH9%9zQeh_dn|i<)-zob1qXMU7Um1 zOEi#OHrKgpo3d79%|EQRXRg)}x78mMve)287i9L`+r?p)|D966&}a#~-ptRQ&W1fp zTzBhN!Cq1*9I~EokUBKHNGd^)jzjlRU5Z=gQntp3H`Jgp_Xh+ZUxKNiV@R(Mg9^%@ zZ?I}WBj-jpx08?IxH}+kP+hCk8*b70?pEloab#M}(3|{lOzrx#sDG*T-B)JTx|hvN z!B>3EiV}GA+*^(?D`yBohf_gu6CA_cc;hER)qfr|N9H!W1bDDH!>hX$0etwZgQFVPYzx9iw491jd(fp(1I&#(R`DlXF5k% zRH#-6N;HO6$Zl(*Boa8aPWj+4!sJRNcHihlZ0)ADOm}sqB63tR&UM$fL`ts04q(M3G_F}O_vu0C&vCoJd zKLACrU=Pc%1Cez`?eE|lTl=Phm~vq93$TzcPKWWBmhzb@DrYV(!t`ss4&O<(z~#yT zCyPpDc7@W0xm$M4Rv$sD=nqkpe-qerO~npo@;ZuQ>aHNRc{uF1_Cwck?E?{*0M#|P zHW&@n->p;+L@uDN)AuW}R^D*<5CK}HO-WRH;*oq!TTqr~#qJ3qXeHi-@(QAJnn}@X({y9QTA&z@8KOZBWFh8a)`a~vS`LJc%%F|jIDi;rbc8-x)-UJ@vMh$Y zz+<$7XO1BWM*GJ{Xvzu})5L$WJSk_P)-z;rCW=DXr3FsLP-Kcz_6@wP*dJj)Q|p(K z8Bt-T>oHO~2=kd9psMSkIOjP6(Wi2k{I4&)l~;OJr2k_!v(dEMG0;Z;cXrG1Uw3z3 zJm&vWM6tLAL{aowF~$GF5CPO#M|(U3ttjEUL#~-%C78(SLbD8)Q^XCqWDS z-`?39mgxW9&i3{r{eOsODKV%{(-%WY`=wy=ufnZYq@~N#T8V|i?iit48}Ol{aVSN3 z+_0Y`OiF$>njIHZ>q0stQrRPtOpp9FuLo6`B-5a3^`{>MO|`l61bvf``I{ib^fXN} zFU=B7_Q{KMAB_qIuu)VpsRq;QxHTe!YORpQUgjTvjYFK4Q*1T0qSw=!bHk8aeGERv zJ|mEwTPs$}o6F$EQIz6j;fAN!Baz>|Rby>UF|{+ud*ap~nxd|D9y@p6VI}DD)K-6- z`wRy0XTPQWanDNU|5DPw*7JY&#ol%~|NHajkN3X^d6qcRm$5Wo_Q3qw7zRG(CWC(Q z1IDMKn;1$KxDd?(b%bskY&v<$J)`BSB&VNppXXo7Rx&um^Jn~jKe-_|e#=1Ix`vI- z_7O!^5G~v=@U6UtW{tyMp}RZus-iuU)oIG;MoVpFMk5P7t<$7cs#V*qGfmX~Y;}OH z*cr83*p}KrD4zm8o!pSN#;kXDOSc}XvrB07YwiMMr9v6R8t9e-%j}cf4T*I%|5!jN z;uXz-)>)ryF+KUuenu0B(~qMC5)s%bPLYkXiOEQ~Zak=yC3#crLVc*IxGhymWgy6H zdMTK;mz$}$_Lz52ug==8OWcX(AwR7aR>(9(pqNHDJ@O4PD6%BfLQr^F5+a*kPSF41 zmnU|Ei?Em4X)wnmOVQpyeVV(U;dTD5aN`kJ9`EgXBua6l43+F3khSl5I8H~%jpH!z z;5g|+unEM|~CD#v}8-8wcgk9lQZPd)!%vdswiq zdZ+R|Ydf!}-U|L*bUxJfxJs&EX)n3klV~I-)a($sMHKsJqi@^D`4-uB|34A!TX`94 z|w37*nS13&~ z86HLWig7PD%}NZ2le##W`jv>fwR<^SB&vBG4Cje@p|2r>s%l2Q}FZLeuzdp#r z*(RV8y2#()im=ti+hVIs<=r@@eMRbDs}=O8ku2$6I8e@PK`Xx13Y7j31A`cQqn=S^ z<7O$Lo*M?yv}j77V7M(5wF>fOg>7WzIXnJCKvR-jS6wws1$b5I{m3ytcT;cnR-1~N z$&j_)8Yac;!I_h#(=>5YJQWdysQ6XJW}1M%POYj?t|dN%*ZT=${9?rP*8; zDX1>YmxAtHHeV__fnao+SsIX5>jo1nn)wva&`RtcQ{0;SkJwX+2qZG_8@&$;?HGIn zx3=ypI*>j?++n8kT=4RZSU3AD)q3n#fU$A3SQa2wrz=q9-MwF=_no)6B=WVi2C}sq zsbm+%a~b|`hFw3zl-e@NNk=ZQ?fyU5-YeUG4j%9S5Azu8KaFmvwalUJV%5eX7Ti_q z!~w!Yaz(pPxkmp2I!L+mg$d=+@d&*q5w37nOLHJXSi#L`4rJ?J|6TR*x&LP=`X9SX zT7K}Sjs9;xFWdhQcXsz4>HkAKCH|@A-dMQN=SBL9?J-VWNx6R@N$@*~Qa3y%{=O)N zla;UfIyrXZ*tyKcIEiqI!F8aarBaxR84l+To$-ZTQw6?hb*lZ%-N>C{-yVx_eJ41? zF2#;Guj(rX5l!7l97C#_^beO*9&mLAv0zn9CzBwBy{`yU(2{{5=RtI05(Mbeuayy% z+|TWm@-m_lPLsehhG;6(g{#){~BzgQk^m?ai>Cg~~}l2Jg{d7nAWd*YBD% z&=|;A^XSw-seEgM$JCP55Zz0HunP2V+*#I@XHX~(Pr<&4mDKMY)| z`{HOXmw--h>K-7AlYqcrLzmLxYN>o`Akz)aEC)|b;%2008B}?n^Y#qcpSv_!%?Mq9 zxqb|Kx@S{Uh3t}52Bbj2n^B=9pw!T?R;I^N56yWWONETU1v{Yn=Hqw91L12BOM-sy(1#Ww^0B4#FS}FfGrLpOAQjK5e*RxbaKj z8+g4QC&3~J@f06Y&kcngJXkjt%F0|&CxoP6cM9ZY1SW`DK~t_)i6bq^Q$L-@B``S# zOA?KA9#8aiC=EPo9$&nGHgimJEwul3!_m7&O!1c;5AcRK<0VGB2FA9#s}^ot%zAUs z@ut4k3P9c!BlSVay8)?%BbO_$b#0-#D2@*==v+ho7vc1ZB$sv!$7q8Lu+9H>ckg*Q z{>Sd#WBk7dd2|D&Mk(M{-FLAJI5Xvh!8}NhqG^ID4?1Vtc0qb5iU-kDivh(&iSPB6 z?nRnt2ON@>q>2?O31i%Fl#URWa}~QnqAQdpjO2M}l90J{_*DYAnE0m;AsOpH_zJ=! zNtN0}n|Y<$4s%CBP8iOvW31wu9I5#b=#n2wEUdi@UspVWO$_IxkipB&7ejF}s`2WsUz-{(lFLo;azr*cE|E~vmI_m$Miph1*7ASB% z!`?rOnSjJbcXNSKjaAJCWHa|@K2Ww0?xx&yl)*CZU$b9sW#>y(Z*HWhTRSt?5N)q? zsW2Y7DrtL%=E@n~JD6{G=gfACN7J&0)Kc`HU)h$n0dArH&xeDu{qOenqy6v0Jmn27 zrdZN)8C~hA_^=-bNAxshAJOO)!oL~Poyj%=Q4rFeS!t4CtJ2g|#3qG~dYY4gk1VPjL6sS)bcCfY4l|%wW2=!ztEC*<+ z0N+$4NRPm(P*ZvBt6e(Tb&-4-b$K~){Bj;Z%72VJK#s~U?ddH?(Rhd#%QV=H)imCG zP@`_T!n(GK@ziAOJzoE5Sr1r&*6d*JMt=LoEkhQR3qU93x5ZPmvFc5I#w%GdmAAk& z6fBPxmd{XlOV9LMoj;K`rFJ4`gr+jOoI&|tC?zm%gMCq+r5ZiW4Uf_^&M(Z6rCbG6 z(f4X$QR*K`dBlzCT|1A&Tc9wd`>*V_j)0bmOWIOt*HqXD7eZs#yTnC<3IiniIaIl` z3qo3MqMp(eA7BzIZxM>J`B;YY(Mh;jW>7Js(I9)@0S>K)u3gqiNgLZpJncU(KLuYi?|xgTmswl|IaJ>|DEl@;PL+V z5YN&P`NXoY`C^C@^7-0U`S%}^WmjM^Kp?xmO0aQ7l1rSN#|iN;rI>PZ=4L7R2Ykm# zLXz{4ObZ0O@8dQ=5C5W?-E34 zb zHvZAeMPZ+>8s&r8(rdSdj30!@T>VX{C_kY4CW|^TrUk4_|?!ybNBN(4SvV3 zhJ&d>2jd5Dl20-UA>Kva^~*s%T!dVYEysM_0sQLg^!Fexj4t{|;oJEq?n2Vi5VgZEE z_F#Z^2HR-px0T!(4AIV@wU`@Sqv!LwQsZlmZ%)YgJC8(ZLPEWY>-%!$sOP`!V>r|f zV3<#{n5GGK=b{l#N88$fy7mF@5Lt0H4g=59Yc07x`ppXjHsLIthpVm(H;zxU@kdw_ z)<)@tV{No8seDB_{o2AKtM4w{)J<6NktP2w3@wZTTizN zs~I8uISvv@9L4kZ;?ld*flKgJ5~LXY-~Q!Gl@68mop1Xvhnvo~Td4nZh{g$aFSTLG zYt@}N?Y}hBr#;K?|1t6XfF>Da85n2&6n6^*+Zz96Z?_!(>&0OB$p1gYQ?;Ubt)}=p znBuZNpBrHH7ehVt%W<{dzgvV?E-Y`yr!xHZx#UcLQ;>vrseV%%4AEHI{roX< zOWhaVwF6LTq97>x1H-;P%AD@~S(5%sx3E^95B+JO|J%F63jN=C@#z2YAWw;8KvLzH z#)oEGt~%O(Dwf4M7S{Jk$K^2gt7=hQ$!f3*HPtlqRZ@_~(yP(Wof+HR9T}S&B-nqQ zkochDQuzd(%`iw5kVod2a)**1U(yW}6JI%KBAU99&#tr2xOEuV93TAf;pg`##FJFC zmEg$;$pk*d_+&ouAh)B3RrxXXihk9GxACH?Q{(&OiKg zcye;|TE2So;pg{w1?kB{;OWB}CkC+Hnwq_VHHSYm@@#MM`-W)^PT5CgeH_HZ-3BE z>wJkhTK~=Yilxr~h4)9q|J>f)DeHfRJ1-vNzdguv^N{hMAw@`?dHAu3TK*|6kp{1L zeeAkz)>0PP1`T{|CzBv@!{B$E$UgEHox70S4A)b!+OPaF7iiX%t`456X&15XwxOBe&pOD=FSmZf;fjN(EY>;z#YK6O|&zZfRq z9+2Dt!CMu~e6p-x&=X`?Y=HzGqqA_y^+W0>$cSOaT+SEr`@sW*x#U8ty+Nj{&FXBcwgVPXWdfEB@H@mLg z`?C!FFC{_j+(!%jA3T3vmj7<=?LFH6Kge^_nm@B9mIwR1Vki$BEgqP%^FS6KV)wTU zYl-&DzO}k%tud2m$)^_T+@kT`E{;51ZuaMKmRf%QFE0UVmH!MY@gD}yALIW#$aC|U zz}S$$_}*#WUx1S}(9l9;fG@vl#K>6Jc1DGtZ~>x^6emW4T~TyE@ne_LE0Xwn!?Ac* zZCsVE?;vNo4UJWog#4^lM6;WBFhMPQL#!*`jqQ}o!#w_gUWE&nAS6QVI39&Mf01Xo z^M9$d-|A^O|96I!{IA>FJCEo8gFMB+eh(7L@5`F_cZtupazws+kHIHJK#VohOlwqR zIWVhH0s5>hvwo8lZsg&_(t$Meld3=! zbrY*KCZQ?5Gq!80))d9bRPPitG$&xeSnXKZ&vA(ej%&wkG)HOVbdg_&YS-<1;zKYPOYo^Rn=cZ@wzjr% z2<1x#OI?LRJjcok1Wn!H=a^6^O!Gpfa98EhTW#iM9imh&5ts5ypL36o`B{PgbGg{Q zI~&+8|1I->JA1?DkNn?5JZ9=IG&52Y*un-%osZ59-lOcI1k*k6Ru8S5`ikk_3j1Fa zy|?|py*n(&f8W{LeZ2oY$Yb9B@5B^q_rP+xm3+ZC9!W5vjz{MGGHDPEt$a~z22brb z)AsCEr$80faRF$9H7q2jxTz)*HkYsIr)05@BR?jANP@`VPI0nu!zMh)GTor3UgF01 zOoV9?RSGYg`ZCro1vH$INHUUIn#V?VU%wfs7>YF@#9By2>dmnE!jS{aN_0a_8d4rF zO%_)#MjfX*Z^4lNri7+uSP~4&CWxkLrD?Ca!lSp+y#5gSm5gE1M5^)=9AcMZN6SZk z|M37`mbSYg`4KkxVoW zn=C7U(q@r8VJS1%YNtTeK}=5rR-eqb5>2@hd!Iet411R}oAmtu(AZ1t6WKF~>v%i4HWewxjZ7H3&?kvkOFzfuy}%XVq5zZ3}6vsEj$@F`4| z21IpiXsiL2M?(~oAxd?Qpy}?jq1kMi@ZO}%iiux}pVE0hNzzrjv18&J>CGZ{{g$H< zcbYQ&;3t7_BGo#5^j9|dD;J%*>s)dTe#>h+^deO8Y&Ll}Kd6VZ0&HpjVgR#}?y}v_ zn5W{%JN;@5XqMssQ#N7nZ|QVt>7z~l|KdfN|KHu)dzAk@$WxLhu*rRsxO03(lFL>z zkfu2CU6@7I+ZT!&pJb6kXDVX+|74&b>x}*T19ro7W~o@QSrWdoL{#1mqk=HdGv0;_ z0qYSTzk0fPHN`2iZ5}qJyGA$c|h^jk4%n<3_z49RAW z*rtDNjMt_WG=_%LzH8y{Y@}k}!7nXx9sHJY@Zg7vfyXP-0RGP}6<-1O^7yR#tVsWt z3I)^3|7}|XmVx&&(ie&E3goLB!2hzthWE}HU7)?-cEV{Z@<`nZ|o8ke9Qv5lU z#y5qRrgSCEtr+8!*SV8Hj!q}e!jPLU2#qJaKF;6Ds1L>H*EN-k&V2a}Rh_7rr z1@+e6tP?riolJr#NUz0862I1IF(n~RbbBxD#S-m$Bud>Nf~f6f^p$LDoT-MBID4z{!L28|~-6!^mndjYxu5 z?4ynUf4)lHNkmaf5T9mrHNz1aXF&)#cVgGObf=g)y(j2w z7EsVifx|JK;V?wgkc_zrOb|_EHJoaXz$&~?>#{gp7PAXn{k3C!DsAqI{Kem z4q}@R45DHV5{hwx!XUy<&v|`%ewva5_nx2wGM|$O{d91O{2-w{XBwn^_?Ls67)^o@)84lZy^4F^I%D^;_pOu8IL%cZbg0U%8LQ{XZP; z?Y=1a{|;Yl4<7IT5Ar;b=5pu<9L~`JoBLkxTXYoB)D1%(jQk3Zkuv6GB!ROQ=#!}X z%cd}okp~`0rv0s6@5vMNJx{vkw`{epQ5;awdI@!`R zNN3sD2}qxnxB1%C>SnR;rkJ(c>z$usj6SJv94gkBycj^HJN5(qIcJ6XTVPHoSP|kK%Wp0RE4_JEu{|P!HXqPpQHuobR?Ks12XSl`i7f=P4uxO=x zqy6(0+GfQDc?-{33%%aINQP$af)CsGk!?>%;=#{rk|hWxECYn)v*U843a3#r(GU-9 z@j>``XM4P}W(aqjp#V^r`epn^)9c-$W0x`Zsh;(|=D9_$G4+xFatODU=H=na(xGgr zX7ASS{wz~=mGWB6-YvS29y=H92*z0Y#qy@ zh>EgJt)q(@WTn?JwnoT0AwcCn!ue*QyC!%6t}s~O2vd5TkTGs7joyl)2+AUg(-fS2 zo8V$+>GwFbM(74vjJ0P#>b9=Wki~8V)(Gtk1_N}5tRM=~zztvH(7isz9*KNvjnLlU z8M1_(YyNhJy`8v0m?ijZmS8#~p>K`AaQ*^`4aAO!4kNrpC$ea#5w1GGy9-R$^_02Iyh^;SCR?X(ou^F!Wn8#ueS3`5Rtb5n@6I|eKQUZ}$(OA?)o54hixv{^s3V5|} z=^H73@pzU3$fv6t`U8Zy9bV_}{>kajNfc zP}Ik%*Jtg}V)?c36+}}u5#9L-ijH`dw${-F_%E%>unM?3&{YYKPFFVUjlpNZ zO9NMc3-(j9tfPW2RtIc-YT){0f!x%_pWS&JGTQCAp>-ddlo7XMH=Wf%oC6C*0fj(C z;snPy^4Xtwfs<<(gRnplB3TE0qs422-l3V%#fgyW!XtBeOkKyFbkWANR$Fe!i*uPelJ)4my!?=JGtI zgiEVQgb_*5oFteJ6-VF;?c5i=OdB_UVJgnvo)$4(Q+_SDl=o2k1^?jqWB(nVljK_Y z3#nil{V(U2+%=%!Cis4t5SX~xHRLcws|~LMY}+^<~&ME zvJNu-eQAQGWRop$t%EP1Cr43`9w>&W{yYv+jc<}#D8b7}aRh_&zTj$uiT86_VdxZbugF9!aFtu4?oyHPN~ zv?AnM_g?7Du%CrEX%vQ37Fj`#c=B2@92xVBe?mtpo4JyRe z7EReP%cz*n6~ek!kmHZS6ZcfpRx3oWGL#TLK?pO$|raM9rRCb&+6 z--~c5oOz)e%q!(DhJ){edznW);$*o&K99N)!SPQAz(VmB4D+~_j%QR9f_hckyG6&^y3zuX)vL-ronY7hISEqyA@Xo%LRN*V>29dOmHw2+gsYXltx3Oh zxF$j5hQaUVfv6C33DTHwo8$t*;>B?5L5z-lC%-=?W<1C=_L%vFi$_`h=gF+>C`?xnwvv6h!u% zGrTE5!8}gL0>(8V$=qdau1<`bhQsLJTgFdc=)*acZ{bK~z~GhX?eSeDJ*4?$d>VvWHCW6+xNYtacD zExOgcMTa0+!qFl~2)|=4+$7+l;n<}V!+lCxd#roCix%Js^d=z{POS`=5u!;#=E%)a z$=88{PBFJ{-9J7;KJh3b5&CqH;0aC`vF}fDgcCQ#zAo%?Q(JCpcOx+=O>)FNU^963h*T;qXb3k5e}YsiROO$IXV!Z4bI#huos#6O#3A&V^+O zw>b^35%;!+izVogS!Lz7xFt6wV|#@JJteHZ>-$*UleM{b&;h@&Dj~bPILl$^DexO_ z=QyHZHrr`sxslJWRbaR(M%!tv3Ak9RLLvJ$h%TE1s=s0{H7J!S>)8mbvx+fAemm#5 z;{Is$+EGn=rCWG_niQ}B%n()O*Vn53r1{CM0+-+(?;WlK8A-MQv?jQeA6^N`jF+Cd)y^Oxy-tHk&?r}|hf7s9mS5{wRIW6~A}oGA{W9T8 zRF*NZ6MFA(wIS>ly;eoVrL5L+=w9Jc0f+18L|y=?Q(lN>`PoQw1g^mia=4_AQV_KW zwr=Hq+n^{;g1MVqH|mtugiFs-(8_j!mEqgh`^U)5(ix7@z^hertts_1=SpTnPGH^uX#Zm3OWT=2O8j0(tRoc zYc0CLHE(FG1{8Tenr(Rp8?|+pSO*w@0j}c) zKY=n_ZH@wKN|+>Et%eslT&ieu>uV}f1zh~}{ul+nW%x}HVz}gA6yd@tcltD~WAyR; z(f|H<2pNyw@4q`dHQseQ9q0wPa^|Uq!N?5_!2?y;{$4@u7VIY845TL-4+h?=zEAty zlbiN6C*e5?B1LP;u-3tKdLY^A3nN@0Lt$q%nJDeNWTgx9xRygj6)u$nE7FPWE#i}` zxSaxdt$>B{woRj43oepO12vtu=*XAgkYwsc0R^l*WBmTrEbzE*w>FVg)(V#&P`098!+O0yw`ku>gN2)N z&+P>Xe2yaaU92~LQNn%+x}})vR=B`${A0j9M=1ct-tbTf5YUB{qydSFfPk=-LHzM( z6;8huu7aV%Et2cE$$dy`9bGWa{*Ty?d?C>{37IoeOHb1z^U^HQf#n#KQj?U(q>QPy z1rU`LIVvHb3It_0{6=vP|uH4j{y~F8@_ytW4f5pa-@z@GJPO+EfS7#9{fI8^s zAf2I~_s^Y zI1cs(>|#eEp9^21)r;c5=w%R}h4d$!1QVlq9UO=t<4!Vew{sc9C=DUJK`@cGTGriV z#)woLAP*v(EUSE}LpU()1_l)ve?-~H1go1>e*m@)kAzz6O>Sh*&m{MbZ!qAL2&#yrN zMHHu74i9z(cI>c{bHhGZrTugs_e&zP=27K0(+e@GvzhKtR^4PFA(yaZ18LI@bCD86 z7C1>5SH+JQng)?v;D9L5Q85CvrUhL$l&QgpZxRZ|)I3w9K*S0L8x>I?i{J#9;l{u35BCkYypbOsQyKRPJ}bBL5q z!F)~WdP~Vw6Wy;VjklB>F5_v@c39-_bUH0$@s*KhJTAH&6rDg_VXfuB8Mo}3J2r>< zFSccCv1r_~558lSwyjQY(QU`(O1qWC3UzRqxx1Dfo5Ry#zskZZBF=n*t+yd^`1S3u zNu-$q-TJF-jU1omv+M!4#ytIFv}LF7&W;%`=Hn<0+>kn*1td9K8O6zuxY^H%!*z+T zCD*Rt0tn2&v4+`DI8f|Y2f%W;Vwch@lK4%qtpt~Bn8PK1wZO(zc!s?7HQMXt<`EiR zX(BbaI!t6ezBmM3CK5{8ZPTg2)nOu6gR3}^9Im$M)MF;d#3yc+60i+2T%`B2l;qaz zGCYAumV;7qi6iYMdq1&z6kN6H&)ZTqmNxC@?eYLMz{M|rX35O~zZjMgRoD8x;w!3E zeQGgZ1VFGix!~*>ceDm8FLh>7E`gF(nzC9jsl^7DH6R>vQQU>NKVR_3Ty^lCVQL^D zjqq}J1x(Wi036O-?$p`5+dpVfxvjYd04~KTG{()~a8XF)2GE`4 zsSlO#K`2V3^h1QaQdRhGE$tmu-XoF?h2XuBhjmeK4r)g6p&)Lom73#22tZww5Uw$l zbFT;^`+#f^jmGLXSBOPZWTSDGBARmXEm$YcalD_*>zv%#<%0*| zmE{mWd11F0fK`!nD`VekUb{J5V1&vh`y>nN)YAp~Qx$VY^NEHPsF(lrOD*ynpAuZ! z0ylxz3YWe?)`v?3L9WBmYdi^}JXA8jec{j8%h>FVuhkyReOfd}snz7CJW7EnnUeVg z{5f}n6H-#1W)*X*{1PEtS6gJr%Tk9tC~Hq-;fsoyjZ-Qw5(@O^L6VRJ`}WvPDg3h> zv<5&M&24G`P2H(U`*w>i7DH#~EFaOX4uNLlmRh(p`xd8IejT%x#&l3Ea5V;`UDtw_ zTty*q{nxtrh{j$s&P!=_twq9_TO zv|{l7r~Sxm&v%OsvV<`m-etivw6=A0;bln(1!%p9b6RxV}h&6k`Ds?zSvon ztkl6(vF9_v)nv)HrWIcuToqqY6I@M}d~1?BwWB@=ZD{@R@S&(LRVK-~V6p@k!`J48 zo^y?hRU4uyqtX@g9nY!LaPsqT6{5IE!NZM5;)Ki@OOR1SVw||_!`cS;CAgxptXP9f z4VatKmp}}t%v!=}-2I3OBwP?Wbm1DM?LUw!Gy#K?C=IXCagHV-VW(c=Dtn?^bTMr9 zJY5E^`sjSO=-5qXAdJ?#uWub)^yfHD0&hvK$OsqpX4ovmxJ9S%O&0=)emSJ<1S-Nc zOVfBw(TapC4TZywVSQD@s*OY9U8;LAj{KMeQV4WEVQVE^_09`Io0DJ9OY1&oK(vMT zA>W@|YSsl-^E|S(bH-C6l+JDO7P%A9d*vDwzTN`LFeam0BM8^L?9!@*i`_!TI1Hj` z^`iF2GcE-b;

    &VS^dW{9d~(gc8jC@XEbzitT6GLiGVHZbfud94+jHn{ZlPf_xP)+laOS z%xcEx3$4Za?Om)hwwu8GfzT9*irryEoz5Qvm`z!A zn!uFxkO!%CmI8BQW7V};6P2s}6k6usDTCRjl4$_blu4t4O+CFgF;F+knv) zFsr6XO<-n}3z^3xo#h%%NQS7Eh8fJ4gO`mCGzKumxq4~}6{kFxAw*m(?kn^k3q&E?l-lh^5O!4s;4*?ND|=BLBG#sFp$yLpQu#bK6!6s{qN3U2cf zzMDXg1e5bqUyv%v z^FG5$j;RILrK@gr1DuBf%noppEG+_>k~T0`WQ?19Lb;Mv1sD@i#S9!s?32zkzSD6D zi8~K@OnM~Zm~$gTwv~H5@YRvy-*a}j1>~44AeZa4I}dwWyoyl|i9j_xeZ5cSZV-)7 zo(9^H@$Wq{haw3f>3NofBV>KE87Cwq9tpSTsNer)lULtTNuzmYf9T+xEvR#vjn899 z#t*sm1^ldUaXzV}`w$AA17#!23=eCbw`S!%iX6E)lE?&AA|Lg7KZ&5LLY{sd>oGF* zke(y~SU|8d&Qb_l2}ImYxja7&=Gf^SO;ALlT*qFm>?TvlDapGnCjs8%Ib40sTbQ92p>8UQWt70R2ala{j}wM z4MNrO)qq|9Llj<*c-Tn|xLlRc3SX(H#MlV+Gn(}2%uTRgSGWv-Op$!VW6@}(duQM% z;dnZNvbb=) zndoPfPix){n@wRY!q+(MNVOBgof(%9sI@9 zQB=qJg!@|s6uF8!aXGZPjj=vcevm+7f@}Rd&v~pqiMClQ`pWE=fp8dVpl~jDw`uB1 zQpCVJ!IM!XKe$={Nd$lv5P_#;i22p=JiY!yL3du9KLdnFQb zWE3YJyP-uXK*N6bb4g8q?$Q(|I*_GN%boMx{^{Y~Zei!V)?Ju{cee=KMO5E zrf`%d*Ex7T_6Rrnq9EN27+=qYnpDOZ0?<=}{D5A<(E!R5-jIlVOmT|11|{ztC>VS- zbs|OwZRZ_Ap)~Idjy{erg@j&Dyx2cJ;tnoCktbXOXCiI*goGiv0)sDahUe}G{g+&4 z*Cb1(&?TMu|>&vZr9^Ct#7v9h}qYBVHj0g;~7%0 zviE$8K*Iux;{5nQGVJ?7vYl_8o?In-AqBJ%Wvt_Gw%@R>b9{-7$x+3+_-6YJ>xBJJ zcB2pnJ5+`uDS8+7_(H?l{%DNX!A&=xvF%${Kn@W* z!>^JcO>xxY=L+{f1tuAy-WN>49CW~a;N|8kH6_?m>_Y?mqRJyX^z_gsiHQDyec^`W zJH6gMO0Y-fa~%0x@fA?XHIPW_iLs^mEI(r?aZ!T(%#+b1=2@5qjMFXn#WGy=iY>7@ z%aVkvOc|Mp6B6SjyhhSWOY?|wdOgWO=b;UFTN*3l#=%egh##TFuy+|m{wR0x@6B=Q zvJ;M-U7RiCdLYF~<{Jr#XjkHxtN6N)kTtY=va!pTv~+5Z(5>A==#%3(zo@gUxKot3 zTk}>iIE|{k5<#Tt)ptr5(3I~JnPr%5l6+Y`V{0~>&cq2S76|rD`=?jCe^BfGDLbH= zH&BmnAPK6rdr*hn!*~N>KIx#3RCr!cjM&QIeLd@OW-fJQP-opIPh8IAo^pD?TruC=~L9C^y z&mqaQ4_+(*O}Qq$uj0D|(X{_W+*<6sd0RO1v66AA$;;rO;28{C|$rJ^?Bci7WPl1%M z_eVY&GJXa4L+P0*s>A2}7Nth;PsV+eZw8}&A1)82fKpKqUhHS-%+O=+>iYOML@p&534oKR7XeLl#)R$808$)zCTuuk+X^UnPY zoI(uCaw@6@^tCQefVSpt{7*CqaOjKtWYXWqBhdmwAgYvbsel%eJ&52H#1GKq5U<4v zEFQVD6gjYl&d|!gry+&;k#fD_>z~>9_YZKA77A!{0Z@@Kgl{JkepD33fFm!tj^TLV zl|fyJ|5pXnG^DaC%W)j5@F5Ivls10+5nmU-EeZrspEZ}q*`gvj9rlB?aPVjmwj|K3 z3|lZ|F_zB2D4*me_Ql{q{}*Fk%D(ttly%|2h@ev5%#9)(Hu5k4tb|J1i%Y!)zt;CI zW;mQn%gPIW$#prFa!>ryRI+{`##WlQe;*8!8{#Cb8D@!r>Inu4s02j=L8PB-b^%O zSa!hP36Od9k&>!e9#{RkWjQj8vB!($L*Cdm|Ik+ikimV1jpQgUx^I6Q) zBU3elwaf@v(KLuY^CKAkbYy{IwFEP2kL}b=rZ^p;{?lP=os42T!BhNsge(S})l>RK zMI8Rert|GqSv`6Ak}9>Nj~Bfr4QsAGtuX34gTX*{gr0D6%rkuRGeniFE(FH$gx6ZG z19`$|@|++FdObMN1+0uPQ?(4>$0v|3tBevWQ_F%$cmD}UQ)R1Lf&_relqSmsUoJ!L zoT7R7By^`}vt!_F2vILOXp`=PqwRK)-Y&yu=+}7>C7pA6w&xS#i#{jSeI5vP|^B#Nr9QzQvzh$_`IeE#8t5J{8f5GJcvpo9z1B~V<^1{r= zl7;NHLPixGx?V#k;~>tRQNzyD?i$wD&O>38f6OuZxk zN4ybFtCPjZ)g3g1;_^77v*Uz(7Ft4(A*0tWo|EVlLn&E8-EHihQ;=p+xLDh^ZFAb5 zwr$(CZQHhO+uhTiw#{i%64+$5EUyrwFz=k-*bI(vQVTf1WE(7^EA>jmJ@z~`g51Mr@6CwTeUs+3Pqz?F*p6GE0sfAr{bxaI$^ z-`o1(bG7o<>Q6S)n9&7Q2eSn-=rE{6VXUE0u0Gv;?uJ~;0I#7H(lmX;MkjTo4ZX{W zT4}x8*^e(>x-V=R6146G4EvfhE4Nd5ZA^+v+=-<2_kIyWGTLCPkSFfeSm>rdc4Gv5y2c1Mp4OBL6U+eC}V8)*l^ri?}HB}$wlN1zs3i5-w_RnA~awy4_Xk`stvW|GPbgV z-;YsDP%hx)NUcjMic=2^Vqy(O5rtT0B?*a!f3*?TJVif_0q{Jcdw7kkP^UMy^4M zi9{7K!uU$cu-sY)5NBAh_-K)M!m6Pq>$XP3?ObY^8IHZ79>K-OYu+6`LRlOjW)nDQ zt4Odau?6E)eponqa=F4D>Oe@V| zAInT3YB!MPgf<|b!M9ZWul0-)$dbuk@v99)ooG5>5)X`W%(mq$Dh;KzOO}?}r_u>M zS*~>N^MWF16XY0!GbmSR+5lQyYY7pIzxt*~|D24;)_I~4=G;y+q`zuK2au%)%p1x| zU^p7nsC~O8M7YkqD?&50)`;4SM*(@w%IAEfz_HaJi?foVGLk`;G41d3VXG*q)^z!R zG6)pSN&D!&{_BMFN+d|yn|`V~a6X~JxGOVa=%ZH_*R~;+FOE!2{3T?fwagci)Oa~L z%T}7+C!$QEu5liceAgS=Pq$EjLGL8Vl%FXh!kT2;d9p*MJB#UWS%gmA)6a$IZ{+Gd>c_ zk+V}HG>#`Pi;kSa(NVrT{oT-Iyl}kxqE;b+Zi!Hk63U7AUOyb#1#(K)r$lP-q?AGx^=b*12(Dk6YHE#)`d~!louX^Z!)r>B{muC1< zN!+L8(bT7FzTvom`lg;R?T(ljz%km^yja_%&}g+br}s3AN-bAEA6f6hNITJfVJ8&I zQr)-)=}P!e+gom|-G^~hV6X~`NER?}9PJnWsyK2kyB&m=;mB zv7(*!G&QVUi}Z*vfxZRJfEvy+-!7PVB-&ImEL}(prV(j&u6HLIP0mpSf$!Gn_qA{y z?OvZ#0F+6xzu(}(ndB;x$8tpj>F<9U4d`#XvwMo)fM0W{E+i)Rz1g_hYl@`N)1@WL zXPzWv${0;Qgi0 z2P+7=IEkl2FlDF{K;N1Sc`-lvh?&f8ka{QEkRP_RA+iD1f5+%% z^Earn_%EN2hqkKWRr-7-=PqRBE9wUJ;a~bp?UM@%{DgWdgbAj8Fr^vN1YTTMzO^ei1qk3Y* zvTNR(oW76#SU-hC+~Z#O2;+C%itWB)Y`}$J8)K(8G|(N{q(-HrGcYD(iG@c+SGI6< zyeR#HIn+26NU3Z-nCdHR6Y~ANundl&a4c`By1J`&YC0DP)9UK~mb77qH$0T4Bk_+D zFAmvxa45}5AvH^&bL?psST`r$7se`;LC!Rj3kKI7&P!c0cA{mXRv|rz& z%M2P>6nmV^I{5ou8fSj;prg_;F&v-VcFiWk+H@7uvekvM&enf+PeP0#hvyW?7E=_i z;Oa~V&oVO$^6afn!{<0ZNE>xs^D}sS2s|#C;8#*g$xIJcEm-qd4OpXJ_x)5chJ?#}b(Mxhj_3glr%F zO-SsoDdWI16+-*l3dqBdqlbww(@x$Wc{z97PsZX>pKea-=fJIB8}#zB7G?lDHBOBn4m)?y{R=y z4FgrZWffXsa?%#bahqA&A?yUjVzta^IBQR4+4ZWSN$nL|Zoq3nqT=v1;N&Li4z9fx zq%B^97zVOi6do7iDJ&}&O^*~37VpjpvwnN3Dp(y(PPOEWd{psurAz@N4?%<6h%%O* z28BZWt=uk<6V~98$00sv*LEt}bgt!GJ)M%VUWwBN(@&-ZKDBKLDx6(K3ieQ#(cP0O zuxRWiSZnw0MpGO4wKCd_ax&A+ybybVqhL#YEB8i84 zu~GBQr>~IKkNqQ?YG@NRNGyZwgHf1Qtb=vBH$)@xU-r?2TO zJM*|$dDqQEp=(uOyPu=SVZ5uIswiAJ$NB|WPGyJuX@x3Ga0d$O}_qP?7!tx~J=QO2PmRatQe4n}b!=^`Yd6_-^d zsf^T3k$UGMPXbm_v~e`(9u<+`lCIkFMYJGL1I9yBGlt%ljWTj+>PouimDyaC`M@+R zc&M|>L4wWVsW2_}^UDK)x9ELL6qWYjYJsPp*J*@$;eZ^7zJ7AnZJXFmzR^<&*kOq@$CoL-q&p<%J{?A`*wG$ zA3Ms~8-npdYim{dVE-SDRlGj0E-q*ieLCBK&UhP%eKtYf!3fn*lx>o!ikKOX#~;dP zB5u)9`c%B9Tb8{@wCTMt-u2gmhSTas`h#VZRrL8L^!#vpx3K?9_Rj<^2a;PdPyz~t zmco&9f)#ejBZYKEwf!B6zPnXJR0#x?E@@8cv73OALy$sgXZGJEC;1w~f5+?JlP}@s z?-x%-!lhF1F5cSsg&f(ag#WIu+0*L5b&KQ$^n`eT>UJ{s8PuuM?Ss4eJox&yVa8~i zrycutqn@lpg=^LRxK|pQv_1em9o;NXH7KsfnUblwPBjN@~{14x1K7Eud$!Z;NoV zjCT5CXk{t4z7emEG^D{|760BLWYkfBb%WF~o&5WLI2hF*^IZojRHCQkkx@tj`dxAI z5i~dT&fk~IqXB5$0Q|E-oOsLjb|N3{7?XVS1=B1X48 z=$AX}pDG|&JNvhj_#U3!qe|3=7|j8S(+3jF0jlz13%kOc>)+D3nNDbEZp`s@OtWG) zRVL%mfN1iRrcZS5jDeT2tQ^zjT&?JA*;IG`@nOj>bLh2X3iV=WN(a9$)cEw6 zqf#{jX~7r39TRMPMh4GYeX7u}fSjSENsFDdChsdL;&#WaBo5CTwU%IN?U+%kF|=H2 z(qU6Ncz!u`>OuZ<+63R17bQkNlu0r&%i~;GL60|8wKpma4W!c0fL`?!W|GW7O+twe zA$4&ZkQMbvYd2mu)K#@2Q_cG%?Y#(!ba{} zdFTCH7&gdx*PI)|pU^9xb_gE(7jy$-QKUBT4|~qscTL?zcFBqa=(>HZ;H4Plz)eX9^yjMF z-s-4&w{_fQP_>#G_i`#cKF5nS=))#ye-tcXY$JWn=GVjT?PtJV61n=FXx8x+fosbZ;48N_7w3CA`P-an4uz{kbkHfrCPG-o zjzLpucH9vp&`q56Q-l#~mFgFcPLh5T88N1$Tim8Vj$Tb-4tYyNJvNC__6uul4|!4( zY)n#5P{$ITkbVe21OAtaN1BkFAPP1U)Sn3uMh|BnFC7yu(2T_DYC3Yj8b5_%jx%FN zM6~NG=HyGzga7H}ZM~PHXCuS6BLACfmmLgu`F{Bw6h2YUDR4iw=UlM!`=mDkn)<;F zT|8sYDd3Pk(SM$Ib}XmI+j)S`(dHEs7M3xBRBV;WGw*8}w$3v{)aGlhVEMZ3J09VA z=hFj8NA#tt`1t!q&cD3rn?tW>%~J~i>zQ`pVY!nR1x-6_ZS8^m^d1~#|4$@d)v!>t zNEOa}maSnU8>Im!7g$Ypd}&rmNLq21d_MZLSK3oBIV2fzIZT#ZP41n<+~(_Gkq|np zy^eF&tCea1GrfX@Z38JWs0<@aGADTQ7JF5pr6{pNGq|HAU_}2qJm4x3F&sxN;*+kp zi#t1ToDLIa!3zDw0sv*ugOW#0Jv)-UYEdc#7pT%mWQ_Kn;QBn! z)87iD9!xf?th6*ORe6K;^mIH{#QkO*nypT`=P_zo<81P{p zp*03v>Ln}toJh>Tfj9>`<3nj!@lgG>q_m8Y`r`L77u!j~s=%G(_HcF-o#c=xTHh<( zJN5-L%y)y0}Y!eJ6|>tUSmGs}5SROW2RZ%#=yI zjdr75y2+t6VuXCX3LBHE~hBm*wF1B$a50dfxPA%z8A|f9{1&d3F3m7#OZdS~a zYoZ7RS&THKS$8hvMR?{j5R8rWtQh!|QV7RS>;t*CqpAjnV3&*1_$5Z#J+*&mgixxf z5@dJS_UR;9pEyYAs4<|4H@n?_bhW&4U2Vm4lxnQCy}OUn}>@b(SylQikzYfM=OJgPlI$)Gbgd2 z`I6!8E1?Xjx=?t2Vt>wqWLE6K;jPoCq+EkUt3aaYRk{gF2op*f%G?uyfvLPScNh^j zoSD)Z>}F{JTBx9dD#G`P)l66?ePb=mbp3F;N{0h-RIIL`Qq~X>D>U*|Z+7;(&$o|} zKzLjh(H=+6mnT1%CT3$R=sTmZy>PLa1ZHq5{usr*glmLM=$u?2$cBno>(cQjdng;S zM`4S{$S)uS&qu6!?WJX{ttvSY-5gXH0W1CUF=8wbfb}7w5UNa|BVexsb4)W1bv{mG zM7ENYWmQEmd+RC+@=Hk{!S#Akj7VvR&bIj5j?qsPdBSaIEWgOOm7Yq4A2b_&XbvG8 zJ&SIDwX*Z6z!Dq^WCjr*oeJHgsftxCp5A=iM2!_l3)PpW!D2d_5mqe=dJSb)F0X}i zgIMA&m?-){erzp7lfr^1gF33Y8blC z5{-(PPZ{`;QI5XH&K)<;@haOV=XVEn{!Nv&V&|A7v~2g1B${yLv&!D`F?vxhX0GTa zLB0le0ltxQwL@(iXRMQdE$=iVY80p&3$>sx_7Sn37B9K_*@c&&E=rVZn#_-muDP%M zI~EJNvt(MqYWQI?ru2}Sy}R))96rDwobxj+r}wJ=DqW&;SA!(*y0E7EnjOA`8cNgd z7)hPFaaf^lM3@w2a4yab#u-CuhDTTz*JKjc zv9%@b?7e%^xYc=io&2@W`rvdK^*7Nk+jgHR`RsuB?b_NX!1&nnY%<_fh#;#>lbBK5 zBP67yK++8v>uhqGGfIP-h_6xoDMu1ct@w@RH1(AZi|EXi)u@3d_qZb5R6BWbTpId1 z1_gIPoUuELulqntLY(vq6)38Af@&4ALLG#~RfSnOdb^;zPz#Bs9T;)4ih;5|BL-_L zM~cj$!`(KywHfOs5qqVd6=`M`Nb8gTJ)7-wHx?5&TmI4?c`k{aV*fUXQ$bf~hvo(^-wQ`$t$n=XqNt9XISyRo~wySMS< zVtMSOT0Q&g7oL*TxmteT7PPxQ-1>B^tMcmN2Rz_w3}MecEw%&7iO$m|abns}uHg{) z{E4^TOm1XV8o#!55kW6xp(++}bIJd*X)njnwa1n$bTJiv2ak|rG2@=>JCM%id4h7(>hm~RTN zX|U8c5>KB7?53Jd=unxrWlCw!P}msV$t0YM@xbjJ>gXL4hbm!c<%APHxl^)8p{n!k`5pRz1n$8%k_ z-Axhlhc8{<=7x6Ttw^SYVak()nIUTz{*2ZsD%0)1G5QL#EN1sMGxzaX%udz;B<&0Ac)8^t9t!z5JVB$lN-GrMPT~tddqRrt4OhHR)chNKi=A zg9z-m`^D-)`GGWdQ+#2Y3+*RQjjb>Z>E zohQ|tbD?Kvly{zT50U=APm-NEr=?KXgKA?9hL=EsHu?@*kVr|v5(byme7xtJLhas8+;>%{(5xj~m%!WpSt5i~xkK@*iYtcXIf&Z%TA z^s6*yJ3w7ywyyAYnC@Pl82~wmaSRL+e|O}g6Yvlxo#-WD&CMQs(C|= znGah!d#n_Ok@yVFPG6yEt*4;LxseT~E$(|W2s~CClPmT%qsaBI(dNwPv`NvLE`h!d zM%;x6ZH$rmJee|SC0YM?Z+*8X1d`#H|oCS19=JF6;-Kkv@+z02V)gQ1pa*u9{!OCZna z4f+LZjVF<0r!sh{cdfRP49p~L=VZl+NbDug0n@4^qyJ>^US%V99$W>>wg+W@j^RMo zkiU}iYz>i5(Xb8iAEGdAI86+hhZvmU2@3IwrZr!%5icgiKW z*b=?}KGCChOV)KD^g;BuoY=|^(j*%WwW*MAxR!O9x9AUT*RT~yy%qlKESKJxQh_Hb zY;^n*3D$+}>~4PQmbq0^#cXyLXDzE@_E(vXuwvL(iTABqF27bLw%<#lA9L`& zhCzOEYdDzdu|d*RPdt>2*jS_EyM_{Sk>|S}$w{k|V%9&A z6t@G4X?MUJAz<-t;`s-AM+&>g4!CPcGsbpiYDuKPig3(Pr>=KgSNPYffS4LMimWwU zKYNRojL&h>eSb6b5k$9!eXHK%R4AQ(>6zrAW_(S+D3V8Os%qfR)xRSs6H;j5qQ*?s zsSbHF{!;--PkxCHhWqz`-dTTiHd6aQ;Gbxft^KvyA^**_9sfRn@hB7Z8(<6^&;ioL zN5{RX4h(#dq(uYqAK~%_+>Y7-B>R~wNd6Ffx`9-EzAw7N+_V&wg0r5Wd9=dq+m{{cJPM6m}^psIb zgMrZB&WQkRpCRqf{&o%y>sNoqw)|^}U`x3#Mm99Y2*FNOt{K z=g?pZ_y%UB#;W$6%&ysI1qYxHo;r!-B>V$M5Kn%%DKn{aQ##x^=!?RQI!0M*0fcGL z>bs00XD%97fv7*&pJT3*p6`tp(I9)A*9!9GZV*U#=`GZGRL4{rm&1#joTsDwhX?nN zf0%iq;y&h=pvA`TXGsx978G;;29+qwvGb(GO#vKO@w4<(fZBciU%gZM^z;%3Q`Dq) z1)4A8AC8{xr}h`-0AH8qjN&)y*#(|BMiB`pE?qaY6_z-nom4NU#Xo(1vS?l+ppPIx zpP$0kmvfnkWjLlyIMS!GmhH!e`Xr(A3FXBhoPqc?sp#sXE8!iDE=}kh|0pQ{XK^dL zhn+7?mx*)z;{fQv>nrQz@{Ln>yciv(ek@a<3G6(#9|8MD)(HMvM=5!)e3fPY$+%D6 zW-)07c#^TY1fRyW=$fOY`#!34)z!wgbC&)axQ^QX;c7~(l+pyNnJnp|VZ(c5{1lvi zj8`CZD7XV;kwQZ-wE@_XNeNf0s_>~xVYK~%T%M)1=xK(b0ol)<21p+jEdRQks}iX| z(_tQOgbo!l_bZ3-gcg0+t?@zwVS_$f78J^$ttm{`Y#hnTVOpx5Ea!H8 z^?E+%^=V&_H8Im(h|Id=RlrSsO}XH)U+{U&73oqY&I&bl=8Kx8srYUkl|k1mgP~8W zXu~&84Usn+xDTbu&Rv%wt2~)rx#M$-tdk$ZvnXK<LC5XMf%Q-m%*#myv3Kz4u~)oa*%GWkY*Gs&B9A zcrh1{`m+A*oB+@w4QiY8-(;+M;dg6uZ_hjG7v+6O1f+bZ&lFqxbr0e3wraJ3FYZ-@ zs&hZpF*UEMIJY`GWLYuvT(OAuVCYVxJrr-ga++gSaB~K1mQEzvEnLg9{SCBCncaJ5 z4L(g$_V{?MA4BUdHpO8F=*o+FKyE=X^0~eLS0dqEd7Q91=Y2bRGxK} zQ!_v+dJ1APU@D?cHpn3Qv%T}qsGS7RyXG|n(Esy4NUR;*eif$$g>rz$AQF4`)Vs=U z1Oi?I`Qs3&!%)~6QY_s<$Oc6|e|x$)xQoL?Az*4&ummr|B5lC675C+wIm0{>Z?VXLON@PFft(|qj{NkH zGfqovsZ(ZOWFciUs^}&A+Id4T|~((P%%ke%;8eQ zXekMxk$PLM3Bv_0X);3eixjqJZ|3gYG4UAgCkav4l=5i|$PjUy?cF0`SlQPn+l8G4 z@SFa9j%^sQJ>|6<&TlN1l;C9ewrQeArR<@oPuP?#T_B595pvpuHiP@xvBQN9g+5UlzTbEznnyOY)oOMTnsyMlpq zj0E#$W|_Ds|GMBT$h;R=gF&EqYDNnj=07FFZNq9Pm@1=gjG!KO38g{XLH%R(>l(uf zoeq>0QA2WUzr?f99aIqoEk*EQ+QpL);v8t{I-p|wPqAr-&ScW@qb=PeA0kTWl#*>+ zx%qyv721qg&tfMO1^CdDuqw#M!VG#V7MEFCR;oVnL;S&YK6aT6M8k-zO$r6KX*iO3 zL&|eK)8c3YX^|~_PWj{odMrn14VJChO9vu|6X{3ppHq>jYEC+2li z104n9s@B)%)qd(h#oeWjMcYL#r`1?WH1t$q=`GY~bGq=!h$1-EDO7f@L7|og%WGE& zj^m-OjRv{HBLX6>5lGcw#X3N53Od$F)CxZom;eK_ig3n<)gI!30jZgol0HZef_|}^ zEUfymV%YwJwnh-c4gC3Uur=w|mK6c&C$mhrNb&t)IGj+WC~xTqY-R()b{HvS)JHR=A_%BLpZ(G zc6zq@@q1hG@246qqKyPO>CvNC75|WPXPr$qb2k-{2K9tCN`NTEJM9LvpS4Xq&Hm}) zW>K-87o0?%u5A`31)A#Tlq2HK$I{9n;nc#IkWEa?DLf-xhe}UEsw-ldJe=DL$CwZS zH{Y93D=c!s)F|OjxRq+f6~cK}fH6*jBql28${$6C4HRY62L4$2`(7?8i6p`YhuBC` zEO~7$!g6`PG*6EYaa5vYEM73;79leFUgPzGuq%7R5RSA~m|RvsDOWGI6EEmyCt^FP z`e%M~A_CZIMZgrpxrcv*MC627-Q9wQOzYC;F7GX(74`7e*1kjBIighzw!84EVNwefQB2MPr|dX>A-%mc<9u~ zB+OI|Y4COB(5K4|Lg@(JK8<8iJCCvI*y1>dJMj1}E_(PA^}qbwp$w^sk6fX1*N`mWPtCvQfFFW3Lu~56K>^0g5P_HEV&6ihp0$>_;iQKO$xA98bRy+OLuR9-N6dqEaeK zJU~4PveIeH=0lD=#9_0j!5J512jdT;wZV{%E4Wh%I@#Nh_qLvc>u+d0J^uN!Yy+I+ zua$9H9BC#se2TA?JUsc{H9n2Wzga%~OqA<(0P9vUj9G# zv|3P;5>NspgSZ$J2Q{9u4_K~0Timf!;VhzBCMHR-&i{g7+r)JFbdZ&TiaCk%%tMdm z3KEY~N2Iw1Ni7Veo5y6{DPZ{Pp{me7@lF1oUgNACOEm9yN-RFn(|i#zB^>KJ;X9A?q`` zwxmh%cp!^av;Ve{2h>gnIfpIZwI!lSsk8q~WN+zsRs(GM*1SyHJIpeIl*lZ5>HrP8 zv8i_JwAzzfXCDvEX{j-$3eQYAt`PLf=D*!oDsKBJrsSH<;Mn$Zfv`dXM+pAfPCICc z(6Px*3QUI4cDhgl+e5Coam^*;rgU4=YiBG{s<65&Qc=XkzejUfdrggg{mhMMsqVHD zVw7j2*m!jd;&k^N4xzrB9{ZdUQksFn3vEglQP-PfBiUFESWV!cshlSu(x1tld@7N8 z>YJcq%qwEZlGBtEuR;RjyPkWE}~J+xBNf+$(N5 zu-MP7j+uizMHtBTyrhq0$D}Sqk0rq(_dM!+PgM*7(3(#&Y>j&x-F98Q(PCFGjjwjr z_M=0nrbVHOE2NpB3ukVu*17T{1MRr&1zDC;TkBbTqe0;0fBzXB-|q$#vQAS{*x>zf zGS*!T!=*W_S!vyBONE_E6@%ou5#_T#3>maD7lly^i{`YA6r#lUxzD*%42$v>Ol@&+ z)-A0NS*8BR``*q}wMQY1_GZ=hd&`d)%2|}iea0$Y;FC=C4UZnXX+$)G#Y8pUYAJx5 zrY#@%?REha!Bs^~BW>8*w{KYF%po+*?ytxqStWIfX?1P0-o>&IkpLYe&)PtEydJbK zMAZoG3znVuZr1AfkA|MsQ{>7-wCbSoWZEVBpu1g6N$8dOhwm)HDdpxQtNwr&v#2&GkL6yC(t%$esy(-_i*dc ze~)cORWqW30~2-mUvbv4*+7X^vq{ncnOq?Z0j6;!l^BA!WQNJ1L@o4Sijy0to*`Fv z*brj#1pnkGA((awBoyyp@`EGrED!UjA%>x_--O*7+w>~IpjsOQdVr2-v2|9Mkd&ak zAO*h4SkAE>s^m-?W_gbRtI(;>c5q;l5>-lR?peVKad9Zp=Q8z-mGyUBOiej`a2PR{3q>;O)kE14M6>9CTs9eEh z8N>P3_dLjZrRa>B&w53jx@~9yCJ}kmnMT#WU@58k&-%}N5d}N5JtoYMA41xqiHSZr zFqz_y(J0ckxoYAF?4Z-kOhh?&(!Op?ba3Cdchc3u->ZDh7XTTgh$ZQ?7>(IrqrXKk zHVc58tCdIppa19?%CB9LJaX6m!C=@8WZbdy7AyfjK0FkwwiLdB%7w*sG0z+f;l+=z z`j=}}AnD?b-5r!S^Bl2tc*=1PHdR)$ug>zF3*oN4A=apvoxm|m;18HJMujVl2azOa zinyuQjW#k&Y~)Rsqy-5mTqW;;V|qzyJM)79d#T5~dRXRv2zF6?$DkTK0hy0Bu+g05 z6Hu2K>OBU-#IVu8=U*w6)>#LwN&@f_H+wHkvR=nKRz$-g7foXs&DGXvH|FZ3#7-}L z+feLnUw-jmA1)$uhhz*!W1z%-lG#$XzB&{9g*nb@^93h82aFlVUS`OM%l%Mn~;G5D8sLsOL0f!pp*!+tbwJg1dxK zNNV(1j>VLVulakA-R>^VR$a~Dr#c;BNw=dC?^C~2b*D^ff1FG+W$$qdkNE1!`ATt- zm^$X5%q%f!MJ`EC22Dn#Q%ib0siKMZ;qluh%h0VPg~okFX`N$hRo5P(>-V5h-C@S# z#e;q8LknX#5^&vZ(uWIc7V&|!^3Y-uj6`m>Kv(5Mzp(oxky-Rvt<&EohFn!xV)vWA zst^Y!76bEvvM#c{;UL<(7Eu>{;SfqfBhAkD26CunzK3?`wW(zRA!HD5SQ|1tj(;{@<@T@-!X?BI^OZ!VFtH>F*Pt`Su0q6wic}!uT$j5 z{^qC?@NSJeKN@Z-tY)9oLh@KMfhKS?@vRkYH3)vaas+uoDiuQXn2{RoK5sT41(^Ku zi{x~8=os*k51{E1+kpdJbo$=h*{Xf_?_Jy8@!$r~AN;>VTOX1E*}nfXZT*nH2ax1( zO#)zm%81p!vKpxh!Z3^pM~}sieGMK$`PDfs7J+C<(W|{Kb1N@x5WyiE`VXU6sn>}K zC=*_W3v9|#^v0U*ata8l{=F}@KpZvjHsHilbEg+8L6%J94BG3Y=adsx_fY}G9U?rr zSeXM2I!b0AL@LDvwf?5-jdj-hWMN?NAE0Y4KI=f_%QbMJyWzbTz{6jbq?h16Hfc6K zulPh1Un+bPg?89{3GWv_zdT0Ama%MoglFyk=9JfCtj8nx`rPf$`*wQtYlY4#Ck}(6 z7A*hh3(6`}Oo?{#|IMwLE7mjt3ev#%dUFXmy3KDcmFDI#=ms^&U%K2@@0!&jBeLe9^@1*sT@j7~NaxWvoulm(`%f7t$C0AZ8!&|FE z86wS~$65XGm=}sh2!Do3$=jvN%-eUST}pP#$&-Mibk#+KRBpu=+znmN(Zx&dwmzLx z3;@t-O1r0tp94Lh9y&<=WhqAmYMzes3_yheQy=d`I>JAgVaiz+x9$;t%+B*$ zo6j6Fq;33sLMfvy3k%t-82XVozZy*O`OzMeoaTJf1SbDhIvY52C0^T_qT!aAwAWb7 zIl!;M?r9*7JFCLM#K9G&H^*_~$*MF$4kzJw?gLVsvfO^Rm!I>?@@71^+e^qHQ~Ue# zC0M_lLf8+Q{Cat+MJd~UoFCxS;(zPqX^K^zn6n}9zzQiNVmMYe^YSivp_Wbv~qL<-vF6b`k6~F*bsOB&J{mj8dVsA@V79J4XHrm}9S*XZO%| zE!6}ucB+P=`@x?QFCyD}it^|dnuiOy?e864Z~0w%R}{@mbXO8{Zg~}mV?R@F1l%Wr zUh{>zWC`=awXHc47U`icwn z*B>e1O@04U-TH4(?#{_hW&HKMTCoQKfqk6aD-7O_mf|edGfQRz2ZzUQR>63Kt!)^_*20|3KOX8dRQ zR=*X2?!zYf$zJ7h6MX`NIDOAzrF(2c%Qv1k~ zE0AKc`k1|y#*s2|KqJk*d^4I8OwvSzpn({M$6)s1(jmz-_CSn|t||4~_%~DJL5}yJ zs7}przeFEq4uD5L+&X*}Goq2VEj$J7-!`EaGL=P)x&XLRWgQTtqT2{<#j znTdxSRAm*$r+@Kxf9Gj^+P&eg1^k?3|37a1Z@4u|{?IuLhfP*my0!|yWU!M#Tkecd z(jZ}zN=Ii9Om03Eep@5F+SQ0&U<=b)esl_4!0%dtZ({`B4|eN7_8$A{TPCEG+sdk5 zlVPKyfe?3gH-mnSO+_)G`SpIVUUizg_9|yt@*2mfJD3#*H(i`{4nNwIs(d=E^2m7# zlbdCnDxpbo+f$0;vL$J$ixzPT1Po;eUNurQh*Y0|PInshmm3dKh=NE#IOkGh4P{*s z$v{+152YVXro&wtK@}XxyVj9qlAcQd&Jf7#c~tla;P;juvahBrS*Y7iy0Jaw3M{RX zVu-IOow1HmHd!NR`G2LhCK>!~l~}+@)q@PiAYs3j=XCjn)_zp8%9E@c>w&nx z(x|Q8?dryE$CW!SwuIoWu7=jlURL>$Flw-TEA?At)Vf)*2b_aB8)Y5!L$73$UUI+) zEr=)}m{h9oIoZrV1_?^%LVqs|?VthFc)U|JFA0aYC+2ad1O|r}Fon#n@I=Oe#TY3A=%IM-eR zz}eVO3PB!d1@YZP-eD%X3u`d2);Ot+2C-tVXu{*8xl+s&p}S%?@2AOo#US!W41vuZ zIo)@Yn$@+t>#P1HsK<$FqrnbYR%-Ob88Iv@i0J1nC!*scAJNB%q9k~wd_eSwwu{!e zo2@Ko7HS0}NX2Q`<>KQ2D}0YSf-Jm^%paf)E;I?)Ma3M!i4snVb))f{M4npqF+JkSqs=s8?+xEzXB4VI}iI0Ru08(bZ`{(Rr=IthJY|@Y72L5nUL1 zM4)5KI_Z;UX{P6g*`5C)qD;l%0U>V_CZky~U+#8)wexc43K>AiWd-MR^m4uTgKKgo zwUVwg3fmDAgHvdRplQxH{36C6W=`+y5>_T&(88RaBim8Qh&38RK2&ZQCSpBkCFm%n zcy3L>o9O1O(g;xD$zOw|ng=0_h*Y2@*8=Fygoqf4JRto`e~tjF+ma#BI$QpLqhg}KSTrDr&yaHcpv_U=hByMWa(qFIT*! zPdj%%9dZz`EhD9%58)Y+jv+sZ-qoe2kRD=`OP(Agp{VwnCQm9R#Bk1>vhiQ2d#5N# zyLMeOv(mP$O53iqZQDkrZQHhuO53(=+m(o&-~X?TwR-P9>(Sj~#6d(H#E3X}-Qpc}L)y8a5%#RL3$M)=L5G$W+WXBn+N$(%63oLQ(VR7B{L90z_M9^jvr6wN>5aeq?P0!1WOVB$6T!oqmm2E+CNGlt%It`f& z?VYINd-t}RWtOK6JH<@Z0rS6DxIxVC0H=1#x4!JUkFGh(-#aTZ8|nT%Fo(SMpr#Ww z8d?9I>(AG10@F7%+8|?6P{R0KI2aU%<<1iKC@uxma?zxLbYfbj?~|l9mp(A9!W#S< zNXkBiEX0|{en;}z(R<1L;;dbyrn+Jcqo3Z1!MW;mVGk*zRnO`y?hK-ZPS1v}uCAU& zFH4otQ);zr?*<%2N%Pfw-fbw?-IxujI2R=~#VH$UwW(a1QpI?kkcBEZ1b<2a%O-uC1LtlV;?Tv^IGvn)ZYkMTzu5GwyBf5# znWY6N6IgUtd{=9RC0j0&tBq|RKi@PaB!`(O-Z7`S0#nMF2|BQpU-eK-N;Q~6uy197 zVEca=BAov*;h-f>$tW?-Gag9RZcp-S0kQ7LIvIl--)c^wl|DnE!sfC-MHvzM9Li$l zJ=*{JK0`uFdbJfFrZgME&Y_bZsj+W$2=d|d(Bl*z*YF#V|D$*oZoO7An1SVh-2m>H z#AzHT^^VNhtqi%XrV%t;>ZaaEez4ADCUn*xI7Zsk%7#U}*T#WXyXUt#m=zy1XC=BH zP;@}*zl*{#SXW^JkZu-(ZTt|$MYiCokJ&0V`sfgf*U_r4Q%}ch;&wY#K~15hdZt<| z;fO`txHT={R({2S&2(;d#OmWA#z40J<^X>hkv$dMlLiRe^Q?3`Rn!53sys?E)a|cy z*tfPtNS@!-y;_=E4EMsB=K3iv;wSsfow+lbr^yX>H=?!Vr&vs`t*3Gf`vQ>9UFsd* z?0V%hj!;n8;7!}==`04|k{whpG;KG=!Hy&g1G8QVa#|ev^;;T=!KepBvi=C?C&Kf& zPrp(K4Rz&7YPPo3C@L3RB)Q;!ZeXg|Cz3^YvFZ`n_8+HfTGpU{vLr$z zObNuZ-W?FD4dMe)*-!R_Z7H;yx-harQt9=8yw3Hz&9Mkadg#@R}q)u}?`RwFcF~=?f_Z18w#mu^H$_n{ix0BfOXy8Gin(F!enl5jvSl?RKBtXD=Q2`wa*Zg41C z4$_z8>;SH<%hD0r3)MKxHU2^fpdAMR#XlH(YXv&NOW$XRtRvz#X1~lhvWnHG)(V9F zRZ}p>DkDTxoYz8_2v21+?bs4tWV#Wlq|1Pv@6>(W_e+8jb$njdS^gq!P7w0zJjt}V z+Sr3Bg)LeNO;>Q1a zD-G^axGLt*be=>B!>OkC42XNVh_ve03I*NDHE14YL23B$DwXAr@$rA|#`wbWc4oRv z>4Dz))di#Ce6qolB!5N1i~q=0l0anoo1|kR%ElD)bzq`{`@X&wFA)JQaXp~~>@j?Hcq*Go!4C8gYO;pcuh&mS_=Cd_)bO+gZ zq-Dlhx4sY|baasUcS`OQ(6ALrU{=Dez?~76vt-Xoe^``?32dY3ni`GnT%G8k(XDqE zlGWAccV6Vn1ti|s#MUq@grHY48>+q+2O>a_=F(>EAQvJwY8BR>H~mLU?ynQacm!(8T#o4hCW19q5j( zW*4s6+Z(EJG-Pw|VP`jVs8~GIOF>6UOl~r&(jO5hXqrOZ`$0qY<}MumX6{D}Rn)&E zhVNC_bvbw&6er9!xAB&$YT92_Xh}-y-IRFmyJRbe<)S;2}r4ZKay?^M}eiL(GBW74J26KpzBC167>4rqOG2{*vK7b!rkI zTZWK*b;zUgsX&d+_>D?L4tvJK7>p*Qx3anl+PPDfDCL)G0S66sq(*hngY}mZcv96% zWEKKUD&Xe#SEV384g_G%{}0`|yw8904Y&RShyMQ(ZmoRI&BoY}d*MgFpOpAg17d({ zJ70+s0cLH&e5at}r@8^jr2lB^7f1wG$0}D}(z=n>G4rJ0@cYD5E0P$4zvJ-lBmg&I zE`DT6i9P{+lDAn&Eny`LJ@Q|2lb&nCP39sLIfnH)Xg}onRDTiyw#RiXD^=nKfsBz_ zN0m!*M6G%rzFqBlM*}f<;Z}a zqL=jB=;r_6mDHoJ9o3htEVj#Adm3@S_i#VDJv{+@Jw1LS#Fa9$JaCM{;!s>$FKCM_ z(FNK`?+#&SNOJUM{Zk-Wqg zSp98}bxWp8?mx-hkN1VMxR%k)#Gk0a%)0b;@N@6-k$HIX%Bne-i>OV_h9Z@U+kU%< zyW1vR-kl+1h4S&>MbYIyejofvyM`P0(IB~=uSkCGBh*1%tL~vQvYdLcxlgd0anCkW zW3B8V7{Vw;Tn=B^CFbR&J8L)zqD;XPMonlFfTj$EgNQ-WoL`KsSqr1$RjGT=qC~B^ zbNK^j@1^9&EvvxonNLO{G;jtO#3#X!;NDZbUC=8zW+Uv#A|uXC{if-NS>?&4-|RC7 zo(A-SDhf%zHH$yrp;I#9c+S^VfiRhOrt}_)j|Fqy>|Y0~DNuA>(<0YNbNE?=EYv5#|uO$|JA3Py_y^(ozp}vz~}a2(Rh?T zf3Qn4UDfj8>h(k~<{9C83J!a~lAwfRu1oI2h{ec6is7aZj?W-k1Z zWL>5CWbR>BUNS%WtaD9F>YhS17={Nl7@I=V?$|yJ)tHLpZF-*7NY-&n|*7EX6eyJnVsD3+D`N0 zZvE6S_on&TgSU`G&1%MVY!CI%IQ1;0pK|kavR_63V0nKbgRo|W#!hXu2Mvsqv=Ev4 zTsA9R8KFpK`_MUF)kJrzd}Alm?B=YaSeBT&u|W1v`XqcjZ?jf<#Gr7y@P%gmH}V+` zYUaC!v8lw;h>UGUucnNAy>#;uLnVzi6O0SF_S)m6Ew+G)-muR~zEF~m;x+?`3Gm0* zIty1eyMil+o9DV_vH)Yj(eipNeK-xiEa8fU<-hoc7pJO0YH@n zu#DEMTiDp-ewx$SwnUv7IGCD))AJwDq8 zb`aLGJLP3Xu4oB4Al!LWMtJ&y7cKT2Gef-9vJ#tTezbfRcmRyd-k|{Qj5A(`{6}9Z z52qPBH4G4P)hRaqEF6}5$+BHmlb5VZ+E=()B^faE@6t%MA}dToAE#`5(`#TA@bJ4X zl#WGOP47x@zxA<;nOpg$cH0h7b-6j|lB??x>bZ#FXmzDr3f8<+ME^ox4e+F7fpBzq zw`J4@{%*VSyDi<1)3l#<{QaEJXk|P_9c8j~X=w7TEO1vJt9+0h{YAqu6G1bX0L-~2 zrWPM?j8Vm*jK*eiB+Itcw&rUBb~JFY)!cF1O4n*>Qmmx2HtXQj!^Y6VdtcdlJJ%{z zF?ylHHU{rADlrL@BB*|LJw1~BBA@9en`y4q@{#O1$A7~-@I|2Aa7fiH-k3F|DmL-8 zv$M8dzTb1ncjk-!Koc*diApmv8p6?jc$`pt=!Hv;Xs(t&Vu6YoBY@7imr5fsDw2?W zz=l|gVMS^NMZ0emE@id7z;d4=K2FCVc|Q(mizj8Rc~4M@{KXODJ$O4`mT~bL&@Vz8Rq?m5Q&>kG(`iMOA?0f5Z`2DKZ)!M0!0VvD;;L>3S%U-x$ za0`M*+i(x?pmBN55#U{H`=H?BK7dBEUk{Et2HoD zwnCunbx|&#L^Veh!hC|QekB8?9z6|IX&Tr*uej(6^|`UJ?!qwZsN%h~j;nhAb1i1FcCsuSHeMxCEqgX1@9QwUe8Y!-f!_}xjml@xKH z*y%>5KQFQ2AV7aRklfj*2M)_#Pq@n5cinq{&|!hH?*mGR2Bf*Hxvj|@1XQeFnEWsh zG^kc-U#&heqFG^+VO#?$C@z&joQgDn)t(TOL>KezJxR}YAzS(bB70w5bLxqsrk&U7 z(@axYV%5iqS;tgM7eJIy#zi}ivw$g~M^}giLB3@IuPl6KWeN*TO^X$O2|$jc+Z?%0 z{vWUjge{;|osHK0Uws0q;YnmaX0$216DQu9&t(a1$nj{%Buj?tzfe!ZYF>XB7*Ci>hTDF-K6?TVA`@K zqpttvF4(Hp#;6k(!CFRY4oasr$e6@VGL1*hLQOX|aukx1XX6l?F(%xxJ7OKV0pHPN z^)@Rh%lj?_8={61)rmx{Ryh03U`}Ls@D(HkA><%6?a{@&wiI^qE3sUsngONbce9q6 z*+I&JyEV&|y{m~$y_Hc$JAwwRDqQWMkV+>T&XATpNh4)EZ~cu(`&I%djVKZ14-Srk zL#uy00+9Z_#b02y;zaP=3@%w(N0jA#0~6vmGXH0XfDxG64ktizURNRx`5;{W#Tk@_ z4ksge-Z_Dl5;aa1R;m04o?UdHH-fsnkr6%>Ll5$zfml(kUnkDErN4i4A~AZ@+-QyC zYipX21$uJcMk{TP_PmwxtpqN*J$k6q3oWPTcj~rc9p3#&y-B2=Fe@cu=z`)H8BgZ% zNCQt}4oP6UU!4@VT&&HmSIb%J(8J7BCmXAR^)&A=>}Yu{9|`D4@B7Y?EeA_0i-b!H zb67GeJ}v(kZyh8h0jV~Zet2hgD+FU)5WsA2Tq&>64nw1eC+=3f4o3v%O%cpE7Kn%_ zzcsTT5!_plTJ7g;W%;>KKnhua9}=n_KS%n)T9E$x&Ehl#9>h_xyq-kfkXyLG&|9_3 zGxVm!HB|`ma#liV7Nt~;{APrZo4w%AA(iQ=jqxB5t5qITB#%A9FO7ZK2Z6?Bp9PPfE}6t{m`7bxs#egu$aTm(h)O7z(4sTMdx zauLMjVzJP2srebGdp-zF!J_|2!{VV+{W)r?Vo-&zGo3O~q7Pa_`08OemBeX;UBd>~ zO46FmXJOIFAGZxAf2=vJ$F4WE9E=fDT@&fF)1jVuj z6J;2xNwD1;iy`S@0-aDf+zdH$N=)hMo^7ivRBh?Z}%{MTj0kl?d zyir+4B4Hc*pM>r8#{hbpDi4q2FP05oJ4BwlUmgk7H<2sVuHM>mnShbVtLlnR*Y~02 z#7|cw1et}ZxKt7zK|#$~(hf-2$3qib5gNR>oYhK?X;Lf#L{6=$8%NV{&;YOiQ!yj( zjs=Yx5A}9dTJO%3-D!$BB=5&YB`3{!<18X-*$`)zdH#0+{?$j~LQ{gg5DT7$PK}9z z4nd3|-V3ghLB)cV^X`KBw#+>g7m)+wU*K+0Q06A95$(p80l4JsQ-VYs( zRNe2jZ>xW@IFRGbI*TRAYT9-1y!WTn`z$Z!uS~$p^RUbB&z@DUdw}|AV^OpOM>ion z3oYRlFnZ*|ZmlPO_e-dTj|dDA5tM*9soOxma298+1%9C|sz@c$k^LX>$f)m`QjLy7 z-?4hLJMqstV+j%Bn_6$Sin56;?c%S!bGc^U~EI%GvHJ}ySb`x&6 z%{*$5-qZ*dD}Z?xg9!mdOvqoINME-?#eJ?O9&G>S`mPe~ng;?qi?PIj(n5|SyN~ms z$}JZjSI)~)%T;emeo0pYVV4^Sty?VyK+YsE5^8D`kk8m?hmc?)g;`dib2+G&W)f_j zK}s)WudV)CC4T&A>gbC!EE?t;G&Z??_l2cxE!$*beU-=_rZ*f2>e%*%SV4m}3!}-9 z=J3j4k@`S-D|*bZ6_K7)LnKGhm<8&CoRtWNW{07g2A{^l3E>*^3;5Ftg!bby9R!&Y zO5ba$n!)E7@*5@fs-M>vI#7B~WgzWDcbiZqRs-lPi+>Oyx_t;+F{B}RDxHeYtGF}V zeqJ)#H!r8!@XN%!KjwE)IYKU+=99nr&ktF6mO)ao&;wGU5zHkG0;X?OM*VNWl*nIG zj`4b?q4*(n2x|l=tnXLbfcef>DW0ttfad_9<;~aD+D`chaP@WlJroek>4E&}2?p)? z+T2ikmKkyhIUr4s`<@*MfH31l|7wTt^bK(20gI-h9lb^`$=I*r=mwT9l0{~J89zUXj|`<0LGFjpR4oFe*%B$iJPS^5yoap<1| zaC#d&*EPFhaTKMn#^x0tGkZLonRSTGl?u0|NfBKwa2W$7$B0}JFFC06_Wq>NA# z6*~}DU)IH!ZGTMF_xoNMYq#<#sb^Zd^)FH>SjQ=g(z?^6U{Kl-3AT?R82{8T*sF1N z1J8_O$3A8GwU)-TAi7@TDNBU=x2Y0RR_=9|s`O87!g*h^3VY14FhY%GmXBm(W>Ym& zx^>EVK~io(#glSYs@x2D@S1T+spI8bOVQ{TeQIf(r|qX0?6j+chXGY@n(2fFzTP0E z%<`z?xb3foc>|X9!*IXN00x>-tz=}5oGX>nWQ5XE;)yd#@WO6=$kS>o*0Oq*pxXwJ zducC>qRlPd2W3J;EH}~QpT^4&l0v)jZ>L@HjSLecYME;UB(R#q8|#Zj^wkmX#53NH zJ#O3=5iwlYfm#Q?iy!=dT6B4a0D7a$U;t0>S38tc{F32V=SB3!a*dIrLKyH|P=s~AZ@m+;6LX5JKHcqDR}WSdQRbZ*DTn7)rqr$*zerlE zMl{sy>QbJ1I-0u_bO0NlrLW)H|LdNwQd-(nSt@fV?CSWhn<>t2+>ta!Hs@5w8$6tL zsXbYq&tt#oY-ynB`%+=O>jDBhibhuX`$bMBUik(W5C7KLhsYEjxg^*7eD?Oe)GpTf zhtT~U`??wz@*rbFi+H&Jq@7dm#kSu({f>e3k%q=b=oLAf*5UFTVmdxxcI^`^z*55U zk-gdmW-p@M803O?6Sunv$xUaMrfBF!8V6m9+HWL zFHfei%>k5^cnC@zE!oqw%zYHF9h~nSuc{{p zLCw^_n$rNB&o5InfJNz!FBgD*-{F9NjU7w7!as#aQ)X7ddo=(p;fy}bgHAXH$lzFkyVJ^FB)@bM5oWkz3JA@R;#TyIcsxk!E-7tT_1B{1*AOmvMs&j81dM#6 z16T80s&qL}CGb)aagwc@KT6gke!s>4YVR5D*2PqJg$jDV6KH>b06Vj#xb7z0x-V5^ z4#z-b2p8cWRl7%JZm?Zvx0v86nqRMVT({p{-r}?HIDXm``$|1tnHKY7`_3j}$Zn!`)n+b3ZZjn=-S^vlt51MG zdcdAmcxXR-ojfl@bN~QUfB{i#;E)=FAGZw*Tx;*c96+uQ<}2|GaB@T7#_zoIjQ5y> zIQUZ^W&FO5yzN=$V`DQVeXiGFtD#(rv#w96W~7%Ax^|SOqb)*CE#Rbb=F#&#B&uDo zsWZR3!)}bDa&TY?TjHQjv9jzI5a!z?bPzVK^>-!(+WP)vfnS#7+Kre#De!HD&Do@1){BE-gmQvITwOjPKC0(y1? z^O*&Yr9|--rraJArRb~6Tt(g4SE?lYztxcn#Jbf3>#F>?IYC1B*+cSfjHpgAdr!B2!VI!k(3^l8}j0FX;Af1F}R<5!`Ro?bT zt2+|Opg~F{&syYXXZD2LMkl{C^aTFYrvnK#B;4?Nj9&uuDWvmD+BxG3Va`4QlD5@d@0+|UssUHdK5cfB1IR-nUU;`Lk8G@ z14jmNKubD;1DBkId|pAj6Tl$mLl`omFTFvFnAj;?AuX@F%Si5bqMH5#8$+X|ohNqF z3fe$J_`b6DVVjc1dKU(9Rh>o!>M7#X*CWN~RZFs;k-mXC8%lw%JiN{gPs#D|B@m8O z8tFI9O8jC`l>vp#p%T+Hv5cc=Ayj~vYKTJgCO{y<7+&0cTAgZ7gfjFl2niJ|%S@v$ zGAo8~vyKNtkVO|;1bTD!I6ce(sz?CEn50zJ_^BtFjq0Q!1NI^#PJfVHHCuly5=17y zykEw`U*;|2sQ3DQ=aHId;oQ6tU~{E<)RTSn9lQ$-=9z$S&pGnUQ{b9hi#w9O+^HRF zJRrv5edsh{oJWMdW!0vLpZH+EU|0IYJU`HKgC-D5#CpmrL zvEz`<|9Q_#?G-#4zUs}_y3?%zKzpd6*aFsd zM0yM+g%Irgmhq_D<<`9M(CH?wnxf&sTSxp!WvV=_AQS9`a%UiZlgb_%c!fc)7oYe! z&^Pfl;UjlVgZ%Z>ybHO%aq@*nXQ1?2aZ!3rWwXVbEA>BvDVl9-6w=g za~be_Z2R=JbNu|hC0P*6QGJt(w05grS;6ow9%U=w>>{RK|9k}L)CZeT^C_|r-c$W+ z)c}iMY6Xh>BPh%TGgckBw4mbX+m5*udk6xpLy(HFq;jHy@P#6M8g$nWQI7!789trL zo%;QkNaK#EyNQ|d%bN*{vB2)4cKvOrQMf-y0qRqtwg}D$le{YFGEB#0Wztuzj(VS< z-agAo^rJ-szritC^(4X7T&sX2|se8WSH85pO^dvPUqDXL03fx(}L zTk~i~qtG>BAqhd_x(6*f-R87nz$q)#irLI#ATot0Sd=UZUd40!wjV$5C=7#N-e=5_ zQa7R`3`5l;G3{h;ad5<4J%g*{5h$^Kr&@4V=l37=z+ezlxD7`xS>*eSOS3`=_Ydc% zLEiy4q*8MPkaMIUA{?2+DPLhJl>0h09iIk52U3(BUn7xMExgBkmdinm<_O%H!DbBm zc9Jg~UFq7P?721MrnkNdO%hy|A;J&pDLeNqjdmp{`DjbFW-nfD`A@5R8r+ZPNl2Qf zIBHE>N)s#b%dLFB`=8S){mEvz@2)lYzx;=wsr0y5jrh#y(+47|OqZ;%&AFFwLsU>G zhR@8i_Bnd}C82{hX_4qw@)31s{9=|LQff~L#Gu*!vYuV>sE;qUUF5;HBVsJUxl4+C zwZ80>ia`JX^bjNDC3TK4mS^n}-4J<#$2JMIl%p?a7f$={dl%y9^{INJAKe7!DU|db zE8pK_@C7ENj{2vp6-&hZO5hC6QH$Cmg5D66@27j?heFlB%7x-X^x~3-<5Y=T^&)qr zu8cE+#5W9bTSLxz4aArDsc??F6N)IqyS2HU=*PcOs__MA8d9Kr20AqJTAv1VWU73u zd<`!ze8vXzJoNj@?mK^ss0DxVU_VSKo`_KEQdgzl3sh`c@25NY|oAzy3)NngJnxi_Jug$>7z0seh-3$@G7Hw$Q$H`a0?>>3;)@B4;qRSOEZ+9Fcz^#%Qa zjIzWPY}q%xdr(te3UxR8@c}89A?FQP+(rvYRqY1tn!}O}%yV>6X6@EIQ8`$ao@5vP zW>7F95(kbIy~n08*u&TFtnr`|euBfe29ZuTVM~NEh1lu$@jLbbmReU97zb?N)9<19 zkD1&j;qH!s(a64&nSUuB*S2(eYX^S0pOa~bCw{+~CW{EZBAhZ>AM&$noOm!KI+QJj zh2wsAUC{lP^J6OzKgGt0nC|gn(8>O5V+e>Nij%yx4oI(6L*)Xo!bXHKwgzq@=`|xpO9>HTE9F3~!%)D^`yhDbdM#!btw*vCf zHa3pY>_+4z99w$V5878K6f;c7=wMNABA3OO6_poev0#*cX< z=uN~t?f5U5tOG&2#T zQjC8qCVdPO=WpV!Hzas|^UKVv`06t0SF2)3?Qog|RoRQ_(dEzXhfim&)o5HHK|&Q# z?J$Q;Kcj+qQ%%;5!;_!D0rRjt!CfSg1u&Skm93d5xY|U}XO8J%nNLOVbsZYt+-6rn z)BP^<%&m7BO(`tn3wu-gVzR*kQcBT6tA`9}4F$R1D}=y37auMajI+H~x%(oTn<*50 z`nf%gDy_(+jGk`%x8mP$Ul^3%iv9rJHwK6#7&@R1nOY$U`%dGXsJvaNAm{-7ml8yT2@%{$1(=H3Pa{W zFcd!UNs~mC1=|Kf7JuMoATa|hla;)f}I-+I> zo=)RA4u$U?hJQ?!_=MG|T$tU&!^%*1(0$V1j$^-n=c~oDFej;X>-OS;hx{IW#$(8U z|JQu=)Mzz2mNtpIhSB8O66?fEV`V&Io9B)#D9(mYk63^=SHXz`G6v&;KVnbP&Bu#F z{^#n=b?0}&x_8i&A~VvjDv0^tLdzZqFndMY1XWEf0T~7=ag*(3)G98wF!9xt3gM1v z<=7z0V%xwuJc)7xp8(KIp4Sy2*NC8-FBFg}eNc_I1q{ zFR!dGzQLx?M>g8>B6@{OM~k zR|2+{GopXwmNujHtMm;;g)b(j&KM)`(z!IToFKuSqerS$RLNQY9siTSI_i4f&U=F> zG81R1X8c&6wPd{e9>)Tvf5zcl8g?yt%u!=BcqJE*N1O3B{6H7lT~bxmKaqv52W>ze zGMH1Jv?SwleaL0HckR+U^ipsA;NN(wEzmpkA*YCYekb@m|JgnuR0F(!fX}NC?aK9; z#UwTvduBW(xhNF+=upSjUBl)gx)zrbOCA@^>1WLocS4N-iFfym)q#zc$nM}H_YvcP z>Uk8LIL3x4hKNRU_Wj@D;g`1&@)(X}*dY|TU!?VvlchE7y$4l&Tb~m;2H5)V;>&L~ z@apQ{zwww9urL<}6JJG?%E-L|wmWU{0U{~p@TTBSu1~Q(i#lg+KC47x#Vfx%iUC z`0oBG!;zgy-Zd>k)v!^-^if&UybU2{>gUg@XAWA+=07a6wiw)>>MD}%QWYktVYKef zEVG(Sf-Yn$eA9vw)?Im3_jD52e!>A zaDOG&9^l7;zR>kGc=Q;whruZ;9qZrVxjxm0i6R%<@^VOPp?n=gYVy)IFm~3r!T*SR zClmPa@o{>)wrc(jxhoj{uMA@GJ)V+O#m{k`8B{9%cl%;@cd+Y7ITDRSVBl4ZkC)%f zx`|g{2=)9+$>;|!9@9xQSGNJhV6To(+F+_4OLLYRE8UV`Y0Ufz1f|W*`Iqdk{1)R#& z|3$zlPnr1A*re}^>eA!ae^^SxJKj*x^l%oNCquNKrhN6ErJU|Vt|FrR5l)eV)bU{d z0WUTYZ_8S7_px1M{gx#ev3@L#dFtd=giL&oHWW^a{y7`!Rf8pn&>m^G6lcN(! z`@2=(E@RQL`KLnN)4lP{>3blG=W_^&ScxXQqoh_R=qr{!PKd6gH5aq2Dj zpbJ;q_DYS4vyC!a+3n4prsad?xgowCtE(puQL&okoSTFJO6z2`JSCuV%d4p_=}SMF z5u*riRyFs$Ufyp>Cod?rlej3E>S8trb2+|vX6M)$arJm-yHZOJ`^@%&t5mkIs;Nl! zX!M^UGN==hJ<#Pk~&zLzGzp5gW3=SmFV&syys|4U2m2LSz^W4a3v z+r@rmyD_>Pd}HzmM3E5o3pL;eDRatu zOHZW>Tv>mwK!HhzkXM~Z-m$?-4KHv1KTS@<)!JEXa{p>_$}JXZ_;-_&WNFUosm)p7 z-!++SDq7u;A+0F}FEDUB)@sc^w5w5PADhRvdflN;I34Nq1cp~7Hshoa@4~8fL&1)e zs&;Tgyu;^LwV{ol&3v(Yfa7RLu1LVf8vVQPrL*fFwT~Soo{2p`(wo{)ft7n{KQc|T zDK1P|pS)D7^SP3dL1p=|WvV{Ql6I>Nb8r?`Lki{jh{w@Ef=u4wk2DJ)mBj1vsa#;xZgc%G*81mXa|qBnKNT+3K14f2pIZ&j0TInNB=SIaMZCh~LhET0)E^8%oNp z@=ZmWG#gu9+XBd8C8gRgNoqf=Kb*yf35b7-uvm%+Wx)5yCmiKl@m_V zlR6>vJSjv~51)gBwi)?GU?;qS#*icaH`Gs;T=!{TJK+Kc$lGLu3Zvn-p0*C1VZhF& z?wD`Ru|=U$mI*0ZJlqgzVFyyU0zU!?WK*U-02~2ofr3FARKqwdS{yasK=^$h6Y^jW zTv8&a@mAH41O3JUm%|1%F+VJ!^XD!y@E0#meowV0u`)+A5xE_*BqXRQY0d#&wqCXw z3mFhI6aE6`=fN#5n87%%9i}PXs~XGB-Cy65?M!-xALd-V4=fST3@5x)h*48HN72x`7`pXi)KekY_U(5+X^|K1LwtCNG z@j?o1=kKQ`98U~1Of_tHiJ+)V+y>o9ThHm6QPvjB{x8c!D8TG6B)pg_nbluv5vA`6~&hc>1^04 zq5?zVXOGH5&;)zN%W9gp5Lc?WPz#=zuIKi!dfh~#sOW0K*uOj97n-LA1Ak~~27JZ` z3{rE^?&n_Q9p@Z;fU7fbg!tWaJcp0|BLr1IHdP;TX#ws`lQWdH?bAKbV_9KP{@seA zE@Ci(okmiE)p`ykkF6Wpe-$qSA=Jvc57*V-{g7eoV_!W1|Hg!~$3n;mwMeX$yN$1& zAypox0c z0b{v)6f_3}lrYJDm6-9S4&2DBqFjXo9yp!Q54&IayMc)!wi8&?_=pYg`{zyBG%uG5 zTArt~@~&xtr}GDJY+_iR=Lvq>hrqq>$`=?^&68rg=!+Ba`qqRuuvSv4fwqDQC2?z= zKMviV|1Vm@K8bv&sX4qqdDes2T`B%vdJ^m-1Rk|f89o##6n1mV&tDT(bH$QH=1UZx z!0OfxeBtGR<*i~X)yvJemi{Mxh2=uu;N%I;xkvgIYZ3_|&n**t#+tqBpV`)H{R|Iy zEKpUM+9Dy7&OblOW#kL@pfrbo>K*e!zQNWKI#zl$b`#B4$OCD?1o%B6|99J_kBA}(^g8k+opHB^y1#i$K z)OSw`&SF6CtjyvYUXhmufoYFU|CoT>f&M`d>;vxV(CWHVc#*o{Nk8!!M>o<*9|0O} zQZD}QxcaNQu39{r74awzX5^^Q62%LgTjUdV+w$-F+L}n!Z$GF6($#i)K9U;(@Pb6% z!(BO=l<;HPai)G!a#EMM=AyfmTOnrS&HyV0W9sJqd$8m37_v^qp?_5{ znM%(S0z;O4G^P;~)t#Bp?{5CPf~iv>c0h>c&OG5SdR6+~2TR!rJg>7tg@bI~;2L6h z#3R-depZe&K@Ij#`xt?YfEiy;9M+R*YOJ-T%s~U&u|u9a@AStO`@0B?Jc! zXZPMXl2&fD{Xxk;UUXACGG4#_2cYB%XOFrzv-s|kw6-jK{st&zXf~m6#E^aW>S;vI zcCWm6d`ecD&dz_p4s2`TTb8_#`lWB542^?sS4~E#6i%djt)WKsvI2MGV^N!orG;F` zpy;A(%I-9=Y!leubc%>(ily1u*T~oK$jd-FT9{Ve#=Af{T_&HGWo(!XJ|85GE_=|Hw!P~I$>Y^lbiPSOVT|==O-$}p{b#OH`=JsPQs)A)G%dJ7O}(g-bhhbs?N;knts+2LG=U6G9|dczomZXm?F$VKE+%;D=z_! z&21YxXTG`neGbyhXSjQWhX=4?&ZlUziG>W1;+sOWKB~=@iKyz)Luzd`uV%790yTw5 zffox{Asz+RMhflyl=*yxgQCvC$=RxI%FA|Zqln}ZcTNkQXEs~{L}oYnAdfKN!wK+? zOk-G21?oi+cnZ39a0+w<^6fOZ%QloJA=208*nSC4N%|v8ssS|$$p`1-!yGhTJlev; z98n%wsZ)ZJokT>JJ-*~v6Lr2Moz=xx`Qp7j+~fH1CWk45bT~*%8K@@F;H1$GxN-ad zPiah(v9O|`7cmUBfPwdyYJZX`K;@^RE^4RN0=TGRrp6fd$c?JZZpzBm3tJCZVrK2R zM%b4W+Fk)fFYJ5n_4Tn!`j?%n+B3i0eN!`&f^0)Aw3*c9)g zC1(th$7kY!Iqn-5>YGDa2@9Ek%+&9u&fc^WXPkV}SYkB7598Yy(^5(UAV2K6Jsd}= z0{nFcTnU{Sany!O(rIyz$U^+{7(B66B^aU8uIy}^k@CC)ZV7Bf``jo7qkf@S*T!g4 z$Lc0A1`5|ZGX$V_0iyn!*>PlEd&Kbtaa_W#nED%@@|L^R>Kls0yVOkj{0_vs@D&{( zU}txsSFEL{KkfRQeMt*F?Vm^vaYHPkl*J_#L7X;834KvclON2+G~`u{J#8(3d5H)= z#1N};XigxXLY)zb_f?Dmd%9#^*e!{<-L+VV(BSuM_z`fG859Dv*QpYI(#xnSh1}aw*~-pk(0m=<@Xt4-sQ4{Gz;0PLu8FK$WDuMO%C`u2idz8Y>sMc6irY+h^}!s#;x(y zzpS4!m|@`+7P_7UFTtbbqFVZ;Klxw7>Jum!manlkHop#6lR9IDry z;FJD^pwsQTK6*q=OnM183_9`tx;u|(`Fno;)T0F$I8D=rGV}yjlS$~ z@fEApb%!pz4JFvERPVAW;*EYKY|^}kBloDjJCtORQYGh;-ISEpP1L8U^3zVxV6B0A`c_~5%F|z7)r2gU@z$G#bAdC)Dac8XDEO7LQseF^3(_ye$j?m2HoS(AOqi@_7!f%X;Yq+htj^S!p;o z{ zWP{o1v+d4T**)GwB!AL>Po*2~lHN0gbhtBF^tWUyNtcYFo1Dd5GG{iAhjHCk;mZY< ziP;1>(jV2L_S)P7Wq5#Ew4w5gl*Bp)D$Da4Uo|u9PtRb~R%Ojev_sNJWC(vor_x>e<7~STv4-F3R@BLN0Us&nRnrH}v%-A416+g9 zW&OJKlQ-`|pAe{%QHdY~cBHs_Tk#R&yd?QNjp453cVQ{GB4z4Hua;&Sj6v2BV?Yuz zTMRYXE8%)dVyq;nE*w7fiJrewE-wHATzB%n(R{=Pq;b99+&W2rUerLcMg}{IE%Dz1 z?k{{@sg2u)_33?L(izTbW!X(I#5e0P=}oL1~gmsQl|yrdj6TO2(!uYmPpoAs}^&DFx?bu zBw<4zWBUcpBEinlkofarGGQ<-YbSYRMo4nAmk8w~(w0QeMbd`G3M{k5(Hx}dEyn@e z&TFO8VB=g+EZMzVjth0Ul>O#xk$oO7I;i0}S(!a4aKNx_BcG^#srbE`&Fh8tdp?3O zPM-jR5W2}-hI?Z|cb{Py%R&cL1VeF*d zswspP>bMwjmp_yU+b04$2n$;2#Zg{A|2r;YgC!xhZ*;g=JiwYi_p>;lGB~Md&Drdz9B` zf>Fq2%(Yp2ybJ%NN0LjNP}sGCYg@pA*bgzDo$DIHt+F2E{jAz()SO54$+6GCpMi_v zVldJfX%umTfUS*FJ6pAzJohJ!cOZ4{pF8{DA5^i6)FdFAR%~JgXevh_E$zfP^wRxY zc==22)$?9Tpgv*Az@rUpT~!<&tORQO! z3+|9;?7KTG6DDH6CD9u92VD;T9(6w*{so>dvSHFS*`+u zCmi_C!RoZp(B>Zcaj&6IlEq;L3x*{40IA}hs**5Jkz;O_-^?@!!}(lbo21OuB#PML zUHgZX7?Y|rC`|3gSUoF}-s?B!Tmn!vAXaTPZwlODWBihf|B!ZI_ME9diX0M!B>9f> z#F7zDS@oc<(FJpTC$71oW9jvAP6YDpVf!7F;L1($Sehv><>Iz-?wbuNa*zR=&I*uH zYpdZR&5AWlaVS<5eTpa-;r}eMIraXyZ6z>Z$KrYw37mndTjHWku!CC>+!0OZb9OD? zD>lw5@G}*nPrIbju32^c{u}Uvz_rJ?M#ZvlOFVURfxk4h=({tQRk|NfV7SdNpH4*> zx&HMSkEI3I+Z?g`MJFNM+yCFNfN%}as$fa&e7B=U4*x8r+1b4Ucf8e&d3}_x;>y*u z{!bjyBdqQ`%CZ^j>AC!%C~)k&;+L}Q*KB50e5Uw)33ujV)5yKh*Y;0K$`3cQAAlUP zFQ8j%Ah5Zstq{fCHkwP%{JMfw?7!KhyPL!K~~d`3PJSPYJ)N$@KAgvGRkH*O)nEGNuI7 zXYzu0j()RHFc>`vdk_q^?09M&?7s+Xdj!m$32yX;BTG7jC!dSaf6tYJE&0@8P%8Sy zj31h{90d^*YAZ+^Wvv7CBQ!NH(UDUyJ=bOWi%je#hZnLw5hauD*yVYB*pjm*qDY~Q z8BMK!wjj7*D7*{mfA-AyY3`|~TZ8-jIkZ>c5D}ip1UWsr92adAPLFS=A{l2uk~2oQ zx|by?+upcW`clLdE@dON(1J+&neaG2sZfJPg3|yzuR3kB5)Tw*E%jKvUBM@YXp&4KUv(&$$nF!?l zX5D0uTjstrDeX!JwrJIq@=Z95Os2MTcmgDBgFkV3Z2cdq$$#iCH_5%#B{$j0I2b@f zn#}@hF6TZ0-c=o4ErmeE+v*b_+6-`R=*1>{G^*9aRqSIh&vXVz*F9I1kS&L7aMjDV4Ce8G3wfnbrp@hr@$%+uaOC24!g?1*iZIDqHhFN91a$s$8 zL|ckJWzHF&HrIeBqc&ct#^!0AWDNqpFu;4$%9flB#J%JAhmWJwilSk1!mqZ2O~#aTT!m-#`hTtaUsW56S|IeKcHq#32Rdl zK3v*({d&4IzU>urO0y*1lC0Lcomh`WcasyRRt%GEAC$)qSF1WMduN|h)<Ei+@r+2~0czOO`M9egKmj~8_ zIgPIdA@ul;Ib&cMCeD8W$LCKe?7OHc;VX;<15O z>J+;c5ZW{EUd@zhwfNf(tLcX0;INXrv|u64D(cYab#i+lg-x`Ux^9Vcp&obsR+*3j zQcF%JP{|U(JRvX=InVcl3}Vf{@y(l;{Hdl{fFW{Ll@pz(;ti3^MF%=)z)o}oVzte~ znZdygLcLR5FZxJ++jS=jcw4mgu9ex(SQS#ng1^7cggE?)ZIt;vrRxu#GaeYcrwER7 z1Fa`PC15Z&dg(raS8iJ0hvNU1Y`)Qcck$y8@E49k|Y#^1KjvtPY}#h<%l5K!?E~H&spYGQ+%kF%JP!=JAn8(>RYQ%fZ9j(l1}+(QGsHFky_2Z4?GSmN)_ z_)^r8w=E7aKwIoA;Camoc4l0wz z!eYfJt)>|v31G9Yvtk=CmylD`frvJ7(7{kt8yu+1nN}&_sWeaMgMP4#56cX0wE5II zhe1H7)DtkPMmPTT;|A7BtA7#uAPOmVmU83*BcA?bzD)1XIW+A1n)-XcB4AWyR2k$? zI{o13jOGx-8M+7KS;{%AbWzp}o40MU4#?kRjRkP=c=eK!n~7Gg%VN)sgssUN>0v8| z<0{Aiy9owT5l%WEq6Wb`w!NY>iUgSX zx_a|FHWj#knj;cmFh}|#uZ+H*FDR*YqPPl9GQO&uW9T4W8%m@P>GQg9yQ&PwOWN3| zpye#_LKkA?wuAe)>Yj%b#gR>9ew--nZv$|-aHRF^Eo2X0SW@Dw%RP{`<1F>4n2P9I ziRnyknRDHyEB#5IbfoW?aqzqRq+DYXfVI4Q47c46!>{lgD?r;{E`HALV8`?jE*?^p z+-$g}Ai}jRHWicI^clW+BKH_o0;pZi<+Da={~?OTmy}3u$xAC57A)HG4sK%@H3h4f zAmdV+UdQO@qXz!tKvOkrsz;EcD@)w1P!ya*kqXmoZ30;6>+ouVwJ>KJ8sD;E#u7wP0PS^gjN!H(dkOMR)j0{ zo8d=g=B~TWWV3BL1z(2AzbVC~Y*n7P-1cj`g`j)Z%W?>sIj+cQ-5gGJYBsH;miu;f zmbUWTEtj>?At4zvOseYNEuBfG5-v4)w5)^G6*L%n^{vOql0*66nY5|;7rQc!eB}4& z#!Vlpr;djqVu+`Ut(yaA!e-Q}@`? zq{;-xMETghU!?1FVKZ&cGYlwhBl!N3P^2{U0hJ%u0eAYQpxkLccI4i_h4_(Q=7&Ha z+q7KMN=m`@*vvJf`N=ZK(oLSt+491n{rbxFI`hDbh~gn}p554UzIp2B_V=pyjeYO4 zh5-O<3Z(lC9j-Z-6B_Pcu4$@!M+h1G z{mzcjcd^hRo!N87N4oPb&Pgx_%+KwOi_~ktd)3Re;=K>dTMy}n>p=@MhZ4BC9vVye zW1(pn=-e*g7hirUlTg($;~QW6*H2-<7u-L(x1Odpt$)Cc-=o0XgNjP8v6HS+pNZmE zn3XFF=Is1C_LH9RNW{lUB6JxKw&8dkgAt|fA67OMw?|{ORDLzs6@Q@d{Ir@2Ad2~_ zFxbUcE?-nat7$cqKKYWrn%YQ#5$2Ge+gqDk^z*>3n(rM%VwoJQrco%+<+nRSX5GRY zDic8bwoK(i0&Sn?-stP9xgONzRhnu3%syIBPTrUr1X3#|a zQVv8yb?CX3dz?7NBW$0ffp=zeV~rWFqxCz39Zs?@i)l)bZDH_^JYpn$04Fw*S4Cc= zf9zk1w#$p^=~K*3g}tMS)^XMQMc?ykFommzCIs21E^_QK#dY&B3_>y}N-;Eyx7|zC z?eU%G6m;h=ZXzg)hrbni5w)_cUxNelolhxnFGYD!cL1LHN0ke}ACB)Tqy9+-Zke6w zR}%~Hl{ORj;acsdJ|qCRHP<=@=#=hhzA_i6isSJVf9_zMD02Q+#55J;4zP;?Iu zUH@u7axY;!koNC3!U_Or&G3Hx4R~96IyxGG-ihXIF96!BsjY*dDT_b8e#CX=%$^6L z5=H{@GRU$j<=F#TC!$Xnd*^2ro`h1s5E)kmwD^pV?IQ&oprg05vp6ts&oY&sV^1K` z0Rr&*O)v4-EJ+OYfsGO;0Gv50J=8Oq`5$gc6ZvEx=+8Ntp+ab|rR1+rxm0NuqD~;* ztY76c-Iu+$byeqg?)CQ(RXR76KyN88h0U0KR^~8}DKTZH;cM-eQNv6F&q)?7Sqjb{ zU8`cW{ykc0O9@}x$C<%h>dsLI9`e-+jH3yTR^Jo&30M@kgZk30578O{S∇w06I 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 delta 6891 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 diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedKubelet/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/hardenedNodeExporter/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/k3sServer/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmControllerManager/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmEtcd/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmProxy/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/kubeAdmScheduler/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2ControllerManager/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Etcd/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2IngressNginx/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Proxy/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rke2Scheduler/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeControllerManager/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeEtcd/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeIngressNginx/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeProxy/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/README.md b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/README.md +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/_helpers.tpl b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/_helpers.tpl +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-clients-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-clients.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-clients.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-proxy-rbac.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-proxy.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-proxy.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-servicemonitor.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/charts/rkeScheduler/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/charts/rancher-monitoring/100.1.1+up19.0.3/values.yaml b/charts/rancher-monitoring/100.1.1+up19.0.3/values.yaml index 49591ec39..f7027999f 100644 --- a/charts/rancher-monitoring/100.1.1+up19.0.3/values.yaml +++ b/charts/rancher-monitoring/100.1.1+up19.0.3/values.yaml @@ -21,9 +21,13 @@ prometheus-adapter: ## rkeControllerManager: enabled: false - metricsPort: 10252 + metricsPort: 10257 # default to secure port as of k8s >= 1.22 component: kube-controller-manager clients: + https: + enabled: true + insecureSkipVerify: true + useServiceAccountCredentials: true port: 10011 useLocalhost: true nodeSelector: @@ -33,6 +37,15 @@ rkeControllerManager: operator: "Exists" - effect: "NoSchedule" operator: "Exists" + kubeVersionOverrides: + - constraint: "< 1.22" + values: + metricsPort: 10252 # default to insecure port in k8s < 1.22 + clients: + https: + enabled: false + insecureSkipVerify: false + useServiceAccountCredentials: false rkeScheduler: enabled: false @@ -63,7 +76,7 @@ rkeProxy: operator: "Exists" rkeEtcd: - enabled: false + enabled: true metricsPort: 2379 component: kube-etcd clients: @@ -74,6 +87,10 @@ rkeEtcd: certFile: kube-etcd-*.pem keyFile: kube-etcd-*-key.pem caCertFile: kube-ca.pem + seLinuxOptions: + # Gives rkeEtcd permissions to read files in /etc/kubernetes/* + # Type is defined in https://github.com/rancher/rancher-selinux + type: rke_kubereader_t nodeSelector: node-role.kubernetes.io/etcd: "true" tolerations: @@ -217,9 +234,13 @@ kubeAdmEtcd: ## rke2ControllerManager: enabled: false - metricsPort: 10252 + metricsPort: 10257 # default to secure port as of k8s >= 1.22 component: kube-controller-manager clients: + https: + enabled: true + insecureSkipVerify: true + useServiceAccountCredentials: true port: 10011 useLocalhost: true nodeSelector: @@ -229,12 +250,25 @@ rke2ControllerManager: operator: "Exists" - effect: "NoSchedule" operator: "Exists" + kubeVersionOverrides: + - constraint: "< 1.22" + values: + metricsPort: 10252 # default to insecure port in k8s < 1.22 + clients: + https: + enabled: false + insecureSkipVerify: false + useServiceAccountCredentials: false rke2Scheduler: enabled: false - metricsPort: 10251 + metricsPort: 10259 # default to secure port as of k8s >= 1.22 component: kube-scheduler clients: + https: + enabled: true + insecureSkipVerify: true + useServiceAccountCredentials: true port: 10012 useLocalhost: true nodeSelector: @@ -244,6 +278,15 @@ rke2Scheduler: operator: "Exists" - effect: "NoSchedule" operator: "Exists" + kubeVersionOverrides: + - constraint: "< 1.22" + values: + metricsPort: 10251 # default to insecure port in k8s < 1.22 + clients: + https: + enabled: false + insecureSkipVerify: false + useServiceAccountCredentials: false rke2Proxy: enabled: false @@ -518,6 +561,8 @@ global: ## windows: enabled: false + seLinux: + enabled: false kubectl: repository: rancher/kubectl tag: v1.20.2 diff --git a/charts/rancher-pushprox/100.0.2/README.md b/charts/rancher-pushprox/100.0.2/README.md index 4d55f0787..33efd8603 100644 --- a/charts/rancher-pushprox/100.0.2/README.md +++ b/charts/rancher-pushprox/100.0.2/README.md @@ -42,6 +42,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `clients.https.certFile` | The path to the TLS cert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.keyFile` | The path to the TLS key file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | | `clients.https.caCertFile` | The path to the TLS cacert file located within `clients.https.certDir`. Required and only used if `clients.https.enabled` is set | `""` | +| `clients.https.seLinuxOptions` | seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. | `""` | | `clients.metrics.enabled` | Whether the client should publish PushProx client-specific metrics. | `false` | | `clients.rbac.additionalRules` | Additional permissions to provide to the ServiceAccount bound to the client. This can be used to provide additional permissions for the client to scrape metrics from the k8s API. Only enabled if clients.https.enabled and clients.https.useServiceAccountCredentials are true | `[]` | | `clients.deployment.enabled` | Deploys the client as a Deployment (generally used if the underlying hostNetwork Pod that is being scraped is managed by a Deployment) | `false` | @@ -55,6 +56,7 @@ The following tables list the configurable parameters of the rancher-pushprox ch | `proxy.resources` | Set resource limits and requests for the proxy container | `{}` | | `proxy.nodeSelector` | Select which nodes the proxy can be deployed on | `{}` | | `proxy.tolerations` | Specify tolerations (if necessary) to allow the proxy to be deployed on the selected node | `[]` | +| `kubeVersionOverrides` | A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches any of the semver constraints provided as keys on the map. On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. | `[]` *Tip: The filepaths set in `clients.https.File` can include wildcard characters*. diff --git a/charts/rancher-pushprox/100.0.2/templates/_helpers.tpl b/charts/rancher-pushprox/100.0.2/templates/_helpers.tpl index ba2e225a6..083f26b0a 100644 --- a/charts/rancher-pushprox/100.0.2/templates/_helpers.tpl +++ b/charts/rancher-pushprox/100.0.2/templates/_helpers.tpl @@ -30,6 +30,16 @@ kubernetes.io/os: linux # General +{{- define "applyKubeVersionOverrides" -}} +{{- $overrides := dict -}} +{{- range $override := .Values.kubeVersionOverrides -}} +{{- if semverCompare $override.constraint $.Capabilities.KubeVersion.Version -}} +{{- $_ := mergeOverwrite $overrides $override.values -}} +{{- end -}} +{{- end -}} +{{- $_ := mergeOverwrite .Values $overrides -}} +{{- end -}} + {{- define "pushprox.namespace" -}} {{- if .Values.namespaceOverride -}} {{- .Values.namespaceOverride -}} diff --git a/charts/rancher-pushprox/100.0.2/templates/pushprox-clients-rbac.yaml b/charts/rancher-pushprox/100.0.2/templates/pushprox-clients-rbac.yaml index f1a8e7232..319da6ede 100644 --- a/charts/rancher-pushprox/100.0.2/templates/pushprox-clients-rbac.yaml +++ b/charts/rancher-pushprox/100.0.2/templates/pushprox-clients-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -54,6 +55,9 @@ spec: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' +{{- if and .Values.clients.https.enabled .Values.clients.https.certDir .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 6 }} +{{- end }} supplementalGroups: rule: 'MustRunAs' ranges: diff --git a/charts/rancher-pushprox/100.0.2/templates/pushprox-clients.yaml b/charts/rancher-pushprox/100.0.2/templates/pushprox-clients.yaml index 19b4f58ed..c26bc0eaf 100644 --- a/charts/rancher-pushprox/100.0.2/templates/pushprox-clients.yaml +++ b/charts/rancher-pushprox/100.0.2/templates/pushprox-clients.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.clients }}{{- if .Values.clients.enabled }} apiVersion: apps/v1 {{- if .Values.clients.deployment.enabled }} @@ -102,7 +103,7 @@ spec: CERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CERT_FILE_NAME}" | sort -r | head -n 1) KEY_FILE_SOURCE=$(find /etc/source/ -type f -name "${KEY_FILE_NAME}" | sort -r | head -n 1) CACERT_FILE_SOURCE=$(find /etc/source/ -type f -name "${CACERT_FILE_NAME}" | sort -r | head -n 1) - + test -z ${CERT_FILE_SOURCE} && echo "Failed to find cert file" && exit 1 test -z ${KEY_FILE_SOURCE} && echo "Failed to find key file" && exit 1 test -z ${CACERT_FILE_SOURCE} && echo "Failed to find cacert file" && exit 1 @@ -133,6 +134,9 @@ spec: value: /etc/ssl/push-proxy/push-proxy-ca-cert.pem securityContext: runAsNonRoot: false +{{- if and .Values.global.seLinux.enabled .Values.clients.https.seLinuxOptions }} + seLinuxOptions: {{ .Values.clients.https.seLinuxOptions | toYaml | nindent 12 }} +{{- end }} volumeMounts: - name: metrics-cert-dir-source mountPath: /etc/source diff --git a/charts/rancher-pushprox/100.0.2/templates/pushprox-proxy-rbac.yaml b/charts/rancher-pushprox/100.0.2/templates/pushprox-proxy-rbac.yaml index 147eb4374..e7eb0fd6d 100644 --- a/charts/rancher-pushprox/100.0.2/templates/pushprox-proxy-rbac.yaml +++ b/charts/rancher-pushprox/100.0.2/templates/pushprox-proxy-rbac.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/charts/rancher-pushprox/100.0.2/templates/pushprox-proxy.yaml b/charts/rancher-pushprox/100.0.2/templates/pushprox-proxy.yaml index 571e13138..6eafc19b6 100644 --- a/charts/rancher-pushprox/100.0.2/templates/pushprox-proxy.yaml +++ b/charts/rancher-pushprox/100.0.2/templates/pushprox-proxy.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if and .Values.proxy }}{{ if .Values.proxy.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/charts/rancher-pushprox/100.0.2/templates/pushprox-servicemonitor.yaml b/charts/rancher-pushprox/100.0.2/templates/pushprox-servicemonitor.yaml index 7f961d6f4..14f34a450 100644 --- a/charts/rancher-pushprox/100.0.2/templates/pushprox-servicemonitor.yaml +++ b/charts/rancher-pushprox/100.0.2/templates/pushprox-servicemonitor.yaml @@ -1,3 +1,4 @@ +{{- template "applyKubeVersionOverrides" . -}} {{- if .Values.serviceMonitor }}{{- if .Values.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor diff --git a/charts/rancher-pushprox/100.0.2/values.yaml b/charts/rancher-pushprox/100.0.2/values.yaml index c64c4faf0..b1db28dc0 100644 --- a/charts/rancher-pushprox/100.0.2/values.yaml +++ b/charts/rancher-pushprox/100.0.2/values.yaml @@ -10,6 +10,30 @@ global: cattle: systemDefaultRegistry: "" + seLinux: + enabled: false + +# A list of Semver constraint strings (defined by https://github.com/Masterminds/semver) and values.yaml overrides. +# +# For each key in kubeVersionOverrides, this chart will check to see if the current Kubernetes cluster's version matches +# any of the semver constraints provided as keys on the map. +# +# On seeing a match, the default value for each values.yaml field overridden will be updated with the new value. +# +# If multiple matches are encountered (due to overlapping semver ranges), the matches will be applied in order. +# +# Notes: +# - On running a helm template, Helm generally assumes the kubeVersion is v1.20.0 +# - On running a helm install --dry-run, the correct kubeVersion should be chosen. +kubeVersionOverrides: [] +# - constraint: "< 1.21" +# values: +# metricsPort: 10252 +# clients: +# https: +# enabled: false +# insecureSkipVerify: false +# useServiceAccountCredentials: false namespaceOverride: "" @@ -53,6 +77,9 @@ clients: certFile: "" keyFile: "" caCertFile: "" + # seLinuxOptions to be passed into the container that copies certs. Should define a container with permissions to read the files in the certDir provided on the host. + # Required and only used if `clients.https.enabled` is set and `clients.https.certDir` is provided. + seLinuxOptions: {} metrics: # Whether the client should publish PushProx client-specific metrics to .Values.clients.port diff --git a/index.yaml b/index.yaml index f1e1c47c9..584d8c357 100755 --- a/index.yaml +++ b/index.yaml @@ -4824,7 +4824,7 @@ entries: catalog.cattle.io/upstream-version: 19.0.3 apiVersion: v2 appVersion: 0.50.0 - created: "2022-03-02T17:21:31.530896943-07:00" + created: "2022-03-02T16:37:31.536955-08:00" dependencies: - condition: grafana.enabled name: grafana @@ -4898,7 +4898,7 @@ entries: description: Collects several related Helm charts, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator. - digest: 6d9878309ab1c14d9e1d127a10a4f4f7a4f8ce55b575c9b5b057381b1a6f5637 + digest: 129ca63668bd70d2e51b332637f4a3460d49e7793c3be101f56f6fc33410191a home: https://github.com/prometheus-operator/kube-prometheus icon: https://raw.githubusercontent.com/prometheus/prometheus.github.io/master/assets/prometheus_logo-cb55bb5c346.png keywords: @@ -6394,10 +6394,10 @@ entries: catalog.rancher.io/release-name: rancher-pushprox apiVersion: v1 appVersion: 0.1.0 - created: "2022-02-25T11:29:46.335087305+05:30" + created: "2022-03-02T16:37:32.665695-08:00" description: Sets up a deployment of the PushProx proxy and a DaemonSet of PushProx clients. - digest: 76b970c5655a8a5f5a891cb7d949b83a18642b23de790b9728c90a58a89eee12 + digest: be9dc4d0108d0176f9ae0724dad9604dafe572da1a6029476910064c2bf1affb name: rancher-pushprox type: application urls: