golang-github-prometheus-prometheus-2.32.1-150100.4.9.2<>,Dbbmp9| cC}5e5Qcwv"_<bwHabMDhFX4кƛ2^p:G>kW2*?HQPSp0 '* /+15c'TzlUz\$bLKs:~)t cӃs4.lPvCϣSFDv0塲qL0jܤҁӼ:˹ *{N H߀4}/ Wn<;Ɉכ~>N d? Td&- : tx| B .7  P   \,()708.9 8.:#.=>? @CF#G8HIX$Y4\x]^cbcd ;e @f Cl Eu Xv z              PCgolang-github-prometheus-prometheus2.32.1150100.4.9.2The Prometheus monitoring system and time series databasePrometheus's main features are: - a multi-dimensional data model (time series identified by metric name and key/value pairs) - a flexible query language to leverage this dimensionality - no reliance on distributed storage; single server nodes are autonomous - time series collection happens via a pull model over HTTP - pushing time series is supported via an intermediary gateway - targets are discovered via service discovery or static configuration - multiple modes of graphing and dashboarding supportbbmnebbiolo ;SUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/System/Monitoringhttps://prometheus.io/linuxppc64le if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in prometheus.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi PNAME=prometheus SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in prometheus.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi test -f /usr/bin/firewall-cmd && firewall-cmd --reload --quiet || : test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable prometheus.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop prometheus.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in prometheus.service ; do sysv_service="${service%.*}" rm "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart prometheus.service ) || : fi fi ^F,] Hh s 6A큤큤A큤A큤AA큤A큤AAAbbm bbm bbm bbm bbm bbm bbm abbm bbm abbm bbm bbm bbm bbm bbm bbm bbm bbm bbm bbm bbm bbm bbm bbm 4393d4244ed64e5cf06aa44bd42231ef274f4bb2aea4d06315cdb4cfae65a55c5365be53743261125450133ebd2e75d8887c62f59032d56ddcffcf84afd39e993f7424d52cce5990cd56df960b0c023e9b91c1284e7b6a4076898f8e606e7a733fe426a4e9c84746488f8a497482079ad9814361c969993aa7cf27b6c90f3a834ca86606192143d6bc50dd4f1d995c15ac437c5cd17a4aa0df183501f66e8c783e24a0038039de21afdf6572d07e28eb7bdca35ac6ff4d5b20a4a8829116c040c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4f5465935edcd56bc0db4b0b84650f085efba7dcc161dcc1e7f0b958943a973a01a17f58ab3fece7d8a047527c131c15e53eba0506fb7272b9be7e020f29ca6aeb2a39255788bd759331564db555e8232b071f2890a94f88da69ef4423fbf991e48aa738da9b8e9472b3b3fc410db1bcfa684e82fa4be532bbcb84997ac054cf3fd4c847101c517cbaa05493d368d04b7ea946b83e79eb01327b74c5334939cf0bea383fc410e965ee3d8cb10a4604d9af352f95733f03db94669061025c9c170c82cdb473c4db14fd0d8ef5eebbc225ecd97bc8f2fc363802a80848e0253f748aa1c937e96d3d8460d729f7ec00558dc088ef30bfe217ff877de0a3bcf906212446134fdf16b41af6bc88727b02d479e2e29f50ee6ac744b5f2a7576b4db5b27servicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootprometheusprometheusprometheusrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootprometheusprometheusprometheusgolang-github-prometheus-prometheus-2.32.1-150100.4.9.2.src.rpmconfig(golang-github-prometheus-prometheus)golang-github-prometheus-prometheusgolang-github-prometheus-prometheus(ppc-64)prometheus !    /bin/sh/bin/sh/bin/sh/bin/sh/bin/shconfig(golang-github-prometheus-prometheus)coreutilsdiffutilsfillupgrepgroup(prometheus)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)user(prometheus)2.32.1-150100.4.9.23.0.4-14.6.0-14.0-15.2-14.14.1 PNAME=prometheus SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fibN@b4t@b%b@b@a@aHw```7@`Gc@_/@_L@_$^א^@^.]@]|@]*]*]]V]D%]A]A]9]0_@]@\o@\]o@ZZiZC@Z@YYYYǞ@Y@Y@YY3Y@YXۡjgonzalez@suse.comwitold.bedyk@suse.comwitold.bedyk@suse.comwitold.bedyk@suse.comwitold.bedyk@suse.comwitold.bedyk@suse.comjsegitz@suse.comwitold.bedyk@suse.comdaniel.molkentin@suse.comwitold.bedyk@suse.comwitold.bedyk@suse.comstefano.torresi@suse.compseidensal@suse.comwitold.bedyk@suse.comjcavalheiro@suse.comjcavalheiro@suse.comwitold.bedyk@suse.comjcavalheiro@suse.comjan.fajerski@suse.commrostecki@opensuse.orgjcavalheiro@suse.commrostecki@opensuse.orgjan.fajerski@suse.comjan.fajerski@suse.comasn@cryptomilk.orgasn@cryptomilk.orgjcavalheiro@suse.comsimon.crute@grafana.comsimon.crute@grafana.comjan.fajerski@suse.comjan.fajerski@suse.comjan.fajerski@suse.comkkaempf@suse.comtserong@suse.comtserong@suse.comtserong@suse.comtserong@suse.comtserong@suse.comtserong@suse.comtserong@suse.comtserong@suse.comtserong@suse.comtserong@suse.comtserong@suse.comtserong@suse.commoio@suse.com- Build firewalld-prometheus-config only for SUSE Linux Enterprise 15, 15.1 and 15.2, and require firewalld for it - firewalld-prometheus-config needs to be a Recommends, not a Requires, as prometheus does not require it to run- Create firewalld-prometheus-config subpackage (bsc#1197042, jsc#SLE-24374, jsc#SLE-24375)- Update vendor tarball with prometheus/client_golang 1.12.1 (bsc#1196338) * Added 0003-Bump-client_golang-to-1.12.1.patch- Fix Firewalld configuration file location (bsc#1196300)- Require Go 1.16+ - Do not build on s390 architecture.- Updated patches: + Changed: * 0002-Default-settings.patch + Removed: * 0003-Add-Uyuni-service-discovery.patch - Use obs-service-go_modules - Upgrade to upstream version 2.32.1 (jsc#SLE-22863) + Bugfixes: * Scrape: Fix reporting metrics when sample limit is reached during the report. #9996 * Scrape: Ensure that scrape interval and scrape timeout are always set. #10023 * TSDB: Expose and fix bug in iterators' Seek() method. #10030 - Upgrade to upstream version 2.32.0 + Change: * remote-write: Change default max retry time from 100ms to 5 seconds. #9634 + Features: * Agent: New mode of operation optimized for remote-write only scenarios, without local storage. * Promtool: Add promtool check service-discovery command. #8970 + Enhancements: * Promtool: Improve test output. #8064 * Promtool: Use kahan summation for better numerical stability. * Remote-write: Reuse memory for marshalling. #9412 * Scrape: Add scrape_body_size_bytes scrape metric behind the - -enable-feature=extra-scrape-metrics flag. #9569 * TSDB: Add windows arm64 support. #9703 * TSDB: Optimize query by skipping unneeded sorting in TSDB. * Templates: Support int and uint as datatypes for template formatting. #9680 * UI: Prefer rate over rad, delta over deg, and count over cos in autocomplete. #9688 + Bugfixes: * TSDB: Add more size checks when writing individual sections in the index. #9710 * PromQL: Make deriv() return zero values for constant series. * TSDB: Fix panic when checkpoint directory is empty. #9687 * TSDB: Fix panic, out of order chunks, and race warning during WAL replay. #9856 * UI: Correctly render links for targets with IPv6 addresses that contain a Zone ID. #9853 * Promtool: Fix checking of authorization.credentials_file and bearer_token_file fields. #9883 * Uyuni SD: Fix null pointer exception during initialization. * TSDB: Fix queries after a failed snapshot replay. #9980 - Upgrade to upstream version 2.31.1 + Bugfix: * SD: Fix a panic when the experimental discovery manager receives targets during a reload. #9656 - Upgrade to upstream version 2.31.0 + Change: * UI: Remove standard PromQL editor in favour of the codemirror-based editor. #9452 + Features: * PromQL: Add trigonometric functions and atan2 binary operator. #9239 #9248 #9515 * Remote: Add support for exemplar in the remote write receiver endpoint. #9319 #9414 * SD: Add PuppetDB service discovery. #8883 * SD: Add Uyuni service discovery. #8190 * Web: Add support for security-related HTTP headers. #9546 + Enhancements: * Azure SD: Add proxy_url, follow_redirects, tls_config. #9267 * Backfill: Add --max-block-duration in promtool create-blocks-from rules. #9511 * Config: Print human-readable sizes with unit instead of raw numbers. #9361 * HTTP: Re-enable HTTP/2. #9398 * Kubernetes SD: Warn user if number of endpoints exceeds limit. #9467 * OAuth2: Add TLS configuration to token requests. #9550 * PromQL: Several optimizations. #9365 #9360 #9362 #9552 * PromQL: Make aggregations deterministic in instant queries. * Rules: Add the ability to limit number of alerts or series. * SD: Experimental discovery manager to avoid restarts upon reload. * UI: Debounce timerange setting changes. #9359 + Bugfixes: * Backfill: Apply rule labels after query labels. #9421 * Scrape: Resolve conflicts between multiple exported label prefixes. #9479 #9518 * Scrape: Restart scrape loops when __scrape_interval__ is changed. #9551 * TSDB: Fix memory leak in samples deletion. #9151 * UI: Use consistent margin-bottom for all alert kinds. #9318 - Upgrade to upstream version 2.30.3 + Bugfixes: * TSDB: Fix panic on failed snapshot replay. #9438 * TSDB: Don't fail snapshot replay with exemplar storage disabled when the snapshot contains exemplars. #9438 - Upgrade to upstream version 2.30.2 + Bugfix: * TSDB: Don't error on overlapping m-mapped chunks during WAL replay. #9381 - Upgrade to upstream version 2.30.1 + Enhancements: * Remote Write: Redact remote write URL when used for metric label. #9383 * UI: Redact remote write URL and proxy URL passwords in the /config page. #9408 + Bugfixes: * promtool rules backfill: Prevent creation of data before the start time. #9339 * promtool rules backfill: Do not query after the end time. * Azure SD: Fix panic when no computername is set. #9387 - Upgrade to upstream version 2.30.0 + Features: * experimental TSDB: Snapshot in-memory chunks on shutdown for faster restarts. #7229 * experimental Scrape: Configure scrape interval and scrape timeout via relabeling using __scrape_interval__ and __scrape_timeout__ labels respectively. #8911 * Scrape: Add scrape_timeout_seconds and scrape_sample_limit metric. #9247 #9295 + Enhancements: * Scrape: Add --scrape.timestamp-tolerance flag to adjust scrape timestamp tolerance when enabled via - -scrape.adjust-timestamps. #9283 * Remote Write: Improve throughput when sending exemplars. * TSDB: Optimise WAL loading by removing extra map and caching min-time #9160 * promtool: Speed up checking for duplicate rules. #9262/#9306 * Scrape: Reduce allocations when parsing the metrics. #9299 * docker_sd: Support host network mode #9125 + Bugfixes: * Exemplars: Fix panic when resizing exemplar storage from 0 to a non-zero size. #9286 * TSDB: Correctly decrement prometheus_tsdb_head_active_appenders when the append has no samples. #9230 * promtool rules backfill: Return 1 if backfill was unsuccessful. #9303 * promtool rules backfill: Avoid creation of overlapping blocks. #9324 * config: Fix a panic when reloading configuration with a null relabel action. #9224 - Upgrade to upstream version 2.29.2 + Bugfixes: * Fix Kubernetes SD failing to discover Ingress in Kubernetes v1.22. #9205 * Fix data race in loading write-ahead-log (WAL). #9259 - Upgrade to upstream version 2.29.1 + Bugfixes: * TSDB: align atomically accessed int64 to prevent panic in 32-bit archs. #9192 - Upgrade to upstream version 2.29.0 + Changes: * Promote --storage.tsdb.allow-overlapping-blocks flag to stable. #9117 * Promote --storage.tsdb.retention.size flag to stable. #9004 + Features: * Add Kuma service discovery. #8844 * Add present_over_time PromQL function. #9097 * Allow configuring exemplar storage via file and make it reloadable. #8974 * UI: Allow selecting time range with mouse drag. #8977 * promtool: Add feature flags flag --enable-feature. #8958 * promtool: Add file_sd file validation. #8950 + Enhancements: * Reduce blocking of outgoing remote write requests from series garbage collection. #9109 * Improve write-ahead-log decoding performance. #9106 * Improve append performance in TSDB by reducing mutexes usage. * Allow configuring max_samples_per_send for remote write metadata. #8959 * Add __meta_gce_interface_ipv4_ meta label to GCE discovery. #8978 * Add __meta_ec2_availability_zone_id meta label to EC2 discovery. #8896 * Add __meta_azure_machine_computer_name meta label to Azure discovery. #9112 * Add __meta_hetzner_hcloud_labelpresent_ meta label to Hetzner discovery. #9028 * promtool: Add compaction efficiency to promtool tsdb analyze reports. #8940 * promtool: Allow configuring max block duration for backfilling via --max-block-duration flag. #8919 * UI: Add sorting and filtering to flags page. #8988 * UI: Improve alerts page rendering performance. #9005 + Bugfixes: * Log when total symbol size exceeds 2^32 bytes, causing compaction to fail, and skip compaction. #9104 * Fix incorrect target_limit reloading of zero value. #9120 * Fix head GC and pending readers race condition. #9081 * Fix timestamp handling in OpenMetrics parser. #9008 * Fix potential duplicate metrics in /federate endpoint when specifying multiple matchers. #8885 * Fix server configuration and validation for authentication via client cert. #9123 * Allow start and end again as label names in PromQL queries. They were disallowed since the introduction of @ timestamp feature. #9119 - Upgrade to upstream version 2.28.1 + Bugfixes: * HTTP SD: Allow charset specification in Content-Type header. * HTTP SD: Fix handling of disappeared target groups. #9019 * Fix incorrect log-level handling after moving to go-kit/log. - Upgrade to upstream version 2.28.0 + Change: * UI: Make the new experimental PromQL editor the default. + Features: * Linode SD: Add Linode service discovery. #8846 * HTTP SD: Add generic HTTP-based service discovery. #8839 * Kubernetes SD: Allow configuring API Server access via a kubeconfig file. #8811 * UI: Add exemplar display support to the graphing interface. * Consul SD: Add namespace support for Consul Enterprise. #8900 + Enhancements: * Promtool: Allow silencing output when importing / backfilling data. #8917 * Consul SD: Support reading tokens from file. #8926 * Rules: Add a new .ExternalURL alert field templating variable, containing the external URL of the Prometheus server. #8878 * Scrape: Add experimental body_size_limit scrape configuration setting to limit the allowed response body size for target scrapes. #8833 #8886 * Kubernetes SD: Add ingress class name label for ingress discovery. #8916 * UI: Show a startup screen with progress bar when the TSDB is not ready yet. #8662 #8908 #8909 #8946 * SD: Add a target creation failure counter prometheus_target_sync_failed_total and improve target creation failure handling. #8786 * TSDB: Improve validation of exemplar label set length. #8816 * TSDB: Add a prometheus_tsdb_clean_start metric that indicates whether a TSDB lockfile from a previous run still existed upon startup. #8824 + Bugfixes: * UI: In the experimental PromQL editor, fix autocompletion and parsing for special float values and improve series metadata fetching. #8856 * TSDB: When merging chunks, split resulting chunks if they would contain more than the maximum of 120 samples. #8582 * SD: Fix the computation of the prometheus_sd_discovered_targets metric when using multiple service discoveries. #8828- Added hardening to systemd service(s) (bsc#1181400). Modified: * prometheus.service- Provide and reload firewalld configuration only for: + openSUSE Leap 15.0, 15.1, 15.2 + SUSE SLE15, SLE15 SP1, SLE15 SP2- Refresh patches + Changed: * 0001-Do-not-force-the-pure-Go-name-resolver.patch * 0002-Default-settings.patch * 0003-Add-Uyuni-service-discovery.patch - Upgrade to upstream version 2.27.1 (jsc#SLE-18254) + Bugfix: * SECURITY: Fix arbitrary redirects under the /new endpoint (CVE-2021-29622, bsc#1186242) - Upgrade to upstream version 2.27.0 + Features: * Promtool: Retroactive rule evaluation functionality. #7675 * Configuration: Environment variable expansion for external labels. Behind --enable-feature=expand-external-labels flag. #8649 * TSDB: Add a flag(--storage.tsdb.max-block-chunk-segment-size) to control the max chunks file size of the blocks for small Prometheus instances. #8478 * UI: Add a dark theme. #8604 * AWS Lightsail Discovery: Add AWS Lightsail Discovery. #8693 * Docker Discovery: Add Docker Service Discovery. #8629 * OAuth: Allow OAuth 2.0 to be used anywhere an HTTP client is used. #8761 * Remote Write: Send exemplars via remote write. Experimental and disabled by default. #8296 + Enhancements: * Digital Ocean Discovery: Add __meta_digitalocean_vpc label. #8642 * Scaleway Discovery: Read Scaleway secret from a file. #8643 * Scrape: Add configurable limits for label size and count. #8777 * UI: Add 16w and 26w time range steps. #8656 * Templating: Enable parsing strings in humanize functions. #8682 + Bugfixes: * UI: Provide errors instead of blank page on TSDB Status Page. #8654 #8659 * TSDB: Do not panic when writing very large records to the WAL. #8790 * TSDB: Avoid panic when mmaped memory is referenced after the file is closed. #8723 * Scaleway Discovery: Fix nil pointer dereference. #8737 * Consul Discovery: Restart no longer required after config update with no targets. #8766- Add tarball with vendor modules and web assets - Uyuni: Read formula data from exporters map - Uyuni: Add support for TLS targets + Changed: * 0003-Add-Uyuni-service-discovery.patch * 0002-Default-settings.patch Changed * 0003-Add-Uyuni-service-discovery.patch - Upgrade to upstream version 2.26.0 + Changes * Alerting: Using Alertmanager v2 API by default. #8626 * Prometheus/Promtool: Binaries are now printing help and usage to stdout instead of stderr. #8542 + Features * Remote: Add support for AWS SigV4 auth method for remote_write. #8509 * PromQL: Allow negative offsets. Behind --enable-feature=promql-negative-offset flag. #8487 * UI: Add advanced auto-completion, syntax highlighting and linting to graph page query input. #8634 + Enhancements * PromQL: Add last_over_time, sgn, clamp functions. #8457 * Scrape: Add support for specifying type of Authorization header credentials with Bearer by default. #8512 * Scrape: Add follow_redirects option to scrape configuration. #8546 * Remote: Allow retries on HTTP 429 response code for remote_write. #8237 #8477 * Remote: Allow configuring custom headers for remote_read. #8516 * UI: Hitting Enter now triggers new query. #8581 * UI: Better handling of long rule and names on the /rules and /targets pages. #8608 #8609 * UI: Add collapse/expand all button on the /targets page. #8486 - Upgrade to upstream version 2.25.0 + Features * Include a new `--enable-feature=` flag that enables experimental features. + Enhancements * Add optional name property to testgroup for better test failure output. #8440 * Add warnings into React Panel on the Graph page. #8427 * TSDB: Increase the number of buckets for the compaction duration metric. #8342 * Remote: Allow passing along custom remote_write HTTP headers. #8416 * Mixins: Scope grafana configuration. #8332 * Kubernetes SD: Add endpoint labels metadata. #8273 * UI: Expose total number of label pairs in head in TSDB stats page. #8343 * TSDB: Reload blocks every minute, to detect new blocks and enforce retention more often. #8343 + Bug fixes * API: Fix global URL when external address has no port. #8359 * Deprecate unused flag --alertmanager.timeout. #8407 - Upgrade to upstream version 2.24.1 + Enhancements * Cache basic authentication results to significantly improve performance of HTTP endpoints. - Upgrade to upstream version 2.24.0 + Features * Add TLS and basic authentication to HTTP endpoints. #8316 * promtool: Add check web-config subcommand to check web config files. #8319 * promtool: Add tsdb create-blocks-from openmetrics subcommand to backfill metrics data from an OpenMetrics file. #8084 + Enhancements * HTTP API: Fast-fail queries with only empty matchers. #8288 * HTTP API: Support matchers for labels API. #8301 * promtool: Improve checking of URLs passed on the command line. #7956 * SD: Expose IPv6 as a label in EC2 SD. #7086 * SD: Reuse EC2 client, reducing frequency of requesting credentials. #8311 * TSDB: Add logging when compaction takes more than the block time range. #8151 * TSDB: Avoid unnecessary GC runs after compaction. #8276 - Upgrade to upstream version 2.23.0 + Changes * UI: Make the React UI default. #8142 * Remote write: The following metrics were removed/renamed in remote write. #6815 > prometheus_remote_storage_succeeded_samples_total was removed and prometheus_remote_storage_samples_total was introduced for all the samples attempted to send. > prometheus_remote_storage_sent_bytes_total was removed and replaced with prometheus_remote_storage_samples_bytes_total and prometheus_remote_storage_metadata_bytes_total. > prometheus_remote_storage_failed_samples_total -> prometheus_remote_storage_samples_failed_total . > prometheus_remote_storage_retried_samples_total -> prometheus_remote_storage_samples_retried_total. > prometheus_remote_storage_dropped_samples_total -> prometheus_remote_storage_samples_dropped_total. > prometheus_remote_storage_pending_samples -> prometheus_remote_storage_samples_pending. * Remote: Do not collect non-initialized timestamp metrics. #8060 + Enhancements * Remote write: Added a metric prometheus_remote_storage_max_samples_per_send for remote write. #8102 * TSDB: Make the snapshot directory name always the same length. #8138 * TSDB: Create a checkpoint only once at the end of all head compactions. #8067 * TSDB: Avoid Series API from hitting the chunks. #8050 * TSDB: Cache label name and last value when adding series during compactions making compactions faster. #8192 * PromQL: Improved performance of Hash method making queries a bit faster. #8025 * promtool: tsdb list now prints block sizes. #7993 * promtool: Calculate mint and maxt per test avoiding unnecessary calculations. #8096 * SD: Add filtering of services to Docker Swarm SD. #8074- Uyuni: `hostname` label is now set to FQDN instead of IP + Changed: * 0003-Add-Uyuni-service-discovery.patch- Update to upstream version 2.22.1 - Update packaging * Remove systemd and shadow hard requirements * use systemd-sysusers to configure the user in a dedicated 'system-user-prometheus' subpackage * add 'prometheus' package alias- Update package with changes from `server:monitoring` bsc#1175478 Left out removal of firewalld related configuration files as SLE-15-SP1's `firewalld` package does not contain prometheus configuration yet.- Update 0003-Add-Uyuni-service-discovery.patch: + Add support for Prometheus exporters proxy- Update change log and spec file + Modified spec file: default to golang 1.14 to avoid "have choice" build issues in OBS. + Rebase and update patches for version 2.18.0 + Changed: * 0001-Do-not-force-the-pure-Go-name-resolver.patch * 0002-Default-settings.patch Changed * 0003-Add-Uyuni-service-discovery.patch - Update to 2.18.0 + Features * Tracing: Added experimental Jaeger support #7148 + Changes * Federation: Only use local TSDB for federation (ignore remote read). #7096 * Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094 + Enhancements * TSDB: Significantly reduce WAL size kept around after a block cut. #7098 * Discovery: Add `architecture` meta label for EC2. #7000 + Bug fixes * UI: Fixed wrong MinTime reported by /status. #7182 * React UI: Fixed multiselect legend on OSX. #6880 * Remote Write: Fixed blocked resharding edge case. #7122 * Remote Write: Fixed remote write not updating on relabel configs change. #7073 - Changes from 2.17.2 + Bug fixes * Federation: Register federation metrics #7081 * PromQL: Fix panic in parser error handling #7132 * Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138 * TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135 * TSDB: Make isolation more robust to panics in web handlers #7129 #7136 - Changes from 2.17.1 + Bug fixes * TSDB: Fix query performance regression that increased memory and CPU usage #7051 - Changes from 2.17.0 + Features * TSDB: Support isolation #6841 * This release implements isolation in TSDB. API queries and recording rules are guaranteed to only see full scrapes and full recording rules. This comes with a certain overhead in resource usage. Depending on the situation, there might be some increase in memory usage, CPU usage, or query latency. + Enhancements * PromQL: Allow more keywords as metric names #6933 * React UI: Add normalization of localhost URLs in targets page #6794 * Remote read: Read from remote storage concurrently #6770 * Rules: Mark deleted rule series as stale after a reload #6745 * Scrape: Log scrape append failures as debug rather than warn #6852 * TSDB: Improve query performance for queries that partially hit the head #6676 * Consul SD: Expose service health as meta label #5313 * EC2 SD: Expose EC2 instance lifecycle as meta label #6914 * Kubernetes SD: Expose service type as meta label for K8s service role #6684 * Kubernetes SD: Expose label_selector and field_selector #6807 * Openstack SD: Expose hypervisor id as meta label #6962 + Bug fixes * PromQL: Do not escape HTML-like chars in query log #6834 #6795 * React UI: Fix data table matrix values #6896 * React UI: Fix new targets page not loading when using non-ASCII characters #6892 * Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018 * Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998 * Scrape: Prevent removal of metric names upon relabeling #6891 * Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986 * Scrape: Fix crash when reloads are separated by two scrape intervals #7011 - Changes from 2.16.0 + Features * React UI: Support local timezone on /graph #6692 * PromQL: add absent_over_time query function #6490 * Adding optional logging of queries to their own file #6520 + Enhancements * React UI: Add support for rules page and "Xs ago" duration displays #6503 * React UI: alerts page, replace filtering togglers tabs with checkboxes #6543 * TSDB: Export metric for WAL write errors #6647 * TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651 * PromQL: Refactoring in parser errors to improve error messages #6634 * PromQL: Support trailing commas in grouping opts #6480 * Scrape: Reduce memory usage on reloads by reusing scrape cache #6670 * Scrape: Add metrics to track bytes and entries in the metadata cache #6675 * promtool: Add support for line-column numbers for invalid rules output #6533 * Avoid restarting rule groups when it is unnecessary #6450 + Bug fixes * React UI: Send cookies on fetch() on older browsers #6553 * React UI: adopt grafana flot fix for stacked graphs #6603 * React UI: broken graph page browser history so that back button works as expected #6659 * TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616 * TSDB: return an error on ingesting series with duplicate labels #6664 * PromQL: Fix unary operator precedence #6579 * PromQL: Respect query.timeout even when we reach query.max-concurrency #6712 * PromQL: Fix string and parentheses handling in engine, which affected React UI #6612 * PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493 * Scrape: Validate that OpenMetrics input ends with `# EOF` #6505 * Remote read: return the correct error if configs can't be marshal'd to JSON #6622 * Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673 * Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511 * Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693 - Changes from 2.15.2 + Bug fixes * TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564 * TSDB: Fixed block compaction issues on Windows. #6547 - Changes from 2.15.1 + Bug fixes * TSDB: Fixed race on concurrent queries against same data. #6512 - Changes from 2.15.0 + Features * API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442 + Changes * Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393 * Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043 + Enhancements * TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461 * TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475 * TSDB: Improve replay latency. #6230 * TSDB: WAL size is now used for size based retention calculation. #5886 * Remote read: Added query grouping and range hints to the remote read request #6401 * Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344 * promql: Improved PromQL parser performance. #6356 * React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements. * promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065 + Bug fixes * Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455 * Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378 * Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469 * API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303 - Changes from 2.14.0 + Features * API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243 * React UI: implement the new experimental React based UI. #5694 and many more * Can be found by under `/new`. * Not all pages are implemented yet. * Status: Cardinality statistics added to the Runtime & Build Information page. #6125 + Enhancements * Remote write: fix delays in remote write after a compaction. #6021 * UI: Alerts can be filtered by state. #5758 + Bug fixes * Ensure warnings from the API are escaped. #6279 * API: lifecycle endpoints return 403 when not enabled. #6057 * Build: Fix Solaris build. #6149 * Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270 * Remote write: restore use of deduplicating logger in remote write. #6113 * Remote write: do not reshard when unable to send samples. #6111 * Service discovery: errors are no longer logged on context cancellation. #6116, #6133 * UI: handle null response from API properly. #6071 - Changes from 2.13.1 + Bug fixes * Fix panic in ARM builds of Prometheus. #6110 * promql: fix potential panic in the query logger. #6094 * Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145 - Changes from 2.13.0 + Enhancements * Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254 * Include the tsdb tool in builds. #6089 * Service discovery: add new node address types for kubernetes. #5902 * UI: show warnings if query have returned some warnings. #5964 * Remote write: reduce memory usage of the series cache. #5849 * Remote read: use remote read streaming to reduce memory usage. #5703 * Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787 * Promtool: show the warnings during label query. #5924 * Promtool: improve error messages when parsing bad rules. #5965 * Promtool: more promlint rules. #5515 + Bug fixes * UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098 * Promtool: fix recording inconsistency due to duplicate labels. #6026 * UI: fixes service-discovery view when accessed from unhealthy targets. #5915 * Metrics format: OpenMetrics parser crashes on short input. #5939 * UI: avoid truncated Y-axis values. #6014 - Changes from 2.12.0 + Features * Track currently active PromQL queries in a log file. #5794 * Enable and provide binaries for `mips64` / `mips64le` architectures. #5792 + Enhancements * Improve responsiveness of targets web UI and API endpoint. #5740 * Improve remote write desired shards calculation. #5763 * Flush TSDB pages more precisely. tsdb#660 * Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667 * Add logging during TSDB WAL replay on startup. tsdb#662 * Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627 + Bug fixes * Check for duplicate label names in remote read. #5829 * Mark deleted rules' series as stale on next evaluation. #5759 * Fix JavaScript error when showing warning about out-of-sync server time. #5833 * Fix `promtool test rules` panic when providing empty `exp_labels`. #5774 * Only check last directory when discovering checkpoint number. #5756 * Fix error propagation in WAL watcher helper functions. #5741 * Correctly handle empty labels from alert templates. #5845- Update Uyuni/SUSE Manager service discovery patch + Modified 0003-Add-Uyuni-service-discovery.patch: + Adapt service discovery to the new Uyuni API endpoints + Modified spec file: force golang 1.12 to fix build issues in SLE15SP2- Update to Prometheus 2.11.2- Patch macros on spec file to support builds on SLE 12- Remove prometheus.firewall.xml source file- Remove firewalld files. They are installed in the main firewalld package.- Update Uyuni/SUSE Manager service discovery patch + Modified 0003-Add-Uyuni-service-discovery.patch + Fixes crashes when systems have no FQDN + Adds Parallel calls to Uyuni API, meaningful performance increase + Adds Support for system group labels- Do not install the firewalld config file on Tumbleweed (on versions newer than Leap 15.1). It's installed in the main firewalld package.- remove 0004-prometheus-buildmode-pie.patch + this patch produces binaries that crash immediately - add -v to promu build command for better build debugging - reorder some %install tasks- Add network-online (Wants and After) dependency to systemd unit bsc#1143913- Build with PIE + Added 0004-prometheus-buildmode-pie.patch- Only package required files (reduces rpm size by 4 MB) - Add sysconfig file - Add firewall config file - Use variables for defining user and group- Add support for Uyuni/SUSE Manager service discovery + Added 0003-Add-Uyuni-service-discovery.patch- readded _service file removed in error. - Update to 2.11.1 + Bug Fix: * Fix potential panic when prometheus is watching multiple zookeeper paths. - Update to 2.11.0 + Bug Fix: * resolve race condition in maxGauge. * Fix ZooKeeper connection leak. * Improved atomicity of .tmp block replacement during compaction for usual case. * Fix "unknown series references" after clean shutdown. * Re-calculate block size when calling block.Delete. * Fix unsafe snapshots with head block. * prometheus_tsdb_compactions_failed_total is now incremented on any compaction failure. + Changes: * Remove max_retries from queue_config (it has been unused since rewriting remote-write to utilize the write-ahead-log) * The meta file BlockStats no longer holds size information. This is now dynamically calculated and kept in memory. It also includes the meta file size which was not included before * Renamed metric from prometheus_tsdb_wal_reader_corruption_errors to prometheus_tsdb_wal_reader_corruption_errors_total + Features: * Add option to use Alertmanager API v2. * Added humanizePercentage function for templates. * Include InitContainers in Kubernetes Service Discovery. * Provide option to compress WAL records using Snappy. + Enhancements: * Create new clean segment when starting the WAL. * Reduce allocations in PromQL aggregations. * Add storage warnings to LabelValues and LabelNames API results. * Add prometheus_http_requests_total metric. * Enable openbsd/arm build. * Remote-write allocation improvements. * Query performance improvement: Efficient iteration and search in HashForLabels and HashWithoutLabels. * Allow injection of arbitrary headers in promtool. * Allow passing external_labels in alert unit tests groups. * Allows globs for rules when unit testing. * Improved postings intersection matching. * Reduced disk usage for WAL for small setups. * Optimize queries using regexp for set lookups.- rebase patch002-Default-settings.patch - Update to 2.10.0: + Bug Fixes: * TSDB: Don't panic when running out of disk space and recover nicely from the condition * TSDB: Correctly handle empty labels. * TSDB: Don't crash on an unknown tombstone reference. * Storage/remote: Remove queue-manager specific metrics if queue no longer exists. * PromQL: Correctly display {__name__="a"}. * Discovery/kubernetes: Use service rather than ingress as the name for the service workqueue. * Discovery/azure: Don't panic on a VM with a public IP. * Web: Fixed Content-Type for js and css instead of using /etc/mime.types. * API: Encode alert values as string to correctly represent Inf/NaN. + Features: * Template expansion: Make external labels available as $externalLabels in alert and console template expansion. * TSDB: Add prometheus_tsdb_wal_segment_current metric for the WAL segment index that TSDB is currently writing to. tsdb * Scrape: Add scrape_series_added per-scrape metric. #5546 + Enhancements * Discovery/kubernetes: Add labels __meta_kubernetes_endpoint_node_name and __meta_kubernetes_endpoint_hostname. * Discovery/azure: Add label __meta_azure_machine_public_ip. * TSDB: Simplify mergedPostings.Seek, resulting in better performance if there are many posting lists. tsdb * Log filesystem type on startup. * Cmd/promtool: Use POST requests for Query and QueryRange. client_golang * Web: Sort alerts by group name. * Console templates: Add convenience variables $rawParams, $params, $path. - Upadte to 2.9.2 + Bug Fixes: * Make sure subquery range is taken into account for selection * Exhaust every request body before closing it * Cmd/promtool: return errors from rule evaluations * Remote Storage: string interner should not panic in release * Fix memory allocation regression in mergedPostings.Seek tsdb - Update to 2.9.1 + Bug Fixes: * Discovery/kubernetes: fix missing label sanitization * Remote_write: Prevent reshard concurrent with calling stop - Update to 2.9.0 + Feature: * Add honor_timestamps scrape option. + Enhancements: * Update Consul to support catalog.ServiceMultipleTags. * Discovery/kubernetes: add present labels for labels/annotations. * OpenStack SD: Add ProjectID and UserID meta labels. * Add GODEBUG and retention to the runtime page. * Add support for POSTing to /series endpoint. * Support PUT methods for Lifecycle and Admin APIs. * Scrape: Add global jitter for HA server. * Check for cancellation on every step of a range evaluation. * String interning for labels & values in the remote_write path. * Don't lose the scrape cache on a failed scrape. * Reload cert files from disk automatically. common * Use fixed length millisecond timestamp format for logs. common * Performance improvements for postings. Bug Fixes: * Remote Write: fix checkpoint reading. * Check if label value is valid when unmarshaling external labels from YAML. * Promparse: sort all labels when parsing. * Reload rules: copy state on both name and labels. * Exponentation operator to drop metric name in result of operation. * Config: resolve more file paths. * Promtool: resolve relative paths in alert test files. * Set TLSHandshakeTimeout in HTTP transport. common * Use fsync to be more resilient to machine crashes. * Keep series that are still in WAL in checkpoints. - Update to 2.8.1 + Bug Fixes * Display the job labels in /targets which was removed accidentally - Update to 2.8.0 + Change: * This release uses Write-Ahead Logging (WAL) for the remote_write API. This currently causes a slight increase in memory usage, which will be addressed in future releases. * Default time retention is used only when no size based retention is specified. These are flags where time retention is specified by the flag --storage.tsdb.retention and size retention by --storage.tsdb.retention.size. * prometheus_tsdb_storage_blocks_bytes_total is now prometheus_tsdb_storage_blocks_bytes. + Feature: * (EXPERIMENTAL) Time overlapping blocks are now allowed; vertical compaction and vertical query merge. It is an optional feature which is controlled by the --storage.tsdb.allow-overlapping-blocks flag, disabled by default. + Enhancements: * Use the WAL for remote_write API. * Query performance improvements. * UI enhancements with upgrade to Bootstrap 4. * Reduce time that Alertmanagers are in flux when reloaded. * Limit number of metrics displayed on UI to 10000. * (1) Remember All/Unhealthy choice on target-overview when reloading page. (2) Resize text-input area on Graph page on mouseclick. * In histogram_quantile merge buckets with equivalent le values. * Show list of offending labels in the error message in many-to-many scenarios. * Show Storage Retention criteria in effect on /status page. + Bug Fixes: + Fix sorting of rule groups. + Fix support for password_file and bearer_token_file in Kubernetes SD. + Scrape: catch errors when creating HTTP clients + Adds new metrics: prometheus_target_scrape_pools_total prometheus_target_scrape_pools_failed_total prometheus_target_scrape_pool_reloads_total prometheus_target_scrape_pool_reloads_failed_total + Fix panic when aggregator param is not a literal.- fix spec file: actually ship promtool- Update to 2.7.1: + Bug Fixes: * Fix a Stored DOM XSS vulnerability with query history (boo#1124610) * prometheus_rule_group_last_duration_seconds now reports seconds instead of nanoseconds * Make sure the targets are consistently sorted in the targets page - Update to 2.7.0: + cli flag depreacted: storage.tsdb.retention use storage.tsdb.retention.time instead; depreacted flag will be removed in 3.0 + Features: * Add subqueries to PromQL * Add support for disk size based retention. Note that we don't consider the WAL size which could be significant and the time based retention policy also applies (experimental) * Add CORS origin flag + Bug Fixes: * Don't depend on given order when comparing samples in alert unit testing * Make sure the retention period doesn't overflow * Don't generate blocks with no samples - Update to 2.6.0: + Remove default flags from the container's entrypoint, run Prometheus from /etc/prometheus and symlink the storage directory to /etc/prometheus/data + Promtool: Remove the update command + Features: * Add JSON log format via the --log.format flag * API: Add /api/v1/labels endpoint to get all label names * Web: Allow setting the page's title via the --web.ui-title flag + Enhancements: * Add prometheus_tsdb_lowest_timestamp_seconds, prometheus_tsdb_head_min_time_seconds and prometheus_tsdb_head_max_time_seconds metrics * Add rule_group_last_evaluation_timestamp_seconds metric * Add prometheus_template_text_expansion_failures_total and prometheus_template_text_expansions_total metrics * Set consistent User-Agent header in outgoing requests * Azure SD: Error out at load time when authentication parameters are missing * EC2 SD: Add the machine's private DNS name to the discovery metadata * EC2 SD: Add the operating system's platform to the discovery metadata * Kubernetes SD: Add the pod's phase to the discovery metadata * Kubernetes SD: Log Kubernetes messages * Promtool: Collect CPU and trace profiles * Promtool: Support writing output as JSON * Remote Read: Return available data if remote read fails partially * Remote Write: Improve queue performance * Remote Write: Add min_shards parameter to set the minimum number of shards * TSDB: Improve WAL reading * TSDB: Memory improvements * Web: Log stack traces on panic * Web UI: Add copy to clipboard button for configuration * Web UI: Support console queries at specific times * Web UI: group targets by job then instance + Bug Fixes: * Deduplicate handler labels for HTTP metrics * Fix leaked queriers causing shutdowns to hang * Fix configuration loading panics on nil pointer slice elements * API: Correctly skip mismatching targets on /api/v1/targets/metadata * API: Better rounding for incoming query timestamps * Discovery: Remove all targets when the scrape configuration gets empty * PromQL: Fix a goroutine leak in the lexer/parser * Scrape: Fix deadlock in the scrape's manager * Scrape: Scrape targets at fixed intervals even after Prometheus restarts * TSDB: Support restored snapshots including the head properly * TSDB: Repair WAL when the last record in a segment is torn - Update to 2.5.0 + Group targets by scrape config instead of job name + Marathon SD: Various changes to adapt to Marathon 1.5+ + Discovery: Split prometheus_sd_discovered_targets metric by scrape and notify (Alertmanager SD) as well as by section in the respective configuration + Enhancements: * Support s390x platform for Linux * API: Add prometheus_api_remote_read_queries metric tracking currently executed or waiting remote read API requests * Remote Read: Add prometheus_remote_storage_remote_read_queries metric tracking currently in-flight remote read queries * Remote Read: Reduced memory usage * Discovery: Add prometheus_sd_discovered_targets, prometheus_sd_received_updates_total, prometheus_sd_updates_delayed_total, and prometheus_sd_updates_total metrics for discovery subsystem * Discovery: Improve performance of previously slow updates of changes of targets * Kubernetes SD: Add extended metrics * OpenStack SD: Support discovering instances from all projects * OpenStack SD: Discover all interfaces * OpenStack SD: Support tls_config for the used HTTP client * Triton SD: Add ability to filter triton_sd targets by pre-defined groups * Web UI: Avoid browser spell-checking in expression field * Web UI: Add scrape duration and last evaluation time in targets and rules pages * Web UI: Improve rule view by wrapping lines * Rules: Error out at load time for invalid templates, rather than at evaluation time + Bug Fixes: * Change max/min over_time to handle NaNs properly * Check label name for count_values PromQL function * Ensure that vectors and matrices do not contain identical label-sets - Update to 2.4.3 + Bug Fixes: [BUGFIX] Fix panic when using custom EC2 API for SD #4672 [BUGFIX] Fix panic when Zookeeper SD cannot connect to servers #4669 [BUGFIX] Make the skip_head an optional parameter for snapshot API #4674 - Update to 2.4.2 + Bug Fixes: [BUGFIX] Handle WAL corruptions properly prometheus/tsdb#389 [BUGFIX] Handle WAL migrations correctly on Windows prometheus/tsdb#392 - Update to 2.4.1 + New TSDB metrics + Bug Fixes: Render UI correctly for Windows - Update to 2.4.0 + The WAL implementation has been re-written so the storage is not forward compatible. Prometheus 2.3 storage will work on 2.4 but not vice-versa + Reduce remote write default retries + Remove /heap endpoint + Features: * Persist alert 'for' state across restarts * Add API providing per target metric metadata * Add API providing recording and alerting rules + Enhancements: * Brand new WAL implementation for TSDB. Forwards incompatible with previous WAL. * Show rule evaluation errors in UI * Throttle resends of alerts to Alertmanager * Send EndsAt along with the alert to Alertmanager * Limit the samples returned by remote read endpoint * Limit the data read in through remote read * Coalesce identical SD configuations * promtool: Add new commands for debugging and querying * Update console examples for node_exporter v0.16.0 * Optimize PromQL aggregations * Remote read: Add Offset to hints * consul_sd: Add support for ServiceMeta field * ec2_sd: Maintain order of subnet_id label * ec2_sd: Add support for custom endpoint to support EC2 compliant APIs * ec2_sd: Add instance_owner label * azure_sd: Add support for VMSS discovery and multiple environments * gce_sd: Add instance_id label * Forbid rule-abiding robots from indexing * Log virtual memory limits on startup + Bug Fixes: * Wait for service discovery to stop before exiting * Render SD configs properly * Only add LookbackDelta to vector selectors * ec2_sd: Handle panic-ing nil pointer * consul_sd: Stop leaking connections * Use templated labels also to identify alerts * Reduce floating point errors in stddev and related functions * Log errors while encoding responses - Update to 2.3.2 + Bug Fixes: * Fix various tsdb bugs * Reorder startup and shutdown to prevent panics. * Exit with non-zero code on error * discovery/kubernetes/ingress: fix scheme discovery * Fix race in zookeeper sd * Better timeout handling in promql * Propogate errors when selecting series from the tsdb - Update to 2.3.1 + Bug Fixes: * Avoid infinite loop on duplicate NaN values. * Fix nil pointer deference when using various API endpoints * config: set target group source index during unmarshalling * discovery/file: fix logging * kubernetes_sd: fix namespace filtering * web: restore old path prefix behavior * web: remove security headers added in 2.3.0 - Update to 2.3.0 + marathon_sd: use auth_token and auth_token_file for token-based authentication instead of bearer_token and bearer_token_file respectively + Metric names for HTTP server metrics changed + Features: * Add query commands to promtool * Add security headers to HTTP server responses * Pass query hints via remote read API * Basic auth passwords can now be configured via file across all configuration + Enhancements: * Optimise PromQL and API serialization for memory usage and allocations * Limit number of dropped targets in web UI * Consul and EC2 service discovery allow using server-side filtering for performance improvement * Add advanced filtering configuration to EC2 service discovery * marathon_sd: adds support for basic and bearer authentication, plus all other common HTTP client options (TLS config, proxy URL, etc.) * Provide machine type metadata and labels in GCE service discovery * Add pod controller kind and name to Kubernetes service discovery data * Move TSDB to flock-based log file that works with Docker containers + Bug Fixes: * Properly propagate storage errors in PromQL * Fix path prefix for web pages * Fix goroutine leak in Consul service discovery * Fix races in scrape manager * Fix OOM for very large k in PromQL topk() queries * Make remote write more resilient to unavailable receivers * Make remote write shutdown cleanly * Don't leak files on errors in TSDB's tombstone cleanup * Unary minus expressions now removes the metric name from results * Fix bug that lead to wrong amount of samples considered for time range expressions - Update to 2.2.1 + Bug Fixes: * Fix data loss in TSDB on compaction * Correctly stop timer in remote-write path * Fix deadlock triggered by loading targets page * Fix incorrect buffering of samples on range selection queries * Handle large index files on windows properly - Update to 2.2.0 + This release introduces improvements to the storage format and fixes a regression introduced in 2.1. As a result Prometheus servers upgraded to 2.2 cannot be downgraded to a lower version anymore! + Rename file SD mtime metric + Send target update on empty pod IP in Kubernetes SD + Features: * Add API endpoint for flags. * Add API endpoint for dropped targets. * Display annotations on alerts page. * Add option to skip head data when taking snapshots + Enhancements: * Federation performance improvement. * Read bearer token file on every scrape. * Improve typeahead on /graph page. * Change rule file formatting. * Set consul server default to localhost:8500. * Add dropped Alertmanagers to API info endpoint. * Add OS type meta label to Azure SD. * Validate required fields in SD configuration. + Bug Fixes: * Prevent stack overflow on deep recursion in TSDB. * Correctly read offsets in index files that are greater than 4GB. * Fix scraping behavior for empty labels. * Drop metric name for bool modifier. * Fix races in discovery. * Fix Kubernetes endpoints SD for empty subsets. * Throttle updates from SD providers, which caused increased CPU usage and allocations. * Fix TSDB block reload issue. * Fix PromQL printing of empty without(). * Don't reset FiredAt for inactive alerts. * Fix erroneous file version changes and repair existing data. - remove pr-3174.patch, has been fixed in https://github.com/prometheus/prometheus/pull/3517- spec: fix directory for fdupes- Update to 2.1.0: + Features: * New Service Discovery UI showing labels before and after relabelling. * New Admin APIs added to v1 to delete, snapshot and remove tombstones. + Enhancements: * The graph UI autcomplete now includes your previous queries. * Federation is now much faster for large numbers of series. * Added new metrics to measure rule timings. * Rule evaluation times added to the rules UI. * Added metrics to measure modified time of file SD files. * Kubernetes SD now includes POD UID in discovery metadata. * The Query APIs now return optional stats on query execution times. * The index now no longer has the 4GiB size limit and is also smaller. + Bug Fixes: * Remote read read_recent option is now false by default. * Pass the right configuration to each Alertmanager (AM) when using multiple AM configs. * Fix not-matchers not selecting series with labels unset. * tsdb: Fix occasional panic in head block. * tsdb: Close files before deletion to fix retention issues on Windows and NFS. * tsdb: Cleanup and do not retry failing compactions. * tsdb: Close WAL while shutting down.- Update to final v2.0.0 release (bsc#1067341): + Compared to version 1.x, this release includes a completely rewritten storage engine, huge performance improvements, but also many backwards incompatible changes. For more information, read the announcement blog post and migration guide: - https://prometheus.io/blog/2017/11/08/announcing-prometheus-2-0/ - https://prometheus.io/docs/prometheus/2.0/migration/ + Changes: * Completely rewritten storage layer, with WAL. This is not backwards compatible with 1.x storage, and many flags have changed/disappeared. * New staleness behavior. Series now marked stale after target scrapes no longer return them, and soon after targets disappear from service discovery. * Rules files use YAML syntax now. Conversion tool added to promtool. * Removed count_scalar, drop_common_labels functions and keep_common modifier from PromQL. * Rewritten exposition format parser with much higher performance. The Protobuf exposition format is no longer supported. * Example console templates updated for new storage and metrics names. Examples other than node exporter and Prometheus removed. * Admin and lifecycle APIs now disabled by default, can be reenabled via flags * Flags switched to using Kingpin, all flags are now --flagname rather than -flagname. + Features: * Remote read can be configured to not read data which is available locally. This is enabled by default. * Rules can be grouped now. Rules within a rule group are executed sequentially. * Added experimental GRPC apis * Add timestamp() function to PromQL. + Enhancements: * Remove remote read from the query path if no remote storage is configured. * Bump Consul HTTP client timeout to not match the Consul SD watch timeout. * Go-conntrack added to provide HTTP connection metrics. + Bug Fixes: * Fix connection leak in Consul SD.- Update to v2.0.0-rc.3 (bsc#1067030): + Enhancements: * Remove remote read from the query path if no remote storage is configured. * Bump Consul HTTP client timeout to not match the Consul SD watch timeout. * Bump up a too small max block duration to the min block duration instead of returning an error. + Bug Fixes: * Avoid needless padding of 4 zero bytes in index files. * Delete old blocks during reload (necessary on MS Windows). * Fix regression of alert rules state loss on config reload. * Serialize background WAL operations to avoid data races. + This also contains bugfixes and remote-storage features from the 1.8 branch.- Update to v2.0.0-rc.2 (bsc#1065377): + Enhancements: * Handle WAL segments with corrupted header gracefully * Stabilize memory usage during WAL replay + Changes: * Prefix all storage metrics with prometheus_ + Bug Fixes: * Correctly handle label removal in remote read * Fix chunk misalignment causing out-of-order samples * Fix connection leak in Consul SD * Handle invalid chunk dereferences gracefully * Prevent potential deadlock during failing querier construction- Update to v2.0.0-rc.1: + Features/Enhancements: * Added a warning for time-drift between the browser and the prometheus-server. * Much faster WAL read-back on restart. + Bug Fixes: * Fixed Remote-read to not drop the first series. * Validate recording-rule names. * Fix several races. * Only close blocks if there are no iterators accessing it. - Refresh 0002-Default-settings.patch- Update to v2.0.0-rc.0: + Numerous changes to the new storage layer, the main changes being: * Remove `count_scalar`, `keep_common` and `drop_common_labels` functions * Breaking change in the index format for better consistency * Fix panic due garbage collected mmap'ed strings * Fix broken snapshots and admin APIs * Send HTTP Accept header when scraping * Use the WAL flush interval passed instead of the hardcoded value + This release requires a clean storage directory and is not compatible with files created by previous beta releases - Refresh 0002-Default-settings.patch- Fix loopback address for REST API gateway (bsc#1059462) + Added pr-3174.patch- Update to v2.0.0-beta.5: + Bug Fixes: * Remove deadlock on startup when restoring WAL * Fix semantical races resulting in invalid persisted files * Correctly read back WAL in certain edge cases * Prevent crashes caused by changing metric representations in target's /metrics + Enhancements: * Overall memory usage reduction * Serve debugging endpoints while TSDB is loading * Healthy endpoint correctly reflects liveness during startup * Switch to consistent usage of go-kit/log + This release may have issues with files written by previous beta releases - Refresh 0002-Default-settings.patch to apply cleanly again- Update to v2.0.0-beta.4: + Numerous changes to the new storage layer, the main changes being: * Single, compacted write ahead log * Single in-memory block with garbage collection * Improve compression of index files * Cache series dropped via metric_relabel_configs * Pool byte buffers for scraping + Overall the changes achieve a baseline reduction in memory consumption and reduce peak memory usage by 30-40% compared to 2.0.0-beta.2 + This release requires a clean storage directory and is not compatible with files created by previous beta releases- Update to v2.0.0-beta.2 + vendor: update prometheus/tsdb (Fix panic caused by 0 division)- Update to v2.0.0-beta.1 + Includes a new storage layer, which reduces bottlenecks and shows considerable performance improvements, but does not work with old v1 storage data. - Refresh 0002-Default-settings.patch to apply cleanly again- Add systemd unit file and default config (/etc/prometheus/prometheus.yml) - Run as unprivileged "prometheus" user - Default to /etc/prometheus for config and /var/lib/prometheus for metrics + Added 0002-Default-settings.patch- Add BuildRequires: glibc-devel-static to fix aarch64 build- Initial version/bin/sh/bin/sh/bin/sh/bin/sh/bin/shnebbiolo 1650617615 2.32.1-150100.4.9.22.32.1-150100.4.9.22.32.1-150100.4.9.22.32.1 prometheusprometheus.ymlprometheuspromtoolprometheus.servicercprometheusgolang-github-prometheus-prometheusREADME.mdsysconfig.prometheusgolang-github-prometheus-prometheusLICENSEprometheusconsole_librariesmenu.libprom.libconsolesindex.html.examplenode-cpu.htmlnode-disk.htmlnode-overview.htmlnode.htmlprometheus-overview.htmlprometheus.htmlprometheusdatametrics/etc//etc/prometheus//usr/bin//usr/lib/systemd/system//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/golang-github-prometheus-prometheus//usr/share/fillup-templates//usr/share/licenses//usr/share/licenses/golang-github-prometheus-prometheus//usr/share//usr/share/prometheus//usr/share/prometheus/console_libraries//usr/share/prometheus/consoles//var/lib//var/lib/prometheus/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:23829/SUSE_SLE-15-SP1_Update/aa007afe746264f2324b821134430a12-golang-github-prometheus-prometheus.SUSE_SLE-15-SP1_Updatedrpmxz5ppc64le-suse-linuxdirectoryASCII textELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, not strippedexported SGML document, ASCII textHTML document, ASCII textHTML document, ASCII text, with very long lines1h%FRXx=rsystemdfirewalld-prometheus-configsystemdutf-8cf95b8e1b2bce52b0b69722d7a7fc07520f14d2823e1a99b1b0002837297f2e0? 7zXZ !t/*]"k%b;<9{*l_'Ӥ#WO'M<8sܡ195s9D|A:iEY/*:[뮭s9h@QYUr-I賓|&=};?(n,"# \Hr (Ȅk69PrsPiq/$:mRˁ1 l뎔7=*Ӷk> ^T9Fc4]'#xzU@J:.xjQ<6aBeYpľ@L}_=笯h?ɭԴwSPK9 vrzHT?6ގ.c9܎ Z%p֦u+ NLhО$Mfbv<t}oJR2'r]FxAJ_ ^U=gg$_/ 3t9)0}+X^NZPdhg4{u@7n-{Qʆ_/с$ȎX~6.!gl&~8#_X{/ڏYJmE9u+y<ޱdAe]> 0)$ \o6Q<lƛc{Jx8ReiohxN]dUAdRE$&:'rCljI ܽSS*=zgGNlju^+'|?mĚ"HC(~ƞp9ɯdQғnBrq# iJWwec~lӫEC\G**'H-צ%MJ84u>0xyQO8KSF]VC$+kNUO=\)apG^7 23p\K#:S0odNVюt-w 쨳}4 }p ϱ؊cMthfs YO,FTG?^jbvXCt(HĮ4)=lϯ<ޖ* oU-#kݲ:+Tf<)/xaH1f0!Nm2dM^?WN!5 J~2B!X/-v\’ykݽ b~`k;KwqH2sBЙT բABHq^ʎMN֡v!I_p7DW{7m!t+A wP4d::UvܘwC0 V6ٱۮ^ ZA͢B"}2eDiGJ8`;bu;Վ8zW1`^Fi8hˇJ3`{K>0ak|\2Ik0;(;}`ϸԶF @]oΕ8kS[Æ=vw#~?{5OlB&$y9!>0ʾh<[s3vH*\g[zJ^e]7iNģNw՘ͱc.lR.ӌ wTqjcuE)3VYlDz%# ;-˓E ~"/7:kR; 9"(dϚ)ܤ䤆~)xy"խ9H̹`P?^zn,}I9F*B9=>?qW Ʉ$f &bƺy? ;$*"mXHt-zGO,ZԬ/ <9K)#O<;-`)=1G"<;}v1\-ZӢIqfy2x[jFVV͙30՛]a2g`^FkL1Dg4D^܃6]6Θ2v1&&1|s@iJː[5&@Z4~e-o,>MGsG8>X5QZṁg7d|1\naĉypd{[cRğ} *j AE>;!޽{#Y(dÆ>Wd󙕌Q-"If^p}f9ŻHEם"c\[qcsp^`tBx\AMU}Mkv #̇ycEE,AP$^T rGΦ  O6l;`i&l}>G H[JKy={uDJ6:Ѷasp[UK0E{9*-; -O}EY &< _dZnlֱ® I@-& B G(l^Ŷ2Q!ZA<)(S_'0-aC .˅M?M 9 [ &/&n 9qt$w P0Z{qwWFVm[3LȍoBIXͳrQEo.Z-/sͫK"- sXرyry?b#yo$Ƅpa9}A}"E=h67sŔ31E&,4Z QWh*IxWf@Tvj8bjn-CbD"Ù6m2$R9IK nS|1yrB~E;|_cb[Wv(ўFG2[Ӻ%gȭ Ro&s TXz6U^OQ7i5dxF&&^ tݍ/v֔ya_dF k6 'lX?6q zw*̈E᫟L5M2̘ߴV'pH&{·J26z¸ (͖ Gb/cHS)!bְ{⫿\Ɔ2~5U17nBKz|v܂hXS3S6O<(HuIq58NQlZa+p%)~N2O+&A#OPg^&DJ-xAvG*^1(*`!^3'&!*~u;IW5I XJ .AZyt haf2oo^Bȳ"6vu9]^ӡp#F<2AMX)x W/Ŋd ˥gIXu#مMi:y-vџJ\F`|ǝEqGlolv(zy{.֬LƑAAKM*-<7uiVUK6*g_S+0_LX"Ausb7p<-kmmǽ|&6[ln}%Ě|/aۉձ~%znN<-%Սъ*I/6G/qZuyEis5X-9^`ƢEGneX.$BXؖA5ICXכx:~t/h>nsx#pw5A2s7$ j[TѡbRKu=5f`kLÊ񌲗jT\ w"f#VKLDLdU|r3jw8Z5Kn$67&3Eza#}VHxцV̈́jxd3zZ@FG<pn*a uOQ]DŽ50DLJ I-}v$l󃴄 Ulø8q0g9B#hs6]H/-Շ#> H?,|!er{-hcEvi(rk)^p`|aq! :O!Bc`m.'/5Ӣu1fmml+2S(uSrT/ݪX>N(2jR/f'IL {1ezon&I`"],*Qbd@k0n 2oP,2aiƬ.y87Dz}}P(koZnƗ#RrkբC~p 1~UO D;q;?Ӫe ;xuԨ(` 9nJ8EcѾg:GMruxk5QEVE PmHEjQEk(岂ذ6V^$@{ӂ|OdZ!I {K,}OOқa=)1v%j/e[SJfl˸cD9Vv"@({$uR=x80) ]qeҮx64A6ID=Q4Gm~j[.>t1ՈDO<%C}ғ'W|+8>(a`vYnUOwj쀽jܢxQ]p)~jN'#m]@ԖQH[b+B|%+ib;VqN7W$6CLiP̽ moqE:ce?! (+މwهM;`FN>K T`LjTAo/:b Yu٨i&9I/T mpsцD8<&&0< dE{E=,>8P9~{U ^5 hؾ-Ů Ie;Y)J M])AIӚU },X}`= P湂gx_% 9χNNDͱĬ 4 `.rrΟ"I;TsOr3Gφ'$rU|G_I*S jc6&Z2-3i2l}dN=O_Xֳ{sIt i>a8U%JCC'XW˘G}OY'皋/RJsU #(7H% n1gO!YMDy@{Ռ0NwW8/rB|Ή3hNf ߘb=)i-Dd=Tp5J'j&YP 01y&_-tW6]NXo%`ͥ w sXk?`keJV6Y`7r ϱ60f0jLY6 \O*B1hByS#B G/[X%Zb6hxp=icձ e7$0AAv#J;}Ҋ?^G/u^Jٽ&-{ƭkb4 ŲqFwSHHi9<Lp!OZ,Y1Lh?YyF8hwFA1̉sU*\0F)i4_3i/wc09g~V&UiBukTU64Mv8r,5I4px̋I4:> ߞ-^ȡCcl[8RĶ斆K9ԎѱKdz%3/AD䗕-*h+[+Z$L_NwZ'?7mJ3G<~Sn٨(~ aE: 9<«1TZu;D@RɇhqcBΡh\:iJ+ )ZX[:ş6'hk-J;^_[[nȿf}qP>[ 1̤9 ߤFG-H=+;ŀ <+:*'NxVh+OuIjᚼv9|V5ub o]G*ډhT/r8^}EؠR|-8bՑ00tXwiR5ԤyR"k I-jaF<`Bxe'"`lɈn&0أ8 `An3I]VۮY4~c.7 TAՂyۍ\a痷T#]q;A1"Omz nj5N/i3ijXJ"twiOBᤍ:g'*6~Óp#~Elu038,}5#}u@ԥ0Ί5KF+ C#ZZq%%H>K]NQgtFTEJ,|#D"lkoCZ=P/\Zp6+V1C%E ||MV I[t sЃ6'q>a¢EK>~P6~Zfn6> f^p.$O0%&7E[ Bx2fZOO[XR@[mz);n⢴.v7'MSY8(3Wohxi)r6A|w^}8ѵ3/HC2'b b5(Y[(i) Ԁf\d8itXZ*2qN4_:mJc;S.9jyU<6}ã 'lMTǭ[4&70=Rܠ`0=,т@+.(D$cO̸L`; ~2oBb[s(-codzez.50 LgQ%}T$W:%րsNA@UWrCJq{ zIrV92 T#0lr"` RerJtIp("@ ْ̫S[cZH=b)IvvX- @Ԭu+ *sw"*~9N)=8vϟ7U>a^F5RaLrV^NsWl.FA E wc]+RM$`*UhÊ7m:P& [g<> )orYֿ]{B`cRQ G+n ּ[NZf X썱#E,%)"Ⴔa%d!9@8U|^ɹLjPԩ_U B#aJ RQ`\~RP˟*O-ս4`z$K[Wqۿ2׻H~ڈ$Λi3IRdYSY4#ȥ-ƽl71k!9-X?Q:0N ]^I& cvBH#νUbQZ!cZ/o,臑Cpt~*bQOSN1Isژ\WFU-ix1jv`8Yǔ9*k_n {cȘ&ʂO+%V@Rl6-'ґNH PJ o#E|6 JeˑtnS“Mkⷊ3=_"}L_m\ IY-}[|"oh]HE纔R -[s]9#,a؋@iyױj:}MS]Z `T~YN~~jPƂ:M$L̈Yź_zŻ DLN.,#n^/o G<ͯHE~C a]Zz(G3ۆKr9v4ҹ/Q)#:Hf:)琕y/ R>X vV".1sxbۼ܀)+.1nO_0<lg \qQ|C\ @2~5I Խap~i去gp7* 0ܚRgq=8W~Qނy1/Fh`uUPӜi[.0}^7Szjz4jMkF <6*Տe;}F A\wT9KE0Hhs;Lk|F+Z? ௤F[edröV;3*,8(rܦL7dyf-m7u_D]&˂IV+)X|+JlBOQys@ 3O+9YYn̲n.X.`?aN%OL45oգ13feɥu20u^ @x;Ƕ(vhcHQ$nhQyL*`E'㲮lOdoAezz@G9Л)h_vȶm1F@U?itU}ST֤( rvq\ KLj V Zs>$/[YXz/VI Y ]ڦ-Mkx.-6%N!uW -T?EiOscP~ F6n]LpĖ%ߞaLf/ `R2);# 9}X\fsA%57$WK\ DIyH+FTɌ59M[)+tÄI8r`d[\-EHp, T *4qo>At6S8oAgɎ ki).D AXݹ[ҧXGQN*8&ƣy_n7ѿ]\ gqJcvm§FS$KNF`G%E2#`JIHVE=W{!٢nyq)bȹJV|}ҖsA MMCivwu~FG3EE>cO<+ `$t&jvTHIZX61𱿦M '&9?*rjfB7.e-pGԥ'Lf ֡\gݣE2='r2Ef.+,ckrA]u" SXo+m][S#<%#tI[g}{m>> ? yVm3>>Z8dz,yPqZ&Z3ۨ4ͮ/}$mv QAd%t {&a2O&" gl㥡 K AW'dBȹP'p., > 22LPf+JVTl텍%'kߕu4EJ+`k49l}#]Gshie&ۑ:KrQ֊ \U^2k4M7q?G`鿎pj~.mϡr%s|"\gVB Tg:_6CoGƌ/C^_$FYb?.oaF% 53G[-8PϜW2₌e:,Q=Oxǁ.}afGz D/tQg8N~\gUdIh=z@诽cb9f]tl-R@'^.w)AnQ:6IvHA]NX^43 ^UO$V41y:)yL,@֘)QTwz6&:^FhyiMO۳QK_ckȤzګ$(<Q 󤔓2r~h I;;QUͬQDi%ڐ໇ 9>HYVdFf8ࡠ ~@m_OAgHVNƥF='@NL=l'i@n>Љdu&<8ze+(i.clK^.[/!шL_+KU~\ZizХ썰`ѽ/AnkAG۷XNO{QG|}87Mذ(gVt <+`jV9 qjfT$B2{:XPlTlvmmqA=%C)Rgǃ!!6OgAdV`m5XOn9L ~p͉x(>뚁ZnԒ9_LG+B ^s sS+_ե1si!^`-b(*#%FPwގ<GNUQ7^Ǽv$8쟬77H.M8LѢq--`(D0жGC0G=8Y[1񐵅$7G ]y% :x.gbOO]OTpCSސxuO^]N^cDnɫT}Q8c:$.K2lw7gy>(.lf{dlK'7i vGol.Rh =KE+^sMÙsDc}33c|'AKU!g]BSX9`t#9SYl4 f_sCɰt0H)H;G h$hZr9683l0zI tyB__}[}Vb_/!T_kMZp`"E kl*rG9up5Q(i@okԁZw.Xq^0gtD9)ӕq ˓.fz97'XtSZ&^~|t;8:2( rA\yghd]K-m:§IS5r둲e~&zy4?o"}s<龮.jXZRayw!VУ, SU"ӑؠX?BjhU+T05?i^sʹȻo[:s/)$vz[yܱJKT&h-_W31 f!.LzQZܮPKϢn2U0~>Zn]#nw6{귴tE/ڪx > F<=F)VEĵ2bHS hedb I \mͣps&aΤY 7N祻$felQ8ӷ3(_" Y@Q/k75F~ܹu}xݟXՆO|S`/ayĶUE\F2s?^xLJ\zp°+bf]qvHuѼpڑEs 6")2]Lku6/z%BHP4~t XDx?3R!zYcCX`k귙Ei6,5pT[Dc=koYScXŤT*\]\`sFJ+8fDq;T LV˒~YI!;csv1ϻsB/ hinMJ~5{{Ƽؒ$Jc8erol!4';4=A8$:a08JpGbpݼy%PZݕDaAm(٠CRꉖY;MA? ?ݷX# n lBli|bCWȗb)Cpmg1&)״xêl0V(R3F qVx9v?;hM xߣ}:FиkW'}ju&J˿ o!x#-%E4"5gv9۶{b0D[ `* |tME:1U uU3TkŌ'~t*Y|V(I dXqiKCi\z$Ϊn8 R)ljB4'i^Mf!%s-9*p-*Nv+^Ǜ)Tye!<"8A,ENtɶX_iȳQe%"/X{[\~?Zq˜0am1k]_'MF5*V dHP|IM l GNJƞjqSKeG0Y&:v6qj6/n1Rᶡ n@ю.:^}Yݏ"p=k=E@ teJO_OKWWr{&(vЯ0[`"2ɪ%<:#)r&a5IK_^:_#+lZQFS*W\j Pa2R-'YS߈WY'S| n0a!9 Ṍ0&9g:[]ON%C}.;Q:#}1pW' (-?wÙE/)r1 -_lC_+^=ihlbW(,ߕk69 #D؍v~>٢ hP#΅R+.mi3LfwtEX' 5,=PܼC5&7#\/D/9L {j2 ㌠D`ms@KZO;! >(~罌%O *S:(XƤ'KV!+dlIX0۵a)%R ޛ<~V3TCN-LV.),6?Q j%CYDBc(X͉"O'ER`GDp;;*&lܖMMqU4Pݔ y:1guI` ͍VX7o,bQ"h?+ay&'eRJOWf91?;(DڱcVQ :h<'IPp%H:Qn& jÚ̃ iP² ){S0;?ڎ&z>h?מp|XRT7^aM[zf:Շru7yLḻOTn|VXoHt*ea 2{$/0uтuiᚳVlqι][ldZI62\oP]Ňr͑;Vl,wŮ)QuJ,mH Sn8T_$v Nfyہso)D݀#fd 'IF3%=&O#v;s*5Hob `wk& jяU#G R&oA՛1l`a_U <[n[1sV`x9s67R>Cov;}LAm6V[t0|VG^%AB7H񹤗3r4[>kGпBJǯ`XxQv睘~m[H yWoF"o^h73}2J N\kGu@1>t5 "el"]IԛJ`Ĥ5 WOG+魹2 G8xվ 3e{6&]Uiƃq=_pri|Xt,bŁ 5O.}i#kS5m&,AxҾ[vaNLˈ%/&IѪ60C"zN瀖irk.M 2̰Gi{YQSޝU=Xg;69ǨEsZ[VN,`7xLֆ~%T[ 2=n`c\c^"zt /^l37J|)#O 0H B\S+]q&i*#0,e\jp7Xfdemsx3ˆ/G&+fڪ0`: g|b>V7!Łm+s\pG~64G]!f#jM 񱠲%apОts#k?̠ ~f Dg2@!UUuW}~NΐB5c I-2"F$u!AvG(cSoGϺ\Nb K^m^l^ RmWrӷQB!ADp[yug§(Y)48sMtAg^"n_0B{:ܱ]>WE촎8⯫$;fje J{ Fb~kA]&ĕgz^j;TNi2з?x| | F/J-X|ᷔGţ-C%Y8~W^al'j&Q 1? +|K짣Ҝ9+->BΩ%We \6vGgT6Hy0CI*0u/q lpIq}M?0Ub95vC@FgV~y.%p ,rӁW:"8d2cN"$dr(;W +Sb;(ER*V*4q8?'dY;[]YI@*8WZ :<|qz\5XR9pM6XT ;y+V9ޤ){Q5qO-!< Y".6&m`M ԲM(^.lWͼVWr> 0R@.h2h= Enn7bXRJ5!kjBIE,-q&fՓ/V,3\T~KҼ@\ sk@y1Ь _.qfsQeCNuAj(ܕZ֕{7#\e]c;Y`1RY¯8CIV8C^G_d'˞`XojEeOYۑpr/ǺX_[a8[}gR@'I "=۔Jb7lk|߳mgJET{V@G̭1skh !gg]3+Vuev qkk˃s=;xrwu[vYG[FQ8uKLRQ]\}(x²Z̥: je5\o)imMI Z)d}5 "cD . M|C>Wjt{-x.D#tҋcDN^s]2bqŰpXEV.󩀤8;6qZjDn{ͪ28/UV* ^r^kUK q[mڋelHw( DT*VbܧGh>Mw(8$!JSnKdkeC͜wwUOX~F`MMXdUzMZ^йޠNNuq"p}\\aPvm|k3xƄǸI<%"`],^䤅_<389]7h^3lRHQ C$ wThLEQ̖HV|Yn~HW{4"wSzȺ2;*^TB1=aD*:>mws~(LU 'vxuV;2R q+Y&dq5ϧpQY^MA%]=JHBI9w͹h.^d:}נeTc>PW#y\~OϞ,tU+tgOuSqz}prUM )hL{7 J]tX4k:ҩDpr XUY5fg`- aIɠ.AYfPؐڭZt=,'3|$|:}̗:=eM4h*+^D4A)j EvӮWa浾ȗ|eMn[dA8_Qse2g܇ݻkZ::c4YZQ&!l }[[/&6ؑ=?xH87jT4)PՀfr6wPAO#6B=Թ'4Lez&JQܸ_}ʦŁ_jC!&93Z3ޯwP=$?9cxˇ_B$_%Vg(RKHd&Y5@Y[l֒c'<ջ)ԹjxsPM\Hu0/ZkR[9[Sb1.ixG-dիC&! Wh-hRN3#_jC3`>J^[DV ̭R[2 hĢGV##PS̭ JMt$p)l 疫?Zϫɦm5oD?O&u@`j(~YUX?[m@yZRXi_bxԎ~ҡZ #>MST)B˷^bC֩R`,/C%skLs9I"D+J$t 9nUG$KqS2qSRlnbleQW_[`U~"<5|ק5,M.If 9{&gHly'Rr Dvų>wC]ڰ뒧(A+fNt&VN\@qYiwfTQUyd3y"X4A&HpxSsh`yCߨG=i-!z'}hְj AXBXѪ7 [eMSjXJ Iш*PT+g8Gm:+W y>UImq ʫ4;Ui*Ug 7 hfD0ZDytL9:WWTr͈|WpNyJ^ B%<RM6dJlM:<21vGB魘ж$?kȥOJ8\Ud&yf'~UZ)Ѧ%A)Bp0^}yd3/Mʹd3KW%w wؙ[} xDCrZ\$6+}$xn&X.d.cXO]6>:b&R.\mF؍(XD4 Dp9Y|=,?j2e,6yĸ@iy9c;N !J ^,JB].RͲ&Ԯ-qJ)\2iY<M6g4#mSv n`X?vWg"5ν^t_H kNSurme=im^% te{MZE-6T7;I-kK.Xup0Zt{B'8pf3 uᆬbsUU|%iXՇC9T }@&$µ*Ut>d+HnEH NJ\b&wP,9J>nH3d_ET ܤ`n3c4sb^Uwc/:1^˫b>չ1a:HM]6Twܶ7ӣ»$I>Yc6ۇ*\cKmWzHBc*d"M@K9m:4#[qDK)lĉE(^H.-[rn蝾po¶l&|^SJ C@%UD! WL$I&gN2x!PBmpH| ޘV'L`n!3EV#|!H'(ctJ4C6O ܟ^r*&/90 (нhjzc~q]*P?5_#>Kـ.PowƂٹ1'GӼBEܭFMK񻾬f`_c @GX..kd3!mJ* 6Ab /U(l(ֻcfx1!%>#׃!-b9z}ض+K/aY 8;) ~P`UM6}hDrT8?G[w=B 4]Wǽ?|(΢(/xaBV\AD3 XI,9eFX!~nt;FXL}L+g.BZ6ciz:__ |%.ʐic|CW.B7Vd{_j4??Էz=qcrfOU&Ȕ x9/ [RJ4oXσ` -an6Efe/^[jHԠRtb҈6+WHƅ,MIoTz'ؑ4au|Q3C ;d@ׅNsG ߧJS.Y! IpN\ILS F8pV9 4-" ]HhEAa&0?m S^,d~CJ0yOTli88eR-n/~ Q|@w̬[_P/dc,W"$q  CmN/Ξ}\2&e5&њ֩HlNƺDW&8JvD |&;M>$=p? V[ -wti-QG8 ̲W8뱈FBi/rE0Pb> ~!I[~%C޻mH*)P6EFW Dl`o^ hf.LM,ټc51$Yt`ѿ6un`lPOAz ϟ/YL ҉lYYQQ}+o(D;@:2]ߊb>] N+BLP'"p5?z] -G^s翤x}{dԛX]r-rBaD_(V)I6d`ㅌ*Y}⦠62I@w!gt߭`51q Y k:velWEIT"3O<i-oڍ>+<~#C\uղ`@{:$z;$2;3h^hh$رެ#3[D\mr(Y<"$ΰ.\kJaX(f0\yJiD &Z E ?FWH[9K%3 g/Em߰d 09W :`zάN[ QUqs3=:\ͅs#2̣ZuyATDX-٭./?P~Q/|zt.>\kT`m@vr'h^Y{l$8` ΁JGF'i<TY?GP\{O\xs!aL%ޟdF\Bb_HR28Fv=Vl6E;cɀjk @;4{#d: =1nEw~qcHE\ј-=[h1^0oxi͏TU`SHV:P{gv 1 {+dNfOS%:S`4Ϲj⽀ "T1;V91wW(LUn{ҵE=兡Dsŏ^\[10O\H>8SRr=1<\ /,_لsj5n'M3Edcy-0ŀ6ߏ6 mg!F\$,`kGi]3q u K&Dk6-ELzU6ty팘'v悢F HX(&XLQ|Jt@_ԭpZ$kwBS6MvoJS',QSİB}̀Dyd, SGl=L]+/"5iQ,3.ФeX MQ {CFBPQ:W:[fuK:&z m3yC3bM2E<]zl 1jI)qQ})vb򡥱Fn&kC}l3r/(pk@)z{&ZۻQ1'CW5l@!+ҙj1T?L EZLwk_k!!H]%TQi Pݢ\a_tOTTwjfGYS8ɨOԝ!n_n_&?t(Ղ]!kX!qBk.+ 7<(7X3ЉihPS]V\7]/uG+Ym .;,|-:CªmrC#ú!*˒F~f XXz@(V:( o@ Z_YML{ ֝.# a@Gv]N?ڜ젨QM9f7z3@s;:jvEhq4tDX&=8S4I)b{ŧ~n3oF{+LzreQ5Nm˪7փ&sMJ-ifw~~LҜg JWL_ZSQ'k &<.P#]XՈ{ ˺Q< ge#~8r4#FŠ,4Ӵf Rm/& ،AyEɃǶWw6Gj섓YzI=a>.r;^C~t7"@UH摀ay˚JFR:_؀KB _OP>c~YRs؁?+,Wfʂt\<[A\`ʓɺo4& ׅj5tlkmm< ᢎoM`C8|;1#uUIhhD: ,ɰQЯsk4`B V3HӰń6o^P8<6҄k,,0npWrU+*ήp &:2k3V(KU̮T犓)M̴FQ,9y(+ngbݍ bcbry;f6<ۄGuN3`+l/:aN*W!(a咵P8t<&]6Q1gT,lEwB}ێỹ>ut' AoAexӈu`u `d'z}P]şf.~=6"Wꦲ!w|Tu'[6ZSJ3JsN9YO'd\ϼp6h+.qy|eŷ"uݡ~;oW֝rL䬐O%1E }6<+bs&-uO=af\(rpOs&c&ԆμsUV[g n (2iu06t#u3,uR ϹPuSVDD#"t*g%Y]eMMMhQ/|§p PwhBwb0^œ%\V~Ѻo;V_q.|NΉü}&X]OP\fVOPa1ѕ 9 c.dD,9 *Yf*(m{hvNHr7ڐTAv_,:F y2sB40KLޡ'^1?ň (u4d'I|>2g 㵿:y-}dTC;)TCaL,~ƵZxx1bUH/П$h}ު9aOj7@:^IPyψwb x|8p"2mi,(ѧ>úRXcaׇCjPXJRSaؕ'RKP^G}J5!t<%o%b=XC/7nQsExfgZq\)'@g-뷋GR=kpӣ:A-ח<J>Ⱦ=Fл̓iE`Yьg?&O:܊vYuR 0VSz $ Ms~~HwaJAy}Lβ!*_11-üĖ"o޳_8M+^K>5/u Qh<(KGڸoN?'?h,Ǡ$qI |еJ˽ NJbb \4٥s~WKabdiNHVLƑ`kGaFK _tSU,*|[Zdz^Θ]Ne*4Ʊ$lBzshL=]FL"͐u:ϛX:=)țe*d7\=<"bJǃ08} yi0ˑ_ݛ2j+u428fC&0ҰJ~q HvUnP  `@iB*E`ɞj Q0wp{.Ocq3 bJ}2e$UhGۥ ?"`Y19캀O5*j\a=35\DޱҘ+L|-[J8ךMˡrZOSy侩*m7"\ [ nVβiut4Fwi=v P\:dIf3_ tnF3x+X+Gp.2aj-ɣJӳ[vܻ$o R  #e&2%0L5r^ Xg+V7 Ulg^ݥJ둞^gEz,F4s"TbmoPQS_x[>}HT_(~GebcAYY)|*QN}$n\0{@wY?10}d!ܦCW"IL>o!}綮<w3]NA9yx)0#xe^bvݛ%E ٠\5Mˊ/qNg,&,(HDz1O]D%lu& r ޲~C.KyTI# pHtL9{žԉ4+zr0ʼ4 g8,B`\nX Pn2`W1S,Z X߃v%{(3|k:ۑqkraώ.8Of(L" :CgrH.9J[ :"};FmiL'|%!.=g- fZȫya9r24\l<}_d"Ӗ~=3e %pLD?CȢ?YȻQױt푲5Ņs6iV75 V~Z6ok&oiAM\#z sWš<֌ۇ<h@]JY6[&=/>n+I=kFC7 r{&0?>1SH1a|G&yiamTb_ש/o^ oG ?SCXdID,DXyT#7U֗ҹ}m`U*G5`}U:)s!m=1E5CBTޞ~IW^|YxaX l9hnFΆ*TNT,tˑ@'x_`"НRbģ ʏ2Ҙ]O%uG-Bx/@W& 6fZ GE81CrIFޠO71>ԩ%* bfW<o@ױ꼛H kCB[]xzmt/#;QWjڥi-9#:H5E4v&5E0oNhK k *M?3 m7r(MV0d;j ~`7uhl̪E<_Q]C9 ҶR Gܶu/k/?mo?BJ܈0YA'3Ix Uԛ7~j<1Wk-xbB"n Cf &YSಷxcŹ+ZȪ'r8G69BUo{ j!Q>R) F_* W9p 4 ms*#{xIx⓳;|Pd0=%>Rq89lXMY%y 4\^mu)XZc VQ3/ 'U <@8[Ɔ8WA-S}ڞ$ +Sc'OdsW vwV L2aTqq$ P_5P. rtRscQrĥ,e*A/k@=^Et zͅNk26"KЁbE<.C^D1b"`N^-?& Q N+֢$m IHlwE46&ڥ&C Mٽ%#yN*:ʐJfAq=Zo篘p̆g}7ȝ=Y1JX4f]l!"?pPJJqԐ֭.9_%_*B.A/7ڹ`*yL+Υ^)Xf,ưhE˟^{.l"F0= 8ʔ%KI(e:Y1A %y] S QD5@B:~tXʍ!վmb4|:KKN{!o &<Ҭk} v:bԌKI+FYQ̪y{!vw}@V9P keCnjZ_.pؙ? hf;W\.czȦ,\B@r Ol >.)(BLcY+~"ʞsg>*,NXV-ޛ>Iȗ^yBF= +@ѻrLLizPubk.zLb&5! Ձ/_Bc3W3\#$5zMЯӄ0_ý\yK34ƉSb& ew0IDm$Ab*;NJWbh+xkOk"?˘Xm}9lRc靟Zp#^•?l[4ӂEњԮ~Y3O.njOyV=ҹ#!\Z ]~9Y3:_.{:Iq۰*=nGj͐CК af*Kʁ6ޮU{gmJwMikicI ߹؀tqQaI̓i9bT?Z[VL5S@}0)!­8g[{Hb|MNa#þō"tK Ë ^=τ]WRx)hl? a7"X_)֞/EϷ~#uJ!?"[ڔ,z*4f"v:{R{D+!#)aiFCu$C:ؿ!,M XVP~ l;AޛBOņ2 R7J>M;g3 #cDyDo4ߢѭ%nW]1"YPΠfm>V9 [ P7yQܯJ@!hŬPO גaRR[fO&FB`| VDU7`EcC% X \ ;U*fzkٲLe1>.agtJX0 z/бOWq㫬3)|gJ]\ux晻FR$B}Al2űDqL/6TZkDS/to @wε]@߆hNzy,zH!L5{f6=l< |XX }l.S)QCrBY5H~a%2)2DÀPI?*Z^ƴ>H"J.k|T)§$z}kKR]i3ޥQ@U83: 8Y/bZ͊ >%yuGtsoW rCWZT+-@dԮ5eG6Tw 5>M>Q_]lSС}ްbAPs]qB#-Tv']F]>ng 99 %l/)y z>ljF+!)D`s̪ዒ`Z%S|_h~0&#3[xƺ{fg OKIh@]fTz pJ܌hݠ ,jl!U oV?.;nf7iZ:k9<ի=# V`Bnby 7K)pYHEtssa̫}P*jNk&JH-]$rFOx&aaҽA% t볶S^^mG6C%0|73nes6€-t[7LQA2eJz&Xp86AomC0ͨ j^‘Wo;ԣ2H<+}s/G CP)G?,KA+X~3q 0ȵO~8E#O6+n_^%;xG伎Ƣdwֆe} 5P.Ϝ>.|kl u/%xmoP E_N}., 84˅`*Ld0M(EZ *}`TxE6?G5w1i%kYCÂ!p.t*{>iGC\ g2 ZQԒEKPhaZQ>G - $pEHGk%}'{6| s#gJ-u⋀Ab:Zc"bJCSp_~#RL@&BfM<@1hx -ZE(}lOGϠ/cI6{U|ًx's>^dƊ6hqYQcsf1-~f=9hEW8RM?yTϛb}ہ?L\|c< & I`yH>>Ԭ q3xmYR0k&(s"4tPU')}@X_ghoTi^&*A}-Edq:T 3?c*Ud|+T|l[IRzWq.X1̗)|Tj5MaJRO3ciȁf8qRJfHځ&澳J~:gIW%5m/ ˣu5CRFyè p*+Zȴ*HI*Ԗ:8 pEBDA[i@K$E?)Lcw~jih& , W]tFB[FmNzYH5,Fkn㝍3o4Jjx/c&3`&]°%Q/Siiy7T;>x'֥d}q4hz lWh׼~A#i#X,FR[QHӲn. bzTMqI.[;I`GfW(7_1kñ]ҍI'4Sy3<9N5V.=,us*4{X9wWy!/cYտW--gRm*O |c#78㏡!Ž">O0>LqlJުPE7- h.!:Mq+:ޭ jb#`9,쪶9ր-1HQ;e,6^ dCws QKl/0Jđ՞>US@P5]͙FN1={Q;~EO6NޮdQ|Pi*Quk[FA Q{ M? i uֱ)&M Q:M (0k3ׄPdq^OƜ1CFi@,J3Z_j94?HCSu.Q| Ӈ{OI7) o'|};(֬nncXGs2G1aq,mɍ&̀E~9Eɝ+Thw٠C{I Y.R:l{ -=~QH~*ǀm)4nXe4V9O=:u.'Jē^K֡{3F<ߩO4DGm&rT(5as^ }ea҅pyP>p;v1/ٜA Q A0t .me})>P˖IdCV(gy~QuG' +%W8*'3!h*ir5/)pNxMzUzE8K*mދPzVL;_a>`k]kƐ[gO z?0pcۨ6LG 7 b'eGO|"Jt>iYG\%(3̞˩B4x~iDe[bI~Ĝ?-I10@ Gӽ_ ]O6c0KX4xvm9ޗ1H +x$`bI( cgݐSAX tA.vw +MON- dAnkL(~pX쫝݃/XUZQb`1GBA^+'6o ~t#>W3T};}<,YN=ƶku˱}͒ C\v$&5L2\7(T@T9Ֆ783-2C"lt]_̔?#b/Nbshσq5oL+A/פN^m>Erz%bbD NHY$No\[[jIy?@,DG;ml>{gYiJckuFSרGE4~, v4_8ugƱ-Eڏ=0oKE3b4yZmWGNP&]Y' w Q,iA XHu-,'|\qE9!qÎgh.+sU2Dѯo ;ǤFyaDJvU16i?Y6b!BҀ(|ELl FV|xDyUTLab? eY] 1kh1bQ_ht5Qc-κT%ףo}HGO>\qs8ldW: $n<^\16ZNCjSl:T? !٤+C2s0@"ተ WDMG&\5XN/D2(D[Ti)K0] 76jɴ/YL B!%#9 6!zlDi!>[ݶg /} XgDtZ85UxnKNHe^(:qXLLZ-\]T/= h ,dyBhT\ f9)wcUwY2(|E,Cs%Nn[{w;N+蜢SQ so䫷Yʱ>rl2A ;M@""۞kSs`N5M48T؊Bm:w59OU[=ϠwI9 OVboFvq2zov.A!r Yy߫j$}lWDYJܼ=%frV%-JNLvQ2 @= MEnʞe۔Q,="wD8duv72fx1$hߵp{(?_M&~$hg4IpZ#PxLե*C"{US}wĀ܎u*i Fb m/X8qȦg5 6mq!+^6',ƃa2;H"^->u{osD9nAKo91K~qj1o2y6D}X:Xʋp.)dw= ti7iy&M+X(C"EG\Yc'MNYIS}`ğ7S=ENb*5 @xz؟u%iBvjQ b04O@ɦ\/*82+buh*pǽF҈9"+\tX_虝=Uβa2DvPuZҷ{a}\VsIc ߋQH ؊ɳ\soXl[җr͜V愾ïMkZ W{󚀩 d<\0G[¢p!=LMa=Acs¼7l}#2\ <>:[vV]S>4RB`ֲ2Fj" oL-v2ڐB<(>|aBgvs~^&uS(-s%Т8i̯qsׯս )wj]&]&^iu}=G[s;8r$aNC{zc_ii׈#R2CNic8oGD{vv]v*x잶\\j"km\dHxwEƩ7:-IOJ<0AG$%kiShT/=hf@7JEp{-ՎMa7=Y3`'|#_q&Z.0+Ѓ5!E.= : $ͮ1"8 84jdeĽ56er%A-^#=tv#SWC2 MߝH@&z<ǶNtCG =&~#Vm4 ,F!-$ts8wnsr$a_հ sv#=ԲK_'~D `623q;!(ȦVͻGbmv+.*z\ᶭ5#c#UXءÇg/e6)^,~lŽ"z[2!=a^y.Y `< +:XBb}@֋^ž\=P̾"+IxESEe!s(;`6 W DdH=K2䕞,,.%L@= %k7 s/VhYƖq hYmDI\qsO3`Q<٨  35]7ypE5OyAܵb\QBU5W\GT%h]~K*k(b %I<a=pEGXêad~x6'cIכE̸hBJXW'&gEK0thiCl6X×S4(cxLJ+KJx)Ne"ΑSEĥťR+OܛA9~em1~>=.Ef^˜[5|tP y# ]Dފi͆g,z}TU?PYrN@hA; ί~K/꣓Tb5c4.Ը2[OoNt ;1;Q4g@I(<-U]f(XavdRlKwʨp_L܄"ɦ7QDN^ErM*SU_ /V=Gr}ŁȬ5Y90҉4.]C_VkPQ~﹥.Bq;ur7EO=QJ>++"dYT|2 L'k2W ('[DL-!>U*k+eEO{f̃[v`TQ 3CC6'N(4TܖF/A*kP|uFF#y û{vg+<e2D<~Ze!-Vkgn-}4wMzT.Lu#ADqlLwD8xj(H+I <,#0W͔c l l0*ib(yG9~/0hE͹\SQ}'Phk]k(OV: %e"Mc%SEb"!g ;˄<>fǛ?  $FVQE_rclN}<'7.~XHpF8`H

y /"[wK=BSfYݚPd>c8_ZaK% ozCJ;ߢµ=fP^V~#ҍy!JG4z]YQN{̯gN0?/fbOu&,Rp% 4 k}J~" "!$PDЛL觬韧rl]9#x>p2o=|-,FY8~v#Z4eIo8G*'Mb'7eÿSR2_F $B@/Xͫ9S4?"I"1{+4gcF~㪖OuG%##C^; Ej~5˰_rΑT0* \U;1`l\JW<"Ii)e_*E(ċTVzK(og}mSW7;/.{Yq?5`& 9Σ)]Ld-s83FsBwRQ`3:W0# kh̎g&̫8X<^46!ggiFoxn ܙ1K`[~$lFnwSo(µ/-v/ַ[U!M)ɼ=Ȯr?1$ѮTGot،^9igc[ȾEKNxG%iXcA .6f/Ǿ= YZ