From 2f76b78f35f11e371781080a502838c88d715312 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Dec 2024 19:25:16 +0000 Subject: [PATCH] chore(deps): update go modules --- go.mod | 109 +- go.sum | 292 +- vendor/cloud.google.com/go/auth/CHANGES.md | 114 + vendor/cloud.google.com/go/auth/README.md | 42 +- vendor/cloud.google.com/go/auth/auth.go | 35 +- .../go/auth/credentials/detect.go | 4 +- .../go/auth/credentials/filetypes.go | 17 +- .../internal/externalaccount/aws_provider.go | 38 +- .../go/auth/credentials/selfsignedjwt.go | 4 + .../go/auth/grpctransport/directpath.go | 9 +- .../go/auth/grpctransport/grpctransport.go | 65 +- .../go/auth/httptransport/httptransport.go | 12 +- .../go/auth/httptransport/trace.go | 93 - .../go/auth/httptransport/transport.go | 65 +- .../go/auth/internal/compute/compute.go | 65 + .../go/auth/internal/compute/manufacturer.go} | 16 +- .../internal/compute/manufacturer_linux.go} | 17 +- .../internal/compute/manufacturer_windows.go | 46 + .../go/auth/internal/internal.go | 9 +- .../go/auth/internal/transport/cba.go | 50 +- .../transport/cert/enterprise_cert.go | 8 +- .../transport/cert/secureconnect_cert.go | 10 +- .../internal/transport/cert/workload_cert.go | 5 +- .../go/auth/internal/transport/s2a.go | 3 +- .../go/auth/internal/transport/transport.go | 6 +- .../go/auth/oauth2adapt/CHANGES.md | 14 + .../go/auth/oauth2adapt/oauth2adapt.go | 46 +- .../go/compute/metadata/CHANGES.md | 14 + .../go/compute/metadata/metadata.go | 3 + .../go/compute/metadata/retry_linux.go | 9 +- vendor/cloud.google.com/go/iam/CHANGES.md | 22 + .../go/iam/apiv1/iampb/iam_policy.pb.go | 11 +- vendor/cloud.google.com/go/pubsub/CHANGES.md | 71 + .../go/pubsub/apiv1/auxiliary.go | 10 +- .../go/pubsub/apiv1/auxiliary_go123.go | 56 + .../cloud.google.com/go/pubsub/apiv1/doc.go | 43 +- .../go/pubsub/apiv1/helpers.go | 45 + .../go/pubsub/apiv1/publisher_client.go | 2 + .../go/pubsub/apiv1/pubsubpb/pubsub.pb.go | 4040 ++++-- .../go/pubsub/apiv1/schema_client.go | 2 + .../go/pubsub/apiv1/subscriber_client.go | 2 + vendor/cloud.google.com/go/pubsub/doc.go | 60 +- .../go/pubsub/internal/version.go | 2 +- vendor/cloud.google.com/go/pubsub/iterator.go | 59 +- .../cloud.google.com/go/pubsub/pullstream.go | 29 +- .../go/pubsub/subscription.go | 7 +- vendor/cloud.google.com/go/pubsub/topic.go | 207 +- vendor/cloud.google.com/go/pubsub/trace.go | 43 +- .../appsec-internal-go/appsec/embed.go | 4 +- .../appsec-internal-go/appsec/rules.json | 224 +- .../pkg/obfuscate/credit_cards.go | 62 +- .../datadog-agent/pkg/obfuscate/ip_address.go | 168 + .../datadog-agent/pkg/obfuscate/json.go | 5 + .../pkg/obfuscate/json_scanner.go | 4 +- .../datadog-agent/pkg/obfuscate/obfuscate.go | 38 +- .../datadog-agent/pkg/obfuscate/redis.go | 4 +- .../datadog-agent/pkg/obfuscate/sql.go | 43 +- .../pkg/obfuscate/sql_tokenizer.go | 16 +- .../DataDog/datadog-agent/pkg/proto/LICENSE | 200 + .../pkg/proto/pbgo/trace/agent_payload.pb.go | 240 + .../pkg/proto/pbgo/trace/agent_payload_gen.go | 200 + .../pbgo/trace/agent_payload_vtproto.pb.go | 523 + .../pkg/proto/pbgo/trace/decoder_bytes.go | 275 + .../pkg/proto/pbgo/trace/decoder_v05.go | 223 + .../pkg/proto/pbgo/trace/span.pb.go | 448 + .../pkg/proto/pbgo/trace/span_gen.go | 577 + .../pkg/proto/pbgo/trace/span_utils.go | 53 + .../pkg/proto/pbgo/trace/span_vtproto.pb.go | 1445 ++ .../pkg/proto/pbgo/trace/stats.pb.go | 837 ++ .../pkg/proto/pbgo/trace/stats_gen.go | 1844 +++ .../pkg/proto/pbgo/trace/stats_vtproto.pb.go | 1968 +++ .../pkg/proto/pbgo/trace/trace.go | 52 + .../pkg/proto/pbgo/trace/trace_gen.go | 158 + .../pkg/proto/pbgo/trace/tracer_payload.pb.go | 391 + .../proto/pbgo/trace/tracer_payload_gen.go | 384 + .../proto/pbgo/trace/tracer_payload_utils.go | 35 + .../pbgo/trace/tracer_payload_vtproto.pb.go | 1066 ++ .../pkg/remoteconfig/state/products.go | 53 +- .../DataDog/datadog-agent/pkg/trace/LICENSE | 200 + .../datadog-agent/pkg/trace/config/client.go | 70 + .../datadog-agent/pkg/trace/config/config.go | 621 + .../pkg/trace/config/peer_tags.go | 55 + .../pkg/trace/config/peer_tags.ini | 18 + .../datadog-agent/pkg/trace/log/buflogger.go | 97 + .../datadog-agent/pkg/trace/log/logger.go | 196 + .../datadog-agent/pkg/trace/log/throttled.go | 63 + .../pkg/trace/stats/aggregation.go | 130 + .../trace/stats/client_stats_aggregator.go | 438 + .../pkg/trace/stats/concentrator.go | 182 + .../pkg/trace/stats/otel_util.go | 149 + .../pkg/trace/stats/span_concentrator.go | 253 + .../datadog-agent/pkg/trace/stats/statsraw.go | 206 + .../datadog-agent/pkg/trace/stats/weight.go | 24 + .../pkg/trace/traceutil/azure.go | 166 + .../datadog-agent/pkg/trace/traceutil/doc.go | 8 + .../pkg/trace/traceutil/normalize.go | 356 + .../pkg/trace/traceutil/otel_util.go | 329 + .../pkg/trace/traceutil/processed_trace.go | 53 + .../datadog-agent/pkg/trace/traceutil/span.go | 175 + .../pkg/trace/traceutil/trace.go | 119 + .../pkg/trace/traceutil/truncate.go | 37 + .../pkg/trace/version/version.go | 78 + .../datadog-agent/pkg/trace/watchdog/cpu.go | 51 + .../pkg/trace/watchdog/cpu_aix.go | 111 + .../pkg/trace/watchdog/cpu_windows.go | 56 + .../datadog-agent/pkg/trace/watchdog/info.go | 99 + .../pkg/trace/watchdog/logonpanic.go | 49 + .../datadog-agent/pkg/util/log/LICENSE | 200 + .../pkg/util/log/klog_redirect.go | 59 + .../DataDog/datadog-agent/pkg/util/log/log.go | 1046 ++ .../datadog-agent/pkg/util/log/log_limit.go | 74 + .../pkg/util/log/log_not_serverless.go | 18 + .../pkg/util/log/log_serverless.go | 18 + .../pkg/util/log/log_test_init.go} | 17 +- .../datadog-agent/pkg/util/log/wrapper.go | 77 + .../datadog-agent/pkg/util/scrubber/LICENSE | 200 + .../pkg/util/scrubber/default.go | 378 + .../pkg/util/scrubber/json_scrubber.go | 33 + .../pkg/util/scrubber/scrubber.go | 196 + .../pkg/util/scrubber/yaml_scrubber.go | 117 + .../DataDog/go-libddwaf/v3/README.md | 9 +- .../DataDog/go-libddwaf/v3/context.go | 68 +- .../DataDog/go-libddwaf/v3/decoder.go | 20 +- .../DataDog/go-libddwaf/v3/errors/waf.go | 27 +- .../DataDog/go-libddwaf/v3/handle.go | 73 +- .../go-libddwaf/v3/internal/bindings/safe.go | 7 +- .../v3/internal/bindings/waf_dl.go | 46 +- .../internal/bindings/waf_dl_unsupported.go | 4 + .../go-libddwaf/v3/internal/lib/.version | 2 +- .../v3/internal/lib/dump_waf_darwin.go | 57 + .../v3/internal/lib/dump_waf_linux.go | 58 + .../go-libddwaf/v3/internal/lib/lib.go | 61 - .../v3/internal/lib/lib_darwin_amd64.go | 2 - .../v3/internal/lib/lib_darwin_arm64.go | 2 - .../v3/internal/lib/lib_linux_amd64.go | 2 - .../v3/internal/lib/lib_linux_arm64.go | 2 - .../lib/libddwaf-darwin-amd64.dylib.gz | Bin 630278 -> 706738 bytes .../lib/libddwaf-darwin-arm64.dylib.gz | Bin 581121 -> 651209 bytes .../internal/lib/libddwaf-linux-amd64.so.gz | Bin 808850 -> 880887 bytes .../internal/lib/libddwaf-linux-arm64.so.gz | Bin 764123 -> 832726 bytes .../go-libddwaf/v3/internal/lib/version.go | 13 + .../go-libddwaf/v3/internal/log/ddwaf.h | 26 +- .../DataDog/go-libddwaf/v3/metrics.go | 111 +- .../github.com/DataDog/go-libddwaf/v3/waf.go | 3 + .../go-runtime-metrics-internal/LICENSE | 201 + .../LICENSE-3rdparty.csv | 7 + .../go-runtime-metrics-internal/NOTICE | 4 + .../pkg/runtimemetrics/histogram.go | 161 + .../pkg/runtimemetrics/runtime_metrics.go | 294 + .../pkg/runtimemetrics/tags.go | 69 + .../DataDog/go-sqllexer/normalizer.go | 15 +- .../go-sqllexer/obfuscate_and_normalize.go | 4 +- .../DataDog/go-sqllexer/sqllexer_utils.go | 4 + .../DataDog/go-sqllexer/testdata/README.md | 54 - .../extremely-complex-poorly-written-sql.json | 16 - .../testdata/mssql/complex/indexed-views.json | 17 - .../complex/partitioned-tables-indexes.json | 16 - .../super-complex-poorly-written-sql.json | 16 - .../mssql/delete/conditional-delete-case.json | 16 - .../testdata/mssql/delete/delete-basic.json | 16 - .../testdata/mssql/delete/delete-cascade.json | 16 - .../mssql/delete/delete-rowlock-hint.json | 16 - .../mssql/delete/delete-using-subquery.json | 16 - .../delete/delete-using-table-variable.json | 16 - .../mssql/delete/delete-with-cte.json | 16 - .../mssql/delete/delete-with-join.json | 16 - .../mssql/delete/delete-with-output.json | 16 - .../mssql/delete/delete-with-top.json | 16 - .../testdata/mssql/insert/insert-basic.json | 16 - .../mssql/insert/insert-default-values.json | 16 - .../mssql/insert/insert-identity-insert.json | 16 - .../testdata/mssql/insert/insert-merge.json | 16 - .../testdata/mssql/insert/insert-output.json | 16 - .../mssql/insert/insert-select-into.json | 16 - .../mssql/insert/insert-subquery-values.json | 16 - .../mssql/insert/insert-top-orderby.json | 16 - .../insert/insert-values-multiple-rows.json | 16 - .../mssql/insert/insert-with-select.json | 16 - .../insert/using-throw-error-handling.json | 16 - ...-stored-procedure-multiple-operations.json | 27 - ...-stored-procedure-multiple-statements.json | 27 - ...edure-comprehensive-logic-explanation.json | 27 - .../stored-procedure-conditional-logic.json | 27 - .../stored-procedure-cursor-temp-table.json | 27 - ...ored-procedure-detailed-documentation.json | 27 - ...-procedure-dynamic-sql-error-handling.json | 27 - ...tored-procedure-dynamic-sql-execution.json | 27 - .../stored-procedure-executing-another.json | 27 - ...red-procedure-temp-tables-transaction.json | 27 - .../stored-procedure-try-catch-error.json | 27 - .../stored-procedure-version-control.json | 27 - ...cedure-with-params-and-execution.json.json | 26 - .../testdata/mssql/select/basic-select.json | 16 - .../select/data-compression-features.json | 16 - .../mssql/select/filetable-storage.json | 16 - .../select/pivot-unpivot-operations.json | 16 - .../testdata/mssql/select/select-choose.json | 16 - .../testdata/mssql/select/select-format.json | 16 - .../mssql/select/select-full-outer-join.json | 16 - .../mssql/select/select-identity.json | 16 - .../testdata/mssql/select/select-iif.json | 16 - .../mssql/select/select-join-aggregation.json | 16 - .../mssql/select/select-system-user.json | 16 - .../mssql/select/select-using-pivot.json | 16 - .../select/select-using-try-convert.json | 16 - .../mssql/select/select-with-cte.json | 24 - .../select/select-with-offset-fetch.json | 16 - .../mssql/select/select-with-string-agg.json | 16 - .../select/select-with-table-sample.json | 16 - .../select/select-with-window-function.json | 24 - .../testdata/mssql/select/service-broker.json | 16 - .../select/spatial-data-types-functions.json | 16 - .../mssql/select/xml-data-types-queries.json | 16 - .../mssql/update/conditional-update-case.json | 16 - .../testdata/mssql/update/update-basic.json | 16 - .../mssql/update/update-complex-where.json | 16 - .../mssql/update/update-from-aliases.json | 16 - .../mssql/update/update-join-top.json | 16 - .../mssql/update/update-rowlock-hint.json | 16 - .../update-using-quoted-identifiers.json | 16 - .../mssql/update/update-using-top.json | 16 - .../update-using-variable-store-value.json | 16 - .../update/update-with-boolean-logic.json | 16 - .../mssql/update/update-with-case.json | 16 - .../mssql/update/update-with-cte.json | 16 - .../update/update-with-date-manipulation.json | 16 - .../mssql/update/update-with-join.json | 16 - .../update/update-with-named-variables.json | 16 - .../update/update-with-null-handling.json | 16 - .../update-with-numeric-calculation.json | 16 - .../mssql/update/update-with-output.json | 16 - .../update-with-string-concatenation.json | 16 - .../mssql/update/update-with-subquery.json | 16 - .../super-complex-poorly-written-sql.json | 16 - .../super-complex-sql-multiple-joins.json | 16 - .../super-complex-sql-nested-subqueries.json | 15 - .../testdata/mysql/delete/delete-basic.json | 16 - .../testdata/mysql/delete/delete-cascade.json | 16 - .../delete/delete-cascading-triggers.json | 16 - .../delete/delete-conditional-logic.json | 16 - .../delete-foreign-key-constraints.json | 16 - .../mysql/delete/delete-free-disk-space.json | 16 - .../delete-join-multiple-conditions.json | 16 - .../mysql/delete/delete-lock-tables.json | 16 - .../mysql/delete/delete-multiple-tables.json | 16 - .../delete/delete-optimized-conditions.json | 16 - .../mysql/delete/delete-order-by-limit.json | 16 - .../mysql/delete/delete-range-conditions.json | 16 - .../delete/delete-regular-expressions.json | 16 - .../mysql/delete/delete-safe-update-mode.json | 16 - .../delete/delete-subquery-optimization.json | 16 - .../mysql/delete/delete-truncate.json | 16 - .../mysql/delete/delete-using-subquery.json | 16 - .../mysql/delete/delete-with-join.json | 16 - .../mysql/delete/delete-with-limit.json | 16 - .../delete/delete-with-user-variables.json | 16 - .../insert/batch-insert-multiple-rows.json | 16 - .../mysql/insert/insert-auto-increment.json | 16 - .../testdata/mysql/insert/insert-basic.json | 16 - .../mysql/insert/insert-blob-data.json | 16 - .../mysql/insert/insert-enum-data.json | 16 - .../testdata/mysql/insert/insert-ignore.json | 16 - .../mysql/insert/insert-json-data.json | 16 - .../mysql/insert/insert-on-duplicate-key.json | 16 - .../mysql/insert/insert-select-union.json | 16 - .../mysql/insert/insert-spatial-data.json | 16 - .../insert/insert-using-last-insert-id.json | 16 - .../mysql/insert/insert-using-subquery.json | 16 - .../insert/insert-with-conditional-logic.json | 16 - .../insert/insert-with-curdate-curtime.json | 16 - .../insert-with-encryption-functions.json | 16 - .../insert/insert-with-generated-columns.json | 15 - .../mysql/insert/insert-with-replace.json | 16 - .../mysql/insert/insert-with-set-syntax.json | 16 - .../insert/insert-with-spatial-data.json | 16 - .../mysql/insert/insert-with-timestamp.json | 16 - .../complex-procedure-error-handling.json | 16 - .../procedure/stored-procedure-basic.json | 15 - ...ored-procedure-conditional-logic-loop.json | 15 - .../procedure/stored-procedure-cursor.json | 16 - .../stored-procedure-dynamic-sql.json | 16 - .../stored-procedure-error-handling.json | 16 - ...red-procedure-input-output-parameters.json | 16 - .../stored-procedure-loop-control.json | 15 - .../stored-procedure-parameters.json | 15 - ...ored-procedure-transaction-management.json | 15 - .../testdata/mysql/select/bit-data-type.json | 16 - .../mysql/select/blob-text-data-types.json | 16 - .../mysql/select/decimal-data-type.json | 16 - .../mysql/select/enum-set-data-types.json | 16 - .../mysql/select/full-text-search-innodb.json | 16 - .../select/select-aggregate-functions.json | 16 - .../testdata/mysql/select/select-basic.json | 16 - .../mysql/select/select-case-statement.json | 16 - .../select/select-coalesce-function.json | 16 - .../mysql/select/select-conditional-case.json | 16 - .../mysql/select/select-date-functions.json | 16 - .../mysql/select/select-distinct.json | 16 - .../mysql/select/select-full-text-search.json | 16 - .../mysql/select/select-geospatial-data.json | 16 - .../mysql/select/select-group-concat.json | 16 - .../mysql/select/select-join-aliases.json | 16 - .../testdata/mysql/select/select-join.json | 16 - .../mysql/select/select-json-functions.json | 16 - .../mysql/select/select-limit-offset.json | 16 - .../select/select-lock-in-share-mode.json | 16 - .../mysql/select/select-natural-join.json | 16 - .../select/select-parameter-binding.json | 16 - .../testdata/mysql/select/select-regex.json | 16 - .../mysql/select/select-straight-join.json | 16 - .../mysql/select/select-string-functions.json | 16 - .../mysql/select/select-subquery.json | 16 - .../select/select-user-defined-variables.json | 16 - .../select/select-variable-assignment.json | 16 - .../mysql/select/select-window-functions.json | 16 - .../select/spatial-data-types-functions.json | 16 - .../select/spatial-geometry-data-types.json | 16 - .../mysql/select/system-versioned-tables.json | 16 - .../mysql/select/using-temporary-tables.json | 16 - .../select/virtual-generated-columns.json | 16 - .../bulk-update-multiple-conditions.json | 16 - .../mysql/update/conditional-update-case.json | 16 - .../testdata/mysql/update/update-basic.json | 15 - .../update-case-aggregate-functions.json | 16 - .../update/update-date-time-functions.json | 16 - .../update/update-encryption-functions.json | 16 - .../mysql/update/update-enum-data.json | 16 - .../mysql/update/update-json-functions.json | 16 - .../mysql/update/update-json-modify.json | 16 - .../mysql/update/update-lock-tables.json | 16 - .../mysql/update/update-math-functions.json | 16 - .../update/update-optimizing-conditions.json | 16 - .../mysql/update/update-order-by-limit.json | 16 - .../update/update-regular-expressions.json | 16 - .../mysql/update/update-spatial-data.json | 16 - .../mysql/update/update-string-functions.json | 16 - .../update/update-user-defined-variables.json | 16 - .../mysql/update/update-using-variables.json | 16 - .../mysql/update/update-with-join.json | 16 - .../mysql/update/update-with-subquery.json | 16 - .../oracle/complex/bulk-operations.json | 27 - .../complex/complex-multi-table-delete.json | 16 - .../complex/complex-nested-subqueries.json | 16 - .../complex-select-aggregates-joins.json | 23 - .../extremely-complex-oracle-query.json | 16 - .../extremely-complex-stored-procedure.json | 16 - .../testdata/oracle/complex/plsql-blocks.json | 16 - .../complex/super-complex-oracle-query.json | 16 - .../delete/conditional-delete-with-case.json | 16 - .../testdata/oracle/delete/delete-basic.json | 16 - .../oracle/delete/delete-cascade.json | 16 - .../oracle/delete/delete-using-rowid.json | 16 - .../delete/delete-where-current-of.json | 16 - .../delete-with-complex-subqueries.json | 16 - .../delete/delete-with-flashback-query.json | 16 - .../delete/delete-with-join-syntax.json | 16 - .../delete/delete-with-pseudocolumns.json | 16 - .../delete/delete-with-returning-clause.json | 16 - .../oracle/delete/delete-with-subquery.json | 23 - .../insert-all-into-multiple-tables.json | 16 - .../insert-all-multiple-conditions.json | 16 - .../testdata/oracle/insert/insert-basic.json | 16 - .../oracle/insert/insert-using-decode.json | 16 - .../insert/insert-with-column-ordering.json | 16 - .../insert/insert-with-returning-clause.json | 16 - .../insert/insert-with-select-union.json | 16 - .../oracle/insert/insert-with-sequence.json | 16 - .../oracle/insert/insert-with-subquery.json | 23 - .../insert/multitable-insert-conditional.json | 16 - .../create-procedure-in-out-params.json | 27 - .../create-procedure-with-cursors.json | 27 - ...ate-procedure-with-exception-handling.json | 27 - .../create-simple-stored-procedure.json | 27 - .../procedure/error-handling-exception.json | 27 - .../invoke-stored-procedure-with-exec.json | 27 - .../procedure/invoke-stored-procedure.json | 27 - .../testdata/oracle/procedure/packages.json | 27 - .../oracle/procedure/pipelined-functions.json | 27 - .../stored-procedures-functions.json | 27 - .../testdata/oracle/procedure/triggers.json | 27 - .../select/complex-join-operations.json | 16 - .../testdata/oracle/select/full-hint.json | 24 - .../oracle/select/hierarchical-queries.json | 16 - .../testdata/oracle/select/index-hint.json | 24 - .../oracle/select/large-objects-lobs.json | 16 - .../oracle/select/multiple-hints.json | 24 - .../oracle/select/optimizer-mode-hint.json | 24 - .../testdata/oracle/select/oracle-text.json | 16 - .../quoted-identifiers-case-sensitive.json | 22 - ...quoted-identifiers-special-characters.json | 22 - .../testdata/oracle/select/recursive-cte.json | 16 - .../select/select-basic-conditions.json | 22 - .../select/select-hierarchical-query.json | 25 - .../select/select-using-oracle-text.json | 23 - .../select/select-using-with-clause.json | 23 - .../select/select-with-flashback-query.json | 23 - .../select/select-with-model-clause.json | 23 - .../select-with-multi-line-comments.json | 22 - .../select-with-oracle-specific-joins.json | 23 - .../select/select-with-partition-by.json | 23 - .../select/select-with-pseudocolumns.json | 22 - .../select/select-with-rollup-function.json | 23 - .../select/select-with-sample-clause.json | 23 - .../select-with-single-line-comments.json | 22 - .../select/select-with-skip-locked.json | 22 - .../testdata/oracle/select/use-nl-hint.json | 24 - .../select/window-functions-analytics.json | 16 - .../update/conditional-update-with-case.json | 22 - .../conditional-update-with-decode.json | 23 - .../testdata/oracle/update/dynamic-plsql.json | 16 - .../testdata/oracle/update/update-basic.json | 22 - .../update/update-oracle-specific-syntax.json | 23 - .../update-using-correlated-subquery.json | 23 - .../update/update-using-join-syntax.json | 23 - .../update-with-correlated-subquery.json | 23 - .../oracle/update/update-with-join.json | 22 - .../update/update-with-returning-clause.json | 22 - .../update/update-with-subquery-in-set.json | 23 - .../oracle/update/update-with-subquery.json | 23 - .../delete-complex-subqueries-joins.json | 19 - .../complex/insert-complex-select-joins.json | 24 - .../select-complex-aggregates-subqueries.json | 23 - ...select-complex-joins-window-functions.json | 21 - ...t-nested-subqueries-aggregates-limits.json | 19 - .../update-complex-subquery-conditional.json | 21 - .../postgresql/delete/delete-all-rows.json | 19 - .../postgresql/delete/delete-returning.json | 19 - .../postgresql/delete/delete-simple.json | 19 - .../postgresql/delete/delete-using-join.json | 19 - .../postgresql/delete/delete-with-cte.json | 21 - .../delete/delete-with-subquery.json | 21 - .../create-function-that-raises-notice.json | 14 - .../create-function-with-dynamic-query.json | 14 - .../create-function-with-parameters.json | 14 - .../create-function-with-table-return.json | 14 - .../create-simple-plpgsql-function.json | 14 - ...invoke-function-positional-parameters.json | 17 - .../invoke-function-returning-table.json | 8 - .../invoke-function-that-raises-notice.json | 8 - .../invoke-function-with-dynamic-query.json | 8 - .../invoke-function-with-parameter.json | 8 - .../function/invoke-simple-function.json | 8 - .../postgresql/insert/insert-array-data.json | 25 - .../postgresql/insert/insert-json-data.json | 19 - .../insert/insert-multiple-rows.json | 19 - .../insert/insert-positional-parameters.json | 14 - ...insert-returning-positional-parameter.json | 14 - .../postgresql/insert/insert-simple-row.json | 19 - .../insert-with-conflict-do-nothing.json | 19 - .../insert/insert-with-conflict-update.json | 20 - .../insert/insert-with-default.json | 19 - .../insert/insert-with-enum-type.json | 19 - .../insert/insert-with-geometric-data.json | 19 - .../insert/insert-with-hstore-data.json | 19 - .../insert/insert-with-range-data.json | 19 - .../insert/insert-with-returning.json | 19 - .../postgresql/insert/insert-with-select.json | 21 - .../insert-with-subquery-and-alias.json | 21 - .../select/aggregate-functions-count.json | 25 - .../select/basic_select_with_alias.json | 31 - .../postgresql/select/case-statements.json | 19 - .../select/common-table-expressions-cte.json | 21 - .../postgresql/select/cross-joins.json | 21 - .../select/distinct-on-expressions.json | 19 - .../postgresql/select/fetch-first-clause.json | 19 - .../postgresql/select/for-update-of.json | 20 - .../postgresql/select/full-outer-joins.json | 21 - .../postgresql/select/group-by-having.json | 25 - .../postgresql/select/json-field-access.json | 19 - .../select/jsonb-array-elements-text.json | 25 - .../postgresql/select/jsonb-array-length.json | 25 - .../select/jsonb-contained-in-path.json | 19 - .../postgresql/select/jsonb-contains-key.json | 19 - .../jsonb-contains-object-at-top-level.json | 19 - .../select/jsonb-delete-array-element.json | 19 - .../postgresql/select/jsonb-delete-key.json | 19 - .../postgresql/select/jsonb-delete-path.json | 28 - .../select/jsonb-extract-path-text.json | 25 - .../postgresql/select/jsonb-extract-path.json | 25 - .../postgresql/select/jsonb-pretty-print.json | 25 - .../select/jsonb-set-new-value.json | 25 - .../postgresql/select/lateral-joins.json | 26 - .../postgresql/select/limit-and-offset.json | 19 - .../postgresql/select/natural-joins.json | 21 - .../quoted-identifiers-case-sensitive.json | 21 - ...quoted-identifiers-special-characters.json | 21 - ...elect-in-clause-positional-parameters.json | 14 - ...iple-conditions-positional-parameters.json | 14 - .../select-with-positional-parameter.json | 14 - .../postgresql/select/self-joins.json | 19 - .../postgresql/select/subquery-in-from.json | 25 - .../postgresql/select/subquery-in-select.json | 20 - .../postgresql/select/subquery-in-where.json | 20 - .../select/tablesample-bernoulli.json | 19 - .../update/update-array-append.json | 19 - .../update/update-increment-numeric.json | 19 - .../postgresql/update/update-json-data.json | 25 - ...multiple-fields-positional-parameters.json | 15 - .../update/update-positional-parameters.json | 14 - .../postgresql/update/update-returning.json | 25 - .../update/update-set-multiple-columns.json | 19 - .../update/update-set-single-column.json | 19 - .../postgresql/update/update-using-join.json | 20 - .../postgresql/update/update-with-case.json | 19 - .../postgresql/update/update-with-cte.json | 21 - .../update/update-with-subquery.json | 26 - .../snowflake/test-cases/data-clone.json | 21 - .../snowflake/test-cases/external-data.json | 19 - .../snowflake/test-cases/listagg.json | 19 - .../test-cases/materialized-view.json | 20 - .../semi-structured-data-types.json | 19 - .../testdata/snowflake/test-cases/stream.json | 19 - .../testdata/snowflake/test-cases/task.json | 22 - .../snowflake/test-cases/time-travel.json | 19 - .../test-cases/warehouse-controls.json | 18 - .../pkg/otlp/attributes/LICENSE | 201 + .../pkg/otlp/attributes/attributes.go | 289 + .../pkg/otlp/attributes/azure/azure.go | 59 + .../pkg/otlp/attributes/ec2/ec2.go | 95 + .../pkg/otlp/attributes/gcp/gcp.go | 79 + .../pkg/otlp/attributes/process.go | 56 + .../pkg/otlp/attributes/source.go | 160 + .../otlp/attributes/source/source_provider.go | 51 + .../pkg/otlp/attributes/system.go} | 33 +- .../pkg/otlp/attributes/translator.go | 71 + vendor/github.com/cihub/seelog/LICENSE.txt | 24 + .../github.com/cihub/seelog/README.markdown | 116 + .../cihub/seelog/archive/archive.go | 198 + .../cihub/seelog/archive/gzip/gzip.go | 64 + .../cihub/seelog/archive/tar/tar.go | 72 + .../cihub/seelog/archive/zip/zip.go | 89 + .../cihub/seelog/behavior_adaptivelogger.go | 129 + .../cihub/seelog/behavior_asynclogger.go | 142 + .../cihub/seelog/behavior_asynclooplogger.go | 69 + .../cihub/seelog/behavior_asynctimerlogger.go | 82 + .../cihub/seelog/behavior_synclogger.go | 75 + vendor/github.com/cihub/seelog/cfg_config.go | 212 + vendor/github.com/cihub/seelog/cfg_errors.go | 61 + .../github.com/cihub/seelog/cfg_logconfig.go | 141 + vendor/github.com/cihub/seelog/cfg_parser.go | 1269 ++ .../github.com/cihub/seelog/common_closer.go | 25 + .../cihub/seelog/common_constraints.go | 162 + .../github.com/cihub/seelog/common_context.go | 234 + .../cihub/seelog/common_exception.go | 194 + .../github.com/cihub/seelog/common_flusher.go | 31 + .../cihub/seelog/common_loglevel.go | 81 + .../cihub/seelog/dispatch_custom.go | 242 + .../cihub/seelog/dispatch_dispatcher.go | 189 + .../cihub/seelog/dispatch_filterdispatcher.go | 66 + .../cihub/seelog/dispatch_splitdispatcher.go | 47 + vendor/github.com/cihub/seelog/doc.go | 175 + vendor/github.com/cihub/seelog/format.go | 466 + .../cihub/seelog/internals_baseerror.go | 10 + .../cihub/seelog/internals_fsutils.go | 320 + .../cihub/seelog/internals_xmlnode.go | 175 + vendor/github.com/cihub/seelog/log.go | 307 + vendor/github.com/cihub/seelog/logger.go | 370 + .../cihub/seelog/writers_bufferedwriter.go | 161 + .../cihub/seelog/writers_connwriter.go | 144 + .../cihub/seelog/writers_consolewriter.go | 47 + .../cihub/seelog/writers_filewriter.go | 92 + .../cihub/seelog/writers_formattedwriter.go | 62 + .../cihub/seelog/writers_rollingfilewriter.go | 763 + .../cihub/seelog/writers_smtpwriter.go | 214 + vendor/github.com/go-ole/go-ole/.travis.yml | 8 + vendor/github.com/go-ole/go-ole/ChangeLog.md | 49 + vendor/github.com/go-ole/go-ole/LICENSE | 21 + vendor/github.com/go-ole/go-ole/README.md | 46 + vendor/github.com/go-ole/go-ole/appveyor.yml | 54 + vendor/github.com/go-ole/go-ole/com.go | 344 + vendor/github.com/go-ole/go-ole/com_func.go | 174 + vendor/github.com/go-ole/go-ole/connect.go | 192 + vendor/github.com/go-ole/go-ole/constants.go | 153 + vendor/github.com/go-ole/go-ole/error.go | 51 + vendor/github.com/go-ole/go-ole/error_func.go | 8 + .../github.com/go-ole/go-ole/error_windows.go | 24 + vendor/github.com/go-ole/go-ole/guid.go | 284 + .../go-ole/go-ole/iconnectionpoint.go | 20 + .../go-ole/go-ole/iconnectionpoint_func.go | 21 + .../go-ole/go-ole/iconnectionpoint_windows.go | 43 + .../go-ole/iconnectionpointcontainer.go | 17 + .../go-ole/iconnectionpointcontainer_func.go | 11 + .../iconnectionpointcontainer_windows.go | 25 + vendor/github.com/go-ole/go-ole/idispatch.go | 94 + .../go-ole/go-ole/idispatch_func.go | 19 + .../go-ole/go-ole/idispatch_windows.go | 202 + .../github.com/go-ole/go-ole/ienumvariant.go | 19 + .../go-ole/go-ole/ienumvariant_func.go | 19 + .../go-ole/go-ole/ienumvariant_windows.go | 63 + .../github.com/go-ole/go-ole/iinspectable.go | 18 + .../go-ole/go-ole/iinspectable_func.go | 15 + .../go-ole/go-ole/iinspectable_windows.go | 72 + .../go-ole/go-ole/iprovideclassinfo.go | 21 + .../go-ole/go-ole/iprovideclassinfo_func.go | 7 + .../go-ole/iprovideclassinfo_windows.go | 21 + vendor/github.com/go-ole/go-ole/itypeinfo.go | 34 + .../go-ole/go-ole/itypeinfo_func.go | 7 + .../go-ole/go-ole/itypeinfo_windows.go | 21 + vendor/github.com/go-ole/go-ole/iunknown.go | 57 + .../github.com/go-ole/go-ole/iunknown_func.go | 19 + .../go-ole/go-ole/iunknown_windows.go | 58 + vendor/github.com/go-ole/go-ole/ole.go | 190 + .../go-ole/go-ole/oleutil/connection.go | 100 + .../go-ole/go-ole/oleutil/connection_func.go | 10 + .../go-ole/oleutil/connection_windows.go | 58 + .../go-ole/go-ole/oleutil/go-get.go | 6 + .../go-ole/go-ole/oleutil/oleutil.go | 127 + vendor/github.com/go-ole/go-ole/safearray.go | 27 + .../go-ole/go-ole/safearray_func.go | 211 + .../go-ole/go-ole/safearray_windows.go | 337 + .../go-ole/go-ole/safearrayconversion.go | 140 + .../go-ole/go-ole/safearrayslices.go | 33 + vendor/github.com/go-ole/go-ole/utility.go | 101 + vendor/github.com/go-ole/go-ole/variables.go | 15 + vendor/github.com/go-ole/go-ole/variant.go | 105 + .../github.com/go-ole/go-ole/variant_386.go | 11 + .../github.com/go-ole/go-ole/variant_amd64.go | 12 + .../github.com/go-ole/go-ole/variant_arm.go | 11 + .../github.com/go-ole/go-ole/variant_arm64.go | 13 + .../go-ole/go-ole/variant_date_386.go | 22 + .../go-ole/go-ole/variant_date_amd64.go | 20 + .../go-ole/go-ole/variant_date_arm.go | 22 + .../go-ole/go-ole/variant_date_arm64.go | 23 + .../go-ole/go-ole/variant_ppc64le.go | 12 + .../github.com/go-ole/go-ole/variant_s390x.go | 12 + vendor/github.com/go-ole/go-ole/vt_string.go | 58 + vendor/github.com/go-ole/go-ole/winrt.go | 99 + vendor/github.com/go-ole/go-ole/winrt_doc.go | 36 + vendor/github.com/gogo/protobuf/AUTHORS | 15 + vendor/github.com/gogo/protobuf/CONTRIBUTORS | 23 + vendor/github.com/gogo/protobuf/LICENSE | 35 + .../gogo/protobuf/gogoproto/Makefile | 37 + .../github.com/gogo/protobuf/gogoproto/doc.go | 169 + .../gogo/protobuf/gogoproto/gogo.pb.go | 874 ++ .../gogo/protobuf/gogoproto/gogo.pb.golden | 45 + .../gogo/protobuf/gogoproto/gogo.proto | 144 + .../gogo/protobuf/gogoproto/helper.go | 415 + .../github.com/gogo/protobuf/jsonpb/jsonpb.go | 1435 ++ .../github.com/gogo/protobuf/proto/Makefile | 43 + .../github.com/gogo/protobuf/proto/clone.go | 258 + .../gogo/protobuf/proto/custom_gogo.go | 39 + .../github.com/gogo/protobuf/proto/decode.go | 427 + .../gogo/protobuf/proto/deprecated.go | 63 + .../github.com/gogo/protobuf/proto/discard.go | 350 + .../gogo/protobuf/proto/duration.go | 100 + .../gogo/protobuf/proto/duration_gogo.go | 49 + .../github.com/gogo/protobuf/proto/encode.go | 205 + .../gogo/protobuf/proto/encode_gogo.go | 33 + .../github.com/gogo/protobuf/proto/equal.go | 300 + .../gogo/protobuf/proto/extensions.go | 605 + .../gogo/protobuf/proto/extensions_gogo.go | 389 + vendor/github.com/gogo/protobuf/proto/lib.go | 973 ++ .../gogo/protobuf/proto/lib_gogo.go | 50 + .../gogo/protobuf/proto/message_set.go | 181 + .../gogo/protobuf/proto/pointer_reflect.go | 357 + .../protobuf/proto/pointer_reflect_gogo.go | 59 + .../gogo/protobuf/proto/pointer_unsafe.go | 308 + .../protobuf/proto/pointer_unsafe_gogo.go | 56 + .../gogo/protobuf/proto/properties.go | 610 + .../gogo/protobuf/proto/properties_gogo.go | 36 + .../gogo/protobuf/proto/skip_gogo.go | 119 + .../gogo/protobuf/proto/table_marshal.go | 3009 ++++ .../gogo/protobuf/proto/table_marshal_gogo.go | 388 + .../gogo/protobuf/proto/table_merge.go | 676 + .../gogo/protobuf/proto/table_unmarshal.go | 2249 +++ .../protobuf/proto/table_unmarshal_gogo.go | 385 + vendor/github.com/gogo/protobuf/proto/text.go | 930 ++ .../gogo/protobuf/proto/text_gogo.go | 57 + .../gogo/protobuf/proto/text_parser.go | 1018 ++ .../gogo/protobuf/proto/timestamp.go | 113 + .../gogo/protobuf/proto/timestamp_gogo.go | 49 + .../gogo/protobuf/proto/wrappers.go | 1888 +++ .../gogo/protobuf/proto/wrappers_gogo.go | 113 + .../protoc-gen-gogo/descriptor/Makefile | 36 + .../protoc-gen-gogo/descriptor/descriptor.go | 118 + .../descriptor/descriptor.pb.go | 2865 ++++ .../descriptor/descriptor_gostring.gen.go | 752 + .../protoc-gen-gogo/descriptor/helper.go | 390 + .../gogo/protobuf/sortkeys/sortkeys.go | 101 + vendor/github.com/gogo/protobuf/types/any.go | 140 + .../github.com/gogo/protobuf/types/any.pb.go | 694 + .../github.com/gogo/protobuf/types/api.pb.go | 2134 +++ vendor/github.com/gogo/protobuf/types/doc.go | 35 + .../gogo/protobuf/types/duration.go | 100 + .../gogo/protobuf/types/duration.pb.go | 517 + .../gogo/protobuf/types/duration_gogo.go | 100 + .../gogo/protobuf/types/empty.pb.go | 462 + .../gogo/protobuf/types/field_mask.pb.go | 738 + .../gogo/protobuf/types/protosize.go | 34 + .../gogo/protobuf/types/source_context.pb.go | 524 + .../gogo/protobuf/types/struct.pb.go | 2271 +++ .../gogo/protobuf/types/timestamp.go | 130 + .../gogo/protobuf/types/timestamp.pb.go | 539 + .../gogo/protobuf/types/timestamp_gogo.go | 94 + .../github.com/gogo/protobuf/types/type.pb.go | 3355 +++++ .../gogo/protobuf/types/wrappers.pb.go | 2703 ++++ .../gogo/protobuf/types/wrappers_gogo.go | 300 + .../github.com/golang/groupcache/lru/lru.go | 133 - vendor/github.com/golang/protobuf/AUTHORS | 3 + .../github.com/golang/protobuf/CONTRIBUTORS | 3 + vendor/github.com/golang/protobuf/LICENSE | 28 + .../golang/protobuf/proto/buffer.go | 324 + .../golang/protobuf/proto/defaults.go | 63 + .../golang/protobuf/proto/deprecated.go | 113 + .../golang/protobuf/proto/discard.go | 58 + .../golang/protobuf/proto/extensions.go | 356 + .../golang/protobuf/proto/properties.go | 306 + .../github.com/golang/protobuf/proto/proto.go | 167 + .../golang/protobuf/proto/registry.go | 317 + .../golang/protobuf/proto/text_decode.go | 801 ++ .../golang/protobuf/proto/text_encode.go | 560 + .../github.com/golang/protobuf/proto/wire.go | 78 + .../golang/protobuf/proto/wrappers.go | 34 + .../testdata/client_intermediate_cert.der | Bin 998 -> 0 bytes .../testdata/client_leaf_cert.der | Bin 1147 -> 0 bytes .../testdata/client_root_cert.der | Bin 1013 -> 0 bytes .../testdata/server_intermediate_cert.der | Bin 998 -> 0 bytes .../testdata/server_leaf_cert.der | Bin 1147 -> 0 bytes .../testdata/server_root_cert.der | Bin 1013 -> 0 bytes .../v2/remotesigner/testdata/client_cert.der | Bin 1013 -> 0 bytes .../v2/remotesigner/testdata/client_cert.pem | 24 - .../v2/remotesigner/testdata/client_key.pem | 27 - .../v2/remotesigner/testdata/server_cert.der | Bin 1013 -> 0 bytes .../v2/remotesigner/testdata/server_cert.pem | 24 - .../v2/remotesigner/testdata/server_key.pem | 27 - .../internal/v2/testdata/client_cert.pem | 24 - .../internal/v2/testdata/client_key.pem | 27 - .../internal/v2/testdata/server_cert.pem | 24 - .../internal/v2/testdata/server_key.pem | 27 - .../tlsconfigstore/testdata/client_cert.pem | 24 - .../v2/tlsconfigstore/testdata/client_key.pem | 27 - .../tlsconfigstore/testdata/server_cert.pem | 24 - .../v2/tlsconfigstore/testdata/server_key.pem | 27 - .../google/s2a-go/testdata/client_cert.pem | 24 - .../google/s2a-go/testdata/client_key.pem | 27 - .../s2a-go/testdata/mds_client_cert.pem | 19 - .../google/s2a-go/testdata/mds_client_key.pem | 28 - .../google/s2a-go/testdata/mds_root_cert.pem | 21 - .../s2a-go/testdata/mds_server_cert.pem | 21 - .../google/s2a-go/testdata/mds_server_key.pem | 28 - .../s2a-go/testdata/self_signed_cert.pem | 19 - .../s2a-go/testdata/self_signed_key.pem | 28 - .../google/s2a-go/testdata/server_cert.pem | 24 - .../google/s2a-go/testdata/server_key.pem | 27 - .../gax-go/v2/.release-please-manifest.json | 2 +- .../googleapis/gax-go/v2/CHANGES.md | 7 + .../googleapis/gax-go/v2/internal/version.go | 2 +- .../v2/internallog/internal/internal.go | 134 + .../gax-go/v2/internallog/internallog.go | 154 + .../googleapis/gax-go/v2/iterator/iterator.go | 63 + .../github.com/json-iterator/go/.codecov.yml | 3 + vendor/github.com/json-iterator/go/.gitignore | 4 + .../github.com/json-iterator/go/.travis.yml | 14 + vendor/github.com/json-iterator/go/Gopkg.lock | 21 + vendor/github.com/json-iterator/go/Gopkg.toml | 26 + vendor/github.com/json-iterator/go/LICENSE | 21 + vendor/github.com/json-iterator/go/README.md | 85 + vendor/github.com/json-iterator/go/adapter.go | 150 + vendor/github.com/json-iterator/go/any.go | 325 + .../github.com/json-iterator/go/any_array.go | 278 + .../github.com/json-iterator/go/any_bool.go | 137 + .../github.com/json-iterator/go/any_float.go | 83 + .../github.com/json-iterator/go/any_int32.go | 74 + .../github.com/json-iterator/go/any_int64.go | 74 + .../json-iterator/go/any_invalid.go | 82 + vendor/github.com/json-iterator/go/any_nil.go | 69 + .../github.com/json-iterator/go/any_number.go | 123 + .../github.com/json-iterator/go/any_object.go | 374 + vendor/github.com/json-iterator/go/any_str.go | 166 + .../github.com/json-iterator/go/any_uint32.go | 74 + .../github.com/json-iterator/go/any_uint64.go | 74 + vendor/github.com/json-iterator/go/build.sh | 12 + vendor/github.com/json-iterator/go/config.go | 375 + .../go/fuzzy_mode_convert_table.md | 7 + vendor/github.com/json-iterator/go/iter.go | 349 + .../github.com/json-iterator/go/iter_array.go | 64 + .../github.com/json-iterator/go/iter_float.go | 342 + .../github.com/json-iterator/go/iter_int.go | 346 + .../json-iterator/go/iter_object.go | 267 + .../github.com/json-iterator/go/iter_skip.go | 130 + .../json-iterator/go/iter_skip_sloppy.go | 163 + .../json-iterator/go/iter_skip_strict.go | 99 + .../github.com/json-iterator/go/iter_str.go | 215 + .../github.com/json-iterator/go/jsoniter.go | 18 + vendor/github.com/json-iterator/go/pool.go | 42 + vendor/github.com/json-iterator/go/reflect.go | 337 + .../json-iterator/go/reflect_array.go | 104 + .../json-iterator/go/reflect_dynamic.go | 70 + .../json-iterator/go/reflect_extension.go | 483 + .../json-iterator/go/reflect_json_number.go | 112 + .../go/reflect_json_raw_message.go | 76 + .../json-iterator/go/reflect_map.go | 346 + .../json-iterator/go/reflect_marshaler.go | 225 + .../json-iterator/go/reflect_native.go | 453 + .../json-iterator/go/reflect_optional.go | 129 + .../json-iterator/go/reflect_slice.go | 99 + .../go/reflect_struct_decoder.go | 1097 ++ .../go/reflect_struct_encoder.go | 211 + vendor/github.com/json-iterator/go/stream.go | 210 + .../json-iterator/go/stream_float.go | 111 + .../github.com/json-iterator/go/stream_int.go | 190 + .../github.com/json-iterator/go/stream_str.go | 372 + vendor/github.com/json-iterator/go/test.sh | 12 + vendor/github.com/lufia/plan9stats/.gitignore | 12 + vendor/github.com/lufia/plan9stats/LICENSE | 29 + vendor/github.com/lufia/plan9stats/README.md | 13 + vendor/github.com/lufia/plan9stats/cpu.go | 288 + vendor/github.com/lufia/plan9stats/disk.go | 116 + vendor/github.com/lufia/plan9stats/doc.go | 2 + vendor/github.com/lufia/plan9stats/host.go | 223 + vendor/github.com/lufia/plan9stats/int.go | 40 + vendor/github.com/lufia/plan9stats/opts.go | 21 + vendor/github.com/lufia/plan9stats/stats.go | 88 + .../mitchellh/mapstructure/CHANGELOG.md | 5 + .../mitchellh/mapstructure/decode_hooks.go | 6 +- .../mitchellh/mapstructure/mapstructure.go | 4 +- .../modern-go/concurrent/.gitignore | 1 + .../modern-go/concurrent/.travis.yml | 14 + .../github.com/modern-go/concurrent/LICENSE | 201 + .../github.com/modern-go/concurrent/README.md | 49 + .../modern-go/concurrent/executor.go | 14 + .../modern-go/concurrent/go_above_19.go | 15 + .../modern-go/concurrent/go_below_19.go | 33 + vendor/github.com/modern-go/concurrent/log.go | 13 + .../github.com/modern-go/concurrent/test.sh | 12 + .../concurrent/unbounded_executor.go | 119 + .../github.com/modern-go/reflect2/.gitignore | 2 + .../github.com/modern-go/reflect2/.travis.yml | 15 + .../github.com/modern-go/reflect2/Gopkg.lock | 9 + .../github.com/modern-go/reflect2/Gopkg.toml | 31 + vendor/github.com/modern-go/reflect2/LICENSE | 201 + .../github.com/modern-go/reflect2/README.md | 71 + .../modern-go/reflect2/go_above_118.go | 23 + .../modern-go/reflect2/go_above_19.go | 17 + .../modern-go/reflect2/go_below_118.go | 21 + .../github.com/modern-go/reflect2/reflect2.go | 300 + .../modern-go/reflect2/reflect2_amd64.s | 0 .../modern-go/reflect2/reflect2_kind.go | 30 + .../modern-go/reflect2/relfect2_386.s | 0 .../modern-go/reflect2/relfect2_amd64p32.s | 0 .../modern-go/reflect2/relfect2_arm.s | 0 .../modern-go/reflect2/relfect2_arm64.s | 0 .../modern-go/reflect2/relfect2_mips64x.s | 0 .../modern-go/reflect2/relfect2_mipsx.s | 0 .../modern-go/reflect2/relfect2_ppc64x.s | 0 .../modern-go/reflect2/relfect2_s390x.s | 0 .../modern-go/reflect2/safe_field.go | 58 + .../github.com/modern-go/reflect2/safe_map.go | 101 + .../modern-go/reflect2/safe_slice.go | 92 + .../modern-go/reflect2/safe_struct.go | 29 + .../modern-go/reflect2/safe_type.go | 78 + .../github.com/modern-go/reflect2/type_map.go | 70 + .../modern-go/reflect2/unsafe_array.go | 65 + .../modern-go/reflect2/unsafe_eface.go | 59 + .../modern-go/reflect2/unsafe_field.go | 74 + .../modern-go/reflect2/unsafe_iface.go | 64 + .../modern-go/reflect2/unsafe_link.go | 76 + .../modern-go/reflect2/unsafe_map.go | 130 + .../modern-go/reflect2/unsafe_ptr.go | 46 + .../modern-go/reflect2/unsafe_slice.go | 177 + .../modern-go/reflect2/unsafe_struct.go | 59 + .../modern-go/reflect2/unsafe_type.go | 85 + vendor/github.com/philhofer/fwd/README.md | 9 + .../github.com/philhofer/fwd/writer_tinygo.go | 8 +- .../github.com/power-devops/perfstat/LICENSE | 23 + .../power-devops/perfstat/c_helpers.c | 159 + .../power-devops/perfstat/c_helpers.h | 58 + .../power-devops/perfstat/config.go | 18 + .../power-devops/perfstat/cpustat.go | 138 + .../power-devops/perfstat/diskstat.go | 137 + .../github.com/power-devops/perfstat/doc.go | 315 + .../power-devops/perfstat/fsstat.go | 31 + .../power-devops/perfstat/helpers.go | 764 + .../power-devops/perfstat/lparstat.go | 26 + .../power-devops/perfstat/lvmstat.go | 72 + .../power-devops/perfstat/memstat.go | 84 + .../power-devops/perfstat/netstat.go | 117 + .../power-devops/perfstat/procstat.go | 75 + .../power-devops/perfstat/sysconf.go | 195 + .../power-devops/perfstat/systemcfg.go | 635 + .../power-devops/perfstat/types_cpu.go | 186 + .../power-devops/perfstat/types_disk.go | 176 + .../power-devops/perfstat/types_fs.go | 195 + .../power-devops/perfstat/types_lpar.go | 68 + .../power-devops/perfstat/types_lvm.go | 31 + .../power-devops/perfstat/types_memory.go | 101 + .../power-devops/perfstat/types_network.go | 163 + .../power-devops/perfstat/types_process.go | 43 + .../power-devops/perfstat/uptime.go | 35 + vendor/github.com/shirou/gopsutil/v3/LICENSE | 61 + .../shirou/gopsutil/v3/common/env.go | 23 + .../github.com/shirou/gopsutil/v3/cpu/cpu.go | 200 + .../shirou/gopsutil/v3/cpu/cpu_aix.go | 16 + .../shirou/gopsutil/v3/cpu/cpu_aix_cgo.go | 66 + .../shirou/gopsutil/v3/cpu/cpu_aix_nocgo.go | 92 + .../shirou/gopsutil/v3/cpu/cpu_darwin.go | 117 + .../shirou/gopsutil/v3/cpu/cpu_darwin_cgo.go | 111 + .../gopsutil/v3/cpu/cpu_darwin_nocgo.go | 14 + .../shirou/gopsutil/v3/cpu/cpu_dragonfly.go | 156 + .../gopsutil/v3/cpu/cpu_dragonfly_amd64.go | 9 + .../shirou/gopsutil/v3/cpu/cpu_fallback.go | 31 + .../shirou/gopsutil/v3/cpu/cpu_freebsd.go | 168 + .../shirou/gopsutil/v3/cpu/cpu_freebsd_386.go | 9 + .../gopsutil/v3/cpu/cpu_freebsd_amd64.go | 9 + .../shirou/gopsutil/v3/cpu/cpu_freebsd_arm.go | 9 + .../gopsutil/v3/cpu/cpu_freebsd_arm64.go | 9 + .../shirou/gopsutil/v3/cpu/cpu_linux.go | 479 + .../shirou/gopsutil/v3/cpu/cpu_netbsd.go | 119 + .../gopsutil/v3/cpu/cpu_netbsd_amd64.go | 9 + .../gopsutil/v3/cpu/cpu_netbsd_arm64.go | 9 + .../shirou/gopsutil/v3/cpu/cpu_openbsd.go | 137 + .../shirou/gopsutil/v3/cpu/cpu_openbsd_386.go | 10 + .../gopsutil/v3/cpu/cpu_openbsd_amd64.go | 10 + .../shirou/gopsutil/v3/cpu/cpu_openbsd_arm.go | 10 + .../gopsutil/v3/cpu/cpu_openbsd_arm64.go | 10 + .../gopsutil/v3/cpu/cpu_openbsd_riscv64.go | 10 + .../shirou/gopsutil/v3/cpu/cpu_plan9.go | 50 + .../shirou/gopsutil/v3/cpu/cpu_solaris.go | 269 + .../shirou/gopsutil/v3/cpu/cpu_windows.go | 229 + .../gopsutil/v3/internal/common/binary.go | 637 + .../gopsutil/v3/internal/common/common.go | 464 + .../v3/internal/common/common_darwin.go | 66 + .../v3/internal/common/common_freebsd.go | 82 + .../v3/internal/common/common_linux.go | 353 + .../v3/internal/common/common_netbsd.go | 66 + .../v3/internal/common/common_openbsd.go | 66 + .../v3/internal/common/common_unix.go | 62 + .../v3/internal/common/common_windows.go | 304 + .../gopsutil/v3/internal/common/endian.go | 10 + .../gopsutil/v3/internal/common/sleep.go | 21 + .../gopsutil/v3/internal/common/warnings.go | 30 + .../github.com/shirou/gopsutil/v3/mem/mem.go | 120 + .../shirou/gopsutil/v3/mem/mem_aix.go | 16 + .../shirou/gopsutil/v3/mem/mem_aix_cgo.go | 51 + .../shirou/gopsutil/v3/mem/mem_aix_nocgo.go | 78 + .../shirou/gopsutil/v3/mem/mem_bsd.go | 87 + .../shirou/gopsutil/v3/mem/mem_darwin.go | 72 + .../shirou/gopsutil/v3/mem/mem_darwin_cgo.go | 58 + .../gopsutil/v3/mem/mem_darwin_nocgo.go | 89 + .../shirou/gopsutil/v3/mem/mem_fallback.go | 34 + .../shirou/gopsutil/v3/mem/mem_freebsd.go | 167 + .../shirou/gopsutil/v3/mem/mem_linux.go | 532 + .../shirou/gopsutil/v3/mem/mem_netbsd.go | 87 + .../shirou/gopsutil/v3/mem/mem_openbsd.go | 100 + .../shirou/gopsutil/v3/mem/mem_openbsd_386.go | 38 + .../gopsutil/v3/mem/mem_openbsd_amd64.go | 32 + .../shirou/gopsutil/v3/mem/mem_openbsd_arm.go | 38 + .../gopsutil/v3/mem/mem_openbsd_arm64.go | 38 + .../gopsutil/v3/mem/mem_openbsd_riscv64.go | 38 + .../shirou/gopsutil/v3/mem/mem_plan9.go | 68 + .../shirou/gopsutil/v3/mem/mem_solaris.go | 213 + .../shirou/gopsutil/v3/mem/mem_windows.go | 166 + .../github.com/shirou/gopsutil/v3/net/net.go | 273 + .../shirou/gopsutil/v3/net/net_aix.go | 330 + .../shirou/gopsutil/v3/net/net_aix_cgo.go | 36 + .../shirou/gopsutil/v3/net/net_aix_nocgo.go | 95 + .../shirou/gopsutil/v3/net/net_darwin.go | 291 + .../shirou/gopsutil/v3/net/net_fallback.go | 93 + .../shirou/gopsutil/v3/net/net_freebsd.go | 128 + .../shirou/gopsutil/v3/net/net_linux.go | 910 ++ .../shirou/gopsutil/v3/net/net_linux_111.go | 12 + .../shirou/gopsutil/v3/net/net_linux_116.go | 12 + .../shirou/gopsutil/v3/net/net_openbsd.go | 335 + .../shirou/gopsutil/v3/net/net_solaris.go | 144 + .../shirou/gopsutil/v3/net/net_unix.go | 224 + .../shirou/gopsutil/v3/net/net_windows.go | 779 ++ .../shirou/gopsutil/v3/process/process.go | 627 + .../shirou/gopsutil/v3/process/process_bsd.go | 76 + .../gopsutil/v3/process/process_darwin.go | 325 + .../v3/process/process_darwin_amd64.go | 236 + .../v3/process/process_darwin_arm64.go | 213 + .../gopsutil/v3/process/process_darwin_cgo.go | 222 + .../v3/process/process_darwin_nocgo.go | 127 + .../gopsutil/v3/process/process_fallback.go | 203 + .../gopsutil/v3/process/process_freebsd.go | 342 + .../v3/process/process_freebsd_386.go | 192 + .../v3/process/process_freebsd_amd64.go | 192 + .../v3/process/process_freebsd_arm.go | 192 + .../v3/process/process_freebsd_arm64.go | 202 + .../gopsutil/v3/process/process_linux.go | 1187 ++ .../gopsutil/v3/process/process_openbsd.go | 387 + .../v3/process/process_openbsd_386.go | 202 + .../v3/process/process_openbsd_amd64.go | 200 + .../v3/process/process_openbsd_arm.go | 202 + .../v3/process/process_openbsd_arm64.go | 203 + .../v3/process/process_openbsd_riscv64.go | 204 + .../gopsutil/v3/process/process_plan9.go | 203 + .../gopsutil/v3/process/process_posix.go | 185 + .../gopsutil/v3/process/process_solaris.go | 303 + .../gopsutil/v3/process/process_windows.go | 1165 ++ .../v3/process/process_windows_32bit.go | 108 + .../v3/process/process_windows_64bit.go | 79 + .../shoenig/go-m1cpu/.golangci.yaml | 12 + vendor/github.com/shoenig/go-m1cpu/LICENSE | 363 + vendor/github.com/shoenig/go-m1cpu/Makefile | 12 + vendor/github.com/shoenig/go-m1cpu/README.md | 66 + vendor/github.com/shoenig/go-m1cpu/cpu.go | 213 + .../shoenig/go-m1cpu/incompatible.go | 53 + .../testify/assert/assertion_compare.go | 35 +- .../testify/assert/assertion_format.go | 34 +- .../testify/assert/assertion_forward.go | 68 +- .../testify/assert/assertion_order.go | 10 +- .../stretchr/testify/assert/assertions.go | 157 +- .../testify/assert/yaml/yaml_custom.go | 25 + .../testify/assert/yaml/yaml_default.go | 37 + .../stretchr/testify/assert/yaml/yaml_fail.go | 18 + .../stretchr/testify/require/require.go | 432 +- .../stretchr/testify/require/require.go.tmpl | 2 +- .../testify/require/require_forward.go | 68 +- .../stretchr/testify/require/requirements.go | 2 +- vendor/github.com/tinylib/msgp/msgp/defs.go | 4 + vendor/github.com/tinylib/msgp/msgp/errors.go | 9 + vendor/github.com/tinylib/msgp/msgp/file.go | 4 +- .../github.com/tinylib/msgp/msgp/file_port.go | 4 +- .../github.com/tinylib/msgp/msgp/integers.go | 59 +- vendor/github.com/tinylib/msgp/msgp/json.go | 14 + .../tinylib/msgp/msgp/json_bytes.go | 52 +- vendor/github.com/tinylib/msgp/msgp/purego.go | 4 +- vendor/github.com/tinylib/msgp/msgp/read.go | 45 +- .../tinylib/msgp/msgp/read_bytes.go | 33 +- vendor/github.com/tinylib/msgp/msgp/unsafe.go | 4 +- .../tinylib/msgp/msgp/write_bytes.go | 22 +- .../tklauser/go-sysconf/.cirrus.yml | 23 + .../github.com/tklauser/go-sysconf/.gitignore | 1 + vendor/github.com/tklauser/go-sysconf/LICENSE | 29 + .../github.com/tklauser/go-sysconf/README.md | 46 + .../github.com/tklauser/go-sysconf/sysconf.go | 21 + .../tklauser/go-sysconf/sysconf_bsd.go | 38 + .../tklauser/go-sysconf/sysconf_darwin.go | 296 + .../tklauser/go-sysconf/sysconf_dragonfly.go | 220 + .../tklauser/go-sysconf/sysconf_freebsd.go | 226 + .../tklauser/go-sysconf/sysconf_generic.go | 46 + .../tklauser/go-sysconf/sysconf_linux.go | 345 + .../tklauser/go-sysconf/sysconf_netbsd.go | 250 + .../tklauser/go-sysconf/sysconf_openbsd.go | 271 + .../tklauser/go-sysconf/sysconf_posix.go | 83 + .../tklauser/go-sysconf/sysconf_solaris.go | 14 + .../go-sysconf/sysconf_unsupported.go | 17 + .../go-sysconf/zsysconf_defs_darwin.go | 254 + .../go-sysconf/zsysconf_defs_dragonfly.go | 228 + .../go-sysconf/zsysconf_defs_freebsd.go | 229 + .../go-sysconf/zsysconf_defs_linux.go | 147 + .../go-sysconf/zsysconf_defs_netbsd.go | 164 + .../go-sysconf/zsysconf_defs_openbsd.go | 263 + .../go-sysconf/zsysconf_defs_solaris.go | 139 + .../go-sysconf/zsysconf_values_freebsd_386.go | 12 + .../zsysconf_values_freebsd_amd64.go | 12 + .../go-sysconf/zsysconf_values_freebsd_arm.go | 12 + .../zsysconf_values_freebsd_arm64.go | 12 + .../zsysconf_values_freebsd_riscv64.go | 12 + .../go-sysconf/zsysconf_values_linux_386.go | 114 + .../go-sysconf/zsysconf_values_linux_amd64.go | 114 + .../go-sysconf/zsysconf_values_linux_arm.go | 114 + .../go-sysconf/zsysconf_values_linux_arm64.go | 114 + .../zsysconf_values_linux_loong64.go | 114 + .../go-sysconf/zsysconf_values_linux_mips.go | 114 + .../zsysconf_values_linux_mips64.go | 114 + .../zsysconf_values_linux_mips64le.go | 114 + .../zsysconf_values_linux_mipsle.go | 114 + .../go-sysconf/zsysconf_values_linux_ppc64.go | 114 + .../zsysconf_values_linux_ppc64le.go | 114 + .../zsysconf_values_linux_riscv64.go | 114 + .../go-sysconf/zsysconf_values_linux_s390x.go | 114 + .../go-sysconf/zsysconf_values_netbsd_386.go | 11 + .../zsysconf_values_netbsd_amd64.go | 11 + .../go-sysconf/zsysconf_values_netbsd_arm.go | 11 + .../zsysconf_values_netbsd_arm64.go | 11 + .../github.com/tklauser/numcpus/.cirrus.yml | 13 + vendor/github.com/tklauser/numcpus/LICENSE | 202 + vendor/github.com/tklauser/numcpus/README.md | 52 + vendor/github.com/tklauser/numcpus/numcpus.go | 75 + .../tklauser/numcpus/numcpus_bsd.go | 66 + .../tklauser/numcpus/numcpus_linux.go | 120 + .../tklauser/numcpus/numcpus_solaris.go | 56 + .../tklauser/numcpus/numcpus_unsupported.go | 42 + .../tklauser/numcpus/numcpus_windows.go | 41 + .../github.com/xanzy/go-gitlab/.golangci.yml | 6 +- vendor/github.com/xanzy/go-gitlab/README.md | 26 +- .../xanzy/go-gitlab/audit_events.go | 2 + .../xanzy/go-gitlab/dependency_list_export.go | 122 + .../github.com/xanzy/go-gitlab/deploy_keys.go | 12 +- .../xanzy/go-gitlab/environments.go | 44 +- .../xanzy/go-gitlab/event_parsing.go | 6 +- .../xanzy/go-gitlab/event_webhook_types.go | 4 + vendor/github.com/xanzy/go-gitlab/gitlab.go | 29 + .../github.com/xanzy/go-gitlab/group_hooks.go | 19 + .../xanzy/go-gitlab/group_labels.go | 41 +- .../xanzy/go-gitlab/group_members.go | 114 +- .../xanzy/go-gitlab/group_serviceaccounts.go | 76 +- .../xanzy/go-gitlab/group_variables.go | 2 + vendor/github.com/xanzy/go-gitlab/groups.go | 86 +- vendor/github.com/xanzy/go-gitlab/labels.go | 26 +- vendor/github.com/xanzy/go-gitlab/metadata.go | 7 +- vendor/github.com/xanzy/go-gitlab/pages.go | 82 + .../github.com/xanzy/go-gitlab/pipelines.go | 69 +- .../go-gitlab/project_markdown_uploads.go | 210 + .../xanzy/go-gitlab/project_variables.go | 2 + vendor/github.com/xanzy/go-gitlab/projects.go | 333 +- .../xanzy/go-gitlab/protected_branches.go | 1 + .../xanzy/go-gitlab/repositories.go | 1 + vendor/github.com/xanzy/go-gitlab/runners.go | 42 +- vendor/github.com/xanzy/go-gitlab/services.go | 695 +- vendor/github.com/xanzy/go-gitlab/settings.go | 815 +- vendor/github.com/xanzy/go-gitlab/types.go | 41 + vendor/github.com/xanzy/go-gitlab/users.go | 47 +- vendor/github.com/yusufpapurcu/wmi/LICENSE | 20 + vendor/github.com/yusufpapurcu/wmi/README.md | 6 + .../yusufpapurcu/wmi/swbemservices.go | 261 + vendor/github.com/yusufpapurcu/wmi/wmi.go | 603 + vendor/go.opencensus.io/.gitignore | 9 - vendor/go.opencensus.io/CONTRIBUTING.md | 63 - vendor/go.opencensus.io/Makefile | 97 - vendor/go.opencensus.io/README.md | 267 - vendor/go.opencensus.io/appveyor.yml | 24 - vendor/go.opencensus.io/internal/internal.go | 37 - vendor/go.opencensus.io/internal/sanitize.go | 50 - .../internal/traceinternals.go | 53 - vendor/go.opencensus.io/opencensus.go | 21 - .../go.opencensus.io/plugin/ocgrpc/client.go | 56 - .../plugin/ocgrpc/client_metrics.go | 118 - .../plugin/ocgrpc/client_stats_handler.go | 49 - vendor/go.opencensus.io/plugin/ocgrpc/doc.go | 19 - .../go.opencensus.io/plugin/ocgrpc/server.go | 81 - .../plugin/ocgrpc/server_metrics.go | 108 - .../plugin/ocgrpc/server_stats_handler.go | 63 - .../plugin/ocgrpc/stats_common.go | 248 - .../plugin/ocgrpc/trace_common.go | 107 - .../go.opencensus.io/plugin/ochttp/client.go | 117 - .../plugin/ochttp/client_stats.go | 143 - vendor/go.opencensus.io/plugin/ochttp/doc.go | 19 - .../plugin/ochttp/propagation/b3/b3.go | 123 - .../go.opencensus.io/plugin/ochttp/route.go | 61 - .../go.opencensus.io/plugin/ochttp/server.go | 455 - .../ochttp/span_annotating_client_trace.go | 169 - .../go.opencensus.io/plugin/ochttp/stats.go | 292 - .../go.opencensus.io/plugin/ochttp/trace.go | 244 - .../plugin/ochttp/wrapped_body.go | 44 - vendor/go.opencensus.io/trace/basetypes.go | 129 - vendor/go.opencensus.io/trace/config.go | 86 - vendor/go.opencensus.io/trace/doc.go | 52 - vendor/go.opencensus.io/trace/evictedqueue.go | 38 - vendor/go.opencensus.io/trace/export.go | 97 - vendor/go.opencensus.io/trace/lrumap.go | 61 - .../trace/propagation/propagation.go | 108 - vendor/go.opencensus.io/trace/sampling.go | 75 - vendor/go.opencensus.io/trace/spanbucket.go | 130 - vendor/go.opencensus.io/trace/spanstore.go | 308 - vendor/go.opencensus.io/trace/status_codes.go | 37 - vendor/go.opencensus.io/trace/trace.go | 595 - vendor/go.opencensus.io/trace/trace_api.go | 265 - .../trace/tracestate/tracestate.go | 147 - .../collector/component/LICENSE | 202 + .../collector/component/Makefile | 1 + .../collector/component/build_info.go | 26 + .../collector/component/component.go | 198 + .../collector/component/config.go | 166 + .../collector/component/doc.go | 8 + .../collector/component/host.go | 30 + .../collector/component/identifiable.go | 103 + .../collector/component/status.go | 190 + .../collector/component/telemetry.go | 43 + .../collector/config/configtelemetry/LICENSE | 202 + .../collector/config/configtelemetry/Makefile | 1 + .../config/configtelemetry/configtelemetry.go | 73 + .../collector/config/configtelemetry/doc.go | 7 + .../collector/pdata/LICENSE | 202 + .../collector/pdata/internal/.gitignore | 2 + .../collector/pdata/internal/data/bytesid.go | 45 + .../collector/logs/v1/logs_service.pb.go | 844 ++ .../metrics/v1/metrics_service.pb.go | 844 ++ .../v1experimental/profiles_service.pb.go | 845 ++ .../collector/trace/v1/trace_service.pb.go | 843 ++ .../data/protogen/common/v1/common.pb.go | 1721 +++ .../internal/data/protogen/logs/v1/logs.pb.go | 1770 +++ .../data/protogen/metrics/v1/metrics.pb.go | 6625 +++++++++ .../v1experimental/pprofextended.pb.go | 4919 +++++++ .../profiles/v1experimental/profiles.pb.go | 1482 ++ .../data/protogen/resource/v1/resource.pb.go | 381 + .../data/protogen/trace/v1/trace.pb.go | 3043 ++++ .../collector/pdata/internal/data/spanid.go | 79 + .../collector/pdata/internal/data/traceid.go | 79 + .../internal/generated_wrapper_byteslice.go | 34 + .../generated_wrapper_float64slice.go | 34 + .../generated_wrapper_instrumentationscope.go | 43 + .../internal/generated_wrapper_int64slice.go | 34 + .../internal/generated_wrapper_resource.go | 41 + .../internal/generated_wrapper_stringslice.go | 34 + .../internal/generated_wrapper_uint64slice.go | 34 + .../pdata/internal/json/attribute.go | 110 + .../collector/pdata/internal/json/enum.go | 29 + .../collector/pdata/internal/json/json.go | 22 + .../collector/pdata/internal/json/number.go | 103 + .../collector/pdata/internal/json/resource.go | 27 + .../collector/pdata/internal/json/scope.go | 31 + .../collector/pdata/internal/otlp/logs.go | 19 + .../collector/pdata/internal/otlp/metrics.go | 19 + .../collector/pdata/internal/otlp/traces.go | 19 + .../collector/pdata/internal/state.go | 22 + .../collector/pdata/internal/wrapper_logs.go | 46 + .../collector/pdata/internal/wrapper_map.go | 38 + .../pdata/internal/wrapper_metrics.go | 46 + .../pdata/internal/wrapper_profiles.go | 46 + .../collector/pdata/internal/wrapper_slice.go | 41 + .../pdata/internal/wrapper_traces.go | 46 + .../pdata/internal/wrapper_tracestate.go | 33 + .../collector/pdata/internal/wrapper_value.go | 37 + .../pdata/pcommon/generated_byteslice.go | 108 + .../pdata/pcommon/generated_float64slice.go | 108 + .../pcommon/generated_instrumentationscope.go | 98 + .../pdata/pcommon/generated_int64slice.go | 108 + .../pdata/pcommon/generated_resource.go | 74 + .../pdata/pcommon/generated_stringslice.go | 108 + .../pdata/pcommon/generated_uint64slice.go | 108 + .../collector/pdata/pcommon/map.go | 283 + .../collector/pdata/pcommon/slice.go | 166 + .../collector/pdata/pcommon/spanid.go | 36 + .../collector/pdata/pcommon/timestamp.go | 27 + .../collector/pdata/pcommon/trace_state.go | 53 + .../collector/pdata/pcommon/traceid.go | 37 + .../collector/pdata/pcommon/value.go | 483 + .../collector/pdata/ptrace/encoding.go | 31 + .../pdata/ptrace/generated_resourcespans.go | 76 + .../ptrace/generated_resourcespansslice.go | 152 + .../pdata/ptrace/generated_scopespans.go | 76 + .../pdata/ptrace/generated_scopespansslice.go | 152 + .../collector/pdata/ptrace/generated_span.go | 216 + .../pdata/ptrace/generated_spanevent.go | 95 + .../pdata/ptrace/generated_spaneventslice.go | 152 + .../pdata/ptrace/generated_spanlink.go | 115 + .../pdata/ptrace/generated_spanlinkslice.go | 152 + .../pdata/ptrace/generated_spanslice.go | 152 + .../pdata/ptrace/generated_status.go | 76 + .../collector/pdata/ptrace/json.go | 213 + .../collector/pdata/ptrace/pb.go | 31 + .../collector/pdata/ptrace/span_kind.go | 54 + .../collector/pdata/ptrace/status_code.go | 31 + .../collector/pdata/ptrace/traces.go | 65 + .../collector/semconv/LICENSE | 202 + .../semconv/v1.17.0/generated_event.go | 118 + .../semconv/v1.17.0/generated_resource.go | 1168 ++ .../semconv/v1.17.0/generated_trace.go | 2011 +++ .../collector/semconv/v1.17.0/schema.go | 9 + .../semconv/v1.6.1/generated_resource.go | 991 ++ .../semconv/v1.6.1/generated_trace.go | 1587 +++ .../collector/semconv/v1.6.1/nonstandard.go | 11 + .../collector/semconv/v1.6.1/schema.go | 9 + .../google.golang.org/grpc/otelgrpc/config.go | 30 +- .../grpc/otelgrpc/interceptor.go | 5 +- .../grpc/otelgrpc/stats_handler.go | 21 +- .../grpc/otelgrpc/version.go | 2 +- .../net/http/otelhttp/client.go | 2 +- .../net/http/otelhttp/common.go | 7 - .../net/http/otelhttp/config.go | 17 +- .../net/http/otelhttp/handler.go | 100 +- .../otelhttp/internal/request/body_wrapper.go | 75 + .../internal/request/resp_writer_wrapper.go | 112 + .../net/http/otelhttp/internal/semconv/env.go | 162 +- .../otelhttp/internal/semconv/httpconv.go | 348 + .../http/otelhttp/internal/semconv/util.go | 51 +- .../http/otelhttp/internal/semconv/v1.20.0.go | 125 +- .../otelhttp/internal/semconvutil/netconv.go | 6 +- .../net/http/otelhttp/labeler.go | 8 +- .../net/http/otelhttp/transport.go | 74 +- .../net/http/otelhttp/version.go | 2 +- .../instrumentation/net/http/otelhttp/wrap.go | 89 - vendor/go.opentelemetry.io/otel/.golangci.yml | 2 + vendor/go.opentelemetry.io/otel/CHANGELOG.md | 67 +- vendor/go.opentelemetry.io/otel/CODEOWNERS | 2 +- .../go.opentelemetry.io/otel/CONTRIBUTING.md | 2 +- vendor/go.opentelemetry.io/otel/Makefile | 13 +- vendor/go.opentelemetry.io/otel/README.md | 37 +- vendor/go.opentelemetry.io/otel/RELEASING.md | 1 + .../otel/baggage/baggage.go | 150 +- .../go.opentelemetry.io/otel/codes/codes.go | 2 +- vendor/go.opentelemetry.io/otel/doc.go | 2 + .../otel/internal/rawhelpers.go | 9 +- .../go.opentelemetry.io/otel/metric/meter.go | 13 + .../otel/trace/provider.go | 59 + vendor/go.opentelemetry.io/otel/trace/span.go | 177 + .../go.opentelemetry.io/otel/trace/trace.go | 249 - .../go.opentelemetry.io/otel/trace/tracer.go | 37 + .../otel/trace/tracestate.go | 10 + .../otel/verify_released_changelog.sh | 42 + vendor/go.opentelemetry.io/otel/version.go | 2 +- vendor/go.opentelemetry.io/otel/versions.yaml | 8 +- .../x/crypto/chacha20/chacha_noasm.go | 2 +- .../{chacha_ppc64le.go => chacha_ppc64x.go} | 2 +- .../{chacha_ppc64le.s => chacha_ppc64x.s} | 114 +- .../chacha20poly1305/chacha20poly1305_amd64.s | 11503 +++++++++++++--- .../x/crypto/internal/poly1305/mac_noasm.go | 2 +- .../x/crypto/internal/poly1305/sum_amd64.s | 133 +- .../{sum_ppc64le.go => sum_ppc64x.go} | 2 +- .../poly1305/{sum_ppc64le.s => sum_ppc64x.s} | 30 +- vendor/golang.org/x/mod/LICENSE | 4 +- .../x/net/http2/client_conn_pool.go | 8 +- vendor/golang.org/x/net/http2/config.go | 122 + vendor/golang.org/x/net/http2/config_go124.go | 61 + .../x/net/http2/config_pre_go124.go | 16 + vendor/golang.org/x/net/http2/frame.go | 4 +- vendor/golang.org/x/net/http2/http2.go | 95 +- vendor/golang.org/x/net/http2/server.go | 244 +- vendor/golang.org/x/net/http2/transport.go | 516 +- vendor/golang.org/x/net/http2/unencrypted.go | 32 + vendor/golang.org/x/net/http2/write.go | 10 + vendor/golang.org/x/oauth2/README.md | 15 +- vendor/golang.org/x/oauth2/token.go | 7 + .../golang.org/x/sys/cpu/asm_darwin_x86_gc.s | 17 + vendor/golang.org/x/sys/cpu/cpu.go | 19 + vendor/golang.org/x/sys/cpu/cpu_darwin_x86.go | 61 + vendor/golang.org/x/sys/cpu/cpu_gc_x86.go | 4 +- .../x/sys/cpu/{cpu_x86.s => cpu_gc_x86.s} | 2 +- vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go | 6 - .../golang.org/x/sys/cpu/cpu_linux_arm64.go | 1 - .../golang.org/x/sys/cpu/cpu_linux_noinit.go | 2 +- .../golang.org/x/sys/cpu/cpu_linux_riscv64.go | 137 + vendor/golang.org/x/sys/cpu/cpu_other_x86.go | 11 + vendor/golang.org/x/sys/cpu/cpu_riscv64.go | 11 +- vendor/golang.org/x/sys/cpu/cpu_x86.go | 6 +- .../x/sys/cpu/syscall_darwin_x86_gc.go | 98 + vendor/golang.org/x/sys/unix/README.md | 2 +- vendor/golang.org/x/sys/unix/ioctl_linux.go | 96 + vendor/golang.org/x/sys/unix/mkerrors.sh | 17 +- vendor/golang.org/x/sys/unix/syscall_aix.go | 2 +- .../golang.org/x/sys/unix/syscall_darwin.go | 37 + vendor/golang.org/x/sys/unix/syscall_hurd.go | 1 + vendor/golang.org/x/sys/unix/syscall_linux.go | 64 +- .../x/sys/unix/syscall_linux_arm64.go | 2 + .../x/sys/unix/syscall_linux_loong64.go | 2 + .../x/sys/unix/syscall_linux_riscv64.go | 2 + .../x/sys/unix/syscall_zos_s390x.go | 104 +- .../golang.org/x/sys/unix/vgetrandom_linux.go | 13 + .../x/sys/unix/vgetrandom_unsupported.go | 11 + .../x/sys/unix/zerrors_darwin_amd64.go | 7 + .../x/sys/unix/zerrors_darwin_arm64.go | 7 + vendor/golang.org/x/sys/unix/zerrors_linux.go | 44 +- .../x/sys/unix/zerrors_linux_386.go | 25 + .../x/sys/unix/zerrors_linux_amd64.go | 25 + .../x/sys/unix/zerrors_linux_arm.go | 25 + .../x/sys/unix/zerrors_linux_arm64.go | 26 + .../x/sys/unix/zerrors_linux_loong64.go | 25 + .../x/sys/unix/zerrors_linux_mips.go | 25 + .../x/sys/unix/zerrors_linux_mips64.go | 25 + .../x/sys/unix/zerrors_linux_mips64le.go | 25 + .../x/sys/unix/zerrors_linux_mipsle.go | 25 + .../x/sys/unix/zerrors_linux_ppc.go | 25 + .../x/sys/unix/zerrors_linux_ppc64.go | 25 + .../x/sys/unix/zerrors_linux_ppc64le.go | 25 + .../x/sys/unix/zerrors_linux_riscv64.go | 25 + .../x/sys/unix/zerrors_linux_s390x.go | 25 + .../x/sys/unix/zerrors_linux_sparc64.go | 25 + .../x/sys/unix/zerrors_zos_s390x.go | 2 + .../x/sys/unix/zsyscall_darwin_amd64.go | 20 + .../x/sys/unix/zsyscall_darwin_amd64.s | 5 + .../x/sys/unix/zsyscall_darwin_arm64.go | 20 + .../x/sys/unix/zsyscall_darwin_arm64.s | 5 + .../golang.org/x/sys/unix/zsyscall_linux.go | 27 +- .../x/sys/unix/zsysnum_linux_amd64.go | 1 + .../x/sys/unix/zsysnum_linux_arm64.go | 2 +- .../x/sys/unix/zsysnum_linux_loong64.go | 2 + .../x/sys/unix/zsysnum_linux_riscv64.go | 2 +- .../x/sys/unix/ztypes_darwin_amd64.go | 73 + .../x/sys/unix/ztypes_darwin_arm64.go | 73 + .../x/sys/unix/ztypes_freebsd_386.go | 1 + .../x/sys/unix/ztypes_freebsd_amd64.go | 1 + .../x/sys/unix/ztypes_freebsd_arm.go | 1 + .../x/sys/unix/ztypes_freebsd_arm64.go | 1 + .../x/sys/unix/ztypes_freebsd_riscv64.go | 1 + vendor/golang.org/x/sys/unix/ztypes_linux.go | 224 +- .../x/sys/unix/ztypes_linux_riscv64.go | 33 + .../golang.org/x/sys/unix/ztypes_zos_s390x.go | 6 + .../golang.org/x/sys/windows/dll_windows.go | 2 +- .../x/sys/windows/syscall_windows.go | 40 +- .../golang.org/x/sys/windows/types_windows.go | 128 + .../x/sys/windows/zsyscall_windows.go | 109 + vendor/golang.org/x/time/rate/rate.go | 17 +- .../api/googleapi/googleapi.go | 15 + .../google.golang.org/api/internal/creds.go | 44 +- .../api/internal/settings.go | 5 + .../google.golang.org/api/internal/version.go | 2 +- .../option/internaloption/internaloption.go | 75 + vendor/google.golang.org/api/option/option.go | 17 +- .../api/transport/grpc/dial.go | 53 +- .../api/transport/http/dial.go | 16 +- .../http/internal/propagation/http.go | 87 - .../googleapis/api/annotations/client.pb.go | 426 +- vendor/google.golang.org/grpc/MAINTAINERS.md | 33 +- vendor/google.golang.org/grpc/SECURITY.md | 2 +- .../google.golang.org/grpc/backoff/backoff.go | 2 +- .../grpc/balancer/balancer.go | 21 + .../grpc/balancer/base/balancer.go | 4 +- .../grpclb/grpc_lb_v1/load_balancer.pb.go | 28 +- .../grpc_lb_v1/load_balancer_grpc.pb.go | 85 +- .../grpc/balancer/grpclb/grpclb.go | 2 +- .../grpc/balancer/pickfirst/pickfirst.go | 4 +- .../grpc/balancer_wrapper.go | 50 +- .../grpc_binarylog_v1/binarylog.pb.go | 24 +- vendor/google.golang.org/grpc/clientconn.go | 114 +- vendor/google.golang.org/grpc/codec.go | 69 +- .../alts/internal/conn/aeadrekey.go | 2 +- .../alts/internal/conn/aes128gcmrekey.go | 2 +- .../credentials/alts/internal/conn/record.go | 7 - .../alts/internal/handshaker/handshaker.go | 4 +- .../internal/handshaker/service/service.go | 4 +- .../internal/proto/grpc_gcp/altscontext.pb.go | 8 +- .../internal/proto/grpc_gcp/handshaker.pb.go | 299 +- .../proto/grpc_gcp/handshaker_grpc.pb.go | 23 +- .../grpc_gcp/transport_security_common.pb.go | 10 +- .../grpc/credentials/insecure/insecure.go | 2 +- .../grpc/credentials/oauth/oauth.go | 6 +- vendor/google.golang.org/grpc/dialoptions.go | 29 +- vendor/google.golang.org/grpc/doc.go | 2 +- .../grpc/encoding/encoding.go | 5 +- .../grpc/encoding/encoding_v2.go | 81 + .../grpc/encoding/proto/proto.go | 44 +- .../grpc/experimental/stats/metricregistry.go | 269 + .../grpc/experimental/stats/metrics.go | 114 + .../grpc/grpclog/component.go | 10 +- .../google.golang.org/grpc/grpclog/grpclog.go | 104 +- .../grpc/grpclog/internal/grpclog.go | 26 + .../grpc/grpclog/internal/logger.go | 87 + .../internal/loggerv2.go} | 178 +- .../google.golang.org/grpc/grpclog/logger.go | 59 +- .../grpc/grpclog/loggerv2.go | 181 +- .../grpc/internal/binarylog/method_logger.go | 2 +- .../grpc/internal/channelz/channelmap.go | 9 +- .../grpc/internal/channelz/funcs.go | 2 +- .../internal/channelz/syscall_nonlinux.go | 4 +- .../grpc/internal/envconfig/envconfig.go | 6 +- .../grpc/internal/experimental.go | 8 +- .../grpc/internal/googlecloud/googlecloud.go | 6 +- .../{prefixLogger.go => prefix_logger.go} | 40 +- .../internal/grpcsync/callback_serializer.go | 24 +- .../grpc/internal/grpcsync/pubsub.go | 4 +- .../grpc/internal/internal.go | 24 +- .../resolver/passthrough/passthrough.go | 2 +- .../grpc/internal/stats/labels.go | 42 + .../internal/stats/metrics_recorder_list.go | 95 + .../grpc/internal/status/status.go | 4 +- .../grpc/internal/syscall/syscall_nonlinux.go | 6 +- .../grpc/internal/tcp_keepalive_unix.go | 2 +- .../grpc/internal/tcp_keepalive_windows.go | 2 +- .../grpc/internal/transport/controlbuf.go | 256 +- .../grpc/internal/transport/handler_server.go | 47 +- .../grpc/internal/transport/http2_client.go | 79 +- .../grpc/internal/transport/http2_server.go | 49 +- .../grpc/internal/transport/http_util.go | 24 +- .../grpc/internal/transport/proxy.go | 10 +- .../grpc/internal/transport/transport.go | 240 +- .../grpc/keepalive/keepalive.go | 20 +- .../google.golang.org/grpc/mem/buffer_pool.go | 194 + .../grpc/mem/buffer_slice.go | 226 + vendor/google.golang.org/grpc/mem/buffers.go | 252 + .../grpc/metadata/metadata.go | 7 +- vendor/google.golang.org/grpc/preloader.go | 28 +- vendor/google.golang.org/grpc/regenerate.sh | 123 - .../grpc/resolver/manual/manual.go | 4 +- .../grpc/resolver_wrapper.go | 9 +- vendor/google.golang.org/grpc/rpc_util.go | 331 +- vendor/google.golang.org/grpc/server.go | 99 +- .../grpc/shared_buffer_pool.go | 154 - vendor/google.golang.org/grpc/stats/stats.go | 6 - vendor/google.golang.org/grpc/stream.go | 213 +- .../grpc/stream_interfaces.go | 86 + vendor/google.golang.org/grpc/version.go | 2 +- .../protobuf/encoding/protojson/decode.go | 2 +- .../protobuf/encoding/protojson/encode.go | 4 +- .../encoding/protojson/well_known_types.go | 6 +- .../protobuf/internal/descopts/options.go | 20 +- .../editiondefaults/editions_defaults.binpb | Bin 93 -> 99 bytes .../internal/editionssupport/editions.go | 18 + .../protobuf/internal/filedesc/desc.go | 19 + .../protobuf/internal/filedesc/desc_init.go | 2 + .../protobuf/internal/filedesc/desc_lazy.go | 2 + .../protobuf/internal/filedesc/editions.go | 6 +- .../protobuf/internal/genid/doc.go | 2 +- .../internal/genid/go_features_gen.go | 32 +- .../protobuf/internal/genid/map_entry.go | 2 +- .../protobuf/internal/genid/wrappers.go | 2 +- .../protobuf/internal/impl/codec_extension.go | 11 +- .../protobuf/internal/impl/codec_field.go | 3 + .../protobuf/internal/impl/codec_message.go | 3 + .../protobuf/internal/impl/codec_reflect.go | 210 - .../protobuf/internal/impl/codec_unsafe.go | 3 - .../protobuf/internal/impl/convert.go | 2 +- .../protobuf/internal/impl/encode.go | 2 +- .../protobuf/internal/impl/equal.go | 224 + .../internal/impl/legacy_extension.go | 1 + .../protobuf/internal/impl/message.go | 4 +- .../protobuf/internal/impl/pointer_reflect.go | 215 - .../protobuf/internal/impl/pointer_unsafe.go | 3 - .../protobuf/internal/strs/strings_pure.go | 28 - .../internal/strs/strings_unsafe_go120.go | 3 +- .../internal/strs/strings_unsafe_go121.go | 3 +- .../protobuf/internal/version/version.go | 2 +- .../google.golang.org/protobuf/proto/equal.go | 9 + .../protobuf/proto/extension.go | 71 + .../protobuf/reflect/protodesc/desc.go | 292 + .../protobuf/reflect/protodesc/desc_init.go | 289 + .../reflect/protodesc/desc_resolve.go | 291 + .../reflect/protodesc/desc_validate.go | 371 + .../protobuf/reflect/protodesc/editions.go | 150 + .../protobuf/reflect/protodesc/proto.go | 274 + .../protobuf/reflect/protoreflect/methods.go | 10 + .../reflect/protoreflect/value_pure.go | 60 - .../protoreflect/value_unsafe_go120.go | 3 +- .../protoreflect/value_unsafe_go121.go | 3 +- .../protobuf/runtime/protoiface/methods.go | 18 + .../types/descriptorpb/descriptor.pb.go | 748 +- .../types/gofeaturespb/go_features.pb.go | 256 + .../protobuf/types/known/anypb/any.pb.go | 24 +- .../types/known/durationpb/duration.pb.go | 24 +- .../protobuf/types/known/emptypb/empty.pb.go | 24 +- .../types/known/fieldmaskpb/field_mask.pb.go | 24 +- .../types/known/timestamppb/timestamp.pb.go | 24 +- .../internal/httptrace/before_handle.go | 79 + .../contrib/internal/httptrace/config.go | 76 +- .../contrib/internal/httptrace/httptrace.go | 28 +- .../internal/httptrace/response_writer.go | 51 + .../http => internal/httptrace}/trace_gen.go | 2 +- .../dd-trace-go.v1/contrib/net/http/option.go | 26 +- .../contrib/net/http/roundtripper.go | 39 +- .../dd-trace-go.v1/contrib/net/http/trace.go | 92 +- .../ddtrace/tracer/civisibility_payload.go | 67 +- .../ddtrace/tracer/civisibility_transport.go | 15 +- .../ddtrace/tracer/civisibility_tslv.go | 4 + .../ddtrace/tracer/civisibility_writer.go | 21 +- .../dd-trace-go.v1/ddtrace/tracer/log.go | 28 +- .../dd-trace-go.v1/ddtrace/tracer/option.go | 126 +- .../dd-trace-go.v1/ddtrace/tracer/payload.go | 2 +- .../dd-trace-go.v1/ddtrace/tracer/rand.go | 59 +- .../ddtrace/tracer/rand_go1_22.go | 21 - .../ddtrace/tracer/rules_sampler.go | 4 + .../dd-trace-go.v1/ddtrace/tracer/slog.go | 69 + .../dd-trace-go.v1/ddtrace/tracer/span.go | 58 +- .../dd-trace-go.v1/ddtrace/tracer/stats.go | 274 +- .../ddtrace/tracer/stats_payload.go | 56 - .../ddtrace/tracer/stats_payload_msgp.go | 450 - .../ddtrace/tracer/telemetry.go | 15 +- .../dd-trace-go.v1/ddtrace/tracer/textmap.go | 8 +- .../dd-trace-go.v1/ddtrace/tracer/tracer.go | 52 +- .../ddtrace/tracer/transport.go | 8 +- .../dd-trace-go.v1/ddtrace/tracer/util.go | 53 + .../dd-trace-go.v1/internal/appsec/README.md | 212 + .../dd-trace-go.v1/internal/appsec/appsec.go | 75 +- .../internal/appsec/config/config.go | 113 +- .../internal/appsec/config/rules_manager.go | 56 +- .../appsec/emitter/graphqlsec/README.md | 25 + .../appsec/emitter/graphqlsec/execution.go | 66 + .../appsec/emitter/graphqlsec/request.go | 69 + .../appsec/emitter/graphqlsec/resolve.go | 63 + .../internal/appsec/emitter/grpcsec/grpc.go | 116 + .../internal/appsec/emitter/httpsec/http.go | 287 +- .../appsec/emitter/httpsec/roundtripper.go | 25 +- .../internal/appsec/emitter/httpsec/tags.go | 28 - .../appsec/emitter/httpsec/types/types.go | 101 - .../appsec/emitter/sharedsec/shared.go | 71 - .../internal/appsec/emitter/sqlsec/sql.go | 71 + .../appsec/emitter/sqlsec/types/sql.go | 27 - .../emitter/trace/service_entry_span.go | 158 + .../internal/appsec/emitter/trace/span.go | 67 + .../appsec/emitter/trace/tag_setter.go | 29 + .../internal/appsec/emitter/usersec/user.go | 73 + .../appsec/emitter/waf/actions/actions.go | 56 + .../actions.go => waf/actions/block.go} | 170 +- .../actions}/blocked-template.html | 0 .../actions}/blocked-template.json | 2 +- .../emitter/waf/actions/http_redirect.go | 54 + .../appsec/emitter/waf/actions/stacktrace.go | 44 + .../appsec/emitter/waf/addresses/addresses.go | 40 + .../appsec/emitter/waf/addresses/builder.go | 243 + .../internal/appsec/emitter/waf/context.go | 160 + .../internal/appsec/emitter/waf/run.go | 78 + .../internal/appsec/features.go | 81 + .../internal/appsec/listener/feature.go | 24 + .../appsec/listener/graphqlsec/graphql.go | 43 + .../internal/appsec/listener/grpcsec/grpc.go | 75 + .../internal/appsec/listener/httpsec/http.go | 261 +- .../http.go => listener/httpsec/request.go} | 56 +- .../appsec/listener/httpsec/roundtripper.go | 39 +- .../internal/appsec/listener/listener.go | 28 - .../internal/appsec/listener/ossec/lfi.go | 55 +- .../appsec/listener/sharedsec/shared.go | 143 - .../internal/appsec/listener/sqlsec/sql.go | 43 +- .../internal/appsec/listener/trace/trace.go | 53 + .../internal/appsec/listener/usersec/usec.go | 59 + .../internal/appsec/listener/waf/tags.go | 101 + .../internal/appsec/listener/waf/waf.go | 128 + .../internal/appsec/remoteconfig.go | 117 +- .../internal/appsec/telemetry.go | 8 + .../internal/appsec/trace/securityholder.go | 49 - .../internal/appsec/trace/tagsholder.go | 70 - .../internal/appsec/trace/trace.go | 85 - .../dd-trace-go.v1/internal/appsec/waf.go | 66 - .../internal/civisibility/constants/env.go | 13 + .../internal/civisibility/constants/git.go | 9 + .../internal/civisibility/constants/tags.go | 4 + .../civisibility/constants/test_tags.go | 46 + .../civisibility/utils/ci_providers.go | 610 + .../internal/civisibility/utils/codeowners.go | 307 + .../civisibility/utils/environmentTags.go | 213 + .../internal/civisibility/utils/git.go | 448 + .../internal/civisibility/utils/home.go | 126 + .../internal/civisibility/utils/names.go | 93 + .../civisibility/utils/telemetry/telemetry.go | 143 + .../utils/telemetry/telemetry_count.go | 212 + .../utils/telemetry/telemetry_distribution.go | 104 + .../internal/datastreams/processor.go | 15 +- .../internal/globalconfig/globalconfig.go | 10 +- .../dd-trace-go.v1/internal/log/log.go | 60 + .../dd-trace-go.v1/internal/osinfo/osinfo.go | 41 +- .../internal/osinfo/osinfo_darwin.go | 24 - .../internal/osinfo/osinfo_default.go | 21 - .../internal/osinfo/osinfo_freebsd.go | 24 - .../internal/osinfo/osinfo_linux.go | 52 - .../internal/osinfo/osinfo_unix.go | 70 + .../internal/osinfo/osinfo_windows.go | 14 +- .../internal/remoteconfig/remoteconfig.go | 48 +- .../internal/stacktrace/event.go | 24 +- .../internal/stacktrace/stacktrace.go | 1 + .../DataDog/dd-trace-go.v1/internal/statsd.go | 2 + .../internal/telemetry/client.go | 59 +- .../internal/telemetry/message.go | 10 +- .../internal/telemetry/option.go | 7 + .../internal/telemetry/telemetry.go | 4 +- .../internal/version/version.go | 2 +- vendor/gopkg.in/ini.v1/.editorconfig | 12 + vendor/gopkg.in/ini.v1/.gitignore | 7 + vendor/gopkg.in/ini.v1/.golangci.yml | 27 + .../groupcache => gopkg.in/ini.v1}/LICENSE | 2 +- vendor/gopkg.in/ini.v1/Makefile | 15 + vendor/gopkg.in/ini.v1/README.md | 43 + vendor/gopkg.in/ini.v1/codecov.yml | 16 + vendor/gopkg.in/ini.v1/data_source.go | 76 + vendor/gopkg.in/ini.v1/deprecated.go | 22 + vendor/gopkg.in/ini.v1/error.go | 49 + vendor/gopkg.in/ini.v1/file.go | 541 + vendor/gopkg.in/ini.v1/helper.go | 24 + vendor/gopkg.in/ini.v1/ini.go | 176 + vendor/gopkg.in/ini.v1/key.go | 837 ++ vendor/gopkg.in/ini.v1/parser.go | 520 + vendor/gopkg.in/ini.v1/section.go | 256 + vendor/gopkg.in/ini.v1/struct.go | 747 + vendor/gopkg.in/yaml.v2/.travis.yml | 17 + vendor/gopkg.in/yaml.v2/LICENSE | 201 + vendor/gopkg.in/yaml.v2/LICENSE.libyaml | 31 + vendor/gopkg.in/yaml.v2/NOTICE | 13 + vendor/gopkg.in/yaml.v2/README.md | 133 + vendor/gopkg.in/yaml.v2/apic.go | 744 + vendor/gopkg.in/yaml.v2/decode.go | 815 ++ vendor/gopkg.in/yaml.v2/emitterc.go | 1685 +++ vendor/gopkg.in/yaml.v2/encode.go | 390 + vendor/gopkg.in/yaml.v2/parserc.go | 1095 ++ vendor/gopkg.in/yaml.v2/readerc.go | 412 + vendor/gopkg.in/yaml.v2/resolve.go | 258 + vendor/gopkg.in/yaml.v2/scannerc.go | 2711 ++++ vendor/gopkg.in/yaml.v2/sorter.go | 113 + vendor/gopkg.in/yaml.v2/writerc.go | 26 + vendor/gopkg.in/yaml.v2/yaml.go | 478 + vendor/gopkg.in/yaml.v2/yamlh.go | 739 + vendor/gopkg.in/yaml.v2/yamlprivateh.go | 173 + vendor/modules.txt | 265 +- 1661 files changed, 198398 insertions(+), 25195 deletions(-) delete mode 100644 vendor/cloud.google.com/go/auth/httptransport/trace.go create mode 100644 vendor/cloud.google.com/go/auth/internal/compute/compute.go rename vendor/{go.opencensus.io/trace/internal/internal.go => cloud.google.com/go/auth/internal/compute/manufacturer.go} (64%) rename vendor/{go.opencensus.io/trace/trace_nongo11.go => cloud.google.com/go/auth/internal/compute/manufacturer_linux.go} (65%) create mode 100644 vendor/cloud.google.com/go/auth/internal/compute/manufacturer_windows.go create mode 100644 vendor/cloud.google.com/go/pubsub/apiv1/auxiliary_go123.go create mode 100644 vendor/cloud.google.com/go/pubsub/apiv1/helpers.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/ip_address.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/LICENSE create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/agent_payload.pb.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/agent_payload_gen.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/agent_payload_vtproto.pb.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/decoder_bytes.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/decoder_v05.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span.pb.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span_gen.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span_utils.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span_vtproto.pb.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/stats.pb.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/stats_gen.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/stats_vtproto.pb.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/trace.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/trace_gen.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload.pb.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload_gen.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload_utils.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload_vtproto.pb.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/LICENSE create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/config/client.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/config/config.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/config/peer_tags.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/config/peer_tags.ini create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/log/buflogger.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/log/logger.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/log/throttled.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/aggregation.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/client_stats_aggregator.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/concentrator.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/otel_util.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/span_concentrator.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/statsraw.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/weight.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/azure.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/doc.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/normalize.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/otel_util.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/processed_trace.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/span.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/trace.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/truncate.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/version/version.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/cpu.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/cpu_aix.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/cpu_windows.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/info.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/logonpanic.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/util/log/LICENSE create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/util/log/klog_redirect.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/util/log/log.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_limit.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_not_serverless.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_serverless.go rename vendor/{gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/httpsec/init.go => github.com/DataDog/datadog-agent/pkg/util/log/log_test_init.go} (52%) create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/util/log/wrapper.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/LICENSE create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/default.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/json_scrubber.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/scrubber.go create mode 100644 vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/yaml_scrubber.go create mode 100644 vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/dump_waf_darwin.go create mode 100644 vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/dump_waf_linux.go delete mode 100644 vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib.go create mode 100644 vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/version.go create mode 100644 vendor/github.com/DataDog/go-runtime-metrics-internal/LICENSE create mode 100644 vendor/github.com/DataDog/go-runtime-metrics-internal/LICENSE-3rdparty.csv create mode 100644 vendor/github.com/DataDog/go-runtime-metrics-internal/NOTICE create mode 100644 vendor/github.com/DataDog/go-runtime-metrics-internal/pkg/runtimemetrics/histogram.go create mode 100644 vendor/github.com/DataDog/go-runtime-metrics-internal/pkg/runtimemetrics/runtime_metrics.go create mode 100644 vendor/github.com/DataDog/go-runtime-metrics-internal/pkg/runtimemetrics/tags.go delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/README.md delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/complex/extremely-complex-poorly-written-sql.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/complex/indexed-views.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/complex/partitioned-tables-indexes.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/complex/super-complex-poorly-written-sql.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/delete/conditional-delete-case.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/delete/delete-basic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/delete/delete-cascade.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/delete/delete-rowlock-hint.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/delete/delete-using-subquery.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/delete/delete-using-table-variable.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/delete/delete-with-cte.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/delete/delete-with-join.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/delete/delete-with-output.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/delete/delete-with-top.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/insert/insert-basic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/insert/insert-default-values.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/insert/insert-identity-insert.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/insert/insert-merge.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/insert/insert-output.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/insert/insert-select-into.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/insert/insert-subquery-values.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/insert/insert-top-orderby.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/insert/insert-values-multiple-rows.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/insert/insert-with-select.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/insert/using-throw-error-handling.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/procedure/complex-stored-procedure-multiple-operations.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/procedure/complex-stored-procedure-multiple-statements.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/procedure/stored-procedure-comprehensive-logic-explanation.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/procedure/stored-procedure-conditional-logic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/procedure/stored-procedure-cursor-temp-table.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/procedure/stored-procedure-detailed-documentation.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/procedure/stored-procedure-dynamic-sql-error-handling.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/procedure/stored-procedure-dynamic-sql-execution.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/procedure/stored-procedure-executing-another.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/procedure/stored-procedure-temp-tables-transaction.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/procedure/stored-procedure-try-catch-error.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/procedure/stored-procedure-version-control.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/procedure/stored-procedure-with-params-and-execution.json.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/basic-select.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/data-compression-features.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/filetable-storage.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/pivot-unpivot-operations.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/select-choose.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/select-format.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/select-full-outer-join.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/select-identity.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/select-iif.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/select-join-aggregation.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/select-system-user.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/select-using-pivot.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/select-using-try-convert.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/select-with-cte.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/select-with-offset-fetch.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/select-with-string-agg.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/select-with-table-sample.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/select-with-window-function.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/service-broker.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/spatial-data-types-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/select/xml-data-types-queries.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/conditional-update-case.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-basic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-complex-where.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-from-aliases.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-join-top.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-rowlock-hint.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-using-quoted-identifiers.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-using-top.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-using-variable-store-value.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-with-boolean-logic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-with-case.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-with-cte.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-with-date-manipulation.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-with-join.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-with-named-variables.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-with-null-handling.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-with-numeric-calculation.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-with-output.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-with-string-concatenation.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mssql/update/update-with-subquery.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/complex/super-complex-poorly-written-sql.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/complex/super-complex-sql-multiple-joins.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/complex/super-complex-sql-nested-subqueries.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-basic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-cascade.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-cascading-triggers.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-conditional-logic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-foreign-key-constraints.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-free-disk-space.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-join-multiple-conditions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-lock-tables.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-multiple-tables.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-optimized-conditions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-order-by-limit.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-range-conditions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-regular-expressions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-safe-update-mode.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-subquery-optimization.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-truncate.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-using-subquery.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-with-join.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-with-limit.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/delete/delete-with-user-variables.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/batch-insert-multiple-rows.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-auto-increment.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-basic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-blob-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-enum-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-ignore.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-json-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-on-duplicate-key.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-select-union.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-spatial-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-using-last-insert-id.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-using-subquery.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-with-conditional-logic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-with-curdate-curtime.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-with-encryption-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-with-generated-columns.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-with-replace.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-with-set-syntax.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-with-spatial-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/insert/insert-with-timestamp.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/procedure/complex-procedure-error-handling.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/procedure/stored-procedure-basic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/procedure/stored-procedure-conditional-logic-loop.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/procedure/stored-procedure-cursor.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/procedure/stored-procedure-dynamic-sql.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/procedure/stored-procedure-error-handling.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/procedure/stored-procedure-input-output-parameters.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/procedure/stored-procedure-loop-control.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/procedure/stored-procedure-parameters.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/procedure/stored-procedure-transaction-management.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/bit-data-type.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/blob-text-data-types.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/decimal-data-type.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/enum-set-data-types.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/full-text-search-innodb.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-aggregate-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-basic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-case-statement.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-coalesce-function.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-conditional-case.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-date-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-distinct.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-full-text-search.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-geospatial-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-group-concat.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-join-aliases.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-join.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-json-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-limit-offset.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-lock-in-share-mode.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-natural-join.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-parameter-binding.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-regex.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-straight-join.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-string-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-subquery.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-user-defined-variables.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-variable-assignment.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/select-window-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/spatial-data-types-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/spatial-geometry-data-types.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/system-versioned-tables.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/using-temporary-tables.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/select/virtual-generated-columns.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/bulk-update-multiple-conditions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/conditional-update-case.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-basic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-case-aggregate-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-date-time-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-encryption-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-enum-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-json-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-json-modify.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-lock-tables.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-math-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-optimizing-conditions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-order-by-limit.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-regular-expressions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-spatial-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-string-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-user-defined-variables.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-using-variables.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-with-join.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/mysql/update/update-with-subquery.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/complex/bulk-operations.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/complex/complex-multi-table-delete.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/complex/complex-nested-subqueries.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/complex/complex-select-aggregates-joins.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/complex/extremely-complex-oracle-query.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/complex/extremely-complex-stored-procedure.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/complex/plsql-blocks.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/complex/super-complex-oracle-query.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/delete/conditional-delete-with-case.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/delete/delete-basic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/delete/delete-cascade.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/delete/delete-using-rowid.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/delete/delete-where-current-of.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/delete/delete-with-complex-subqueries.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/delete/delete-with-flashback-query.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/delete/delete-with-join-syntax.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/delete/delete-with-pseudocolumns.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/delete/delete-with-returning-clause.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/delete/delete-with-subquery.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/insert/insert-all-into-multiple-tables.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/insert/insert-all-multiple-conditions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/insert/insert-basic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/insert/insert-using-decode.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/insert/insert-with-column-ordering.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/insert/insert-with-returning-clause.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/insert/insert-with-select-union.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/insert/insert-with-sequence.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/insert/insert-with-subquery.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/insert/multitable-insert-conditional.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/procedure/create-procedure-in-out-params.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/procedure/create-procedure-with-cursors.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/procedure/create-procedure-with-exception-handling.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/procedure/create-simple-stored-procedure.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/procedure/error-handling-exception.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/procedure/invoke-stored-procedure-with-exec.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/procedure/invoke-stored-procedure.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/procedure/packages.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/procedure/pipelined-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/procedure/stored-procedures-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/procedure/triggers.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/complex-join-operations.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/full-hint.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/hierarchical-queries.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/index-hint.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/large-objects-lobs.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/multiple-hints.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/optimizer-mode-hint.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/oracle-text.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/quoted-identifiers-case-sensitive.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/quoted-identifiers-special-characters.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/recursive-cte.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/select-basic-conditions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/select-hierarchical-query.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/select-using-oracle-text.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/select-using-with-clause.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/select-with-flashback-query.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/select-with-model-clause.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/select-with-multi-line-comments.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/select-with-oracle-specific-joins.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/select-with-partition-by.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/select-with-pseudocolumns.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/select-with-rollup-function.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/select-with-sample-clause.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/select-with-single-line-comments.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/select-with-skip-locked.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/use-nl-hint.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/select/window-functions-analytics.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/update/conditional-update-with-case.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/update/conditional-update-with-decode.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/update/dynamic-plsql.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/update/update-basic.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/update/update-oracle-specific-syntax.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/update/update-using-correlated-subquery.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/update/update-using-join-syntax.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/update/update-with-correlated-subquery.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/update/update-with-join.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/update/update-with-returning-clause.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/update/update-with-subquery-in-set.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/oracle/update/update-with-subquery.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/complex/delete-complex-subqueries-joins.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/complex/insert-complex-select-joins.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/complex/select-complex-aggregates-subqueries.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/complex/select-complex-joins-window-functions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/complex/select-nested-subqueries-aggregates-limits.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/complex/update-complex-subquery-conditional.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/delete/delete-all-rows.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/delete/delete-returning.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/delete/delete-simple.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/delete/delete-using-join.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/delete/delete-with-cte.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/delete/delete-with-subquery.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/function/create-function-that-raises-notice.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/function/create-function-with-dynamic-query.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/function/create-function-with-parameters.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/function/create-function-with-table-return.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/function/create-simple-plpgsql-function.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/function/invoke-function-positional-parameters.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/function/invoke-function-returning-table.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/function/invoke-function-that-raises-notice.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/function/invoke-function-with-dynamic-query.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/function/invoke-function-with-parameter.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/function/invoke-simple-function.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-array-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-json-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-multiple-rows.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-positional-parameters.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-returning-positional-parameter.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-simple-row.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-with-conflict-do-nothing.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-with-conflict-update.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-with-default.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-with-enum-type.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-with-geometric-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-with-hstore-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-with-range-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-with-returning.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-with-select.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/insert/insert-with-subquery-and-alias.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/aggregate-functions-count.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/basic_select_with_alias.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/case-statements.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/common-table-expressions-cte.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/cross-joins.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/distinct-on-expressions.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/fetch-first-clause.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/for-update-of.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/full-outer-joins.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/group-by-having.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/json-field-access.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/jsonb-array-elements-text.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/jsonb-array-length.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/jsonb-contained-in-path.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/jsonb-contains-key.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/jsonb-contains-object-at-top-level.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/jsonb-delete-array-element.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/jsonb-delete-key.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/jsonb-delete-path.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/jsonb-extract-path-text.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/jsonb-extract-path.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/jsonb-pretty-print.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/jsonb-set-new-value.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/lateral-joins.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/limit-and-offset.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/natural-joins.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/quoted-identifiers-case-sensitive.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/quoted-identifiers-special-characters.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/select-in-clause-positional-parameters.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/select-multiple-conditions-positional-parameters.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/select-with-positional-parameter.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/self-joins.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/subquery-in-from.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/subquery-in-select.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/subquery-in-where.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/select/tablesample-bernoulli.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/update/update-array-append.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/update/update-increment-numeric.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/update/update-json-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/update/update-multiple-fields-positional-parameters.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/update/update-positional-parameters.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/update/update-returning.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/update/update-set-multiple-columns.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/update/update-set-single-column.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/update/update-using-join.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/update/update-with-case.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/update/update-with-cte.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/postgresql/update/update-with-subquery.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/snowflake/test-cases/data-clone.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/snowflake/test-cases/external-data.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/snowflake/test-cases/listagg.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/snowflake/test-cases/materialized-view.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/snowflake/test-cases/semi-structured-data-types.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/snowflake/test-cases/stream.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/snowflake/test-cases/task.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/snowflake/test-cases/time-travel.json delete mode 100644 vendor/github.com/DataDog/go-sqllexer/testdata/snowflake/test-cases/warehouse-controls.json create mode 100644 vendor/github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes/LICENSE create mode 100644 vendor/github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes/attributes.go create mode 100644 vendor/github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes/azure/azure.go create mode 100644 vendor/github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes/ec2/ec2.go create mode 100644 vendor/github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes/gcp/gcp.go create mode 100644 vendor/github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes/process.go create mode 100644 vendor/github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes/source.go create mode 100644 vendor/github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes/source/source_provider.go rename vendor/{go.opencensus.io/trace/trace_go11.go => github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes/system.go} (52%) create mode 100644 vendor/github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes/translator.go create mode 100644 vendor/github.com/cihub/seelog/LICENSE.txt create mode 100644 vendor/github.com/cihub/seelog/README.markdown create mode 100644 vendor/github.com/cihub/seelog/archive/archive.go create mode 100644 vendor/github.com/cihub/seelog/archive/gzip/gzip.go create mode 100644 vendor/github.com/cihub/seelog/archive/tar/tar.go create mode 100644 vendor/github.com/cihub/seelog/archive/zip/zip.go create mode 100644 vendor/github.com/cihub/seelog/behavior_adaptivelogger.go create mode 100644 vendor/github.com/cihub/seelog/behavior_asynclogger.go create mode 100644 vendor/github.com/cihub/seelog/behavior_asynclooplogger.go create mode 100644 vendor/github.com/cihub/seelog/behavior_asynctimerlogger.go create mode 100644 vendor/github.com/cihub/seelog/behavior_synclogger.go create mode 100644 vendor/github.com/cihub/seelog/cfg_config.go create mode 100644 vendor/github.com/cihub/seelog/cfg_errors.go create mode 100644 vendor/github.com/cihub/seelog/cfg_logconfig.go create mode 100644 vendor/github.com/cihub/seelog/cfg_parser.go create mode 100644 vendor/github.com/cihub/seelog/common_closer.go create mode 100644 vendor/github.com/cihub/seelog/common_constraints.go create mode 100644 vendor/github.com/cihub/seelog/common_context.go create mode 100644 vendor/github.com/cihub/seelog/common_exception.go create mode 100644 vendor/github.com/cihub/seelog/common_flusher.go create mode 100644 vendor/github.com/cihub/seelog/common_loglevel.go create mode 100644 vendor/github.com/cihub/seelog/dispatch_custom.go create mode 100644 vendor/github.com/cihub/seelog/dispatch_dispatcher.go create mode 100644 vendor/github.com/cihub/seelog/dispatch_filterdispatcher.go create mode 100644 vendor/github.com/cihub/seelog/dispatch_splitdispatcher.go create mode 100644 vendor/github.com/cihub/seelog/doc.go create mode 100644 vendor/github.com/cihub/seelog/format.go create mode 100644 vendor/github.com/cihub/seelog/internals_baseerror.go create mode 100644 vendor/github.com/cihub/seelog/internals_fsutils.go create mode 100644 vendor/github.com/cihub/seelog/internals_xmlnode.go create mode 100644 vendor/github.com/cihub/seelog/log.go create mode 100644 vendor/github.com/cihub/seelog/logger.go create mode 100644 vendor/github.com/cihub/seelog/writers_bufferedwriter.go create mode 100644 vendor/github.com/cihub/seelog/writers_connwriter.go create mode 100644 vendor/github.com/cihub/seelog/writers_consolewriter.go create mode 100644 vendor/github.com/cihub/seelog/writers_filewriter.go create mode 100644 vendor/github.com/cihub/seelog/writers_formattedwriter.go create mode 100644 vendor/github.com/cihub/seelog/writers_rollingfilewriter.go create mode 100644 vendor/github.com/cihub/seelog/writers_smtpwriter.go create mode 100644 vendor/github.com/go-ole/go-ole/.travis.yml create mode 100644 vendor/github.com/go-ole/go-ole/ChangeLog.md create mode 100644 vendor/github.com/go-ole/go-ole/LICENSE create mode 100644 vendor/github.com/go-ole/go-ole/README.md create mode 100644 vendor/github.com/go-ole/go-ole/appveyor.yml create mode 100644 vendor/github.com/go-ole/go-ole/com.go create mode 100644 vendor/github.com/go-ole/go-ole/com_func.go create mode 100644 vendor/github.com/go-ole/go-ole/connect.go create mode 100644 vendor/github.com/go-ole/go-ole/constants.go create mode 100644 vendor/github.com/go-ole/go-ole/error.go create mode 100644 vendor/github.com/go-ole/go-ole/error_func.go create mode 100644 vendor/github.com/go-ole/go-ole/error_windows.go create mode 100644 vendor/github.com/go-ole/go-ole/guid.go create mode 100644 vendor/github.com/go-ole/go-ole/iconnectionpoint.go create mode 100644 vendor/github.com/go-ole/go-ole/iconnectionpoint_func.go create mode 100644 vendor/github.com/go-ole/go-ole/iconnectionpoint_windows.go create mode 100644 vendor/github.com/go-ole/go-ole/iconnectionpointcontainer.go create mode 100644 vendor/github.com/go-ole/go-ole/iconnectionpointcontainer_func.go create mode 100644 vendor/github.com/go-ole/go-ole/iconnectionpointcontainer_windows.go create mode 100644 vendor/github.com/go-ole/go-ole/idispatch.go create mode 100644 vendor/github.com/go-ole/go-ole/idispatch_func.go create mode 100644 vendor/github.com/go-ole/go-ole/idispatch_windows.go create mode 100644 vendor/github.com/go-ole/go-ole/ienumvariant.go create mode 100644 vendor/github.com/go-ole/go-ole/ienumvariant_func.go create mode 100644 vendor/github.com/go-ole/go-ole/ienumvariant_windows.go create mode 100644 vendor/github.com/go-ole/go-ole/iinspectable.go create mode 100644 vendor/github.com/go-ole/go-ole/iinspectable_func.go create mode 100644 vendor/github.com/go-ole/go-ole/iinspectable_windows.go create mode 100644 vendor/github.com/go-ole/go-ole/iprovideclassinfo.go create mode 100644 vendor/github.com/go-ole/go-ole/iprovideclassinfo_func.go create mode 100644 vendor/github.com/go-ole/go-ole/iprovideclassinfo_windows.go create mode 100644 vendor/github.com/go-ole/go-ole/itypeinfo.go create mode 100644 vendor/github.com/go-ole/go-ole/itypeinfo_func.go create mode 100644 vendor/github.com/go-ole/go-ole/itypeinfo_windows.go create mode 100644 vendor/github.com/go-ole/go-ole/iunknown.go create mode 100644 vendor/github.com/go-ole/go-ole/iunknown_func.go create mode 100644 vendor/github.com/go-ole/go-ole/iunknown_windows.go create mode 100644 vendor/github.com/go-ole/go-ole/ole.go create mode 100644 vendor/github.com/go-ole/go-ole/oleutil/connection.go create mode 100644 vendor/github.com/go-ole/go-ole/oleutil/connection_func.go create mode 100644 vendor/github.com/go-ole/go-ole/oleutil/connection_windows.go create mode 100644 vendor/github.com/go-ole/go-ole/oleutil/go-get.go create mode 100644 vendor/github.com/go-ole/go-ole/oleutil/oleutil.go create mode 100644 vendor/github.com/go-ole/go-ole/safearray.go create mode 100644 vendor/github.com/go-ole/go-ole/safearray_func.go create mode 100644 vendor/github.com/go-ole/go-ole/safearray_windows.go create mode 100644 vendor/github.com/go-ole/go-ole/safearrayconversion.go create mode 100644 vendor/github.com/go-ole/go-ole/safearrayslices.go create mode 100644 vendor/github.com/go-ole/go-ole/utility.go create mode 100644 vendor/github.com/go-ole/go-ole/variables.go create mode 100644 vendor/github.com/go-ole/go-ole/variant.go create mode 100644 vendor/github.com/go-ole/go-ole/variant_386.go create mode 100644 vendor/github.com/go-ole/go-ole/variant_amd64.go create mode 100644 vendor/github.com/go-ole/go-ole/variant_arm.go create mode 100644 vendor/github.com/go-ole/go-ole/variant_arm64.go create mode 100644 vendor/github.com/go-ole/go-ole/variant_date_386.go create mode 100644 vendor/github.com/go-ole/go-ole/variant_date_amd64.go create mode 100644 vendor/github.com/go-ole/go-ole/variant_date_arm.go create mode 100644 vendor/github.com/go-ole/go-ole/variant_date_arm64.go create mode 100644 vendor/github.com/go-ole/go-ole/variant_ppc64le.go create mode 100644 vendor/github.com/go-ole/go-ole/variant_s390x.go create mode 100644 vendor/github.com/go-ole/go-ole/vt_string.go create mode 100644 vendor/github.com/go-ole/go-ole/winrt.go create mode 100644 vendor/github.com/go-ole/go-ole/winrt_doc.go create mode 100644 vendor/github.com/gogo/protobuf/AUTHORS create mode 100644 vendor/github.com/gogo/protobuf/CONTRIBUTORS create mode 100644 vendor/github.com/gogo/protobuf/LICENSE create mode 100644 vendor/github.com/gogo/protobuf/gogoproto/Makefile create mode 100644 vendor/github.com/gogo/protobuf/gogoproto/doc.go create mode 100644 vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go create mode 100644 vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.golden create mode 100644 vendor/github.com/gogo/protobuf/gogoproto/gogo.proto create mode 100644 vendor/github.com/gogo/protobuf/gogoproto/helper.go create mode 100644 vendor/github.com/gogo/protobuf/jsonpb/jsonpb.go create mode 100644 vendor/github.com/gogo/protobuf/proto/Makefile create mode 100644 vendor/github.com/gogo/protobuf/proto/clone.go create mode 100644 vendor/github.com/gogo/protobuf/proto/custom_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/proto/decode.go create mode 100644 vendor/github.com/gogo/protobuf/proto/deprecated.go create mode 100644 vendor/github.com/gogo/protobuf/proto/discard.go create mode 100644 vendor/github.com/gogo/protobuf/proto/duration.go create mode 100644 vendor/github.com/gogo/protobuf/proto/duration_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/proto/encode.go create mode 100644 vendor/github.com/gogo/protobuf/proto/encode_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/proto/equal.go create mode 100644 vendor/github.com/gogo/protobuf/proto/extensions.go create mode 100644 vendor/github.com/gogo/protobuf/proto/extensions_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/proto/lib.go create mode 100644 vendor/github.com/gogo/protobuf/proto/lib_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/proto/message_set.go create mode 100644 vendor/github.com/gogo/protobuf/proto/pointer_reflect.go create mode 100644 vendor/github.com/gogo/protobuf/proto/pointer_reflect_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/proto/pointer_unsafe.go create mode 100644 vendor/github.com/gogo/protobuf/proto/pointer_unsafe_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/proto/properties.go create mode 100644 vendor/github.com/gogo/protobuf/proto/properties_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/proto/skip_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/proto/table_marshal.go create mode 100644 vendor/github.com/gogo/protobuf/proto/table_marshal_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/proto/table_merge.go create mode 100644 vendor/github.com/gogo/protobuf/proto/table_unmarshal.go create mode 100644 vendor/github.com/gogo/protobuf/proto/table_unmarshal_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/proto/text.go create mode 100644 vendor/github.com/gogo/protobuf/proto/text_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/proto/text_parser.go create mode 100644 vendor/github.com/gogo/protobuf/proto/timestamp.go create mode 100644 vendor/github.com/gogo/protobuf/proto/timestamp_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/proto/wrappers.go create mode 100644 vendor/github.com/gogo/protobuf/proto/wrappers_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/Makefile create mode 100644 vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.go create mode 100644 vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go create mode 100644 vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go create mode 100644 vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/helper.go create mode 100644 vendor/github.com/gogo/protobuf/sortkeys/sortkeys.go create mode 100644 vendor/github.com/gogo/protobuf/types/any.go create mode 100644 vendor/github.com/gogo/protobuf/types/any.pb.go create mode 100644 vendor/github.com/gogo/protobuf/types/api.pb.go create mode 100644 vendor/github.com/gogo/protobuf/types/doc.go create mode 100644 vendor/github.com/gogo/protobuf/types/duration.go create mode 100644 vendor/github.com/gogo/protobuf/types/duration.pb.go create mode 100644 vendor/github.com/gogo/protobuf/types/duration_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/types/empty.pb.go create mode 100644 vendor/github.com/gogo/protobuf/types/field_mask.pb.go create mode 100644 vendor/github.com/gogo/protobuf/types/protosize.go create mode 100644 vendor/github.com/gogo/protobuf/types/source_context.pb.go create mode 100644 vendor/github.com/gogo/protobuf/types/struct.pb.go create mode 100644 vendor/github.com/gogo/protobuf/types/timestamp.go create mode 100644 vendor/github.com/gogo/protobuf/types/timestamp.pb.go create mode 100644 vendor/github.com/gogo/protobuf/types/timestamp_gogo.go create mode 100644 vendor/github.com/gogo/protobuf/types/type.pb.go create mode 100644 vendor/github.com/gogo/protobuf/types/wrappers.pb.go create mode 100644 vendor/github.com/gogo/protobuf/types/wrappers_gogo.go delete mode 100644 vendor/github.com/golang/groupcache/lru/lru.go create mode 100644 vendor/github.com/golang/protobuf/AUTHORS create mode 100644 vendor/github.com/golang/protobuf/CONTRIBUTORS create mode 100644 vendor/github.com/golang/protobuf/LICENSE create mode 100644 vendor/github.com/golang/protobuf/proto/buffer.go create mode 100644 vendor/github.com/golang/protobuf/proto/defaults.go create mode 100644 vendor/github.com/golang/protobuf/proto/deprecated.go create mode 100644 vendor/github.com/golang/protobuf/proto/discard.go create mode 100644 vendor/github.com/golang/protobuf/proto/extensions.go create mode 100644 vendor/github.com/golang/protobuf/proto/properties.go create mode 100644 vendor/github.com/golang/protobuf/proto/proto.go create mode 100644 vendor/github.com/golang/protobuf/proto/registry.go create mode 100644 vendor/github.com/golang/protobuf/proto/text_decode.go create mode 100644 vendor/github.com/golang/protobuf/proto/text_encode.go create mode 100644 vendor/github.com/golang/protobuf/proto/wire.go create mode 100644 vendor/github.com/golang/protobuf/proto/wrappers.go delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/certverifier/testdata/client_intermediate_cert.der delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/certverifier/testdata/client_leaf_cert.der delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/certverifier/testdata/client_root_cert.der delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/certverifier/testdata/server_intermediate_cert.der delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/certverifier/testdata/server_leaf_cert.der delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/certverifier/testdata/server_root_cert.der delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/remotesigner/testdata/client_cert.der delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/remotesigner/testdata/client_cert.pem delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/remotesigner/testdata/client_key.pem delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/remotesigner/testdata/server_cert.der delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/remotesigner/testdata/server_cert.pem delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/remotesigner/testdata/server_key.pem delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/testdata/client_cert.pem delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/testdata/client_key.pem delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/testdata/server_cert.pem delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/testdata/server_key.pem delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/tlsconfigstore/testdata/client_cert.pem delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/tlsconfigstore/testdata/client_key.pem delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/tlsconfigstore/testdata/server_cert.pem delete mode 100644 vendor/github.com/google/s2a-go/internal/v2/tlsconfigstore/testdata/server_key.pem delete mode 100644 vendor/github.com/google/s2a-go/testdata/client_cert.pem delete mode 100644 vendor/github.com/google/s2a-go/testdata/client_key.pem delete mode 100644 vendor/github.com/google/s2a-go/testdata/mds_client_cert.pem delete mode 100644 vendor/github.com/google/s2a-go/testdata/mds_client_key.pem delete mode 100644 vendor/github.com/google/s2a-go/testdata/mds_root_cert.pem delete mode 100644 vendor/github.com/google/s2a-go/testdata/mds_server_cert.pem delete mode 100644 vendor/github.com/google/s2a-go/testdata/mds_server_key.pem delete mode 100644 vendor/github.com/google/s2a-go/testdata/self_signed_cert.pem delete mode 100644 vendor/github.com/google/s2a-go/testdata/self_signed_key.pem delete mode 100644 vendor/github.com/google/s2a-go/testdata/server_cert.pem delete mode 100644 vendor/github.com/google/s2a-go/testdata/server_key.pem create mode 100644 vendor/github.com/googleapis/gax-go/v2/internallog/internal/internal.go create mode 100644 vendor/github.com/googleapis/gax-go/v2/internallog/internallog.go create mode 100644 vendor/github.com/googleapis/gax-go/v2/iterator/iterator.go create mode 100644 vendor/github.com/json-iterator/go/.codecov.yml create mode 100644 vendor/github.com/json-iterator/go/.gitignore create mode 100644 vendor/github.com/json-iterator/go/.travis.yml create mode 100644 vendor/github.com/json-iterator/go/Gopkg.lock create mode 100644 vendor/github.com/json-iterator/go/Gopkg.toml create mode 100644 vendor/github.com/json-iterator/go/LICENSE create mode 100644 vendor/github.com/json-iterator/go/README.md create mode 100644 vendor/github.com/json-iterator/go/adapter.go create mode 100644 vendor/github.com/json-iterator/go/any.go create mode 100644 vendor/github.com/json-iterator/go/any_array.go create mode 100644 vendor/github.com/json-iterator/go/any_bool.go create mode 100644 vendor/github.com/json-iterator/go/any_float.go create mode 100644 vendor/github.com/json-iterator/go/any_int32.go create mode 100644 vendor/github.com/json-iterator/go/any_int64.go create mode 100644 vendor/github.com/json-iterator/go/any_invalid.go create mode 100644 vendor/github.com/json-iterator/go/any_nil.go create mode 100644 vendor/github.com/json-iterator/go/any_number.go create mode 100644 vendor/github.com/json-iterator/go/any_object.go create mode 100644 vendor/github.com/json-iterator/go/any_str.go create mode 100644 vendor/github.com/json-iterator/go/any_uint32.go create mode 100644 vendor/github.com/json-iterator/go/any_uint64.go create mode 100644 vendor/github.com/json-iterator/go/build.sh create mode 100644 vendor/github.com/json-iterator/go/config.go create mode 100644 vendor/github.com/json-iterator/go/fuzzy_mode_convert_table.md create mode 100644 vendor/github.com/json-iterator/go/iter.go create mode 100644 vendor/github.com/json-iterator/go/iter_array.go create mode 100644 vendor/github.com/json-iterator/go/iter_float.go create mode 100644 vendor/github.com/json-iterator/go/iter_int.go create mode 100644 vendor/github.com/json-iterator/go/iter_object.go create mode 100644 vendor/github.com/json-iterator/go/iter_skip.go create mode 100644 vendor/github.com/json-iterator/go/iter_skip_sloppy.go create mode 100644 vendor/github.com/json-iterator/go/iter_skip_strict.go create mode 100644 vendor/github.com/json-iterator/go/iter_str.go create mode 100644 vendor/github.com/json-iterator/go/jsoniter.go create mode 100644 vendor/github.com/json-iterator/go/pool.go create mode 100644 vendor/github.com/json-iterator/go/reflect.go create mode 100644 vendor/github.com/json-iterator/go/reflect_array.go create mode 100644 vendor/github.com/json-iterator/go/reflect_dynamic.go create mode 100644 vendor/github.com/json-iterator/go/reflect_extension.go create mode 100644 vendor/github.com/json-iterator/go/reflect_json_number.go create mode 100644 vendor/github.com/json-iterator/go/reflect_json_raw_message.go create mode 100644 vendor/github.com/json-iterator/go/reflect_map.go create mode 100644 vendor/github.com/json-iterator/go/reflect_marshaler.go create mode 100644 vendor/github.com/json-iterator/go/reflect_native.go create mode 100644 vendor/github.com/json-iterator/go/reflect_optional.go create mode 100644 vendor/github.com/json-iterator/go/reflect_slice.go create mode 100644 vendor/github.com/json-iterator/go/reflect_struct_decoder.go create mode 100644 vendor/github.com/json-iterator/go/reflect_struct_encoder.go create mode 100644 vendor/github.com/json-iterator/go/stream.go create mode 100644 vendor/github.com/json-iterator/go/stream_float.go create mode 100644 vendor/github.com/json-iterator/go/stream_int.go create mode 100644 vendor/github.com/json-iterator/go/stream_str.go create mode 100644 vendor/github.com/json-iterator/go/test.sh create mode 100644 vendor/github.com/lufia/plan9stats/.gitignore create mode 100644 vendor/github.com/lufia/plan9stats/LICENSE create mode 100644 vendor/github.com/lufia/plan9stats/README.md create mode 100644 vendor/github.com/lufia/plan9stats/cpu.go create mode 100644 vendor/github.com/lufia/plan9stats/disk.go create mode 100644 vendor/github.com/lufia/plan9stats/doc.go create mode 100644 vendor/github.com/lufia/plan9stats/host.go create mode 100644 vendor/github.com/lufia/plan9stats/int.go create mode 100644 vendor/github.com/lufia/plan9stats/opts.go create mode 100644 vendor/github.com/lufia/plan9stats/stats.go create mode 100644 vendor/github.com/modern-go/concurrent/.gitignore create mode 100644 vendor/github.com/modern-go/concurrent/.travis.yml create mode 100644 vendor/github.com/modern-go/concurrent/LICENSE create mode 100644 vendor/github.com/modern-go/concurrent/README.md create mode 100644 vendor/github.com/modern-go/concurrent/executor.go create mode 100644 vendor/github.com/modern-go/concurrent/go_above_19.go create mode 100644 vendor/github.com/modern-go/concurrent/go_below_19.go create mode 100644 vendor/github.com/modern-go/concurrent/log.go create mode 100644 vendor/github.com/modern-go/concurrent/test.sh create mode 100644 vendor/github.com/modern-go/concurrent/unbounded_executor.go create mode 100644 vendor/github.com/modern-go/reflect2/.gitignore create mode 100644 vendor/github.com/modern-go/reflect2/.travis.yml create mode 100644 vendor/github.com/modern-go/reflect2/Gopkg.lock create mode 100644 vendor/github.com/modern-go/reflect2/Gopkg.toml create mode 100644 vendor/github.com/modern-go/reflect2/LICENSE create mode 100644 vendor/github.com/modern-go/reflect2/README.md create mode 100644 vendor/github.com/modern-go/reflect2/go_above_118.go create mode 100644 vendor/github.com/modern-go/reflect2/go_above_19.go create mode 100644 vendor/github.com/modern-go/reflect2/go_below_118.go create mode 100644 vendor/github.com/modern-go/reflect2/reflect2.go create mode 100644 vendor/github.com/modern-go/reflect2/reflect2_amd64.s create mode 100644 vendor/github.com/modern-go/reflect2/reflect2_kind.go create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_386.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_amd64p32.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_arm.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_arm64.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_mips64x.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_mipsx.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_ppc64x.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_s390x.s create mode 100644 vendor/github.com/modern-go/reflect2/safe_field.go create mode 100644 vendor/github.com/modern-go/reflect2/safe_map.go create mode 100644 vendor/github.com/modern-go/reflect2/safe_slice.go create mode 100644 vendor/github.com/modern-go/reflect2/safe_struct.go create mode 100644 vendor/github.com/modern-go/reflect2/safe_type.go create mode 100644 vendor/github.com/modern-go/reflect2/type_map.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_array.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_eface.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_field.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_iface.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_link.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_map.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_ptr.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_slice.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_struct.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_type.go create mode 100644 vendor/github.com/power-devops/perfstat/LICENSE create mode 100644 vendor/github.com/power-devops/perfstat/c_helpers.c create mode 100644 vendor/github.com/power-devops/perfstat/c_helpers.h create mode 100644 vendor/github.com/power-devops/perfstat/config.go create mode 100644 vendor/github.com/power-devops/perfstat/cpustat.go create mode 100644 vendor/github.com/power-devops/perfstat/diskstat.go create mode 100644 vendor/github.com/power-devops/perfstat/doc.go create mode 100644 vendor/github.com/power-devops/perfstat/fsstat.go create mode 100644 vendor/github.com/power-devops/perfstat/helpers.go create mode 100644 vendor/github.com/power-devops/perfstat/lparstat.go create mode 100644 vendor/github.com/power-devops/perfstat/lvmstat.go create mode 100644 vendor/github.com/power-devops/perfstat/memstat.go create mode 100644 vendor/github.com/power-devops/perfstat/netstat.go create mode 100644 vendor/github.com/power-devops/perfstat/procstat.go create mode 100644 vendor/github.com/power-devops/perfstat/sysconf.go create mode 100644 vendor/github.com/power-devops/perfstat/systemcfg.go create mode 100644 vendor/github.com/power-devops/perfstat/types_cpu.go create mode 100644 vendor/github.com/power-devops/perfstat/types_disk.go create mode 100644 vendor/github.com/power-devops/perfstat/types_fs.go create mode 100644 vendor/github.com/power-devops/perfstat/types_lpar.go create mode 100644 vendor/github.com/power-devops/perfstat/types_lvm.go create mode 100644 vendor/github.com/power-devops/perfstat/types_memory.go create mode 100644 vendor/github.com/power-devops/perfstat/types_network.go create mode 100644 vendor/github.com/power-devops/perfstat/types_process.go create mode 100644 vendor/github.com/power-devops/perfstat/uptime.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/LICENSE create mode 100644 vendor/github.com/shirou/gopsutil/v3/common/env.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_aix.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_aix_cgo.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_aix_nocgo.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_darwin.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_darwin_cgo.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_darwin_nocgo.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_dragonfly.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_dragonfly_amd64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_fallback.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_386.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_amd64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_arm.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_arm64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_linux.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_netbsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_netbsd_amd64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_netbsd_arm64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_386.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_amd64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_arm.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_arm64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_riscv64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_plan9.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_solaris.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/cpu/cpu_windows.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/internal/common/binary.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/internal/common/common.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/internal/common/common_darwin.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/internal/common/common_freebsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/internal/common/common_linux.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/internal/common/common_netbsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/internal/common/common_openbsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/internal/common/common_unix.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/internal/common/common_windows.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/internal/common/endian.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/internal/common/sleep.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/internal/common/warnings.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_aix.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_aix_cgo.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_aix_nocgo.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_bsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_darwin.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_darwin_cgo.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_darwin_nocgo.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_fallback.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_freebsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_linux.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_netbsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_386.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_amd64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_arm.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_arm64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_riscv64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_plan9.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_solaris.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/mem/mem_windows.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/net/net.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/net/net_aix.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/net/net_aix_cgo.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/net/net_aix_nocgo.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/net/net_darwin.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/net/net_fallback.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/net/net_freebsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/net/net_linux.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/net/net_linux_111.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/net/net_linux_116.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/net/net_openbsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/net/net_solaris.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/net/net_unix.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/net/net_windows.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_bsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_darwin.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_darwin_amd64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_darwin_arm64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_darwin_cgo.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_darwin_nocgo.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_fallback.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_freebsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_386.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_amd64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_arm.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_arm64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_linux.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_openbsd.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_386.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_amd64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_arm.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_arm64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_riscv64.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_plan9.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_posix.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_solaris.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_windows.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_windows_32bit.go create mode 100644 vendor/github.com/shirou/gopsutil/v3/process/process_windows_64bit.go create mode 100644 vendor/github.com/shoenig/go-m1cpu/.golangci.yaml create mode 100644 vendor/github.com/shoenig/go-m1cpu/LICENSE create mode 100644 vendor/github.com/shoenig/go-m1cpu/Makefile create mode 100644 vendor/github.com/shoenig/go-m1cpu/README.md create mode 100644 vendor/github.com/shoenig/go-m1cpu/cpu.go create mode 100644 vendor/github.com/shoenig/go-m1cpu/incompatible.go create mode 100644 vendor/github.com/stretchr/testify/assert/yaml/yaml_custom.go create mode 100644 vendor/github.com/stretchr/testify/assert/yaml/yaml_default.go create mode 100644 vendor/github.com/stretchr/testify/assert/yaml/yaml_fail.go create mode 100644 vendor/github.com/tklauser/go-sysconf/.cirrus.yml create mode 100644 vendor/github.com/tklauser/go-sysconf/.gitignore create mode 100644 vendor/github.com/tklauser/go-sysconf/LICENSE create mode 100644 vendor/github.com/tklauser/go-sysconf/README.md create mode 100644 vendor/github.com/tklauser/go-sysconf/sysconf.go create mode 100644 vendor/github.com/tklauser/go-sysconf/sysconf_bsd.go create mode 100644 vendor/github.com/tklauser/go-sysconf/sysconf_darwin.go create mode 100644 vendor/github.com/tklauser/go-sysconf/sysconf_dragonfly.go create mode 100644 vendor/github.com/tklauser/go-sysconf/sysconf_freebsd.go create mode 100644 vendor/github.com/tklauser/go-sysconf/sysconf_generic.go create mode 100644 vendor/github.com/tklauser/go-sysconf/sysconf_linux.go create mode 100644 vendor/github.com/tklauser/go-sysconf/sysconf_netbsd.go create mode 100644 vendor/github.com/tklauser/go-sysconf/sysconf_openbsd.go create mode 100644 vendor/github.com/tklauser/go-sysconf/sysconf_posix.go create mode 100644 vendor/github.com/tklauser/go-sysconf/sysconf_solaris.go create mode 100644 vendor/github.com/tklauser/go-sysconf/sysconf_unsupported.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_defs_darwin.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_defs_dragonfly.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_defs_freebsd.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_defs_linux.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_defs_netbsd.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_defs_openbsd.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_defs_solaris.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_freebsd_386.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_freebsd_amd64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_freebsd_arm.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_freebsd_arm64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_freebsd_riscv64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_386.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_amd64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_arm.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_arm64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_loong64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips64le.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mipsle.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_ppc64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_ppc64le.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_s390x.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_386.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_amd64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_arm.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_arm64.go create mode 100644 vendor/github.com/tklauser/numcpus/.cirrus.yml create mode 100644 vendor/github.com/tklauser/numcpus/LICENSE create mode 100644 vendor/github.com/tklauser/numcpus/README.md create mode 100644 vendor/github.com/tklauser/numcpus/numcpus.go create mode 100644 vendor/github.com/tklauser/numcpus/numcpus_bsd.go create mode 100644 vendor/github.com/tklauser/numcpus/numcpus_linux.go create mode 100644 vendor/github.com/tklauser/numcpus/numcpus_solaris.go create mode 100644 vendor/github.com/tklauser/numcpus/numcpus_unsupported.go create mode 100644 vendor/github.com/tklauser/numcpus/numcpus_windows.go create mode 100644 vendor/github.com/xanzy/go-gitlab/dependency_list_export.go create mode 100644 vendor/github.com/xanzy/go-gitlab/project_markdown_uploads.go create mode 100644 vendor/github.com/yusufpapurcu/wmi/LICENSE create mode 100644 vendor/github.com/yusufpapurcu/wmi/README.md create mode 100644 vendor/github.com/yusufpapurcu/wmi/swbemservices.go create mode 100644 vendor/github.com/yusufpapurcu/wmi/wmi.go delete mode 100644 vendor/go.opencensus.io/.gitignore delete mode 100644 vendor/go.opencensus.io/CONTRIBUTING.md delete mode 100644 vendor/go.opencensus.io/Makefile delete mode 100644 vendor/go.opencensus.io/README.md delete mode 100644 vendor/go.opencensus.io/appveyor.yml delete mode 100644 vendor/go.opencensus.io/internal/internal.go delete mode 100644 vendor/go.opencensus.io/internal/sanitize.go delete mode 100644 vendor/go.opencensus.io/internal/traceinternals.go delete mode 100644 vendor/go.opencensus.io/opencensus.go delete mode 100644 vendor/go.opencensus.io/plugin/ocgrpc/client.go delete mode 100644 vendor/go.opencensus.io/plugin/ocgrpc/client_metrics.go delete mode 100644 vendor/go.opencensus.io/plugin/ocgrpc/client_stats_handler.go delete mode 100644 vendor/go.opencensus.io/plugin/ocgrpc/doc.go delete mode 100644 vendor/go.opencensus.io/plugin/ocgrpc/server.go delete mode 100644 vendor/go.opencensus.io/plugin/ocgrpc/server_metrics.go delete mode 100644 vendor/go.opencensus.io/plugin/ocgrpc/server_stats_handler.go delete mode 100644 vendor/go.opencensus.io/plugin/ocgrpc/stats_common.go delete mode 100644 vendor/go.opencensus.io/plugin/ocgrpc/trace_common.go delete mode 100644 vendor/go.opencensus.io/plugin/ochttp/client.go delete mode 100644 vendor/go.opencensus.io/plugin/ochttp/client_stats.go delete mode 100644 vendor/go.opencensus.io/plugin/ochttp/doc.go delete mode 100644 vendor/go.opencensus.io/plugin/ochttp/propagation/b3/b3.go delete mode 100644 vendor/go.opencensus.io/plugin/ochttp/route.go delete mode 100644 vendor/go.opencensus.io/plugin/ochttp/server.go delete mode 100644 vendor/go.opencensus.io/plugin/ochttp/span_annotating_client_trace.go delete mode 100644 vendor/go.opencensus.io/plugin/ochttp/stats.go delete mode 100644 vendor/go.opencensus.io/plugin/ochttp/trace.go delete mode 100644 vendor/go.opencensus.io/plugin/ochttp/wrapped_body.go delete mode 100644 vendor/go.opencensus.io/trace/basetypes.go delete mode 100644 vendor/go.opencensus.io/trace/config.go delete mode 100644 vendor/go.opencensus.io/trace/doc.go delete mode 100644 vendor/go.opencensus.io/trace/evictedqueue.go delete mode 100644 vendor/go.opencensus.io/trace/export.go delete mode 100644 vendor/go.opencensus.io/trace/lrumap.go delete mode 100644 vendor/go.opencensus.io/trace/propagation/propagation.go delete mode 100644 vendor/go.opencensus.io/trace/sampling.go delete mode 100644 vendor/go.opencensus.io/trace/spanbucket.go delete mode 100644 vendor/go.opencensus.io/trace/spanstore.go delete mode 100644 vendor/go.opencensus.io/trace/status_codes.go delete mode 100644 vendor/go.opencensus.io/trace/trace.go delete mode 100644 vendor/go.opencensus.io/trace/trace_api.go delete mode 100644 vendor/go.opencensus.io/trace/tracestate/tracestate.go create mode 100644 vendor/go.opentelemetry.io/collector/component/LICENSE create mode 100644 vendor/go.opentelemetry.io/collector/component/Makefile create mode 100644 vendor/go.opentelemetry.io/collector/component/build_info.go create mode 100644 vendor/go.opentelemetry.io/collector/component/component.go create mode 100644 vendor/go.opentelemetry.io/collector/component/config.go create mode 100644 vendor/go.opentelemetry.io/collector/component/doc.go create mode 100644 vendor/go.opentelemetry.io/collector/component/host.go create mode 100644 vendor/go.opentelemetry.io/collector/component/identifiable.go create mode 100644 vendor/go.opentelemetry.io/collector/component/status.go create mode 100644 vendor/go.opentelemetry.io/collector/component/telemetry.go create mode 100644 vendor/go.opentelemetry.io/collector/config/configtelemetry/LICENSE create mode 100644 vendor/go.opentelemetry.io/collector/config/configtelemetry/Makefile create mode 100644 vendor/go.opentelemetry.io/collector/config/configtelemetry/configtelemetry.go create mode 100644 vendor/go.opentelemetry.io/collector/config/configtelemetry/doc.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/LICENSE create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/.gitignore create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/data/bytesid.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/data/protogen/collector/logs/v1/logs_service.pb.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/data/protogen/collector/metrics/v1/metrics_service.pb.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/data/protogen/collector/profiles/v1experimental/profiles_service.pb.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/data/protogen/collector/trace/v1/trace_service.pb.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/data/protogen/common/v1/common.pb.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/data/protogen/logs/v1/logs.pb.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/data/protogen/metrics/v1/metrics.pb.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/data/protogen/profiles/v1experimental/pprofextended.pb.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/data/protogen/profiles/v1experimental/profiles.pb.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/data/protogen/resource/v1/resource.pb.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/data/protogen/trace/v1/trace.pb.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/data/spanid.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/data/traceid.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_byteslice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_float64slice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_instrumentationscope.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_int64slice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_resource.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_stringslice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_uint64slice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/json/attribute.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/json/enum.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/json/json.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/json/number.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/json/resource.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/json/scope.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/otlp/logs.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/otlp/metrics.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/otlp/traces.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/state.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/wrapper_logs.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/wrapper_map.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/wrapper_metrics.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/wrapper_profiles.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/wrapper_slice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/wrapper_traces.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/wrapper_tracestate.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/wrapper_value.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/pcommon/generated_byteslice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/pcommon/generated_float64slice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/pcommon/generated_instrumentationscope.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/pcommon/generated_int64slice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/pcommon/generated_resource.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/pcommon/generated_stringslice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/pcommon/generated_uint64slice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/pcommon/map.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/pcommon/slice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/pcommon/spanid.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/pcommon/timestamp.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/pcommon/trace_state.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/pcommon/traceid.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/pcommon/value.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/encoding.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/generated_resourcespans.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/generated_resourcespansslice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/generated_scopespans.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/generated_scopespansslice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/generated_span.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/generated_spanevent.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/generated_spaneventslice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/generated_spanlink.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/generated_spanlinkslice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/generated_spanslice.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/generated_status.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/json.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/pb.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/span_kind.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/status_code.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/ptrace/traces.go create mode 100644 vendor/go.opentelemetry.io/collector/semconv/LICENSE create mode 100644 vendor/go.opentelemetry.io/collector/semconv/v1.17.0/generated_event.go create mode 100644 vendor/go.opentelemetry.io/collector/semconv/v1.17.0/generated_resource.go create mode 100644 vendor/go.opentelemetry.io/collector/semconv/v1.17.0/generated_trace.go create mode 100644 vendor/go.opentelemetry.io/collector/semconv/v1.17.0/schema.go create mode 100644 vendor/go.opentelemetry.io/collector/semconv/v1.6.1/generated_resource.go create mode 100644 vendor/go.opentelemetry.io/collector/semconv/v1.6.1/generated_trace.go create mode 100644 vendor/go.opentelemetry.io/collector/semconv/v1.6.1/nonstandard.go create mode 100644 vendor/go.opentelemetry.io/collector/semconv/v1.6.1/schema.go create mode 100644 vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/body_wrapper.go create mode 100644 vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/resp_writer_wrapper.go create mode 100644 vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/httpconv.go delete mode 100644 vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/wrap.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/provider.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/span.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/tracer.go create mode 100644 vendor/go.opentelemetry.io/otel/verify_released_changelog.sh rename vendor/golang.org/x/crypto/chacha20/{chacha_ppc64le.go => chacha_ppc64x.go} (89%) rename vendor/golang.org/x/crypto/chacha20/{chacha_ppc64le.s => chacha_ppc64x.s} (76%) rename vendor/golang.org/x/crypto/internal/poly1305/{sum_ppc64le.go => sum_ppc64x.go} (95%) rename vendor/golang.org/x/crypto/internal/poly1305/{sum_ppc64le.s => sum_ppc64x.s} (89%) create mode 100644 vendor/golang.org/x/net/http2/config.go create mode 100644 vendor/golang.org/x/net/http2/config_go124.go create mode 100644 vendor/golang.org/x/net/http2/config_pre_go124.go create mode 100644 vendor/golang.org/x/net/http2/unencrypted.go create mode 100644 vendor/golang.org/x/sys/cpu/asm_darwin_x86_gc.s create mode 100644 vendor/golang.org/x/sys/cpu/cpu_darwin_x86.go rename vendor/golang.org/x/sys/cpu/{cpu_x86.s => cpu_gc_x86.s} (94%) create mode 100644 vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_other_x86.go create mode 100644 vendor/golang.org/x/sys/cpu/syscall_darwin_x86_gc.go create mode 100644 vendor/golang.org/x/sys/unix/vgetrandom_linux.go create mode 100644 vendor/golang.org/x/sys/unix/vgetrandom_unsupported.go delete mode 100644 vendor/google.golang.org/api/transport/http/internal/propagation/http.go create mode 100644 vendor/google.golang.org/grpc/encoding/encoding_v2.go create mode 100644 vendor/google.golang.org/grpc/experimental/stats/metricregistry.go create mode 100644 vendor/google.golang.org/grpc/experimental/stats/metrics.go create mode 100644 vendor/google.golang.org/grpc/grpclog/internal/grpclog.go create mode 100644 vendor/google.golang.org/grpc/grpclog/internal/logger.go rename vendor/google.golang.org/grpc/{internal/grpclog/grpclog.go => grpclog/internal/loggerv2.go} (52%) rename vendor/google.golang.org/grpc/internal/grpclog/{prefixLogger.go => prefix_logger.go} (63%) create mode 100644 vendor/google.golang.org/grpc/internal/stats/labels.go create mode 100644 vendor/google.golang.org/grpc/internal/stats/metrics_recorder_list.go create mode 100644 vendor/google.golang.org/grpc/mem/buffer_pool.go create mode 100644 vendor/google.golang.org/grpc/mem/buffer_slice.go create mode 100644 vendor/google.golang.org/grpc/mem/buffers.go delete mode 100644 vendor/google.golang.org/grpc/regenerate.sh delete mode 100644 vendor/google.golang.org/grpc/shared_buffer_pool.go create mode 100644 vendor/google.golang.org/protobuf/internal/editionssupport/editions.go delete mode 100644 vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/equal.go delete mode 100644 vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go delete mode 100644 vendor/google.golang.org/protobuf/internal/strs/strings_pure.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protodesc/desc.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protodesc/editions.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protodesc/proto.go delete mode 100644 vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go create mode 100644 vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.pb.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/contrib/internal/httptrace/before_handle.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/contrib/internal/httptrace/response_writer.go rename vendor/gopkg.in/DataDog/dd-trace-go.v1/contrib/{net/http => internal/httptrace}/trace_gen.go (99%) delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer/rand_go1_22.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer/slog.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer/stats_payload.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer/stats_payload_msgp.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/README.md create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/graphqlsec/README.md create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/graphqlsec/execution.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/graphqlsec/request.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/graphqlsec/resolve.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/grpcsec/grpc.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/httpsec/tags.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/httpsec/types/types.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/sharedsec/shared.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/sqlsec/sql.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/sqlsec/types/sql.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/trace/service_entry_span.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/trace/span.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/trace/tag_setter.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/usersec/user.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/waf/actions/actions.go rename vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/{sharedsec/actions.go => waf/actions/block.go} (53%) rename vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/{sharedsec => waf/actions}/blocked-template.html (100%) rename vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/{sharedsec => waf/actions}/blocked-template.json (78%) create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/waf/actions/http_redirect.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/waf/actions/stacktrace.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/waf/addresses/addresses.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/waf/addresses/builder.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/waf/context.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/waf/run.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/features.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/listener/feature.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/listener/graphqlsec/graphql.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/listener/grpcsec/grpc.go rename vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/{trace/httptrace/http.go => listener/httpsec/request.go} (71%) delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/listener/listener.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/listener/sharedsec/shared.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/listener/trace/trace.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/listener/usersec/usec.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/listener/waf/tags.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/listener/waf/waf.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/trace/securityholder.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/trace/tagsholder.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/trace/trace.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/waf.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/civisibility/utils/ci_providers.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/civisibility/utils/codeowners.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/civisibility/utils/environmentTags.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/civisibility/utils/git.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/civisibility/utils/home.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/civisibility/utils/names.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/civisibility/utils/telemetry/telemetry.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/civisibility/utils/telemetry/telemetry_count.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/civisibility/utils/telemetry/telemetry_distribution.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/osinfo/osinfo_darwin.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/osinfo/osinfo_default.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/osinfo/osinfo_freebsd.go delete mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/osinfo/osinfo_linux.go create mode 100644 vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/osinfo/osinfo_unix.go create mode 100644 vendor/gopkg.in/ini.v1/.editorconfig create mode 100644 vendor/gopkg.in/ini.v1/.gitignore create mode 100644 vendor/gopkg.in/ini.v1/.golangci.yml rename vendor/{github.com/golang/groupcache => gopkg.in/ini.v1}/LICENSE (99%) create mode 100644 vendor/gopkg.in/ini.v1/Makefile create mode 100644 vendor/gopkg.in/ini.v1/README.md create mode 100644 vendor/gopkg.in/ini.v1/codecov.yml create mode 100644 vendor/gopkg.in/ini.v1/data_source.go create mode 100644 vendor/gopkg.in/ini.v1/deprecated.go create mode 100644 vendor/gopkg.in/ini.v1/error.go create mode 100644 vendor/gopkg.in/ini.v1/file.go create mode 100644 vendor/gopkg.in/ini.v1/helper.go create mode 100644 vendor/gopkg.in/ini.v1/ini.go create mode 100644 vendor/gopkg.in/ini.v1/key.go create mode 100644 vendor/gopkg.in/ini.v1/parser.go create mode 100644 vendor/gopkg.in/ini.v1/section.go create mode 100644 vendor/gopkg.in/ini.v1/struct.go create mode 100644 vendor/gopkg.in/yaml.v2/.travis.yml create mode 100644 vendor/gopkg.in/yaml.v2/LICENSE create mode 100644 vendor/gopkg.in/yaml.v2/LICENSE.libyaml create mode 100644 vendor/gopkg.in/yaml.v2/NOTICE create mode 100644 vendor/gopkg.in/yaml.v2/README.md create mode 100644 vendor/gopkg.in/yaml.v2/apic.go create mode 100644 vendor/gopkg.in/yaml.v2/decode.go create mode 100644 vendor/gopkg.in/yaml.v2/emitterc.go create mode 100644 vendor/gopkg.in/yaml.v2/encode.go create mode 100644 vendor/gopkg.in/yaml.v2/parserc.go create mode 100644 vendor/gopkg.in/yaml.v2/readerc.go create mode 100644 vendor/gopkg.in/yaml.v2/resolve.go create mode 100644 vendor/gopkg.in/yaml.v2/scannerc.go create mode 100644 vendor/gopkg.in/yaml.v2/sorter.go create mode 100644 vendor/gopkg.in/yaml.v2/writerc.go create mode 100644 vendor/gopkg.in/yaml.v2/yaml.go create mode 100644 vendor/gopkg.in/yaml.v2/yamlh.go create mode 100644 vendor/gopkg.in/yaml.v2/yamlprivateh.go diff --git a/go.mod b/go.mod index 290cfce9..c53b0984 100644 --- a/go.mod +++ b/go.mod @@ -1,40 +1,49 @@ module github.com/bitrise-io/bitrise-webhooks -go 1.21 +go 1.22.0 + +toolchain go1.23.4 require ( - cloud.google.com/go/pubsub v1.42.0 + cloud.google.com/go/pubsub v1.45.3 github.com/bitrise-io/api-utils v0.0.0-20211025122143-6499571b8433 - github.com/bitrise-io/envman v0.0.0-20240730123632-8066eeb61599 + github.com/bitrise-io/envman v0.0.0-20241203144204-3592d1a0dc7e github.com/go-playground/webhooks/v6 v6.4.0 github.com/google/go-github/v67 v67.0.0 github.com/gorilla/mux v1.8.1 github.com/pkg/errors v0.9.1 - github.com/stretchr/testify v1.9.0 - github.com/xanzy/go-gitlab v0.108.0 + github.com/stretchr/testify v1.10.0 + github.com/xanzy/go-gitlab v0.115.0 go.uber.org/zap v1.27.0 - google.golang.org/api v0.195.0 - gopkg.in/DataDog/dd-trace-go.v1 v1.67.0 + google.golang.org/api v0.211.0 + gopkg.in/DataDog/dd-trace-go.v1 v1.70.1 ) require ( - cloud.google.com/go v0.115.1 // indirect - cloud.google.com/go/auth v0.9.1 // indirect - cloud.google.com/go/auth/oauth2adapt v0.2.4 // indirect - cloud.google.com/go/compute/metadata v0.5.0 // indirect - cloud.google.com/go/iam v1.1.13 // indirect - github.com/DataDog/appsec-internal-go v1.7.0 // indirect - github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect - github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect + cloud.google.com/go v0.116.0 // indirect + cloud.google.com/go/auth v0.12.1 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.6 // indirect + cloud.google.com/go/compute/metadata v0.5.2 // indirect + cloud.google.com/go/iam v1.2.2 // indirect + github.com/DataDog/appsec-internal-go v1.9.0 // indirect + github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0 // indirect + github.com/DataDog/datadog-agent/pkg/proto v0.58.0 // indirect + github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.58.0 // indirect + github.com/DataDog/datadog-agent/pkg/trace v0.58.0 // indirect + github.com/DataDog/datadog-agent/pkg/util/log v0.58.0 // indirect + github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.0 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/go-libddwaf/v3 v3.3.0 // indirect - github.com/DataDog/go-sqllexer v0.0.11 // indirect + github.com/DataDog/go-libddwaf/v3 v3.5.1 // indirect + github.com/DataDog/go-runtime-metrics-internal v0.0.0-20241106155157-194426bbbd59 // indirect + github.com/DataDog/go-sqllexer v0.0.14 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect + github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.20.0 // indirect github.com/DataDog/sketches-go v1.4.5 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/bitrise-io/go-utils v1.0.13 // indirect github.com/blendle/zapdriver v1.3.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/eapache/queue/v2 v2.0.0-20230407133247-75960ed334e4 // indirect @@ -42,45 +51,63 @@ require ( github.com/felixge/httpsnoop v1.0.4 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/go-ole/go-ole v1.2.6 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/s2a-go v0.1.8 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.13.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect + github.com/googleapis/gax-go/v2 v2.14.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-retryablehttp v0.7.7 // indirect github.com/hashicorp/go-secure-stdlib/parseutil v0.1.7 // indirect github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect github.com/hashicorp/go-sockaddr v1.0.2 // indirect - github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c // indirect + github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect github.com/outcaste-io/ristretto v0.2.3 // indirect - github.com/philhofer/fwd v1.1.2 // indirect + github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c // indirect github.com/ryanuber/go-glob v1.0.0 // indirect github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect - github.com/tinylib/msgp v1.1.9 // indirect + github.com/shirou/gopsutil/v3 v3.24.4 // indirect + github.com/shoenig/go-m1cpu v0.1.6 // indirect + github.com/tinylib/msgp v1.2.1 // indirect + github.com/tklauser/go-sysconf v0.3.12 // indirect + github.com/tklauser/numcpus v0.6.1 // indirect + github.com/yusufpapurcu/wmi v1.2.4 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0 // indirect - go.opentelemetry.io/otel v1.28.0 // indirect - go.opentelemetry.io/otel/metric v1.28.0 // indirect - go.opentelemetry.io/otel/trace v1.28.0 // indirect + go.opentelemetry.io/collector/component v0.104.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.104.0 // indirect + go.opentelemetry.io/collector/pdata v1.11.0 // indirect + go.opentelemetry.io/collector/semconv v0.104.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect + go.opentelemetry.io/otel v1.29.0 // indirect + go.opentelemetry.io/otel/metric v1.29.0 // indirect + go.opentelemetry.io/otel/trace v1.29.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.26.0 // indirect - golang.org/x/mod v0.17.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.22.0 // indirect - golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - golang.org/x/time v0.6.0 // indirect + golang.org/x/crypto v0.30.0 // indirect + golang.org/x/mod v0.20.0 // indirect + golang.org/x/net v0.32.0 // indirect + golang.org/x/oauth2 v0.24.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/text v0.21.0 // indirect + golang.org/x/time v0.8.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/genproto v0.0.0-20240823204242-4ba0660f739c // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240823204242-4ba0660f739c // indirect - google.golang.org/grpc v1.65.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.2 // indirect + gopkg.in/ini.v1 v1.67.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 86d3e3b5..bdfad253 100644 --- a/go.sum +++ b/go.sum @@ -1,37 +1,49 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.115.1 h1:Jo0SM9cQnSkYfp44+v+NQXHpcHqlnRJk2qxh6yvxxxQ= -cloud.google.com/go v0.115.1/go.mod h1:DuujITeaufu3gL68/lOFIirVNJwQeyf5UXyi+Wbgknc= -cloud.google.com/go/auth v0.9.1 h1:+pMtLEV2k0AXKvs/tGZojuj6QaioxfUjOpMsG5Gtx+w= -cloud.google.com/go/auth v0.9.1/go.mod h1:Sw8ocT5mhhXxFklyhT12Eiy0ed6tTrPMCJjSI8KhYLk= -cloud.google.com/go/auth/oauth2adapt v0.2.4 h1:0GWE/FUsXhf6C+jAkWgYm7X9tK8cuEIfy19DBn6B6bY= -cloud.google.com/go/auth/oauth2adapt v0.2.4/go.mod h1:jC/jOpwFP6JBxhB3P5Rr0a9HLMC/Pe3eaL4NmdvqPtc= -cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= -cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= -cloud.google.com/go/iam v1.1.13 h1:7zWBXG9ERbMLrzQBRhFliAV+kjcRToDTgQT3CTwYyv4= -cloud.google.com/go/iam v1.1.13/go.mod h1:K8mY0uSXwEXS30KrnVb+j54LB/ntfZu1dr+4zFMNbus= -cloud.google.com/go/kms v1.18.5 h1:75LSlVs60hyHK3ubs2OHd4sE63OAMcM2BdSJc2bkuM4= -cloud.google.com/go/kms v1.18.5/go.mod h1:yXunGUGzabH8rjUPImp2ndHiGolHeWJJ0LODLedicIY= -cloud.google.com/go/longrunning v0.5.12 h1:5LqSIdERr71CqfUsFlJdBpOkBH8FBCFD7P1nTWy3TYE= -cloud.google.com/go/longrunning v0.5.12/go.mod h1:S5hMV8CDJ6r50t2ubVJSKQVv5u0rmik5//KgLO3k4lU= -cloud.google.com/go/pubsub v1.42.0 h1:PVTbzorLryFL5ue8esTS2BfehUs0ahyNOY9qcd+HMOs= -cloud.google.com/go/pubsub v1.42.0/go.mod h1:KADJ6s4MbTwhXmse/50SebEhE4SmUwHi48z3/dHar1Y= +cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE= +cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U= +cloud.google.com/go/auth v0.12.1 h1:n2Bj25BUMM0nvE9D2XLTiImanwZhO3DkfWSYS/SAJP4= +cloud.google.com/go/auth v0.12.1/go.mod h1:BFMu+TNpF3DmvfBO9ClqTR/SiqVIm7LukKF9mbendF4= +cloud.google.com/go/auth/oauth2adapt v0.2.6 h1:V6a6XDu2lTwPZWOawrAa9HUK+DB2zfJyTuciBG5hFkU= +cloud.google.com/go/auth/oauth2adapt v0.2.6/go.mod h1:AlmsELtlEBnaNTL7jCj8VQFLy6mbZv0s4Q7NGBeQ5E8= +cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo= +cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k= +cloud.google.com/go/iam v1.2.2 h1:ozUSofHUGf/F4tCNy/mu9tHLTaxZFLOUiKzjcgWHGIA= +cloud.google.com/go/iam v1.2.2/go.mod h1:0Ys8ccaZHdI1dEUilwzqng/6ps2YB6vRsjIe00/+6JY= +cloud.google.com/go/kms v1.20.1 h1:og29Wv59uf2FVaZlesaiDAqHFzHaoUyHI3HYp9VUHVg= +cloud.google.com/go/kms v1.20.1/go.mod h1:LywpNiVCvzYNJWS9JUcGJSVTNSwPwi0vBAotzDqn2nc= +cloud.google.com/go/longrunning v0.6.2 h1:xjDfh1pQcWPEvnfjZmwjKQEcHnpz6lHjfy7Fo0MK+hc= +cloud.google.com/go/longrunning v0.6.2/go.mod h1:k/vIs83RN4bE3YCswdXC5PFfWVILjm3hpEUlSko4PiI= +cloud.google.com/go/pubsub v1.45.3 h1:prYj8EEAAAwkp6WNoGTE4ahe0DgHoyJd5Pbop931zow= +cloud.google.com/go/pubsub v1.45.3/go.mod h1:cGyloK/hXC4at7smAtxFnXprKEFTqmMXNNd9w+bd94Q= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/DataDog/appsec-internal-go v1.7.0 h1:iKRNLih83dJeVya3IoUfK+6HLD/hQsIbyBlfvLmAeb0= -github.com/DataDog/appsec-internal-go v1.7.0/go.mod h1:wW0cRfWBo4C044jHGwYiyh5moQV2x0AhnwqMuiX7O/g= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 h1:/oxF4p/4XUGNpNw2TE7vDu/pJV3elEAZ+jES0/MWtiI= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1/go.mod h1:AVPQWekk3h9AOC7+plBlNB68Sy6UIGFoMMVUDeSoNoI= -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBpuwNMcqtY1x1I2fCaPH2Br4xPAAjbkM= -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= +github.com/DataDog/appsec-internal-go v1.9.0 h1:cGOneFsg0JTRzWl5U2+og5dbtyW3N8XaYwc5nXe39Vw= +github.com/DataDog/appsec-internal-go v1.9.0/go.mod h1:wW0cRfWBo4C044jHGwYiyh5moQV2x0AhnwqMuiX7O/g= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0 h1:nOrRNCHyriM/EjptMrttFOQhRSmvfagESdpyknb5VPg= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0/go.mod h1:MfDvphBMmEMwE3a30h27AtPO7OzmvdoVTiGY1alEmo4= +github.com/DataDog/datadog-agent/pkg/proto v0.58.0 h1:JX2Q0C5QnKcYqnYHWUcP0z7R0WB8iiQz3aWn+kT5DEc= +github.com/DataDog/datadog-agent/pkg/proto v0.58.0/go.mod h1:0wLYojGxRZZFQ+SBbFjay9Igg0zbP88l03TfZaVZ6Dc= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.58.0 h1:5hGO0Z8ih0bRojuq+1ZwLFtdgsfO3TqIjbwJAH12sOQ= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.58.0/go.mod h1:jN5BsZI+VilHJV1Wac/efGxS4TPtXa1Lh9SiUyv93F4= +github.com/DataDog/datadog-agent/pkg/trace v0.58.0 h1:4AjohoBWWN0nNaeD/0SDZ8lRTYmnJ48CqREevUfSets= +github.com/DataDog/datadog-agent/pkg/trace v0.58.0/go.mod h1:MFnhDW22V5M78MxR7nv7abWaGc/B4L42uHH1KcIKxZs= +github.com/DataDog/datadog-agent/pkg/util/log v0.58.0 h1:2MENBnHNw2Vx/ebKRyOPMqvzWOUps2Ol2o/j8uMvN4U= +github.com/DataDog/datadog-agent/pkg/util/log v0.58.0/go.mod h1:1KdlfcwhqtYHS1szAunsgSfvgoiVsf3mAJc+WvNTnIE= +github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.0 h1:Jkf91q3tuIer4Hv9CLJIYjlmcelAsoJRMmkHyz+p1Dc= +github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.0/go.mod h1:krOxbYZc4KKE7bdEDu10lLSQBjdeSFS/XDSclsaSf1Y= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/go-libddwaf/v3 v3.3.0 h1:jS72fuQpFgJZEdEJDmHJCPAgNTEMZoz1EUvimPUOiJ4= -github.com/DataDog/go-libddwaf/v3 v3.3.0/go.mod h1:Bz/0JkpGf689mzbUjKJeheJINqsyyhM8p9PDuHdK2Ec= -github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= -github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= +github.com/DataDog/go-libddwaf/v3 v3.5.1 h1:GWA4ln4DlLxiXm+X7HA/oj0ZLcdCwOS81KQitegRTyY= +github.com/DataDog/go-libddwaf/v3 v3.5.1/go.mod h1:n98d9nZ1gzenRSk53wz8l6d34ikxS+hs62A31Fqmyi4= +github.com/DataDog/go-runtime-metrics-internal v0.0.0-20241106155157-194426bbbd59 h1:s4hgS6gqbXIakEMMujYiHCVVsB3R3oZtqEzPBMnFU2w= +github.com/DataDog/go-runtime-metrics-internal v0.0.0-20241106155157-194426bbbd59/go.mod h1:quaQJ+wPN41xEC458FCpTwyROZm3MzmTZ8q8XOXQiPs= +github.com/DataDog/go-sqllexer v0.0.14 h1:xUQh2tLr/95LGxDzLmttLgTo/1gzFeOyuwrQa/Iig4Q= +github.com/DataDog/go-sqllexer v0.0.14/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= github.com/DataDog/go-tuf v1.1.0-0.5.2 h1:4CagiIekonLSfL8GMHRHcHudo1fQnxELS9g4tiAupQ4= github.com/DataDog/go-tuf v1.1.0-0.5.2/go.mod h1:zBcq6f654iVqmkk8n2Cx81E1JnNTMOAx1UEO/wZR+P0= github.com/DataDog/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.20.0 h1:fKv05WFWHCXQmUTehW1eEZvXJP65Qv00W4V01B1EqSA= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.20.0/go.mod h1:dvIWN9pA2zWNTw5rhDWZgzZnhcfpH++d+8d1SWW6xkY= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -39,11 +51,13 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aws/aws-sdk-go v1.29.1/go.mod h1:1KvfttTE3SPKMpo8g2c6jL3ZKfXtFvKscTgahTma5Xg= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bitrise-io/api-utils v0.0.0-20211025122143-6499571b8433 h1:TKFE2oT7SZjXBAJFBdUDAeoGsBvPHRUzxguYzqZw+p4= github.com/bitrise-io/api-utils v0.0.0-20211025122143-6499571b8433/go.mod h1:ikUVPSWA9inuIXM+XzR1aMYiV8HR1oy70UMwcdaDeK4= -github.com/bitrise-io/envman v0.0.0-20240730123632-8066eeb61599 h1:UaudsJR8LbzL7wjz5D2RVtxN7RYnTL0ZoX+lA9yuqDI= -github.com/bitrise-io/envman v0.0.0-20240730123632-8066eeb61599/go.mod h1:7yJQdVdq8BxJYq2xjG0yViQf/aspJLJ/xqk/OnP6lGE= +github.com/bitrise-io/envman v0.0.0-20241203144204-3592d1a0dc7e h1:/QaTLJIoUDwqTsgmsd7XVbJFOIcH7CI6SVm/51MHjok= +github.com/bitrise-io/envman v0.0.0-20241203144204-3592d1a0dc7e/go.mod h1:7yJQdVdq8BxJYq2xjG0yViQf/aspJLJ/xqk/OnP6lGE= github.com/bitrise-io/go-utils v1.0.13 h1:1QENhTS/JlKH9F7+/nB+TtbTcor6jGrE6cQ4CJWfp5U= github.com/bitrise-io/go-utils v1.0.13/go.mod h1:ZY1DI+fEpZuFpO9szgDeICM4QbqoWVt0RSY3tRI1heY= github.com/blendle/zapdriver v1.3.1 h1:C3dydBOWYRiOk+B8X9IVZ5IOe+7cl+tGOexN4QqHfpE= @@ -52,6 +66,8 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 h1:kHaBemcxl8o/pQ5VM1c8PVE1PubbNx3mjUr09OqWGCs= +github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575/go.mod h1:9d6lWj8KzO/fd/NrVaLscBKmPigpZpn5YawRPw+e3Yo= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -60,8 +76,9 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= +github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= @@ -79,17 +96,19 @@ github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/glebarez/go-sqlite v1.22.0 h1:uAcMJhaA6r3LHMTFgP0SifzgXg46yJkgxqyuyec+ruQ= -github.com/glebarez/go-sqlite v1.22.0/go.mod h1:PlBIdHe0+aUEFn+r2/uthrWq4FxbzugL0L8Li6yQJbc= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-playground/webhooks/v6 v6.4.0 h1:KLa6y7bD19N48rxJDHM0DpE3T4grV7GxMy1b/aHMWPY= github.com/go-playground/webhooks/v6 v6.4.0/go.mod h1:5lBxopx+cAJiBI4+kyRbuHrEi+hYRDdRHuRR4Ya5Ums= github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -116,12 +135,15 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-github/v67 v67.0.0 h1:g11NDAmfaBaCO8qYdI9fsmbaRipHNWRIU/2YGvlh4rg= github.com/google/go-github/v67 v67.0.0/go.mod h1:zH3K7BxjFndr9QSeFibx4lTKkYS3K9nDanoI1NjaOtY= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= @@ -132,10 +154,10 @@ github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= -github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= -github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s= -github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A= +github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw= +github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= +github.com/googleapis/gax-go/v2 v2.14.0 h1:f+jMrjBPl+DL9nI4IQzLUxMq7XrAqFYB7hBPqMNIe8o= +github.com/googleapis/gax-go/v2 v2.14.0/go.mod h1:lhBCnjdLrWRaPvLWhmc8IS24m9mr07qSYnHncrgo+zk= github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= @@ -161,17 +183,25 @@ github.com/jinzhu/gorm v1.9.12/go.mod h1:vhTjlKSJUTWNtcbQtrMBFCxy7eXTzeCAzfL5fBZ github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/justinas/alice v1.2.0/go.mod h1:fN5HRH/reO/zrUflLfTN43t3vXvKzvZIENsNEe7i7qA= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= +github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c h1:VtwQ41oftZwlMnOEbMWQtSEUgU64U4s+GHk7hZK+jtY= +github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c/go.mod h1:JKx41uQRwqlTZabZc+kILPrO/3jlKnQ2Z8b7YiVw5cE= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= @@ -182,14 +212,19 @@ github.com/mattn/go-sqlite3 v2.0.1+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= -github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE= +github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= -github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= -github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0= +github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 h1:jYi87L8j62qkXzaYHAQAhEapgukhenIMZRBKTNRLHJ4= +github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -197,18 +232,37 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c h1:NRoLoZvkBTKvR5gQLgA3e0hqjkY9u1wm+iOL45VN/qI= +github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= +github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= +github.com/prometheus/procfs v0.15.0 h1:A82kmvXJq2jTu5YUhSGNlYoxh85zLnKgPz4bMZgI5Ek= +github.com/prometheus/procfs v0.15.0/go.mod h1:Y0RJ/Y5g5wJpkTisOtqwDSo4HwhGmLB4VQSw2sQJLHk= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/richardartoul/molecule v1.0.1-0.20240531184615-7ca0df43c0b3 h1:4+LEVOB87y175cLJC/mbsgKmoDOjrBldtXvioEy96WY= github.com/richardartoul/molecule v1.0.1-0.20240531184615-7ca0df43c0b3/go.mod h1:vl5+MqJ1nBINuSsUI2mGgH79UweUT/B5Fy8857PqyyI= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= +github.com/shirou/gopsutil/v3 v3.24.4 h1:dEHgzZXt4LMNm+oYELpzl9YCqV65Yr/6SfrvgRBtXeU= +github.com/shirou/gopsutil/v3 v3.24.4/go.mod h1:lTd2mdiOspcqLgAnr9/nGi71NkeMpWKdmhuxm9GusH8= +github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= +github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= +github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= +github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= @@ -225,29 +279,55 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/tinylib/msgp v1.1.9 h1:SHf3yoO2sGA0veCJeCBYLHuttAVFHGm2RHgNodW7wQU= -github.com/tinylib/msgp v1.1.9/go.mod h1:BCXGB54lDD8qUEPmiG0cQQUANC4IUQyB2ItS2UDlO/k= -github.com/xanzy/go-gitlab v0.108.0 h1:IEvEUWFR5G1seslRhJ8gC//INiIUqYXuSUoBd7/gFKE= -github.com/xanzy/go-gitlab v0.108.0/go.mod h1:wKNKh3GkYDMOsGmnfuX+ITCmDuSDWFO0G+C4AygL9RY= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/tinylib/msgp v1.2.1 h1:6ypy2qcCznxpP4hpORzhtXyTqrBs7cfM9MCCWY8zsmU= +github.com/tinylib/msgp v1.2.1/go.mod h1:2vIGs3lcUo8izAATNobrCHevYZC/LMsJtw4JPiYPHro= +github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= +github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= +github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= +github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= +github.com/vmihailenco/msgpack/v4 v4.3.12 h1:07s4sz9IReOgdikxLTKNbBdqDMLsjPKXwvCazn8G65U= +github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= +github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vbd1qPqc= +github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +github.com/xanzy/go-gitlab v0.115.0 h1:6DmtItNcVe+At/liXSgfE/DZNZrGfalQmBRmOcJjOn8= +github.com/xanzy/go-gitlab v0.115.0/go.mod h1:5XCDtM7AM6WMKmfDdOiEpyRWUqui2iS9ILfvCZ2gJ5M= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.einride.tech/aip v0.67.1 h1:d/4TW92OxXBngkSOwWS2CH5rez869KpKMaN44mdxkFI= -go.einride.tech/aip v0.67.1/go.mod h1:ZGX4/zKw8dcgzdLsrvpOOGxfxI2QSk12SlP7d6c0/XI= +github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= +github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +go.einride.tech/aip v0.68.0 h1:4seM66oLzTpz50u4K1zlJyOXQ3tCzcJN7I22tKkjipw= +go.einride.tech/aip v0.68.0/go.mod h1:7y9FF8VtPWqpxuAxl0KQWqaULxW4zFIesD6zF5RIHHg= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0 h1:vS1Ao/R55RNV4O7TA2Qopok8yN+X0LIP6RVWLFkprck= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0/go.mod h1:BMsdeOxN04K0L5FNUBfjFdvwWGNe/rkmSwH4Aelu/X0= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0 h1:9l89oX4ba9kHbBol3Xin3leYJ+252h0zszDtBwyKe2A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0/go.mod h1:XLZfZboOJWHNKUv7eH0inh0E9VV6eWDFB/9yJyTLPp0= -go.opentelemetry.io/otel v1.28.0 h1:/SqNcYk+idO0CxKEUOtKQClMK/MimZihKYMruSMViUo= -go.opentelemetry.io/otel v1.28.0/go.mod h1:q68ijF8Fc8CnMHKyzqL6akLO46ePnjkgfIMIjUIX9z4= -go.opentelemetry.io/otel/metric v1.28.0 h1:f0HGvSl1KRAU1DLgLGFjrwVyismPlnuU6JD6bOeuA5Q= -go.opentelemetry.io/otel/metric v1.28.0/go.mod h1:Fb1eVBFZmLVTMb6PPohq3TO9IIhUisDsbJoL/+uQW4s= -go.opentelemetry.io/otel/sdk v1.28.0 h1:b9d7hIry8yZsgtbmM0DKyPWMMUMlK9NEKuIG4aBqWyE= -go.opentelemetry.io/otel/sdk v1.28.0/go.mod h1:oYj7ClPUA7Iw3m+r7GeEjz0qckQRJK2B8zjcZEfu7Pg= -go.opentelemetry.io/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g= -go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI= +go.opentelemetry.io/collector/component v0.104.0 h1:jqu/X9rnv8ha0RNZ1a9+x7OU49KwSMsPbOuIEykHuQE= +go.opentelemetry.io/collector/component v0.104.0/go.mod h1:1C7C0hMVSbXyY1ycCmaMUAR9fVwpgyiNQqxXtEWhVpw= +go.opentelemetry.io/collector/config/configtelemetry v0.104.0 h1:eHv98XIhapZA8MgTiipvi+FDOXoFhCYOwyKReOt+E4E= +go.opentelemetry.io/collector/config/configtelemetry v0.104.0/go.mod h1:WxWKNVAQJg/Io1nA3xLgn/DWLE/W1QOB2+/Js3ACi40= +go.opentelemetry.io/collector/pdata v1.11.0 h1:rzYyV1zfTQQz1DI9hCiaKyyaczqawN75XO9mdXmR/hE= +go.opentelemetry.io/collector/pdata v1.11.0/go.mod h1:IHxHsp+Jq/xfjORQMDJjSH6jvedOSTOyu3nbxqhWSYE= +go.opentelemetry.io/collector/semconv v0.104.0 h1:dUvajnh+AYJLEW/XOPk0T0BlwltSdi3vrjO7nSOos3k= +go.opentelemetry.io/collector/semconv v0.104.0/go.mod h1:yMVUCNoQPZVq/IPfrHrnntZTWsLf5YGZ7qwKulIl5hw= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= +go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= +go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= +go.opentelemetry.io/otel/exporters/prometheus v0.49.0 h1:Er5I1g/YhfYv9Affk9nJLfH/+qCCVVg1f2R9AbJfqDQ= +go.opentelemetry.io/otel/exporters/prometheus v0.49.0/go.mod h1:KfQ1wpjf3zsHjzP149P4LyAwWRupc6c7t1ZJ9eXpKQM= +go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= +go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= +go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= +go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= +go.opentelemetry.io/otel/sdk/metric v1.27.0 h1:5uGNOlpXi+Hbo/DRoI31BSb1v+OGcpv2NemcCrOL8gI= +go.opentelemetry.io/otel/sdk/metric v1.27.0/go.mod h1:we7jJVrYN2kh3mVBlswtPU22K0SA+769l93J6bsyvqw= +go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= +go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -271,17 +351,19 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20211202192323-5770296d904e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.30.0 h1:RwoQn3GkWiMkzlX562cLB7OxWvjH1L8xutO2WoJcRoY= +golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= +golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -289,27 +371,33 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI= +golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= -golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= +golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -317,17 +405,20 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= -golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= +golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -337,33 +428,39 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24= +golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/api v0.195.0 h1:Ude4N8FvTKnnQJHU48RFI40jOBgIrL8Zqr3/QeST6yU= -google.golang.org/api v0.195.0/go.mod h1:DOGRWuv3P8TU8Lnz7uQc4hyNqrBpMtD9ppW3wBJurgc= +google.golang.org/api v0.211.0 h1:IUpLjq09jxBSV1lACO33CGY3jsRcbctfGzhj+ZSE/Bg= +google.golang.org/api v0.211.0/go.mod h1:XOloB4MXFH4UTlQSGuNUxw0UT74qdENK8d6JNsXKLi0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20240823204242-4ba0660f739c h1:TYOEhrQMrNDTAd2rX9m+WgGr8Ku6YNuj1D7OX6rWSok= -google.golang.org/genproto v0.0.0-20240823204242-4ba0660f739c/go.mod h1:2rC5OendXvZ8wGEo/cSLheztrZDZaSoHanUcd1xtZnw= -google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 h1:wKguEg1hsxI2/L3hUYrpo1RVi48K+uTyzKqprwLXsb8= -google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240823204242-4ba0660f739c h1:Kqjm4WpoWvwhMPcrAczoTyMySQmYa9Wy2iL6Con4zn8= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240823204242-4ba0660f739c/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD4Q5w+vfEnPvPpuTwedCNVohYJfNk= +google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc= +google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697 h1:pgr/4QbFyktUv9CtQ/Fq4gzEE6/Xs7iCXbktaGzLHbQ= +google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697/go.mod h1:+D9ySVjN8nY8YCVjc5O7PZDIdZporIDY3KaGfJunh88= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583 h1:IfdSdTcLFy4lqUQrQJLkLt1PB+AsqVz6lwkWPzWEz10= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= -google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -373,16 +470,19 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= -gopkg.in/DataDog/dd-trace-go.v1 v1.67.0 h1:3Cb46zyKIlEWac21tvDF2O4KyMlOHQxrQkyiaUpdwM0= -gopkg.in/DataDog/dd-trace-go.v1 v1.67.0/go.mod h1:6DdiJPKOeJfZyd/IUGCAd5elY8qPGkztK6wbYYsMjag= +google.golang.org/protobuf v1.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io= +google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +gopkg.in/DataDog/dd-trace-go.v1 v1.70.1 h1:ZIRxAKlr3xr6xbMUDs3IDa6xq+ISv9zxyjaDCfwDjMY= +gopkg.in/DataDog/dd-trace-go.v1 v1.70.1/go.mod h1:PMOSkeY4VfXiuPvGodeNLCZCFYU2VfOvjVI6cX5bGrc= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= +gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= @@ -391,11 +491,23 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +lukechampine.com/uint128 v1.3.0 h1:cDdUVfRwDUDovz610ABgFD17nXD4/uDgVHl2sC3+sbo= +lukechampine.com/uint128 v1.3.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +modernc.org/cc/v3 v3.41.0 h1:QoR1Sn3YWlmA1T4vLaKZfawdVtSiGx8H+cEojbC7v1Q= +modernc.org/cc/v3 v3.41.0/go.mod h1:Ni4zjJYJ04CDOhG7dn640WGfwBzfE0ecX8TyMB0Fv0Y= +modernc.org/ccgo/v3 v3.16.15 h1:KbDR3ZAVU+wiLyMESPtbtE/Add4elztFyfsWoNTgxS0= +modernc.org/ccgo/v3 v3.16.15/go.mod h1:yT7B+/E2m43tmMOT51GMoM98/MtHIcQQSleGnddkUNI= modernc.org/libc v1.37.6 h1:orZH3c5wmhIQFTXF+Nt+eeauyd+ZIt2BX6ARe+kD+aw= modernc.org/libc v1.37.6/go.mod h1:YAXkAZ8ktnkCKaN9sw/UDeUVkGYJ/YquGO4FTi5nmHE= modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4= modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo= modernc.org/memory v1.7.2 h1:Klh90S215mmH8c9gO98QxQFsY+W451E8AnzjoE2ee1E= modernc.org/memory v1.7.2/go.mod h1:NO4NVCQy0N7ln+T9ngWqOQfi7ley4vpwvARR+Hjw95E= +modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4= +modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/sqlite v1.28.0 h1:Zx+LyDDmXczNnEQdvPuEfcFVA2ZPyaD7UCZDjef3BHQ= modernc.org/sqlite v1.28.0/go.mod h1:Qxpazz0zH8Z1xCFyi5GSL3FzbtZ3fvbjmywNogldEW0= +modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA= +modernc.org/strutil v1.2.0/go.mod h1:/mdcBmfOibveCTBxUl5B5l6W+TTH1FXPLHZE6bTosX0= +modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= +modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= diff --git a/vendor/cloud.google.com/go/auth/CHANGES.md b/vendor/cloud.google.com/go/auth/CHANGES.md index ea6df0ca..4d112f80 100644 --- a/vendor/cloud.google.com/go/auth/CHANGES.md +++ b/vendor/cloud.google.com/go/auth/CHANGES.md @@ -1,5 +1,119 @@ # Changelog +## [0.12.1](https://github.com/googleapis/google-cloud-go/compare/auth/v0.12.0...auth/v0.12.1) (2024-12-10) + + +### Bug Fixes + +* **auth:** Correct typo in link ([#11160](https://github.com/googleapis/google-cloud-go/issues/11160)) ([af6fb46](https://github.com/googleapis/google-cloud-go/commit/af6fb46d7cd694ddbe8c9d63bc4cdcd62b9fb2c1)) + +## [0.12.0](https://github.com/googleapis/google-cloud-go/compare/auth/v0.11.0...auth/v0.12.0) (2024-12-04) + + +### Features + +* **auth:** Add support for providing custom certificate URL ([#11006](https://github.com/googleapis/google-cloud-go/issues/11006)) ([ebf3657](https://github.com/googleapis/google-cloud-go/commit/ebf36579724afb375d3974cf1da38f703e3b7dbc)), refs [#11005](https://github.com/googleapis/google-cloud-go/issues/11005) + + +### Bug Fixes + +* **auth:** Ensure endpoints are present in Validator ([#11209](https://github.com/googleapis/google-cloud-go/issues/11209)) ([106cd53](https://github.com/googleapis/google-cloud-go/commit/106cd53309facaef1b8ea78376179f523f6912b9)), refs [#11006](https://github.com/googleapis/google-cloud-go/issues/11006) [#11190](https://github.com/googleapis/google-cloud-go/issues/11190) [#11189](https://github.com/googleapis/google-cloud-go/issues/11189) [#11188](https://github.com/googleapis/google-cloud-go/issues/11188) + +## [0.11.0](https://github.com/googleapis/google-cloud-go/compare/auth/v0.10.2...auth/v0.11.0) (2024-11-21) + + +### Features + +* **auth:** Add universe domain support to mTLS ([#11159](https://github.com/googleapis/google-cloud-go/issues/11159)) ([117748b](https://github.com/googleapis/google-cloud-go/commit/117748ba1cfd4ae62a6a4feb7e30951cb2bc9344)) + +## [0.10.2](https://github.com/googleapis/google-cloud-go/compare/auth/v0.10.1...auth/v0.10.2) (2024-11-12) + + +### Bug Fixes + +* **auth:** Restore use of grpc.Dial ([#11118](https://github.com/googleapis/google-cloud-go/issues/11118)) ([2456b94](https://github.com/googleapis/google-cloud-go/commit/2456b943b7b8aaabd4d8bfb7572c0f477ae0db45)), refs [#7556](https://github.com/googleapis/google-cloud-go/issues/7556) + +## [0.10.1](https://github.com/googleapis/google-cloud-go/compare/auth/v0.10.0...auth/v0.10.1) (2024-11-06) + + +### Bug Fixes + +* **auth:** Restore Application Default Credentials support to idtoken ([#11083](https://github.com/googleapis/google-cloud-go/issues/11083)) ([8771f2e](https://github.com/googleapis/google-cloud-go/commit/8771f2ea9807ab822083808e0678392edff3b4f2)) +* **auth:** Skip impersonate universe domain check if empty ([#11086](https://github.com/googleapis/google-cloud-go/issues/11086)) ([87159c1](https://github.com/googleapis/google-cloud-go/commit/87159c1059d4a18d1367ce62746a838a94964ab6)) + +## [0.10.0](https://github.com/googleapis/google-cloud-go/compare/auth/v0.9.9...auth/v0.10.0) (2024-10-30) + + +### Features + +* **auth:** Add universe domain support to credentials/impersonate ([#10953](https://github.com/googleapis/google-cloud-go/issues/10953)) ([e06cb64](https://github.com/googleapis/google-cloud-go/commit/e06cb6499f7eda3aef08ab18ff197016f667684b)) + +## [0.9.9](https://github.com/googleapis/google-cloud-go/compare/auth/v0.9.8...auth/v0.9.9) (2024-10-22) + + +### Bug Fixes + +* **auth:** Fallback cert lookups for missing files ([#11013](https://github.com/googleapis/google-cloud-go/issues/11013)) ([bd76695](https://github.com/googleapis/google-cloud-go/commit/bd766957ec238b7c40ddbabb369e612dc9b07313)), refs [#10844](https://github.com/googleapis/google-cloud-go/issues/10844) +* **auth:** Replace MDS endpoint universe_domain with universe-domain ([#11000](https://github.com/googleapis/google-cloud-go/issues/11000)) ([6a1586f](https://github.com/googleapis/google-cloud-go/commit/6a1586f2ce9974684affaea84e7b629313b4d114)) + +## [0.9.8](https://github.com/googleapis/google-cloud-go/compare/auth/v0.9.7...auth/v0.9.8) (2024-10-09) + + +### Bug Fixes + +* **auth:** Restore OpenTelemetry handling in transports ([#10968](https://github.com/googleapis/google-cloud-go/issues/10968)) ([08c6d04](https://github.com/googleapis/google-cloud-go/commit/08c6d04901c1a20e219b2d86df41dbaa6d7d7b55)), refs [#10962](https://github.com/googleapis/google-cloud-go/issues/10962) +* **auth:** Try talk to plaintext S2A if credentials can not be found for mTLS-S2A ([#10941](https://github.com/googleapis/google-cloud-go/issues/10941)) ([0f0bf2d](https://github.com/googleapis/google-cloud-go/commit/0f0bf2d18c97dd8b65bcf0099f0802b5631c6287)) + +## [0.9.7](https://github.com/googleapis/google-cloud-go/compare/auth/v0.9.6...auth/v0.9.7) (2024-10-01) + + +### Bug Fixes + +* **auth:** Restore support for non-default service accounts for DirectPath ([#10937](https://github.com/googleapis/google-cloud-go/issues/10937)) ([a38650e](https://github.com/googleapis/google-cloud-go/commit/a38650edbf420223077498cafa537aec74b37aad)), refs [#10907](https://github.com/googleapis/google-cloud-go/issues/10907) + +## [0.9.6](https://github.com/googleapis/google-cloud-go/compare/auth/v0.9.5...auth/v0.9.6) (2024-09-30) + + +### Bug Fixes + +* **auth:** Make aws credentials provider retrieve fresh credentials ([#10920](https://github.com/googleapis/google-cloud-go/issues/10920)) ([250fbf8](https://github.com/googleapis/google-cloud-go/commit/250fbf87d858d865e399a241b7e537c4ff0c3dd8)) + +## [0.9.5](https://github.com/googleapis/google-cloud-go/compare/auth/v0.9.4...auth/v0.9.5) (2024-09-25) + + +### Bug Fixes + +* **auth:** Restore support for GOOGLE_CLOUD_UNIVERSE_DOMAIN env ([#10915](https://github.com/googleapis/google-cloud-go/issues/10915)) ([94caaaa](https://github.com/googleapis/google-cloud-go/commit/94caaaa061362d0e00ef6214afcc8a0a3e7ebfb2)) +* **auth:** Skip directpath credentials overwrite when it's not on GCE ([#10833](https://github.com/googleapis/google-cloud-go/issues/10833)) ([7e5e8d1](https://github.com/googleapis/google-cloud-go/commit/7e5e8d10b761b0a6e43e19a028528db361bc07b1)) +* **auth:** Use new context for non-blocking token refresh ([#10919](https://github.com/googleapis/google-cloud-go/issues/10919)) ([cf7102d](https://github.com/googleapis/google-cloud-go/commit/cf7102d33a21be1e5a9d47a49456b3a57c43b350)) + +## [0.9.4](https://github.com/googleapis/google-cloud-go/compare/auth/v0.9.3...auth/v0.9.4) (2024-09-11) + + +### Bug Fixes + +* **auth:** Enable self-signed JWT for non-GDU universe domain ([#10831](https://github.com/googleapis/google-cloud-go/issues/10831)) ([f9869f7](https://github.com/googleapis/google-cloud-go/commit/f9869f7903cfd34d1b97c25d0dc5669d2c5138e6)) + +## [0.9.3](https://github.com/googleapis/google-cloud-go/compare/auth/v0.9.2...auth/v0.9.3) (2024-09-03) + + +### Bug Fixes + +* **auth:** Choose quota project envvar over file when both present ([#10807](https://github.com/googleapis/google-cloud-go/issues/10807)) ([2d8dd77](https://github.com/googleapis/google-cloud-go/commit/2d8dd7700eff92d4b95027be55e26e1e7aa79181)), refs [#10804](https://github.com/googleapis/google-cloud-go/issues/10804) + +## [0.9.2](https://github.com/googleapis/google-cloud-go/compare/auth/v0.9.1...auth/v0.9.2) (2024-08-30) + + +### Bug Fixes + +* **auth:** Handle non-Transport DefaultTransport ([#10733](https://github.com/googleapis/google-cloud-go/issues/10733)) ([98d91dc](https://github.com/googleapis/google-cloud-go/commit/98d91dc8316b247498fab41ab35e57a0446fe556)), refs [#10742](https://github.com/googleapis/google-cloud-go/issues/10742) +* **auth:** Make sure quota option takes precedence over env/file ([#10797](https://github.com/googleapis/google-cloud-go/issues/10797)) ([f1b050d](https://github.com/googleapis/google-cloud-go/commit/f1b050d56d804b245cab048c2980d32b0eaceb4e)), refs [#10795](https://github.com/googleapis/google-cloud-go/issues/10795) + + +### Documentation + +* **auth:** Fix Go doc comment link ([#10751](https://github.com/googleapis/google-cloud-go/issues/10751)) ([015acfa](https://github.com/googleapis/google-cloud-go/commit/015acfab4d172650928bb1119bc2cd6307b9a437)) + ## [0.9.1](https://github.com/googleapis/google-cloud-go/compare/auth/v0.9.0...auth/v0.9.1) (2024-08-22) diff --git a/vendor/cloud.google.com/go/auth/README.md b/vendor/cloud.google.com/go/auth/README.md index 36de276a..6fe4f076 100644 --- a/vendor/cloud.google.com/go/auth/README.md +++ b/vendor/cloud.google.com/go/auth/README.md @@ -1,4 +1,40 @@ -# auth +# Google Auth Library for Go -This module is currently EXPERIMENTAL and under active development. It is not -yet intended to be used. +[![Go Reference](https://pkg.go.dev/badge/cloud.google.com/go/auth.svg)](https://pkg.go.dev/cloud.google.com/go/auth) + +## Install + +``` bash +go get cloud.google.com/go/auth@latest +``` + +## Usage + +The most common way this library is used is transitively, by default, from any +of our Go client libraries. + +### Notable use-cases + +- To create a credential directly please see examples in the + [credentials](https://pkg.go.dev/cloud.google.com/go/auth/credentials) + package. +- To create a authenticated HTTP client please see examples in the + [httptransport](https://pkg.go.dev/cloud.google.com/go/auth/httptransport) + package. +- To create a authenticated gRPC connection please see examples in the + [grpctransport](https://pkg.go.dev/cloud.google.com/go/auth/grpctransport) + package. +- To create an ID token please see examples in the + [idtoken](https://pkg.go.dev/cloud.google.com/go/auth/credentials/idtoken) + package. + +## Contributing + +Contributions are welcome. Please, see the +[CONTRIBUTING](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/main/CONTRIBUTING.md) +document for details. + +Please note that this project is released with a Contributor Code of Conduct. +By participating in this project you agree to abide by its terms. +See [Contributor Code of Conduct](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/main/CONTRIBUTING.md#contributor-code-of-conduct) +for more information. diff --git a/vendor/cloud.google.com/go/auth/auth.go b/vendor/cloud.google.com/go/auth/auth.go index 2eb78d7b..a7fa84f6 100644 --- a/vendor/cloud.google.com/go/auth/auth.go +++ b/vendor/cloud.google.com/go/auth/auth.go @@ -12,6 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. +// Package auth provides utilities for managing Google Cloud credentials, +// including functionality for creating, caching, and refreshing OAuth2 tokens. +// It offers customizable options for different OAuth2 flows, such as 2-legged +// (2LO) and 3-legged (3LO) OAuth, along with support for PKCE and automatic +// token management. package auth import ( @@ -130,7 +135,9 @@ func (t *Token) isEmpty() bool { } // Credentials holds Google credentials, including -// [Application Default Credentials](https://developers.google.com/accounts/docs/application-default-credentials). +// [Application Default Credentials]. +// +// [Application Default Credentials]: https://developers.google.com/accounts/docs/application-default-credentials type Credentials struct { json []byte projectID CredentialsPropertyProvider @@ -220,9 +227,7 @@ type CredentialsOptions struct { UniverseDomainProvider CredentialsPropertyProvider } -// NewCredentials returns new [Credentials] from the provided options. Most users -// will want to build this object a function from the -// [cloud.google.com/go/auth/credentials] package. +// NewCredentials returns new [Credentials] from the provided options. func NewCredentials(opts *CredentialsOptions) *Credentials { creds := &Credentials{ TokenProvider: opts.TokenProvider, @@ -235,8 +240,8 @@ func NewCredentials(opts *CredentialsOptions) *Credentials { return creds } -// CachedTokenProviderOptions provided options for configuring a -// CachedTokenProvider. +// CachedTokenProviderOptions provides options for configuring a cached +// [TokenProvider]. type CachedTokenProviderOptions struct { // DisableAutoRefresh makes the TokenProvider always return the same token, // even if it is expired. The default is false. Optional. @@ -246,7 +251,7 @@ type CachedTokenProviderOptions struct { // seconds. Optional. ExpireEarly time.Duration // DisableAsyncRefresh configures a synchronous workflow that refreshes - // stale tokens while blocking. The default is false. Optional. + // tokens in a blocking manner. The default is false. Optional. DisableAsyncRefresh bool } @@ -273,12 +278,7 @@ func (ctpo *CachedTokenProviderOptions) blockingRefresh() bool { // NewCachedTokenProvider wraps a [TokenProvider] to cache the tokens returned // by the underlying provider. By default it will refresh tokens asynchronously -// (non-blocking mode) within a window that starts 3 minutes and 45 seconds -// before they expire. The asynchronous (non-blocking) refresh can be changed to -// a synchronous (blocking) refresh using the -// CachedTokenProviderOptions.DisableAsyncRefresh option. The time-before-expiry -// duration can be configured using the CachedTokenProviderOptions.ExpireEarly -// option. +// a few minutes before they expire. func NewCachedTokenProvider(tp TokenProvider, opts *CachedTokenProviderOptions) TokenProvider { if ctp, ok := tp.(*cachedTokenProvider); ok { return ctp @@ -321,7 +321,9 @@ func (c *cachedTokenProvider) tokenNonBlocking(ctx context.Context) (*Token, err defer c.mu.Unlock() return c.cachedToken, nil case stale: - c.tokenAsync(ctx) + // Call tokenAsync with a new Context because the user-provided context + // may have a short timeout incompatible with async token refresh. + c.tokenAsync(context.Background()) // Return the stale token immediately to not block customer requests to Cloud services. c.mu.Lock() defer c.mu.Unlock() @@ -336,13 +338,14 @@ func (c *cachedTokenProvider) tokenState() tokenState { c.mu.Lock() defer c.mu.Unlock() t := c.cachedToken + now := timeNow() if t == nil || t.Value == "" { return invalid } else if t.Expiry.IsZero() { return fresh - } else if timeNow().After(t.Expiry.Round(0)) { + } else if now.After(t.Expiry.Round(0)) { return invalid - } else if timeNow().After(t.Expiry.Round(0).Add(-c.expireEarly)) { + } else if now.After(t.Expiry.Round(0).Add(-c.expireEarly)) { return stale } return fresh diff --git a/vendor/cloud.google.com/go/auth/credentials/detect.go b/vendor/cloud.google.com/go/auth/credentials/detect.go index cce62241..010afc37 100644 --- a/vendor/cloud.google.com/go/auth/credentials/detect.go +++ b/vendor/cloud.google.com/go/auth/credentials/detect.go @@ -98,8 +98,8 @@ func DetectDefault(opts *DetectOptions) (*auth.Credentials, error) { if OnGCE() { return auth.NewCredentials(&auth.CredentialsOptions{ TokenProvider: computeTokenProvider(opts), - ProjectIDProvider: auth.CredentialsPropertyFunc(func(context.Context) (string, error) { - return metadata.ProjectID() + ProjectIDProvider: auth.CredentialsPropertyFunc(func(ctx context.Context) (string, error) { + return metadata.ProjectIDWithContext(ctx) }), UniverseDomainProvider: &internal.ComputeUniverseDomainProvider{}, }), nil diff --git a/vendor/cloud.google.com/go/auth/credentials/filetypes.go b/vendor/cloud.google.com/go/auth/credentials/filetypes.go index b426e16d..6591b181 100644 --- a/vendor/cloud.google.com/go/auth/credentials/filetypes.go +++ b/vendor/cloud.google.com/go/auth/credentials/filetypes.go @@ -33,7 +33,7 @@ func fileCredentials(b []byte, opts *DetectOptions) (*auth.Credentials, error) { return nil, err } - var projectID, quotaProjectID, universeDomain string + var projectID, universeDomain string var tp auth.TokenProvider switch fileType { case credsfile.ServiceAccountKey: @@ -56,7 +56,6 @@ func fileCredentials(b []byte, opts *DetectOptions) (*auth.Credentials, error) { if err != nil { return nil, err } - quotaProjectID = f.QuotaProjectID universeDomain = f.UniverseDomain case credsfile.ExternalAccountKey: f, err := credsfile.ParseExternalAccount(b) @@ -67,7 +66,6 @@ func fileCredentials(b []byte, opts *DetectOptions) (*auth.Credentials, error) { if err != nil { return nil, err } - quotaProjectID = f.QuotaProjectID universeDomain = resolveUniverseDomain(opts.UniverseDomain, f.UniverseDomain) case credsfile.ExternalAccountAuthorizedUserKey: f, err := credsfile.ParseExternalAccountAuthorizedUser(b) @@ -78,7 +76,6 @@ func fileCredentials(b []byte, opts *DetectOptions) (*auth.Credentials, error) { if err != nil { return nil, err } - quotaProjectID = f.QuotaProjectID universeDomain = f.UniverseDomain case credsfile.ImpersonatedServiceAccountKey: f, err := credsfile.ParseImpersonatedServiceAccount(b) @@ -108,9 +105,9 @@ func fileCredentials(b []byte, opts *DetectOptions) (*auth.Credentials, error) { TokenProvider: auth.NewCachedTokenProvider(tp, &auth.CachedTokenProviderOptions{ ExpireEarly: opts.EarlyTokenRefresh, }), - JSON: b, - ProjectIDProvider: internalauth.StaticCredentialsProperty(projectID), - QuotaProjectIDProvider: internalauth.StaticCredentialsProperty(quotaProjectID), + JSON: b, + ProjectIDProvider: internalauth.StaticCredentialsProperty(projectID), + // TODO(codyoss): only set quota project here if there was a user override UniverseDomainProvider: internalauth.StaticCredentialsProperty(universeDomain), }), nil } @@ -127,8 +124,14 @@ func resolveUniverseDomain(optsUniverseDomain, fileUniverseDomain string) string } func handleServiceAccount(f *credsfile.ServiceAccountFile, opts *DetectOptions) (auth.TokenProvider, error) { + ud := resolveUniverseDomain(opts.UniverseDomain, f.UniverseDomain) if opts.UseSelfSignedJWT { return configureSelfSignedJWT(f, opts) + } else if ud != "" && ud != internalauth.DefaultUniverseDomain { + // For non-GDU universe domains, token exchange is impossible and services + // must support self-signed JWTs. + opts.UseSelfSignedJWT = true + return configureSelfSignedJWT(f, opts) } opts2LO := &auth.Options2LO{ Email: f.ClientEmail, diff --git a/vendor/cloud.google.com/go/auth/credentials/internal/externalaccount/aws_provider.go b/vendor/cloud.google.com/go/auth/credentials/internal/externalaccount/aws_provider.go index a34f6b06..d8b5d4fd 100644 --- a/vendor/cloud.google.com/go/auth/credentials/internal/externalaccount/aws_provider.go +++ b/vendor/cloud.google.com/go/auth/credentials/internal/externalaccount/aws_provider.go @@ -94,32 +94,30 @@ func (sp *awsSubjectProvider) subjectToken(ctx context.Context) (string, error) if sp.RegionalCredVerificationURL == "" { sp.RegionalCredVerificationURL = defaultRegionalCredentialVerificationURL } - if sp.requestSigner == nil { - headers := make(map[string]string) - if sp.shouldUseMetadataServer() { - awsSessionToken, err := sp.getAWSSessionToken(ctx) - if err != nil { - return "", err - } - - if awsSessionToken != "" { - headers[awsIMDSv2SessionTokenHeader] = awsSessionToken - } - } - - awsSecurityCredentials, err := sp.getSecurityCredentials(ctx, headers) + headers := make(map[string]string) + if sp.shouldUseMetadataServer() { + awsSessionToken, err := sp.getAWSSessionToken(ctx) if err != nil { return "", err } - if sp.region, err = sp.getRegion(ctx, headers); err != nil { - return "", err - } - sp.requestSigner = &awsRequestSigner{ - RegionName: sp.region, - AwsSecurityCredentials: awsSecurityCredentials, + + if awsSessionToken != "" { + headers[awsIMDSv2SessionTokenHeader] = awsSessionToken } } + awsSecurityCredentials, err := sp.getSecurityCredentials(ctx, headers) + if err != nil { + return "", err + } + if sp.region, err = sp.getRegion(ctx, headers); err != nil { + return "", err + } + sp.requestSigner = &awsRequestSigner{ + RegionName: sp.region, + AwsSecurityCredentials: awsSecurityCredentials, + } + // Generate the signed request to AWS STS GetCallerIdentity API. // Use the required regional endpoint. Otherwise, the request will fail. req, err := http.NewRequestWithContext(ctx, "POST", strings.Replace(sp.RegionalCredVerificationURL, "{region}", sp.region, 1), nil) diff --git a/vendor/cloud.google.com/go/auth/credentials/selfsignedjwt.go b/vendor/cloud.google.com/go/auth/credentials/selfsignedjwt.go index b62a8ae4..6ae29de6 100644 --- a/vendor/cloud.google.com/go/auth/credentials/selfsignedjwt.go +++ b/vendor/cloud.google.com/go/auth/credentials/selfsignedjwt.go @@ -17,6 +17,7 @@ package credentials import ( "context" "crypto/rsa" + "errors" "fmt" "strings" "time" @@ -35,6 +36,9 @@ var ( // configureSelfSignedJWT uses the private key in the service account to create // a JWT without making a network call. func configureSelfSignedJWT(f *credsfile.ServiceAccountFile, opts *DetectOptions) (auth.TokenProvider, error) { + if len(opts.scopes()) == 0 && opts.Audience == "" { + return nil, errors.New("credentials: both scopes and audience are empty") + } pk, err := internal.ParseKey([]byte(f.PrivateKey)) if err != nil { return nil, fmt.Errorf("credentials: could not parse key: %w", err) diff --git a/vendor/cloud.google.com/go/auth/grpctransport/directpath.go b/vendor/cloud.google.com/go/auth/grpctransport/directpath.go index efc91c2b..8696df14 100644 --- a/vendor/cloud.google.com/go/auth/grpctransport/directpath.go +++ b/vendor/cloud.google.com/go/auth/grpctransport/directpath.go @@ -22,7 +22,7 @@ import ( "strings" "cloud.google.com/go/auth" - "cloud.google.com/go/compute/metadata" + "cloud.google.com/go/auth/internal/compute" "google.golang.org/grpc" grpcgoogle "google.golang.org/grpc/credentials/google" ) @@ -55,7 +55,7 @@ func checkDirectPathEndPoint(endpoint string) bool { return true } -func isTokenProviderDirectPathCompatible(tp auth.TokenProvider, _ *Options) bool { +func isTokenProviderDirectPathCompatible(tp auth.TokenProvider, o *Options) bool { if tp == nil { return false } @@ -66,6 +66,9 @@ func isTokenProviderDirectPathCompatible(tp auth.TokenProvider, _ *Options) bool if tok == nil { return false } + if o.InternalOptions != nil && o.InternalOptions.EnableNonDefaultSAForDirectPath { + return true + } if tok.MetadataString("auth.google.tokenSource") != "compute-metadata" { return false } @@ -91,7 +94,7 @@ func isDirectPathXdsUsed(o *Options) bool { // configuration allows the use of direct path. If it does not the provided // grpcOpts and endpoint are returned. func configureDirectPath(grpcOpts []grpc.DialOption, opts *Options, endpoint string, creds *auth.Credentials) ([]grpc.DialOption, string) { - if isDirectPathEnabled(endpoint, opts) && metadata.OnGCE() && isTokenProviderDirectPathCompatible(creds, opts) { + if isDirectPathEnabled(endpoint, opts) && compute.OnComputeEngine() && isTokenProviderDirectPathCompatible(creds, opts) { // Overwrite all of the previously specific DialOptions, DirectPath uses its own set of credentials and certificates. grpcOpts = []grpc.DialOption{ grpc.WithCredentialsBundle(grpcgoogle.NewDefaultCredentialsWithOptions(grpcgoogle.DefaultCredentialsOptions{PerRPCCreds: &grpcCredentialsProvider{creds: creds}}))} diff --git a/vendor/cloud.google.com/go/auth/grpctransport/grpctransport.go b/vendor/cloud.google.com/go/auth/grpctransport/grpctransport.go index 0442a593..fb82686e 100644 --- a/vendor/cloud.google.com/go/auth/grpctransport/grpctransport.go +++ b/vendor/cloud.google.com/go/auth/grpctransport/grpctransport.go @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +// Package grpctransport provides functionality for managing gRPC client +// connections to Google Cloud services. package grpctransport import ( @@ -20,15 +22,18 @@ import ( "errors" "fmt" "net/http" + "os" + "sync" "cloud.google.com/go/auth" "cloud.google.com/go/auth/credentials" "cloud.google.com/go/auth/internal" "cloud.google.com/go/auth/internal/transport" - "go.opencensus.io/plugin/ocgrpc" + "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" "google.golang.org/grpc" grpccreds "google.golang.org/grpc/credentials" grpcinsecure "google.golang.org/grpc/credentials/insecure" + "google.golang.org/grpc/stats" ) const ( @@ -38,7 +43,7 @@ const ( // Check env to decide if using google-c2p resolver for DirectPath traffic. enableDirectPathXdsEnvVar = "GOOGLE_CLOUD_ENABLE_DIRECT_PATH_XDS" - quotaProjectHeaderKey = "X-Goog-User-Project" + quotaProjectHeaderKey = "X-goog-user-project" ) var ( @@ -46,6 +51,27 @@ var ( timeoutDialerOption grpc.DialOption ) +// otelStatsHandler is a singleton otelgrpc.clientHandler to be used across +// all dial connections to avoid the memory leak documented in +// https://github.com/open-telemetry/opentelemetry-go-contrib/issues/4226 +// +// TODO: When this module depends on a version of otelgrpc containing the fix, +// replace this singleton with inline usage for simplicity. +// The fix should be in https://github.com/open-telemetry/opentelemetry-go/pull/5797. +var ( + initOtelStatsHandlerOnce sync.Once + otelStatsHandler stats.Handler +) + +// otelGRPCStatsHandler returns singleton otelStatsHandler for reuse across all +// dial connections. +func otelGRPCStatsHandler() stats.Handler { + initOtelStatsHandlerOnce.Do(func() { + otelStatsHandler = otelgrpc.NewClientHandler() + }) + return otelStatsHandler +} + // ClientCertProvider is a function that returns a TLS client certificate to be // used when opening TLS connections. It follows the same semantics as // [crypto/tls.Config.GetClientCertificate]. @@ -271,7 +297,10 @@ func dial(ctx context.Context, secure bool, opts *Options) (*grpc.ClientConn, er if metadata == nil { metadata = make(map[string]string, 1) } - metadata[quotaProjectHeaderKey] = qp + // Don't overwrite user specified quota + if _, ok := metadata[quotaProjectHeaderKey]; !ok { + metadata[quotaProjectHeaderKey] = qp + } } grpcOpts = append(grpcOpts, grpc.WithPerRPCCredentials(&grpcCredentialsProvider{ @@ -288,10 +317,10 @@ func dial(ctx context.Context, secure bool, opts *Options) (*grpc.ClientConn, er // Add tracing, but before the other options, so that clients can override the // gRPC stats handler. // This assumes that gRPC options are processed in order, left to right. - grpcOpts = addOCStatsHandler(grpcOpts, opts) + grpcOpts = addOpenTelemetryStatsHandler(grpcOpts, opts) grpcOpts = append(grpcOpts, opts.GRPCDialOpts...) - return grpc.DialContext(ctx, endpoint, grpcOpts...) + return grpc.Dial(endpoint, grpcOpts...) } // grpcKeyProvider satisfies https://pkg.go.dev/google.golang.org/grpc/credentials#PerRPCCredentials. @@ -325,15 +354,23 @@ type grpcCredentialsProvider struct { clientUniverseDomain string } -// getClientUniverseDomain returns the default service domain for a given Cloud universe. -// The default value is "googleapis.com". This is the universe domain -// configured for the client, which will be compared to the universe domain -// that is separately configured for the credentials. +// getClientUniverseDomain returns the default service domain for a given Cloud +// universe, with the following precedence: +// +// 1. A non-empty option.WithUniverseDomain or similar client option. +// 2. A non-empty environment variable GOOGLE_CLOUD_UNIVERSE_DOMAIN. +// 3. The default value "googleapis.com". +// +// This is the universe domain configured for the client, which will be compared +// to the universe domain that is separately configured for the credentials. func (c *grpcCredentialsProvider) getClientUniverseDomain() string { - if c.clientUniverseDomain == "" { - return internal.DefaultUniverseDomain + if c.clientUniverseDomain != "" { + return c.clientUniverseDomain + } + if envUD := os.Getenv(internal.UniverseDomainEnvVar); envUD != "" { + return envUD } - return c.clientUniverseDomain + return internal.DefaultUniverseDomain } func (c *grpcCredentialsProvider) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) { @@ -378,9 +415,9 @@ func (c *grpcCredentialsProvider) RequireTransportSecurity() bool { return c.secure } -func addOCStatsHandler(dialOpts []grpc.DialOption, opts *Options) []grpc.DialOption { +func addOpenTelemetryStatsHandler(dialOpts []grpc.DialOption, opts *Options) []grpc.DialOption { if opts.DisableTelemetry { return dialOpts } - return append(dialOpts, grpc.WithStatsHandler(&ocgrpc.ClientHandler{})) + return append(dialOpts, grpc.WithStatsHandler(otelGRPCStatsHandler())) } diff --git a/vendor/cloud.google.com/go/auth/httptransport/httptransport.go b/vendor/cloud.google.com/go/auth/httptransport/httptransport.go index 969c8d4d..cbe5a7a4 100644 --- a/vendor/cloud.google.com/go/auth/httptransport/httptransport.go +++ b/vendor/cloud.google.com/go/auth/httptransport/httptransport.go @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +// Package httptransport provides functionality for managing HTTP client +// connections to Google Cloud services. package httptransport import ( @@ -145,14 +147,21 @@ type InternalOptions struct { // service. DefaultScopes []string // SkipValidation bypasses validation on Options. It should only be used - // internally for clients that needs more control over their transport. + // internally for clients that need more control over their transport. SkipValidation bool + // SkipUniverseDomainValidation skips the verification that the universe + // domain configured for the client matches the universe domain configured + // for the credentials. It should only be used internally for clients that + // need more control over their transport. The default is false. + SkipUniverseDomainValidation bool } // AddAuthorizationMiddleware adds a middleware to the provided client's // transport that sets the Authorization header with the value produced by the // provided [cloud.google.com/go/auth.Credentials]. An error is returned only // if client or creds is nil. +// +// This function does not support setting a universe domain value on the client. func AddAuthorizationMiddleware(client *http.Client, creds *auth.Credentials) error { if client == nil || creds == nil { return fmt.Errorf("httptransport: client and tp must not be nil") @@ -171,7 +180,6 @@ func AddAuthorizationMiddleware(client *http.Client, creds *auth.Credentials) er client.Transport = &authTransport{ creds: creds, base: base, - // TODO(quartzmo): Somehow set clientUniverseDomain from impersonate calls. } return nil } diff --git a/vendor/cloud.google.com/go/auth/httptransport/trace.go b/vendor/cloud.google.com/go/auth/httptransport/trace.go deleted file mode 100644 index 467c477c..00000000 --- a/vendor/cloud.google.com/go/auth/httptransport/trace.go +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package httptransport - -import ( - "encoding/binary" - "encoding/hex" - "fmt" - "net/http" - "strconv" - "strings" - - "go.opencensus.io/trace" - "go.opencensus.io/trace/propagation" -) - -const ( - httpHeaderMaxSize = 200 - cloudTraceHeader = `X-Cloud-Trace-Context` -) - -// asserts the httpFormat fulfills this foreign interface -var _ propagation.HTTPFormat = (*httpFormat)(nil) - -// httpFormat implements propagation.httpFormat to propagate -// traces in HTTP headers for Google Cloud Platform and Cloud Trace. -type httpFormat struct{} - -// SpanContextFromRequest extracts a Cloud Trace span context from incoming requests. -func (f *httpFormat) SpanContextFromRequest(req *http.Request) (sc trace.SpanContext, ok bool) { - h := req.Header.Get(cloudTraceHeader) - // See https://cloud.google.com/trace/docs/faq for the header HTTPFormat. - // Return if the header is empty or missing, or if the header is unreasonably - // large, to avoid making unnecessary copies of a large string. - if h == "" || len(h) > httpHeaderMaxSize { - return trace.SpanContext{}, false - } - - // Parse the trace id field. - slash := strings.Index(h, `/`) - if slash == -1 { - return trace.SpanContext{}, false - } - tid, h := h[:slash], h[slash+1:] - - buf, err := hex.DecodeString(tid) - if err != nil { - return trace.SpanContext{}, false - } - copy(sc.TraceID[:], buf) - - // Parse the span id field. - spanstr := h - semicolon := strings.Index(h, `;`) - if semicolon != -1 { - spanstr, h = h[:semicolon], h[semicolon+1:] - } - sid, err := strconv.ParseUint(spanstr, 10, 64) - if err != nil { - return trace.SpanContext{}, false - } - binary.BigEndian.PutUint64(sc.SpanID[:], sid) - - // Parse the options field, options field is optional. - if !strings.HasPrefix(h, "o=") { - return sc, true - } - o, err := strconv.ParseUint(h[2:], 10, 32) - if err != nil { - return trace.SpanContext{}, false - } - sc.TraceOptions = trace.TraceOptions(o) - return sc, true -} - -// SpanContextToRequest modifies the given request to include a Cloud Trace header. -func (f *httpFormat) SpanContextToRequest(sc trace.SpanContext, req *http.Request) { - sid := binary.BigEndian.Uint64(sc.SpanID[:]) - header := fmt.Sprintf("%s/%d;o=%d", hex.EncodeToString(sc.TraceID[:]), sid, int64(sc.TraceOptions)) - req.Header.Set(cloudTraceHeader, header) -} diff --git a/vendor/cloud.google.com/go/auth/httptransport/transport.go b/vendor/cloud.google.com/go/auth/httptransport/transport.go index 07eea474..ee215b6d 100644 --- a/vendor/cloud.google.com/go/auth/httptransport/transport.go +++ b/vendor/cloud.google.com/go/auth/httptransport/transport.go @@ -19,6 +19,7 @@ import ( "crypto/tls" "net" "net/http" + "os" "time" "cloud.google.com/go/auth" @@ -26,12 +27,12 @@ import ( "cloud.google.com/go/auth/internal" "cloud.google.com/go/auth/internal/transport" "cloud.google.com/go/auth/internal/transport/cert" - "go.opencensus.io/plugin/ochttp" + "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" "golang.org/x/net/http2" ) const ( - quotaProjectHeaderKey = "X-Goog-User-Project" + quotaProjectHeaderKey = "X-goog-user-project" ) func newTransport(base http.RoundTripper, opts *Options) (http.RoundTripper, error) { @@ -41,7 +42,7 @@ func newTransport(base http.RoundTripper, opts *Options) (http.RoundTripper, err headers: headers, } var trans http.RoundTripper = ht - trans = addOCTransport(trans, opts) + trans = addOpenTelemetryTransport(trans, opts) switch { case opts.DisableAuthentication: // Do nothing. @@ -76,13 +77,21 @@ func newTransport(base http.RoundTripper, opts *Options) (http.RoundTripper, err if headers == nil { headers = make(map[string][]string, 1) } - headers.Set(quotaProjectHeaderKey, qp) + // Don't overwrite user specified quota + if v := headers.Get(quotaProjectHeaderKey); v == "" { + headers.Set(quotaProjectHeaderKey, qp) + } + } + var skipUD bool + if iOpts := opts.InternalOptions; iOpts != nil { + skipUD = iOpts.SkipUniverseDomainValidation } creds.TokenProvider = auth.NewCachedTokenProvider(creds.TokenProvider, nil) trans = &authTransport{ - base: trans, - creds: creds, - clientUniverseDomain: opts.UniverseDomain, + base: trans, + creds: creds, + clientUniverseDomain: opts.UniverseDomain, + skipUniverseDomainValidation: skipUD, } } return trans, nil @@ -94,7 +103,11 @@ func newTransport(base http.RoundTripper, opts *Options) (http.RoundTripper, err // http.DefaultTransport. // If TLSCertificate is available, set TLSClientConfig as well. func defaultBaseTransport(clientCertSource cert.Provider, dialTLSContext func(context.Context, string, string) (net.Conn, error)) http.RoundTripper { - trans := http.DefaultTransport.(*http.Transport).Clone() + defaultTransport, ok := http.DefaultTransport.(*http.Transport) + if !ok { + defaultTransport = transport.BaseTransport() + } + trans := defaultTransport.Clone() trans.MaxIdleConnsPerHost = 100 if clientCertSource != nil { @@ -155,29 +168,37 @@ func (t *headerTransport) RoundTrip(req *http.Request) (*http.Response, error) { return rt.RoundTrip(&newReq) } -func addOCTransport(trans http.RoundTripper, opts *Options) http.RoundTripper { +func addOpenTelemetryTransport(trans http.RoundTripper, opts *Options) http.RoundTripper { if opts.DisableTelemetry { return trans } - return &ochttp.Transport{ - Base: trans, - Propagation: &httpFormat{}, - } + return otelhttp.NewTransport(trans) } type authTransport struct { - creds *auth.Credentials - base http.RoundTripper - clientUniverseDomain string + creds *auth.Credentials + base http.RoundTripper + clientUniverseDomain string + skipUniverseDomainValidation bool } -// getClientUniverseDomain returns the universe domain configured for the client. -// The default value is "googleapis.com". +// getClientUniverseDomain returns the default service domain for a given Cloud +// universe, with the following precedence: +// +// 1. A non-empty option.WithUniverseDomain or similar client option. +// 2. A non-empty environment variable GOOGLE_CLOUD_UNIVERSE_DOMAIN. +// 3. The default value "googleapis.com". +// +// This is the universe domain configured for the client, which will be compared +// to the universe domain that is separately configured for the credentials. func (t *authTransport) getClientUniverseDomain() string { - if t.clientUniverseDomain == "" { - return internal.DefaultUniverseDomain + if t.clientUniverseDomain != "" { + return t.clientUniverseDomain + } + if envUD := os.Getenv(internal.UniverseDomainEnvVar); envUD != "" { + return envUD } - return t.clientUniverseDomain + return internal.DefaultUniverseDomain } // RoundTrip authorizes and authenticates the request with an @@ -197,7 +218,7 @@ func (t *authTransport) RoundTrip(req *http.Request) (*http.Response, error) { if err != nil { return nil, err } - if token.MetadataString("auth.google.tokenSource") != "compute-metadata" { + if !t.skipUniverseDomainValidation && token.MetadataString("auth.google.tokenSource") != "compute-metadata" { credentialsUniverseDomain, err := t.creds.UniverseDomain(req.Context()) if err != nil { return nil, err diff --git a/vendor/cloud.google.com/go/auth/internal/compute/compute.go b/vendor/cloud.google.com/go/auth/internal/compute/compute.go new file mode 100644 index 00000000..05c7e8bd --- /dev/null +++ b/vendor/cloud.google.com/go/auth/internal/compute/compute.go @@ -0,0 +1,65 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package compute + +import ( + "log" + "runtime" + "strings" + "sync" +) + +var ( + vmOnGCEOnce sync.Once + vmOnGCE bool +) + +// OnComputeEngine returns whether the client is running on GCE. +// +// This is a copy of the gRPC internal googlecloud.OnGCE() func at: +// https://github.com/grpc/grpc-go/blob/master/internal/googlecloud/googlecloud.go +// The functionality is similar to the metadata.OnGCE() func at: +// https://github.com/googleapis/google-cloud-go/blob/main/compute/metadata/metadata.go +// The difference is that OnComputeEngine() does not perform HTTP or DNS check on the metadata server. +// In particular, OnComputeEngine() will return false on Serverless. +func OnComputeEngine() bool { + vmOnGCEOnce.Do(func() { + mf, err := manufacturer() + if err != nil { + log.Printf("Failed to read manufacturer, vmOnGCE=false: %v", err) + return + } + vmOnGCE = isRunningOnGCE(mf, runtime.GOOS) + }) + return vmOnGCE +} + +// isRunningOnGCE checks whether the local system, without doing a network request, is +// running on GCP. +func isRunningOnGCE(manufacturer []byte, goos string) bool { + name := string(manufacturer) + switch goos { + case "linux": + name = strings.TrimSpace(name) + return name == "Google" || name == "Google Compute Engine" + case "windows": + name = strings.Replace(name, " ", "", -1) + name = strings.Replace(name, "\n", "", -1) + name = strings.Replace(name, "\r", "", -1) + return name == "Google" + default: + return false + } +} diff --git a/vendor/go.opencensus.io/trace/internal/internal.go b/vendor/cloud.google.com/go/auth/internal/compute/manufacturer.go similarity index 64% rename from vendor/go.opencensus.io/trace/internal/internal.go rename to vendor/cloud.google.com/go/auth/internal/compute/manufacturer.go index 7e808d8f..af490bf4 100644 --- a/vendor/go.opencensus.io/trace/internal/internal.go +++ b/vendor/cloud.google.com/go/auth/internal/compute/manufacturer.go @@ -1,10 +1,13 @@ -// Copyright 2018, OpenCensus Authors +//go:build !(linux || windows) +// +build !linux,!windows + +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // -// http://www.apache.org/licenses/LICENSE-2.0 +// http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, @@ -12,11 +15,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package internal provides trace internals. -package internal +package compute -// IDGenerator allows custom generators for TraceId and SpanId. -type IDGenerator interface { - NewTraceID() [16]byte - NewSpanID() [8]byte +func manufacturer() ([]byte, error) { + return nil, nil } diff --git a/vendor/go.opencensus.io/trace/trace_nongo11.go b/vendor/cloud.google.com/go/auth/internal/compute/manufacturer_linux.go similarity index 65% rename from vendor/go.opencensus.io/trace/trace_nongo11.go rename to vendor/cloud.google.com/go/auth/internal/compute/manufacturer_linux.go index da488fc8..d92178df 100644 --- a/vendor/go.opencensus.io/trace/trace_nongo11.go +++ b/vendor/cloud.google.com/go/auth/internal/compute/manufacturer_linux.go @@ -1,10 +1,10 @@ -// Copyright 2018, OpenCensus Authors +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // -// http://www.apache.org/licenses/LICENSE-2.0 +// http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, @@ -12,15 +12,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build !go1.11 -// +build !go1.11 +package compute -package trace +import "os" -import ( - "context" -) +const linuxProductNameFile = "/sys/class/dmi/id/product_name" -func startExecutionTracerTask(ctx context.Context, name string) (context.Context, func()) { - return ctx, func() {} +func manufacturer() ([]byte, error) { + return os.ReadFile(linuxProductNameFile) } diff --git a/vendor/cloud.google.com/go/auth/internal/compute/manufacturer_windows.go b/vendor/cloud.google.com/go/auth/internal/compute/manufacturer_windows.go new file mode 100644 index 00000000..16be9df3 --- /dev/null +++ b/vendor/cloud.google.com/go/auth/internal/compute/manufacturer_windows.go @@ -0,0 +1,46 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package compute + +import ( + "errors" + "os/exec" + "regexp" + "strings" +) + +const ( + windowsCheckCommand = "powershell.exe" + windowsCheckCommandArgs = "Get-WmiObject -Class Win32_BIOS" + powershellOutputFilter = "Manufacturer" + windowsManufacturerRegex = ":(.*)" +) + +func manufacturer() ([]byte, error) { + cmd := exec.Command(windowsCheckCommand, windowsCheckCommandArgs) + out, err := cmd.Output() + if err != nil { + return nil, err + } + for _, line := range strings.Split(strings.TrimSuffix(string(out), "\n"), "\n") { + if strings.HasPrefix(line, powershellOutputFilter) { + re := regexp.MustCompile(windowsManufacturerRegex) + name := re.FindString(line) + name = strings.TrimLeft(name, ":") + return []byte(name), nil + } + } + return nil, errors.New("cannot determine the machine's manufacturer") +} diff --git a/vendor/cloud.google.com/go/auth/internal/internal.go b/vendor/cloud.google.com/go/auth/internal/internal.go index 4308345e..d8c16119 100644 --- a/vendor/cloud.google.com/go/auth/internal/internal.go +++ b/vendor/cloud.google.com/go/auth/internal/internal.go @@ -38,8 +38,11 @@ const ( // QuotaProjectEnvVar is the environment variable for setting the quota // project. QuotaProjectEnvVar = "GOOGLE_CLOUD_QUOTA_PROJECT" - projectEnvVar = "GOOGLE_CLOUD_PROJECT" - maxBodySize = 1 << 20 + // UniverseDomainEnvVar is the environment variable for setting the default + // service domain for a given Cloud universe. + UniverseDomainEnvVar = "GOOGLE_CLOUD_UNIVERSE_DOMAIN" + projectEnvVar = "GOOGLE_CLOUD_PROJECT" + maxBodySize = 1 << 20 // DefaultUniverseDomain is the default value for universe domain. // Universe domain is the default service domain for a given Cloud universe. @@ -197,7 +200,7 @@ func (c *ComputeUniverseDomainProvider) GetProperty(ctx context.Context) (string var httpGetMetadataUniverseDomain = func(ctx context.Context) (string, error) { ctx, cancel := context.WithTimeout(ctx, 1*time.Second) defer cancel() - return metadata.GetWithContext(ctx, "universe/universe_domain") + return metadata.GetWithContext(ctx, "universe/universe-domain") } func getMetadataUniverseDomain(ctx context.Context) (string, error) { diff --git a/vendor/cloud.google.com/go/auth/internal/transport/cba.go b/vendor/cloud.google.com/go/auth/internal/transport/cba.go index 26e037c1..c879611a 100644 --- a/vendor/cloud.google.com/go/auth/internal/transport/cba.go +++ b/vendor/cloud.google.com/go/auth/internal/transport/cba.go @@ -51,17 +51,13 @@ const ( mtlsMDSKey = "/run/google-mds-mtls/client.key" ) -var ( - errUniverseNotSupportedMTLS = errors.New("mTLS is not supported in any universe other than googleapis.com") -) - // Options is a struct that is duplicated information from the individual // transport packages in order to avoid cyclic deps. It correlates 1:1 with // fields on httptransport.Options and grpctransport.Options. type Options struct { Endpoint string - DefaultMTLSEndpoint string DefaultEndpointTemplate string + DefaultMTLSEndpoint string ClientCertProvider cert.Provider Client *http.Client UniverseDomain string @@ -94,6 +90,16 @@ func (o *Options) defaultEndpoint() string { return strings.Replace(o.DefaultEndpointTemplate, universeDomainPlaceholder, o.getUniverseDomain(), 1) } +// defaultMTLSEndpoint returns the DefaultMTLSEndpointTemplate merged with the +// universe domain if the DefaultMTLSEndpointTemplate is set, otherwise returns an +// empty string. +func (o *Options) defaultMTLSEndpoint() string { + if o.DefaultMTLSEndpoint == "" { + return "" + } + return strings.Replace(o.DefaultMTLSEndpoint, universeDomainPlaceholder, o.getUniverseDomain(), 1) +} + // mergedEndpoint merges a user-provided Endpoint of format host[:port] with the // default endpoint. func (o *Options) mergedEndpoint() (string, error) { @@ -133,7 +139,11 @@ func GetGRPCTransportCredsAndEndpoint(opts *Options) (credentials.TransportCrede transportCredsForS2A, err = loadMTLSMDSTransportCreds(mtlsMDSRoot, mtlsMDSKey) if err != nil { log.Printf("Loading MTLS MDS credentials failed: %v", err) - return defaultTransportCreds, config.endpoint, nil + if config.s2aAddress != "" { + s2aAddr = config.s2aAddress + } else { + return defaultTransportCreds, config.endpoint, nil + } } } else if config.s2aAddress != "" { s2aAddr = config.s2aAddress @@ -177,7 +187,11 @@ func GetHTTPTransportConfig(opts *Options) (cert.Provider, func(context.Context, transportCredsForS2A, err = loadMTLSMDSTransportCreds(mtlsMDSRoot, mtlsMDSKey) if err != nil { log.Printf("Loading MTLS MDS credentials failed: %v", err) - return config.clientCertSource, nil, nil + if config.s2aAddress != "" { + s2aAddr = config.s2aAddress + } else { + return config.clientCertSource, nil, nil + } } } else if config.s2aAddress != "" { s2aAddr = config.s2aAddress @@ -248,9 +262,6 @@ func getTransportConfig(opts *Options) (*transportConfig, error) { if !shouldUseS2A(clientCertSource, opts) { return &defaultTransportConfig, nil } - if !opts.isUniverseDomainGDU() { - return nil, errUniverseNotSupportedMTLS - } s2aAddress := GetS2AAddress() mtlsS2AAddress := GetMTLSS2AAddress() @@ -262,7 +273,7 @@ func getTransportConfig(opts *Options) (*transportConfig, error) { endpoint: endpoint, s2aAddress: s2aAddress, mtlsS2AAddress: mtlsS2AAddress, - s2aMTLSEndpoint: opts.DefaultMTLSEndpoint, + s2aMTLSEndpoint: opts.defaultMTLSEndpoint(), }, nil } @@ -308,24 +319,23 @@ type transportConfig struct { // getEndpoint returns the endpoint for the service, taking into account the // user-provided endpoint override "settings.Endpoint". // -// If no endpoint override is specified, we will either return the default endpoint or -// the default mTLS endpoint if a client certificate is available. +// If no endpoint override is specified, we will either return the default +// endpoint or the default mTLS endpoint if a client certificate is available. // -// You can override the default endpoint choice (mtls vs. regular) by setting the -// GOOGLE_API_USE_MTLS_ENDPOINT environment variable. +// You can override the default endpoint choice (mTLS vs. regular) by setting +// the GOOGLE_API_USE_MTLS_ENDPOINT environment variable. // // If the endpoint override is an address (host:port) rather than full base // URL (ex. https://...), then the user-provided address will be merged into // the default endpoint. For example, WithEndpoint("myhost:8000") and -// DefaultEndpointTemplate("https://UNIVERSE_DOMAIN/bar/baz") will return "https://myhost:8080/bar/baz" +// DefaultEndpointTemplate("https://UNIVERSE_DOMAIN/bar/baz") will return +// "https://myhost:8080/bar/baz". Note that this does not apply to the mTLS +// endpoint. func getEndpoint(opts *Options, clientCertSource cert.Provider) (string, error) { if opts.Endpoint == "" { mtlsMode := getMTLSMode() if mtlsMode == mTLSModeAlways || (clientCertSource != nil && mtlsMode == mTLSModeAuto) { - if !opts.isUniverseDomainGDU() { - return "", errUniverseNotSupportedMTLS - } - return opts.DefaultMTLSEndpoint, nil + return opts.defaultMTLSEndpoint(), nil } return opts.defaultEndpoint(), nil } diff --git a/vendor/cloud.google.com/go/auth/internal/transport/cert/enterprise_cert.go b/vendor/cloud.google.com/go/auth/internal/transport/cert/enterprise_cert.go index 36651591..6c954ae1 100644 --- a/vendor/cloud.google.com/go/auth/internal/transport/cert/enterprise_cert.go +++ b/vendor/cloud.google.com/go/auth/internal/transport/cert/enterprise_cert.go @@ -16,7 +16,6 @@ package cert import ( "crypto/tls" - "errors" "github.com/googleapis/enterprise-certificate-proxy/client" ) @@ -37,10 +36,9 @@ type ecpSource struct { func NewEnterpriseCertificateProxyProvider(configFilePath string) (Provider, error) { key, err := client.Cred(configFilePath) if err != nil { - if errors.Is(err, client.ErrCredUnavailable) { - return nil, errSourceUnavailable - } - return nil, err + // TODO(codyoss): once this is fixed upstream can handle this error a + // little better here. But be safe for now and assume unavailable. + return nil, errSourceUnavailable } return (&ecpSource{ diff --git a/vendor/cloud.google.com/go/auth/internal/transport/cert/secureconnect_cert.go b/vendor/cloud.google.com/go/auth/internal/transport/cert/secureconnect_cert.go index 3227aba2..738cb216 100644 --- a/vendor/cloud.google.com/go/auth/internal/transport/cert/secureconnect_cert.go +++ b/vendor/cloud.google.com/go/auth/internal/transport/cert/secureconnect_cert.go @@ -62,11 +62,11 @@ func NewSecureConnectProvider(configFilePath string) (Provider, error) { file, err := os.ReadFile(configFilePath) if err != nil { - if errors.Is(err, os.ErrNotExist) { - // Config file missing means Secure Connect is not supported. - return nil, errSourceUnavailable - } - return nil, err + // Config file missing means Secure Connect is not supported. + // There are non-os.ErrNotExist errors that may be returned. + // (e.g. if the home directory is /dev/null, *nix systems will + // return ENOTDIR instead of ENOENT) + return nil, errSourceUnavailable } var metadata secureConnectMetadata diff --git a/vendor/cloud.google.com/go/auth/internal/transport/cert/workload_cert.go b/vendor/cloud.google.com/go/auth/internal/transport/cert/workload_cert.go index e8675bf8..347aaced 100644 --- a/vendor/cloud.google.com/go/auth/internal/transport/cert/workload_cert.go +++ b/vendor/cloud.google.com/go/auth/internal/transport/cert/workload_cert.go @@ -82,10 +82,7 @@ func (s *workloadSource) getClientCertificate(info *tls.CertificateRequestInfo) func getCertAndKeyFiles(configFilePath string) (string, string, error) { jsonFile, err := os.Open(configFilePath) if err != nil { - if errors.Is(err, os.ErrNotExist) { - return "", "", errSourceUnavailable - } - return "", "", err + return "", "", errSourceUnavailable } byteValue, err := io.ReadAll(jsonFile) diff --git a/vendor/cloud.google.com/go/auth/internal/transport/s2a.go b/vendor/cloud.google.com/go/auth/internal/transport/s2a.go index 4df73edc..37894bfc 100644 --- a/vendor/cloud.google.com/go/auth/internal/transport/s2a.go +++ b/vendor/cloud.google.com/go/auth/internal/transport/s2a.go @@ -15,6 +15,7 @@ package transport import ( + "context" "encoding/json" "fmt" "log" @@ -84,7 +85,7 @@ func getMetadataMTLSAutoConfig() { } var httpGetMetadataMTLSConfig = func() (string, error) { - return metadata.Get(configEndpointSuffix) + return metadata.GetWithContext(context.Background(), configEndpointSuffix) } func queryConfig() (*mtlsConfig, error) { diff --git a/vendor/cloud.google.com/go/auth/internal/transport/transport.go b/vendor/cloud.google.com/go/auth/internal/transport/transport.go index 718a6b17..cc586ec5 100644 --- a/vendor/cloud.google.com/go/auth/internal/transport/transport.go +++ b/vendor/cloud.google.com/go/auth/internal/transport/transport.go @@ -81,12 +81,14 @@ func ValidateUniverseDomain(clientUniverseDomain, credentialsUniverseDomain stri // DefaultHTTPClientWithTLS constructs an HTTPClient using the provided tlsConfig, to support mTLS. func DefaultHTTPClientWithTLS(tlsConfig *tls.Config) *http.Client { - trans := baseTransport() + trans := BaseTransport() trans.TLSClientConfig = tlsConfig return &http.Client{Transport: trans} } -func baseTransport() *http.Transport { +// BaseTransport returns a default [http.Transport] which can be used if +// [http.DefaultTransport] has been overwritten. +func BaseTransport() *http.Transport { return &http.Transport{ Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{ diff --git a/vendor/cloud.google.com/go/auth/oauth2adapt/CHANGES.md b/vendor/cloud.google.com/go/auth/oauth2adapt/CHANGES.md index 7faf6e0c..a1ef2923 100644 --- a/vendor/cloud.google.com/go/auth/oauth2adapt/CHANGES.md +++ b/vendor/cloud.google.com/go/auth/oauth2adapt/CHANGES.md @@ -1,5 +1,19 @@ # Changelog +## [0.2.6](https://github.com/googleapis/google-cloud-go/compare/auth/oauth2adapt/v0.2.5...auth/oauth2adapt/v0.2.6) (2024-11-21) + + +### Bug Fixes + +* **auth/oauth2adapt:** Copy map in tokenSourceAdapter.Token ([#11164](https://github.com/googleapis/google-cloud-go/issues/11164)) ([8cb0cbc](https://github.com/googleapis/google-cloud-go/commit/8cb0cbccdc32886dfb3af49fee04012937d114d2)), refs [#11161](https://github.com/googleapis/google-cloud-go/issues/11161) + +## [0.2.5](https://github.com/googleapis/google-cloud-go/compare/auth/oauth2adapt/v0.2.4...auth/oauth2adapt/v0.2.5) (2024-10-30) + + +### Bug Fixes + +* **auth/oauth2adapt:** Convert token metadata where possible ([#11062](https://github.com/googleapis/google-cloud-go/issues/11062)) ([34bf1c1](https://github.com/googleapis/google-cloud-go/commit/34bf1c164465d66745c0cfdf7cd10a8e2da92e52)) + ## [0.2.4](https://github.com/googleapis/google-cloud-go/compare/auth/oauth2adapt/v0.2.3...auth/oauth2adapt/v0.2.4) (2024-08-08) diff --git a/vendor/cloud.google.com/go/auth/oauth2adapt/oauth2adapt.go b/vendor/cloud.google.com/go/auth/oauth2adapt/oauth2adapt.go index 9835ac57..9cc33e5e 100644 --- a/vendor/cloud.google.com/go/auth/oauth2adapt/oauth2adapt.go +++ b/vendor/cloud.google.com/go/auth/oauth2adapt/oauth2adapt.go @@ -26,6 +26,13 @@ import ( "golang.org/x/oauth2/google" ) +const ( + oauth2TokenSourceKey = "oauth2.google.tokenSource" + oauth2ServiceAccountKey = "oauth2.google.serviceAccount" + authTokenSourceKey = "auth.google.tokenSource" + authServiceAccountKey = "auth.google.serviceAccount" +) + // TokenProviderFromTokenSource converts any [golang.org/x/oauth2.TokenSource] // into a [cloud.google.com/go/auth.TokenProvider]. func TokenProviderFromTokenSource(ts oauth2.TokenSource) auth.TokenProvider { @@ -47,10 +54,21 @@ func (tp *tokenProviderAdapter) Token(context.Context) (*auth.Token, error) { } return nil, err } + // Preserve compute token metadata, for both types of tokens. + metadata := map[string]interface{}{} + if val, ok := tok.Extra(oauth2TokenSourceKey).(string); ok { + metadata[authTokenSourceKey] = val + metadata[oauth2TokenSourceKey] = val + } + if val, ok := tok.Extra(oauth2ServiceAccountKey).(string); ok { + metadata[authServiceAccountKey] = val + metadata[oauth2ServiceAccountKey] = val + } return &auth.Token{ - Value: tok.AccessToken, - Type: tok.Type(), - Expiry: tok.Expiry, + Value: tok.AccessToken, + Type: tok.Type(), + Expiry: tok.Expiry, + Metadata: metadata, }, nil } @@ -76,11 +94,29 @@ func (ts *tokenSourceAdapter) Token() (*oauth2.Token, error) { } return nil, err } - return &oauth2.Token{ + tok2 := &oauth2.Token{ AccessToken: tok.Value, TokenType: tok.Type, Expiry: tok.Expiry, - }, nil + } + // Preserve token metadata. + m := tok.Metadata + if m != nil { + // Copy map to avoid concurrent map writes error (#11161). + metadata := make(map[string]interface{}, len(m)+2) + for k, v := range m { + metadata[k] = v + } + // Append compute token metadata in converted form. + if val, ok := metadata[authTokenSourceKey].(string); ok && val != "" { + metadata[oauth2TokenSourceKey] = val + } + if val, ok := metadata[authServiceAccountKey].(string); ok && val != "" { + metadata[oauth2ServiceAccountKey] = val + } + tok2 = tok2.WithExtra(metadata) + } + return tok2, nil } // AuthCredentialsFromOauth2Credentials converts a [golang.org/x/oauth2/google.Credentials] diff --git a/vendor/cloud.google.com/go/compute/metadata/CHANGES.md b/vendor/cloud.google.com/go/compute/metadata/CHANGES.md index 9594e1e2..da7db19b 100644 --- a/vendor/cloud.google.com/go/compute/metadata/CHANGES.md +++ b/vendor/cloud.google.com/go/compute/metadata/CHANGES.md @@ -1,5 +1,19 @@ # Changes +## [0.5.2](https://github.com/googleapis/google-cloud-go/compare/compute/metadata/v0.5.1...compute/metadata/v0.5.2) (2024-09-20) + + +### Bug Fixes + +* **compute/metadata:** Close Response Body for failed request ([#10891](https://github.com/googleapis/google-cloud-go/issues/10891)) ([e91d45e](https://github.com/googleapis/google-cloud-go/commit/e91d45e4757a9e354114509ba9800085d9e0ff1f)) + +## [0.5.1](https://github.com/googleapis/google-cloud-go/compare/compute/metadata/v0.5.0...compute/metadata/v0.5.1) (2024-09-12) + + +### Bug Fixes + +* **compute/metadata:** Check error chain for retryable error ([#10840](https://github.com/googleapis/google-cloud-go/issues/10840)) ([2bdedef](https://github.com/googleapis/google-cloud-go/commit/2bdedeff621b223d63cebc4355fcf83bc68412cd)) + ## [0.5.0](https://github.com/googleapis/google-cloud-go/compare/compute/metadata/v0.4.0...compute/metadata/v0.5.0) (2024-07-10) diff --git a/vendor/cloud.google.com/go/compute/metadata/metadata.go b/vendor/cloud.google.com/go/compute/metadata/metadata.go index 345080b7..c160b478 100644 --- a/vendor/cloud.google.com/go/compute/metadata/metadata.go +++ b/vendor/cloud.google.com/go/compute/metadata/metadata.go @@ -456,6 +456,9 @@ func (c *Client) getETag(ctx context.Context, suffix string) (value, etag string code = res.StatusCode } if delay, shouldRetry := retryer.Retry(code, reqErr); shouldRetry { + if res != nil && res.Body != nil { + res.Body.Close() + } if err := sleep(ctx, delay); err != nil { return "", "", err } diff --git a/vendor/cloud.google.com/go/compute/metadata/retry_linux.go b/vendor/cloud.google.com/go/compute/metadata/retry_linux.go index bb412f89..2e53f012 100644 --- a/vendor/cloud.google.com/go/compute/metadata/retry_linux.go +++ b/vendor/cloud.google.com/go/compute/metadata/retry_linux.go @@ -17,10 +17,15 @@ package metadata -import "syscall" +import ( + "errors" + "syscall" +) func init() { // Initialize syscallRetryable to return true on transient socket-level // errors. These errors are specific to Linux. - syscallRetryable = func(err error) bool { return err == syscall.ECONNRESET || err == syscall.ECONNREFUSED } + syscallRetryable = func(err error) bool { + return errors.Is(err, syscall.ECONNRESET) || errors.Is(err, syscall.ECONNREFUSED) + } } diff --git a/vendor/cloud.google.com/go/iam/CHANGES.md b/vendor/cloud.google.com/go/iam/CHANGES.md index 63d8364f..1b2dc2ca 100644 --- a/vendor/cloud.google.com/go/iam/CHANGES.md +++ b/vendor/cloud.google.com/go/iam/CHANGES.md @@ -1,6 +1,28 @@ # Changes +## [1.2.2](https://github.com/googleapis/google-cloud-go/compare/iam/v1.2.1...iam/v1.2.2) (2024-10-23) + + +### Bug Fixes + +* **iam:** Update google.golang.org/api to v0.203.0 ([8bb87d5](https://github.com/googleapis/google-cloud-go/commit/8bb87d56af1cba736e0fe243979723e747e5e11e)) +* **iam:** WARNING: On approximately Dec 1, 2024, an update to Protobuf will change service registration function signatures to use an interface instead of a concrete type in generated .pb.go files. This change is expected to affect very few if any users of this client library. For more information, see https://togithub.com/googleapis/google-cloud-go/issues/11020. ([8bb87d5](https://github.com/googleapis/google-cloud-go/commit/8bb87d56af1cba736e0fe243979723e747e5e11e)) + +## [1.2.1](https://github.com/googleapis/google-cloud-go/compare/iam/v1.2.0...iam/v1.2.1) (2024-09-12) + + +### Bug Fixes + +* **iam:** Bump dependencies ([2ddeb15](https://github.com/googleapis/google-cloud-go/commit/2ddeb1544a53188a7592046b98913982f1b0cf04)) + +## [1.2.0](https://github.com/googleapis/google-cloud-go/compare/iam/v1.1.13...iam/v1.2.0) (2024-08-20) + + +### Features + +* **iam:** Add support for Go 1.23 iterators ([84461c0](https://github.com/googleapis/google-cloud-go/commit/84461c0ba464ec2f951987ba60030e37c8a8fc18)) + ## [1.1.13](https://github.com/googleapis/google-cloud-go/compare/iam/v1.1.12...iam/v1.1.13) (2024-08-08) diff --git a/vendor/cloud.google.com/go/iam/apiv1/iampb/iam_policy.pb.go b/vendor/cloud.google.com/go/iam/apiv1/iampb/iam_policy.pb.go index 619b4c4f..56de55be 100644 --- a/vendor/cloud.google.com/go/iam/apiv1/iampb/iam_policy.pb.go +++ b/vendor/cloud.google.com/go/iam/apiv1/iampb/iam_policy.pb.go @@ -363,16 +363,15 @@ var file_google_iam_v1_iam_policy_proto_rawDesc = []byte{ 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x1e, 0xca, 0x41, 0x1b, 0x69, 0x61, 0x6d, 0x2d, 0x6d, 0x65, 0x74, 0x61, 0x2d, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0x7f, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0x7c, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x29, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69, - 0x61, 0x6d, 0x70, 0x62, 0x3b, 0x69, 0x61, 0x6d, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, - 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, - 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x61, 0x6d, 0x70, 0x62, 0x3b, 0x69, 0x61, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/vendor/cloud.google.com/go/pubsub/CHANGES.md b/vendor/cloud.google.com/go/pubsub/CHANGES.md index 64aeb66a..6fa19cb0 100644 --- a/vendor/cloud.google.com/go/pubsub/CHANGES.md +++ b/vendor/cloud.google.com/go/pubsub/CHANGES.md @@ -1,5 +1,76 @@ # Changes +## [1.45.3](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.45.2...pubsub/v1.45.3) (2024-12-04) + + +### Bug Fixes + +* **pubsub:** Convert stream ack deadline seconds from duration ([#11214](https://github.com/googleapis/google-cloud-go/issues/11214)) ([b2b05e4](https://github.com/googleapis/google-cloud-go/commit/b2b05e4515d8e59d7b3bf39432c6356b4450a17b)) + +## [1.45.2](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.45.1...pubsub/v1.45.2) (2024-12-03) + + +### Bug Fixes + +* **pubsub/pstest:** Make invalid filter return error instead of panic ([#11087](https://github.com/googleapis/google-cloud-go/issues/11087)) ([45e1ce7](https://github.com/googleapis/google-cloud-go/commit/45e1ce70e2757b78b868768b93e05da8858bab85)) +* **pubsub:** Only init batch span if trace enabled ([#11193](https://github.com/googleapis/google-cloud-go/issues/11193)) ([f843d50](https://github.com/googleapis/google-cloud-go/commit/f843d50f849c5014eba33d923085f0add41365a6)) +* **pubsub:** Use official semconv variable whenever possible ([#10904](https://github.com/googleapis/google-cloud-go/issues/10904)) ([1ce4b6d](https://github.com/googleapis/google-cloud-go/commit/1ce4b6dc31653ca6f28c50d5149d74b827caaeaa)) + + +### Documentation + +* **pubsub:** MinExtensionPeriod defaults to 60 seconds ([#10791](https://github.com/googleapis/google-cloud-go/issues/10791)) ([cc88fe1](https://github.com/googleapis/google-cloud-go/commit/cc88fe1c8d834903e2b5f8d3a7cc9bbd65c70b29)) + +## [1.45.1](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.45.0...pubsub/v1.45.1) (2024-10-24) + + +### Bug Fixes + +* **pubsub:** Update google.golang.org/api to v0.203.0 ([8bb87d5](https://github.com/googleapis/google-cloud-go/commit/8bb87d56af1cba736e0fe243979723e747e5e11e)) +* **pubsub:** WARNING: On approximately Dec 1, 2024, an update to Protobuf will change service registration function signatures to use an interface instead of a concrete type in generated .pb.go files. This change is expected to affect very few if any users of this client library. For more information, see https://togithub.com/googleapis/google-cloud-go/issues/11020. ([8bb87d5](https://github.com/googleapis/google-cloud-go/commit/8bb87d56af1cba736e0fe243979723e747e5e11e)) + + +### Documentation + +* **pubsub:** Add doc links to top level package doc ([#11029](https://github.com/googleapis/google-cloud-go/issues/11029)) ([fe2ec56](https://github.com/googleapis/google-cloud-go/commit/fe2ec569029d2052885063b6fca90e1a27424b4e)) + +## [1.45.0](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.44.0...pubsub/v1.45.0) (2024-10-22) + + +### Features + +* **pubsub:** Add IngestionFailureEvent to the external proto ([f0b05e2](https://github.com/googleapis/google-cloud-go/commit/f0b05e260435d5e8889b9a0ca0ab215fcde169ab)) +* **pubsub:** Add support for ingestion platform logging settings ([#10969](https://github.com/googleapis/google-cloud-go/issues/10969)) ([c60241f](https://github.com/googleapis/google-cloud-go/commit/c60241f46db2b021d799f621851a352f2baec96e)) + +## [1.44.0](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.43.0...pubsub/v1.44.0) (2024-10-08) + + +### Features + +* **pubsub:** Add ingestion Cloud Storage fields and Platform Logging fields to Topic ([7250d71](https://github.com/googleapis/google-cloud-go/commit/7250d714a638dcd5df3fbe0e91c5f1250c3f80f9)) +* **pubsub:** Add support for cloud storage ingestion topics ([#10959](https://github.com/googleapis/google-cloud-go/issues/10959)) ([1a11675](https://github.com/googleapis/google-cloud-go/commit/1a116759ce0d25fdcb5776bf73c52408ae1ec985)) +* **pubsub:** Return listing information for subscriptions created via Analytics Hub ([fdb4ea9](https://github.com/googleapis/google-cloud-go/commit/fdb4ea99189657880e5f0e0dce16bef1c3aa0d2f)) + + +### Documentation + +* **pubsub:** Update documentation for 31 day subscription message retention ([#10845](https://github.com/googleapis/google-cloud-go/issues/10845)) ([9b4b2fa](https://github.com/googleapis/google-cloud-go/commit/9b4b2fa87864906aeae3a8fda460466f951bc6c9)) + +## [1.43.0](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.42.0...pubsub/v1.43.0) (2024-09-09) + + +### Features + +* **pubsub:** Add support for Go 1.23 iterators ([84461c0](https://github.com/googleapis/google-cloud-go/commit/84461c0ba464ec2f951987ba60030e37c8a8fc18)) +* **pubsub:** Allow trace extraction from protobuf message ([#10827](https://github.com/googleapis/google-cloud-go/issues/10827)) ([caa826c](https://github.com/googleapis/google-cloud-go/commit/caa826cea826473ebf4c806b57b0c3b0a2f0f365)) + + +### Bug Fixes + +* **pubsub:** Add attributes before startSpan ([#10800](https://github.com/googleapis/google-cloud-go/issues/10800)) ([48addbf](https://github.com/googleapis/google-cloud-go/commit/48addbff725ee2bb226ce0ab926415c27fd4ffad)) +* **pubsub:** Bump dependencies ([2ddeb15](https://github.com/googleapis/google-cloud-go/commit/2ddeb1544a53188a7592046b98913982f1b0cf04)) +* **pubsub:** Close grpc streams on retry ([#10624](https://github.com/googleapis/google-cloud-go/issues/10624)) ([79a0e11](https://github.com/googleapis/google-cloud-go/commit/79a0e118c88190cbe1b56250a75b67bd98b0d7f2)) + ## [1.42.0](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.41.0...pubsub/v1.42.0) (2024-08-19) diff --git a/vendor/cloud.google.com/go/pubsub/apiv1/auxiliary.go b/vendor/cloud.google.com/go/pubsub/apiv1/auxiliary.go index 3a9bcffd..46380a0e 100644 --- a/vendor/cloud.google.com/go/pubsub/apiv1/auxiliary.go +++ b/vendor/cloud.google.com/go/pubsub/apiv1/auxiliary.go @@ -41,7 +41,7 @@ type SchemaIterator struct { InternalFetch func(pageSize int, pageToken string) (results []*pubsubpb.Schema, nextPageToken string, err error) } -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. func (it *SchemaIterator) PageInfo() *iterator.PageInfo { return it.pageInfo } @@ -88,7 +88,7 @@ type SnapshotIterator struct { InternalFetch func(pageSize int, pageToken string) (results []*pubsubpb.Snapshot, nextPageToken string, err error) } -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. func (it *SnapshotIterator) PageInfo() *iterator.PageInfo { return it.pageInfo } @@ -135,7 +135,7 @@ type StringIterator struct { InternalFetch func(pageSize int, pageToken string) (results []string, nextPageToken string, err error) } -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. func (it *StringIterator) PageInfo() *iterator.PageInfo { return it.pageInfo } @@ -182,7 +182,7 @@ type SubscriptionIterator struct { InternalFetch func(pageSize int, pageToken string) (results []*pubsubpb.Subscription, nextPageToken string, err error) } -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. func (it *SubscriptionIterator) PageInfo() *iterator.PageInfo { return it.pageInfo } @@ -229,7 +229,7 @@ type TopicIterator struct { InternalFetch func(pageSize int, pageToken string) (results []*pubsubpb.Topic, nextPageToken string, err error) } -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. func (it *TopicIterator) PageInfo() *iterator.PageInfo { return it.pageInfo } diff --git a/vendor/cloud.google.com/go/pubsub/apiv1/auxiliary_go123.go b/vendor/cloud.google.com/go/pubsub/apiv1/auxiliary_go123.go new file mode 100644 index 00000000..c7a04ffb --- /dev/null +++ b/vendor/cloud.google.com/go/pubsub/apiv1/auxiliary_go123.go @@ -0,0 +1,56 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +//go:build go1.23 + +package pubsub + +import ( + "iter" + + pubsubpb "cloud.google.com/go/pubsub/apiv1/pubsubpb" + "github.com/googleapis/gax-go/v2/iterator" +) + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *SchemaIterator) All() iter.Seq2[*pubsubpb.Schema, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *SnapshotIterator) All() iter.Seq2[*pubsubpb.Snapshot, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *StringIterator) All() iter.Seq2[string, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *SubscriptionIterator) All() iter.Seq2[*pubsubpb.Subscription, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *TopicIterator) All() iter.Seq2[*pubsubpb.Topic, error] { + return iterator.RangeAdapter(it.Next) +} diff --git a/vendor/cloud.google.com/go/pubsub/apiv1/doc.go b/vendor/cloud.google.com/go/pubsub/apiv1/doc.go index 650d2334..03aeef34 100644 --- a/vendor/cloud.google.com/go/pubsub/apiv1/doc.go +++ b/vendor/cloud.google.com/go/pubsub/apiv1/doc.go @@ -36,6 +36,7 @@ // // To get started with this package, create a client. // +// // go get cloud.google.com/go/pubsub/apiv1@latest // ctx := context.Background() // // This snippet has been automatically generated and should be regarded as a code template only. // // It will require modifications to work: @@ -54,19 +55,7 @@ // // # Using the Client // -// The following is an example of making an API call with the newly created client. -// -// ctx := context.Background() -// // This snippet has been automatically generated and should be regarded as a code template only. -// // It will require modifications to work: -// // - It may require correct/in-range values for request initialization. -// // - It may require specifying regional endpoints when creating the service client as shown in: -// // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options -// c, err := pubsub.NewSchemaClient(ctx) -// if err != nil { -// // TODO: Handle error. -// } -// defer c.Close() +// The following is an example of making an API call with the newly created client, mentioned above. // // req := &pubsubpb.CommitSchemaRequest{ // // TODO: Fill request struct fields. @@ -93,31 +82,3 @@ // [Debugging Client Libraries]: https://pkg.go.dev/cloud.google.com/go#hdr-Debugging // [Inspecting errors]: https://pkg.go.dev/cloud.google.com/go#hdr-Inspecting_errors package pubsub // import "cloud.google.com/go/pubsub/apiv1" - -import ( - "context" - - "google.golang.org/api/option" -) - -// For more information on implementing a client constructor hook, see -// https://github.com/googleapis/google-cloud-go/wiki/Customizing-constructors. -type clientHookParams struct{} -type clientHook func(context.Context, clientHookParams) ([]option.ClientOption, error) - -var versionClient string - -func getVersionClient() string { - if versionClient == "" { - return "UNKNOWN" - } - return versionClient -} - -// DefaultAuthScopes reports the default set of authentication scopes to use with this package. -func DefaultAuthScopes() []string { - return []string{ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub", - } -} diff --git a/vendor/cloud.google.com/go/pubsub/apiv1/helpers.go b/vendor/cloud.google.com/go/pubsub/apiv1/helpers.go new file mode 100644 index 00000000..51290742 --- /dev/null +++ b/vendor/cloud.google.com/go/pubsub/apiv1/helpers.go @@ -0,0 +1,45 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package pubsub + +import ( + "context" + + "google.golang.org/api/option" +) + +// For more information on implementing a client constructor hook, see +// https://github.com/googleapis/google-cloud-go/wiki/Customizing-constructors. +type clientHookParams struct{} +type clientHook func(context.Context, clientHookParams) ([]option.ClientOption, error) + +var versionClient string + +func getVersionClient() string { + if versionClient == "" { + return "UNKNOWN" + } + return versionClient +} + +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. +func DefaultAuthScopes() []string { + return []string{ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub", + } +} diff --git a/vendor/cloud.google.com/go/pubsub/apiv1/publisher_client.go b/vendor/cloud.google.com/go/pubsub/apiv1/publisher_client.go index 03ac865c..cae0b96f 100644 --- a/vendor/cloud.google.com/go/pubsub/apiv1/publisher_client.go +++ b/vendor/cloud.google.com/go/pubsub/apiv1/publisher_client.go @@ -68,6 +68,7 @@ func defaultPublisherGRPCClientOptions() []option.ClientOption { internaloption.WithDefaultAudience("https://pubsub.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), internaloption.EnableJwtWithScope(), + internaloption.EnableNewAuthLibrary(), option.WithGRPCDialOption(grpc.WithDefaultCallOptions( grpc.MaxCallRecvMsgSize(math.MaxInt32))), } @@ -587,6 +588,7 @@ func defaultPublisherRESTClientOptions() []option.ClientOption { internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://pubsub.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableNewAuthLibrary(), } } diff --git a/vendor/cloud.google.com/go/pubsub/apiv1/pubsubpb/pubsub.pb.go b/vendor/cloud.google.com/go/pubsub/apiv1/pubsubpb/pubsub.pb.go index b266b23b..f18defab 100644 --- a/vendor/cloud.google.com/go/pubsub/apiv1/pubsubpb/pubsub.pb.go +++ b/vendor/cloud.google.com/go/pubsub/apiv1/pubsubpb/pubsub.pb.go @@ -119,6 +119,145 @@ func (IngestionDataSourceSettings_AwsKinesis_State) EnumDescriptor() ([]byte, [] return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{2, 0, 0} } +// Possible states for ingestion from Cloud Storage. +type IngestionDataSourceSettings_CloudStorage_State int32 + +const ( + // Default value. This value is unused. + IngestionDataSourceSettings_CloudStorage_STATE_UNSPECIFIED IngestionDataSourceSettings_CloudStorage_State = 0 + // Ingestion is active. + IngestionDataSourceSettings_CloudStorage_ACTIVE IngestionDataSourceSettings_CloudStorage_State = 1 + // Permission denied encountered while calling the Cloud Storage API. This + // can happen if the Pub/Sub SA has not been granted the + // [appropriate + // permissions](https://cloud.google.com/storage/docs/access-control/iam-permissions): + // - storage.objects.list: to list the objects in a bucket. + // - storage.objects.get: to read the objects in a bucket. + // - storage.buckets.get: to verify the bucket exists. + IngestionDataSourceSettings_CloudStorage_CLOUD_STORAGE_PERMISSION_DENIED IngestionDataSourceSettings_CloudStorage_State = 2 + // Permission denied encountered while publishing to the topic. This can + // happen if the Pub/Sub SA has not been granted the [appropriate publish + // permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher) + IngestionDataSourceSettings_CloudStorage_PUBLISH_PERMISSION_DENIED IngestionDataSourceSettings_CloudStorage_State = 3 + // The provided Cloud Storage bucket doesn't exist. + IngestionDataSourceSettings_CloudStorage_BUCKET_NOT_FOUND IngestionDataSourceSettings_CloudStorage_State = 4 + // The Cloud Storage bucket has too many objects, ingestion will be + // paused. + IngestionDataSourceSettings_CloudStorage_TOO_MANY_OBJECTS IngestionDataSourceSettings_CloudStorage_State = 5 +) + +// Enum value maps for IngestionDataSourceSettings_CloudStorage_State. +var ( + IngestionDataSourceSettings_CloudStorage_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "ACTIVE", + 2: "CLOUD_STORAGE_PERMISSION_DENIED", + 3: "PUBLISH_PERMISSION_DENIED", + 4: "BUCKET_NOT_FOUND", + 5: "TOO_MANY_OBJECTS", + } + IngestionDataSourceSettings_CloudStorage_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "ACTIVE": 1, + "CLOUD_STORAGE_PERMISSION_DENIED": 2, + "PUBLISH_PERMISSION_DENIED": 3, + "BUCKET_NOT_FOUND": 4, + "TOO_MANY_OBJECTS": 5, + } +) + +func (x IngestionDataSourceSettings_CloudStorage_State) Enum() *IngestionDataSourceSettings_CloudStorage_State { + p := new(IngestionDataSourceSettings_CloudStorage_State) + *p = x + return p +} + +func (x IngestionDataSourceSettings_CloudStorage_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IngestionDataSourceSettings_CloudStorage_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_pubsub_v1_pubsub_proto_enumTypes[1].Descriptor() +} + +func (IngestionDataSourceSettings_CloudStorage_State) Type() protoreflect.EnumType { + return &file_google_pubsub_v1_pubsub_proto_enumTypes[1] +} + +func (x IngestionDataSourceSettings_CloudStorage_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IngestionDataSourceSettings_CloudStorage_State.Descriptor instead. +func (IngestionDataSourceSettings_CloudStorage_State) EnumDescriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{2, 1, 0} +} + +// Severity levels of Platform Logs. +type PlatformLogsSettings_Severity int32 + +const ( + // Default value. Logs level is unspecified. Logs will be disabled. + PlatformLogsSettings_SEVERITY_UNSPECIFIED PlatformLogsSettings_Severity = 0 + // Logs will be disabled. + PlatformLogsSettings_DISABLED PlatformLogsSettings_Severity = 1 + // Debug logs and higher-severity logs will be written. + PlatformLogsSettings_DEBUG PlatformLogsSettings_Severity = 2 + // Info logs and higher-severity logs will be written. + PlatformLogsSettings_INFO PlatformLogsSettings_Severity = 3 + // Warning logs and higher-severity logs will be written. + PlatformLogsSettings_WARNING PlatformLogsSettings_Severity = 4 + // Only error logs will be written. + PlatformLogsSettings_ERROR PlatformLogsSettings_Severity = 5 +) + +// Enum value maps for PlatformLogsSettings_Severity. +var ( + PlatformLogsSettings_Severity_name = map[int32]string{ + 0: "SEVERITY_UNSPECIFIED", + 1: "DISABLED", + 2: "DEBUG", + 3: "INFO", + 4: "WARNING", + 5: "ERROR", + } + PlatformLogsSettings_Severity_value = map[string]int32{ + "SEVERITY_UNSPECIFIED": 0, + "DISABLED": 1, + "DEBUG": 2, + "INFO": 3, + "WARNING": 4, + "ERROR": 5, + } +) + +func (x PlatformLogsSettings_Severity) Enum() *PlatformLogsSettings_Severity { + p := new(PlatformLogsSettings_Severity) + *p = x + return p +} + +func (x PlatformLogsSettings_Severity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PlatformLogsSettings_Severity) Descriptor() protoreflect.EnumDescriptor { + return file_google_pubsub_v1_pubsub_proto_enumTypes[2].Descriptor() +} + +func (PlatformLogsSettings_Severity) Type() protoreflect.EnumType { + return &file_google_pubsub_v1_pubsub_proto_enumTypes[2] +} + +func (x PlatformLogsSettings_Severity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PlatformLogsSettings_Severity.Descriptor instead. +func (PlatformLogsSettings_Severity) EnumDescriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{3, 0} +} + // The state of the topic. type Topic_State int32 @@ -158,11 +297,11 @@ func (x Topic_State) String() string { } func (Topic_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_pubsub_v1_pubsub_proto_enumTypes[1].Descriptor() + return file_google_pubsub_v1_pubsub_proto_enumTypes[3].Descriptor() } func (Topic_State) Type() protoreflect.EnumType { - return &file_google_pubsub_v1_pubsub_proto_enumTypes[1] + return &file_google_pubsub_v1_pubsub_proto_enumTypes[3] } func (x Topic_State) Number() protoreflect.EnumNumber { @@ -171,7 +310,7 @@ func (x Topic_State) Number() protoreflect.EnumNumber { // Deprecated: Use Topic_State.Descriptor instead. func (Topic_State) EnumDescriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{3, 0} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{5, 0} } // Possible states for a subscription. @@ -213,11 +352,11 @@ func (x Subscription_State) String() string { } func (Subscription_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_pubsub_v1_pubsub_proto_enumTypes[2].Descriptor() + return file_google_pubsub_v1_pubsub_proto_enumTypes[4].Descriptor() } func (Subscription_State) Type() protoreflect.EnumType { - return &file_google_pubsub_v1_pubsub_proto_enumTypes[2] + return &file_google_pubsub_v1_pubsub_proto_enumTypes[4] } func (x Subscription_State) Number() protoreflect.EnumNumber { @@ -226,7 +365,7 @@ func (x Subscription_State) Number() protoreflect.EnumNumber { // Deprecated: Use Subscription_State.Descriptor instead. func (Subscription_State) EnumDescriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{18, 0} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{20, 0} } // Possible states for a BigQuery subscription. @@ -284,11 +423,11 @@ func (x BigQueryConfig_State) String() string { } func (BigQueryConfig_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_pubsub_v1_pubsub_proto_enumTypes[3].Descriptor() + return file_google_pubsub_v1_pubsub_proto_enumTypes[5].Descriptor() } func (BigQueryConfig_State) Type() protoreflect.EnumType { - return &file_google_pubsub_v1_pubsub_proto_enumTypes[3] + return &file_google_pubsub_v1_pubsub_proto_enumTypes[5] } func (x BigQueryConfig_State) Number() protoreflect.EnumNumber { @@ -297,7 +436,7 @@ func (x BigQueryConfig_State) Number() protoreflect.EnumNumber { // Deprecated: Use BigQueryConfig_State.Descriptor instead. func (BigQueryConfig_State) EnumDescriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{23, 0} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{25, 0} } // Possible states for a Cloud Storage subscription. @@ -352,11 +491,11 @@ func (x CloudStorageConfig_State) String() string { } func (CloudStorageConfig_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_pubsub_v1_pubsub_proto_enumTypes[4].Descriptor() + return file_google_pubsub_v1_pubsub_proto_enumTypes[6].Descriptor() } func (CloudStorageConfig_State) Type() protoreflect.EnumType { - return &file_google_pubsub_v1_pubsub_proto_enumTypes[4] + return &file_google_pubsub_v1_pubsub_proto_enumTypes[6] } func (x CloudStorageConfig_State) Number() protoreflect.EnumNumber { @@ -365,7 +504,7 @@ func (x CloudStorageConfig_State) Number() protoreflect.EnumNumber { // Deprecated: Use CloudStorageConfig_State.Descriptor instead. func (CloudStorageConfig_State) EnumDescriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24, 0} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{26, 0} } // A policy constraining the storage of messages published to the topic. @@ -529,7 +668,11 @@ type IngestionDataSourceSettings struct { // Types that are assignable to Source: // // *IngestionDataSourceSettings_AwsKinesis_ + // *IngestionDataSourceSettings_CloudStorage_ Source isIngestionDataSourceSettings_Source `protobuf_oneof:"source"` + // Optional. Platform Logs settings. If unset, no Platform Logs will be + // generated. + PlatformLogsSettings *PlatformLogsSettings `protobuf:"bytes,4,opt,name=platform_logs_settings,json=platformLogsSettings,proto3" json:"platform_logs_settings,omitempty"` } func (x *IngestionDataSourceSettings) Reset() { @@ -578,6 +721,20 @@ func (x *IngestionDataSourceSettings) GetAwsKinesis() *IngestionDataSourceSettin return nil } +func (x *IngestionDataSourceSettings) GetCloudStorage() *IngestionDataSourceSettings_CloudStorage { + if x, ok := x.GetSource().(*IngestionDataSourceSettings_CloudStorage_); ok { + return x.CloudStorage + } + return nil +} + +func (x *IngestionDataSourceSettings) GetPlatformLogsSettings() *PlatformLogsSettings { + if x != nil { + return x.PlatformLogsSettings + } + return nil +} + type isIngestionDataSourceSettings_Source interface { isIngestionDataSourceSettings_Source() } @@ -587,8 +744,153 @@ type IngestionDataSourceSettings_AwsKinesis_ struct { AwsKinesis *IngestionDataSourceSettings_AwsKinesis `protobuf:"bytes,1,opt,name=aws_kinesis,json=awsKinesis,proto3,oneof"` } +type IngestionDataSourceSettings_CloudStorage_ struct { + // Optional. Cloud Storage. + CloudStorage *IngestionDataSourceSettings_CloudStorage `protobuf:"bytes,2,opt,name=cloud_storage,json=cloudStorage,proto3,oneof"` +} + func (*IngestionDataSourceSettings_AwsKinesis_) isIngestionDataSourceSettings_Source() {} +func (*IngestionDataSourceSettings_CloudStorage_) isIngestionDataSourceSettings_Source() {} + +// Settings for Platform Logs produced by Pub/Sub. +type PlatformLogsSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The minimum severity level of Platform Logs that will be written. + Severity PlatformLogsSettings_Severity `protobuf:"varint,1,opt,name=severity,proto3,enum=google.pubsub.v1.PlatformLogsSettings_Severity" json:"severity,omitempty"` +} + +func (x *PlatformLogsSettings) Reset() { + *x = PlatformLogsSettings{} + if protoimpl.UnsafeEnabled { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PlatformLogsSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlatformLogsSettings) ProtoMessage() {} + +func (x *PlatformLogsSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlatformLogsSettings.ProtoReflect.Descriptor instead. +func (*PlatformLogsSettings) Descriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{3} +} + +func (x *PlatformLogsSettings) GetSeverity() PlatformLogsSettings_Severity { + if x != nil { + return x.Severity + } + return PlatformLogsSettings_SEVERITY_UNSPECIFIED +} + +// Payload of the Platform Log entry sent when a failure is encountered while +// ingesting. +type IngestionFailureEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the import topic. Format is: + // projects/{project_name}/topics/{topic_name}. + Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` + // Required. Error details explaining why ingestion to Pub/Sub has failed. + ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + // Types that are assignable to Failure: + // + // *IngestionFailureEvent_CloudStorageFailure_ + Failure isIngestionFailureEvent_Failure `protobuf_oneof:"failure"` +} + +func (x *IngestionFailureEvent) Reset() { + *x = IngestionFailureEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IngestionFailureEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IngestionFailureEvent) ProtoMessage() {} + +func (x *IngestionFailureEvent) ProtoReflect() protoreflect.Message { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IngestionFailureEvent.ProtoReflect.Descriptor instead. +func (*IngestionFailureEvent) Descriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{4} +} + +func (x *IngestionFailureEvent) GetTopic() string { + if x != nil { + return x.Topic + } + return "" +} + +func (x *IngestionFailureEvent) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +func (m *IngestionFailureEvent) GetFailure() isIngestionFailureEvent_Failure { + if m != nil { + return m.Failure + } + return nil +} + +func (x *IngestionFailureEvent) GetCloudStorageFailure() *IngestionFailureEvent_CloudStorageFailure { + if x, ok := x.GetFailure().(*IngestionFailureEvent_CloudStorageFailure_); ok { + return x.CloudStorageFailure + } + return nil +} + +type isIngestionFailureEvent_Failure interface { + isIngestionFailureEvent_Failure() +} + +type IngestionFailureEvent_CloudStorageFailure_ struct { + // Optional. Failure when ingesting from Cloud Storage. + CloudStorageFailure *IngestionFailureEvent_CloudStorageFailure `protobuf:"bytes,3,opt,name=cloud_storage_failure,json=cloudStorageFailure,proto3,oneof"` +} + +func (*IngestionFailureEvent_CloudStorageFailure_) isIngestionFailureEvent_Failure() {} + // A topic resource. type Topic struct { state protoimpl.MessageState @@ -638,7 +940,7 @@ type Topic struct { func (x *Topic) Reset() { *x = Topic{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[3] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -651,7 +953,7 @@ func (x *Topic) String() string { func (*Topic) ProtoMessage() {} func (x *Topic) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[3] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -664,7 +966,7 @@ func (x *Topic) ProtoReflect() protoreflect.Message { // Deprecated: Use Topic.ProtoReflect.Descriptor instead. func (*Topic) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{3} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{5} } func (x *Topic) GetName() string { @@ -773,7 +1075,7 @@ type PubsubMessage struct { func (x *PubsubMessage) Reset() { *x = PubsubMessage{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[4] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -786,7 +1088,7 @@ func (x *PubsubMessage) String() string { func (*PubsubMessage) ProtoMessage() {} func (x *PubsubMessage) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[4] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -799,7 +1101,7 @@ func (x *PubsubMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use PubsubMessage.ProtoReflect.Descriptor instead. func (*PubsubMessage) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{4} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{6} } func (x *PubsubMessage) GetData() []byte { @@ -851,7 +1153,7 @@ type GetTopicRequest struct { func (x *GetTopicRequest) Reset() { *x = GetTopicRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[5] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -864,7 +1166,7 @@ func (x *GetTopicRequest) String() string { func (*GetTopicRequest) ProtoMessage() {} func (x *GetTopicRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[5] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -877,7 +1179,7 @@ func (x *GetTopicRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTopicRequest.ProtoReflect.Descriptor instead. func (*GetTopicRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{5} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{7} } func (x *GetTopicRequest) GetTopic() string { @@ -906,7 +1208,7 @@ type UpdateTopicRequest struct { func (x *UpdateTopicRequest) Reset() { *x = UpdateTopicRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[6] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -919,7 +1221,7 @@ func (x *UpdateTopicRequest) String() string { func (*UpdateTopicRequest) ProtoMessage() {} func (x *UpdateTopicRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[6] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -932,7 +1234,7 @@ func (x *UpdateTopicRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateTopicRequest.ProtoReflect.Descriptor instead. func (*UpdateTopicRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{6} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{8} } func (x *UpdateTopicRequest) GetTopic() *Topic { @@ -965,7 +1267,7 @@ type PublishRequest struct { func (x *PublishRequest) Reset() { *x = PublishRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[7] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -978,7 +1280,7 @@ func (x *PublishRequest) String() string { func (*PublishRequest) ProtoMessage() {} func (x *PublishRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[7] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -991,7 +1293,7 @@ func (x *PublishRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PublishRequest.ProtoReflect.Descriptor instead. func (*PublishRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{7} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{9} } func (x *PublishRequest) GetTopic() string { @@ -1023,7 +1325,7 @@ type PublishResponse struct { func (x *PublishResponse) Reset() { *x = PublishResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[8] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1036,7 +1338,7 @@ func (x *PublishResponse) String() string { func (*PublishResponse) ProtoMessage() {} func (x *PublishResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[8] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1049,7 +1351,7 @@ func (x *PublishResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PublishResponse.ProtoReflect.Descriptor instead. func (*PublishResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{8} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{10} } func (x *PublishResponse) GetMessageIds() []string { @@ -1079,7 +1381,7 @@ type ListTopicsRequest struct { func (x *ListTopicsRequest) Reset() { *x = ListTopicsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[9] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1092,7 +1394,7 @@ func (x *ListTopicsRequest) String() string { func (*ListTopicsRequest) ProtoMessage() {} func (x *ListTopicsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[9] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1105,7 +1407,7 @@ func (x *ListTopicsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTopicsRequest.ProtoReflect.Descriptor instead. func (*ListTopicsRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{9} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{11} } func (x *ListTopicsRequest) GetProject() string { @@ -1145,7 +1447,7 @@ type ListTopicsResponse struct { func (x *ListTopicsResponse) Reset() { *x = ListTopicsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[10] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1158,7 +1460,7 @@ func (x *ListTopicsResponse) String() string { func (*ListTopicsResponse) ProtoMessage() {} func (x *ListTopicsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[10] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1171,7 +1473,7 @@ func (x *ListTopicsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTopicsResponse.ProtoReflect.Descriptor instead. func (*ListTopicsResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{10} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{12} } func (x *ListTopicsResponse) GetTopics() []*Topic { @@ -1208,7 +1510,7 @@ type ListTopicSubscriptionsRequest struct { func (x *ListTopicSubscriptionsRequest) Reset() { *x = ListTopicSubscriptionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[11] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1221,7 +1523,7 @@ func (x *ListTopicSubscriptionsRequest) String() string { func (*ListTopicSubscriptionsRequest) ProtoMessage() {} func (x *ListTopicSubscriptionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[11] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1234,7 +1536,7 @@ func (x *ListTopicSubscriptionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTopicSubscriptionsRequest.ProtoReflect.Descriptor instead. func (*ListTopicSubscriptionsRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{11} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{13} } func (x *ListTopicSubscriptionsRequest) GetTopic() string { @@ -1276,7 +1578,7 @@ type ListTopicSubscriptionsResponse struct { func (x *ListTopicSubscriptionsResponse) Reset() { *x = ListTopicSubscriptionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[12] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1289,7 +1591,7 @@ func (x *ListTopicSubscriptionsResponse) String() string { func (*ListTopicSubscriptionsResponse) ProtoMessage() {} func (x *ListTopicSubscriptionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[12] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1302,7 +1604,7 @@ func (x *ListTopicSubscriptionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTopicSubscriptionsResponse.ProtoReflect.Descriptor instead. func (*ListTopicSubscriptionsResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{12} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{14} } func (x *ListTopicSubscriptionsResponse) GetSubscriptions() []string { @@ -1339,7 +1641,7 @@ type ListTopicSnapshotsRequest struct { func (x *ListTopicSnapshotsRequest) Reset() { *x = ListTopicSnapshotsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[13] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1352,7 +1654,7 @@ func (x *ListTopicSnapshotsRequest) String() string { func (*ListTopicSnapshotsRequest) ProtoMessage() {} func (x *ListTopicSnapshotsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[13] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1365,7 +1667,7 @@ func (x *ListTopicSnapshotsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTopicSnapshotsRequest.ProtoReflect.Descriptor instead. func (*ListTopicSnapshotsRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{13} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{15} } func (x *ListTopicSnapshotsRequest) GetTopic() string { @@ -1406,7 +1708,7 @@ type ListTopicSnapshotsResponse struct { func (x *ListTopicSnapshotsResponse) Reset() { *x = ListTopicSnapshotsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[14] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1419,7 +1721,7 @@ func (x *ListTopicSnapshotsResponse) String() string { func (*ListTopicSnapshotsResponse) ProtoMessage() {} func (x *ListTopicSnapshotsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[14] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1432,7 +1734,7 @@ func (x *ListTopicSnapshotsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTopicSnapshotsResponse.ProtoReflect.Descriptor instead. func (*ListTopicSnapshotsResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{14} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{16} } func (x *ListTopicSnapshotsResponse) GetSnapshots() []string { @@ -1463,7 +1765,7 @@ type DeleteTopicRequest struct { func (x *DeleteTopicRequest) Reset() { *x = DeleteTopicRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[15] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1476,7 +1778,7 @@ func (x *DeleteTopicRequest) String() string { func (*DeleteTopicRequest) ProtoMessage() {} func (x *DeleteTopicRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[15] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1489,7 +1791,7 @@ func (x *DeleteTopicRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTopicRequest.ProtoReflect.Descriptor instead. func (*DeleteTopicRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{15} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{17} } func (x *DeleteTopicRequest) GetTopic() string { @@ -1513,7 +1815,7 @@ type DetachSubscriptionRequest struct { func (x *DetachSubscriptionRequest) Reset() { *x = DetachSubscriptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[16] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1526,7 +1828,7 @@ func (x *DetachSubscriptionRequest) String() string { func (*DetachSubscriptionRequest) ProtoMessage() {} func (x *DetachSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[16] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1539,7 +1841,7 @@ func (x *DetachSubscriptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DetachSubscriptionRequest.ProtoReflect.Descriptor instead. func (*DetachSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{16} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{18} } func (x *DetachSubscriptionRequest) GetSubscription() string { @@ -1560,7 +1862,7 @@ type DetachSubscriptionResponse struct { func (x *DetachSubscriptionResponse) Reset() { *x = DetachSubscriptionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[17] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1573,7 +1875,7 @@ func (x *DetachSubscriptionResponse) String() string { func (*DetachSubscriptionResponse) ProtoMessage() {} func (x *DetachSubscriptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[17] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1586,7 +1888,7 @@ func (x *DetachSubscriptionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DetachSubscriptionResponse.ProtoReflect.Descriptor instead. func (*DetachSubscriptionResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{17} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{19} } // A subscription resource. If none of `push_config`, `bigquery_config`, or @@ -1649,7 +1951,7 @@ type Subscription struct { // backlog, from the moment a message is published. If `retain_acked_messages` // is true, then this also configures the retention of acknowledged messages, // and thus configures how far back in time a `Seek` can be done. Defaults to - // 7 days. Cannot be more than 7 days or less than 10 minutes. + // 7 days. Cannot be more than 31 days or less than 10 minutes. MessageRetentionDuration *durationpb.Duration `protobuf:"bytes,8,opt,name=message_retention_duration,json=messageRetentionDuration,proto3" json:"message_retention_duration,omitempty"` // Optional. See [Creating and managing // labels](https://cloud.google.com/pubsub/docs/labels). @@ -1719,12 +2021,15 @@ type Subscription struct { // Output only. An output-only field indicating whether or not the // subscription can receive messages. State Subscription_State `protobuf:"varint,19,opt,name=state,proto3,enum=google.pubsub.v1.Subscription_State" json:"state,omitempty"` + // Output only. Information about the associated Analytics Hub subscription. + // Only set if the subscritpion is created by Analytics Hub. + AnalyticsHubSubscriptionInfo *Subscription_AnalyticsHubSubscriptionInfo `protobuf:"bytes,23,opt,name=analytics_hub_subscription_info,json=analyticsHubSubscriptionInfo,proto3" json:"analytics_hub_subscription_info,omitempty"` } func (x *Subscription) Reset() { *x = Subscription{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[18] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1737,7 +2042,7 @@ func (x *Subscription) String() string { func (*Subscription) ProtoMessage() {} func (x *Subscription) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[18] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1750,7 +2055,7 @@ func (x *Subscription) ProtoReflect() protoreflect.Message { // Deprecated: Use Subscription.ProtoReflect.Descriptor instead. func (*Subscription) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{18} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{20} } func (x *Subscription) GetName() string { @@ -1879,6 +2184,13 @@ func (x *Subscription) GetState() Subscription_State { return Subscription_STATE_UNSPECIFIED } +func (x *Subscription) GetAnalyticsHubSubscriptionInfo() *Subscription_AnalyticsHubSubscriptionInfo { + if x != nil { + return x.AnalyticsHubSubscriptionInfo + } + return nil +} + // A policy that specifies how Pub/Sub retries message delivery. // // Retry delay will be exponential based on provided minimum and maximum @@ -1907,7 +2219,7 @@ type RetryPolicy struct { func (x *RetryPolicy) Reset() { *x = RetryPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[19] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1920,7 +2232,7 @@ func (x *RetryPolicy) String() string { func (*RetryPolicy) ProtoMessage() {} func (x *RetryPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[19] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1933,7 +2245,7 @@ func (x *RetryPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use RetryPolicy.ProtoReflect.Descriptor instead. func (*RetryPolicy) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{19} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{21} } func (x *RetryPolicy) GetMinimumBackoff() *durationpb.Duration { @@ -1989,7 +2301,7 @@ type DeadLetterPolicy struct { func (x *DeadLetterPolicy) Reset() { *x = DeadLetterPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[20] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2002,7 +2314,7 @@ func (x *DeadLetterPolicy) String() string { func (*DeadLetterPolicy) ProtoMessage() {} func (x *DeadLetterPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[20] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2015,7 +2327,7 @@ func (x *DeadLetterPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use DeadLetterPolicy.ProtoReflect.Descriptor instead. func (*DeadLetterPolicy) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{20} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22} } func (x *DeadLetterPolicy) GetDeadLetterTopic() string { @@ -2051,7 +2363,7 @@ type ExpirationPolicy struct { func (x *ExpirationPolicy) Reset() { *x = ExpirationPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[21] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2064,7 +2376,7 @@ func (x *ExpirationPolicy) String() string { func (*ExpirationPolicy) ProtoMessage() {} func (x *ExpirationPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[21] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2077,7 +2389,7 @@ func (x *ExpirationPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use ExpirationPolicy.ProtoReflect.Descriptor instead. func (*ExpirationPolicy) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{21} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{23} } func (x *ExpirationPolicy) GetTtl() *durationpb.Duration { @@ -2141,7 +2453,7 @@ type PushConfig struct { func (x *PushConfig) Reset() { *x = PushConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[22] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2154,7 +2466,7 @@ func (x *PushConfig) String() string { func (*PushConfig) ProtoMessage() {} func (x *PushConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[22] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2167,7 +2479,7 @@ func (x *PushConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use PushConfig.ProtoReflect.Descriptor instead. func (*PushConfig) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24} } func (x *PushConfig) GetPushEndpoint() string { @@ -2296,7 +2608,7 @@ type BigQueryConfig struct { func (x *BigQueryConfig) Reset() { *x = BigQueryConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[23] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2309,7 +2621,7 @@ func (x *BigQueryConfig) String() string { func (*BigQueryConfig) ProtoMessage() {} func (x *BigQueryConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[23] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2322,7 +2634,7 @@ func (x *BigQueryConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use BigQueryConfig.ProtoReflect.Descriptor instead. func (*BigQueryConfig) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{23} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{25} } func (x *BigQueryConfig) GetTable() string { @@ -2429,7 +2741,7 @@ type CloudStorageConfig struct { func (x *CloudStorageConfig) Reset() { *x = CloudStorageConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[24] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2442,7 +2754,7 @@ func (x *CloudStorageConfig) String() string { func (*CloudStorageConfig) ProtoMessage() {} func (x *CloudStorageConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[24] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2455,7 +2767,7 @@ func (x *CloudStorageConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use CloudStorageConfig.ProtoReflect.Descriptor instead. func (*CloudStorageConfig) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{26} } func (x *CloudStorageConfig) GetBucket() string { @@ -2594,7 +2906,7 @@ type ReceivedMessage struct { func (x *ReceivedMessage) Reset() { *x = ReceivedMessage{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[25] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2607,7 +2919,7 @@ func (x *ReceivedMessage) String() string { func (*ReceivedMessage) ProtoMessage() {} func (x *ReceivedMessage) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[25] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2620,7 +2932,7 @@ func (x *ReceivedMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ReceivedMessage.ProtoReflect.Descriptor instead. func (*ReceivedMessage) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{25} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{27} } func (x *ReceivedMessage) GetAckId() string { @@ -2658,7 +2970,7 @@ type GetSubscriptionRequest struct { func (x *GetSubscriptionRequest) Reset() { *x = GetSubscriptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[26] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2671,7 +2983,7 @@ func (x *GetSubscriptionRequest) String() string { func (*GetSubscriptionRequest) ProtoMessage() {} func (x *GetSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[26] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2684,7 +2996,7 @@ func (x *GetSubscriptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSubscriptionRequest.ProtoReflect.Descriptor instead. func (*GetSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{26} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{28} } func (x *GetSubscriptionRequest) GetSubscription() string { @@ -2710,7 +3022,7 @@ type UpdateSubscriptionRequest struct { func (x *UpdateSubscriptionRequest) Reset() { *x = UpdateSubscriptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[27] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2723,7 +3035,7 @@ func (x *UpdateSubscriptionRequest) String() string { func (*UpdateSubscriptionRequest) ProtoMessage() {} func (x *UpdateSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[27] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2736,7 +3048,7 @@ func (x *UpdateSubscriptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateSubscriptionRequest.ProtoReflect.Descriptor instead. func (*UpdateSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{27} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{29} } func (x *UpdateSubscriptionRequest) GetSubscription() *Subscription { @@ -2773,7 +3085,7 @@ type ListSubscriptionsRequest struct { func (x *ListSubscriptionsRequest) Reset() { *x = ListSubscriptionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[28] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2786,7 +3098,7 @@ func (x *ListSubscriptionsRequest) String() string { func (*ListSubscriptionsRequest) ProtoMessage() {} func (x *ListSubscriptionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[28] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2799,7 +3111,7 @@ func (x *ListSubscriptionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSubscriptionsRequest.ProtoReflect.Descriptor instead. func (*ListSubscriptionsRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{28} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{30} } func (x *ListSubscriptionsRequest) GetProject() string { @@ -2840,7 +3152,7 @@ type ListSubscriptionsResponse struct { func (x *ListSubscriptionsResponse) Reset() { *x = ListSubscriptionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[29] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2853,7 +3165,7 @@ func (x *ListSubscriptionsResponse) String() string { func (*ListSubscriptionsResponse) ProtoMessage() {} func (x *ListSubscriptionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[29] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2866,7 +3178,7 @@ func (x *ListSubscriptionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSubscriptionsResponse.ProtoReflect.Descriptor instead. func (*ListSubscriptionsResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{29} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{31} } func (x *ListSubscriptionsResponse) GetSubscriptions() []*Subscription { @@ -2897,7 +3209,7 @@ type DeleteSubscriptionRequest struct { func (x *DeleteSubscriptionRequest) Reset() { *x = DeleteSubscriptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[30] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2910,7 +3222,7 @@ func (x *DeleteSubscriptionRequest) String() string { func (*DeleteSubscriptionRequest) ProtoMessage() {} func (x *DeleteSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[30] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2923,7 +3235,7 @@ func (x *DeleteSubscriptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteSubscriptionRequest.ProtoReflect.Descriptor instead. func (*DeleteSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{30} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{32} } func (x *DeleteSubscriptionRequest) GetSubscription() string { @@ -2954,7 +3266,7 @@ type ModifyPushConfigRequest struct { func (x *ModifyPushConfigRequest) Reset() { *x = ModifyPushConfigRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[31] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2967,7 +3279,7 @@ func (x *ModifyPushConfigRequest) String() string { func (*ModifyPushConfigRequest) ProtoMessage() {} func (x *ModifyPushConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[31] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2980,7 +3292,7 @@ func (x *ModifyPushConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ModifyPushConfigRequest.ProtoReflect.Descriptor instead. func (*ModifyPushConfigRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{31} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{33} } func (x *ModifyPushConfigRequest) GetSubscription() string { @@ -3025,7 +3337,7 @@ type PullRequest struct { func (x *PullRequest) Reset() { *x = PullRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[32] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3038,7 +3350,7 @@ func (x *PullRequest) String() string { func (*PullRequest) ProtoMessage() {} func (x *PullRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[32] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3051,7 +3363,7 @@ func (x *PullRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequest.ProtoReflect.Descriptor instead. func (*PullRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{32} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{34} } func (x *PullRequest) GetSubscription() string { @@ -3093,7 +3405,7 @@ type PullResponse struct { func (x *PullResponse) Reset() { *x = PullResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[33] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3106,7 +3418,7 @@ func (x *PullResponse) String() string { func (*PullResponse) ProtoMessage() {} func (x *PullResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[33] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3119,7 +3431,7 @@ func (x *PullResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PullResponse.ProtoReflect.Descriptor instead. func (*PullResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{33} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{35} } func (x *PullResponse) GetReceivedMessages() []*ReceivedMessage { @@ -3155,7 +3467,7 @@ type ModifyAckDeadlineRequest struct { func (x *ModifyAckDeadlineRequest) Reset() { *x = ModifyAckDeadlineRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[34] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3168,7 +3480,7 @@ func (x *ModifyAckDeadlineRequest) String() string { func (*ModifyAckDeadlineRequest) ProtoMessage() {} func (x *ModifyAckDeadlineRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[34] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3181,7 +3493,7 @@ func (x *ModifyAckDeadlineRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ModifyAckDeadlineRequest.ProtoReflect.Descriptor instead. func (*ModifyAckDeadlineRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{34} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{36} } func (x *ModifyAckDeadlineRequest) GetSubscription() string { @@ -3223,7 +3535,7 @@ type AcknowledgeRequest struct { func (x *AcknowledgeRequest) Reset() { *x = AcknowledgeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[35] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3236,7 +3548,7 @@ func (x *AcknowledgeRequest) String() string { func (*AcknowledgeRequest) ProtoMessage() {} func (x *AcknowledgeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[35] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3249,7 +3561,7 @@ func (x *AcknowledgeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AcknowledgeRequest.ProtoReflect.Descriptor instead. func (*AcknowledgeRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{35} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{37} } func (x *AcknowledgeRequest) GetSubscription() string { @@ -3341,7 +3653,7 @@ type StreamingPullRequest struct { func (x *StreamingPullRequest) Reset() { *x = StreamingPullRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[36] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3354,7 +3666,7 @@ func (x *StreamingPullRequest) String() string { func (*StreamingPullRequest) ProtoMessage() {} func (x *StreamingPullRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[36] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3367,7 +3679,7 @@ func (x *StreamingPullRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamingPullRequest.ProtoReflect.Descriptor instead. func (*StreamingPullRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{36} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{38} } func (x *StreamingPullRequest) GetSubscription() string { @@ -3448,7 +3760,7 @@ type StreamingPullResponse struct { func (x *StreamingPullResponse) Reset() { *x = StreamingPullResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[37] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3461,7 +3773,7 @@ func (x *StreamingPullResponse) String() string { func (*StreamingPullResponse) ProtoMessage() {} func (x *StreamingPullResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[37] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3474,7 +3786,7 @@ func (x *StreamingPullResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamingPullResponse.ProtoReflect.Descriptor instead. func (*StreamingPullResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{37} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{39} } func (x *StreamingPullResponse) GetReceivedMessages() []*ReceivedMessage { @@ -3538,7 +3850,7 @@ type CreateSnapshotRequest struct { func (x *CreateSnapshotRequest) Reset() { *x = CreateSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[38] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3551,7 +3863,7 @@ func (x *CreateSnapshotRequest) String() string { func (*CreateSnapshotRequest) ProtoMessage() {} func (x *CreateSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[38] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3564,7 +3876,7 @@ func (x *CreateSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateSnapshotRequest.ProtoReflect.Descriptor instead. func (*CreateSnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{38} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{40} } func (x *CreateSnapshotRequest) GetName() string { @@ -3604,7 +3916,7 @@ type UpdateSnapshotRequest struct { func (x *UpdateSnapshotRequest) Reset() { *x = UpdateSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[39] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3617,7 +3929,7 @@ func (x *UpdateSnapshotRequest) String() string { func (*UpdateSnapshotRequest) ProtoMessage() {} func (x *UpdateSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[39] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3630,7 +3942,7 @@ func (x *UpdateSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateSnapshotRequest.ProtoReflect.Descriptor instead. func (*UpdateSnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{39} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{41} } func (x *UpdateSnapshotRequest) GetSnapshot() *Snapshot { @@ -3681,7 +3993,7 @@ type Snapshot struct { func (x *Snapshot) Reset() { *x = Snapshot{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[40] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3694,7 +4006,7 @@ func (x *Snapshot) String() string { func (*Snapshot) ProtoMessage() {} func (x *Snapshot) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[40] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3707,7 +4019,7 @@ func (x *Snapshot) ProtoReflect() protoreflect.Message { // Deprecated: Use Snapshot.ProtoReflect.Descriptor instead. func (*Snapshot) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{40} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{42} } func (x *Snapshot) GetName() string { @@ -3752,7 +4064,7 @@ type GetSnapshotRequest struct { func (x *GetSnapshotRequest) Reset() { *x = GetSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[41] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3765,7 +4077,7 @@ func (x *GetSnapshotRequest) String() string { func (*GetSnapshotRequest) ProtoMessage() {} func (x *GetSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[41] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3778,7 +4090,7 @@ func (x *GetSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSnapshotRequest.ProtoReflect.Descriptor instead. func (*GetSnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{41} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{43} } func (x *GetSnapshotRequest) GetSnapshot() string { @@ -3808,7 +4120,7 @@ type ListSnapshotsRequest struct { func (x *ListSnapshotsRequest) Reset() { *x = ListSnapshotsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[42] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3821,7 +4133,7 @@ func (x *ListSnapshotsRequest) String() string { func (*ListSnapshotsRequest) ProtoMessage() {} func (x *ListSnapshotsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[42] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3834,7 +4146,7 @@ func (x *ListSnapshotsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSnapshotsRequest.ProtoReflect.Descriptor instead. func (*ListSnapshotsRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{42} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{44} } func (x *ListSnapshotsRequest) GetProject() string { @@ -3875,7 +4187,7 @@ type ListSnapshotsResponse struct { func (x *ListSnapshotsResponse) Reset() { *x = ListSnapshotsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[43] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3888,7 +4200,7 @@ func (x *ListSnapshotsResponse) String() string { func (*ListSnapshotsResponse) ProtoMessage() {} func (x *ListSnapshotsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[43] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3901,7 +4213,7 @@ func (x *ListSnapshotsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSnapshotsResponse.ProtoReflect.Descriptor instead. func (*ListSnapshotsResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{43} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{45} } func (x *ListSnapshotsResponse) GetSnapshots() []*Snapshot { @@ -3932,7 +4244,7 @@ type DeleteSnapshotRequest struct { func (x *DeleteSnapshotRequest) Reset() { *x = DeleteSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[44] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3945,7 +4257,7 @@ func (x *DeleteSnapshotRequest) String() string { func (*DeleteSnapshotRequest) ProtoMessage() {} func (x *DeleteSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[44] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3958,7 +4270,7 @@ func (x *DeleteSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteSnapshotRequest.ProtoReflect.Descriptor instead. func (*DeleteSnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{44} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{46} } func (x *DeleteSnapshotRequest) GetSnapshot() string { @@ -3986,7 +4298,7 @@ type SeekRequest struct { func (x *SeekRequest) Reset() { *x = SeekRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[45] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3999,7 +4311,7 @@ func (x *SeekRequest) String() string { func (*SeekRequest) ProtoMessage() {} func (x *SeekRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[45] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4012,7 +4324,7 @@ func (x *SeekRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SeekRequest.ProtoReflect.Descriptor instead. func (*SeekRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{45} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{47} } func (x *SeekRequest) GetSubscription() string { @@ -4083,7 +4395,7 @@ type SeekResponse struct { func (x *SeekResponse) Reset() { *x = SeekResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[46] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4096,7 +4408,7 @@ func (x *SeekResponse) String() string { func (*SeekResponse) ProtoMessage() {} func (x *SeekResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[46] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4109,7 +4421,7 @@ func (x *SeekResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SeekResponse.ProtoReflect.Descriptor instead. func (*SeekResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{46} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{48} } // Ingestion settings for Amazon Kinesis Data Streams. @@ -4140,7 +4452,7 @@ type IngestionDataSourceSettings_AwsKinesis struct { func (x *IngestionDataSourceSettings_AwsKinesis) Reset() { *x = IngestionDataSourceSettings_AwsKinesis{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[47] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4153,7 +4465,7 @@ func (x *IngestionDataSourceSettings_AwsKinesis) String() string { func (*IngestionDataSourceSettings_AwsKinesis) ProtoMessage() {} func (x *IngestionDataSourceSettings_AwsKinesis) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[47] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4204,47 +4516,53 @@ func (x *IngestionDataSourceSettings_AwsKinesis) GetGcpServiceAccount() string { return "" } -// Contains information needed for generating an -// [OpenID Connect -// token](https://developers.google.com/identity/protocols/OpenIDConnect). -type PushConfig_OidcToken struct { +// Ingestion settings for Cloud Storage. +type IngestionDataSourceSettings_CloudStorage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Optional. [Service account - // email](https://cloud.google.com/iam/docs/service-accounts) - // used for generating the OIDC token. For more information - // on setting up authentication, see - // [Push subscriptions](https://cloud.google.com/pubsub/docs/push). - ServiceAccountEmail string `protobuf:"bytes,1,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"` - // Optional. Audience to be used when generating OIDC token. The audience - // claim identifies the recipients that the JWT is intended for. The - // audience value is a single case-sensitive string. Having multiple values - // (array) for the audience field is not supported. More info about the OIDC - // JWT token audience here: - // https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, - // the Push endpoint URL will be used. - Audience string `protobuf:"bytes,2,opt,name=audience,proto3" json:"audience,omitempty"` -} - -func (x *PushConfig_OidcToken) Reset() { - *x = PushConfig_OidcToken{} + // Output only. An output-only field that indicates the state of the Cloud + // Storage ingestion source. + State IngestionDataSourceSettings_CloudStorage_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.pubsub.v1.IngestionDataSourceSettings_CloudStorage_State" json:"state,omitempty"` + // Optional. Cloud Storage bucket. The bucket name must be without any + // prefix like "gs://". See the [bucket naming requirements] + // (https://cloud.google.com/storage/docs/buckets#naming). + Bucket string `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Defaults to text format. + // + // Types that are assignable to InputFormat: + // + // *IngestionDataSourceSettings_CloudStorage_TextFormat_ + // *IngestionDataSourceSettings_CloudStorage_AvroFormat_ + // *IngestionDataSourceSettings_CloudStorage_PubsubAvroFormat + InputFormat isIngestionDataSourceSettings_CloudStorage_InputFormat `protobuf_oneof:"input_format"` + // Optional. Only objects with a larger or equal creation timestamp will be + // ingested. + MinimumObjectCreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=minimum_object_create_time,json=minimumObjectCreateTime,proto3" json:"minimum_object_create_time,omitempty"` + // Optional. Glob pattern used to match objects that will be ingested. If + // unset, all objects will be ingested. See the [supported + // patterns](https://cloud.google.com/storage/docs/json_api/v1/objects/list#list-objects-and-prefixes-using-glob). + MatchGlob string `protobuf:"bytes,9,opt,name=match_glob,json=matchGlob,proto3" json:"match_glob,omitempty"` +} + +func (x *IngestionDataSourceSettings_CloudStorage) Reset() { + *x = IngestionDataSourceSettings_CloudStorage{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[51] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PushConfig_OidcToken) String() string { +func (x *IngestionDataSourceSettings_CloudStorage) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PushConfig_OidcToken) ProtoMessage() {} +func (*IngestionDataSourceSettings_CloudStorage) ProtoMessage() {} -func (x *PushConfig_OidcToken) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[51] +func (x *IngestionDataSourceSettings_CloudStorage) ProtoReflect() protoreflect.Message { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4255,51 +4573,594 @@ func (x *PushConfig_OidcToken) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PushConfig_OidcToken.ProtoReflect.Descriptor instead. -func (*PushConfig_OidcToken) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22, 0} +// Deprecated: Use IngestionDataSourceSettings_CloudStorage.ProtoReflect.Descriptor instead. +func (*IngestionDataSourceSettings_CloudStorage) Descriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{2, 1} } -func (x *PushConfig_OidcToken) GetServiceAccountEmail() string { +func (x *IngestionDataSourceSettings_CloudStorage) GetState() IngestionDataSourceSettings_CloudStorage_State { if x != nil { - return x.ServiceAccountEmail + return x.State } - return "" + return IngestionDataSourceSettings_CloudStorage_STATE_UNSPECIFIED } -func (x *PushConfig_OidcToken) GetAudience() string { +func (x *IngestionDataSourceSettings_CloudStorage) GetBucket() string { if x != nil { - return x.Audience + return x.Bucket } return "" } -// The payload to the push endpoint is in the form of the JSON representation -// of a PubsubMessage -// (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage). -type PushConfig_PubsubWrapper struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (m *IngestionDataSourceSettings_CloudStorage) GetInputFormat() isIngestionDataSourceSettings_CloudStorage_InputFormat { + if m != nil { + return m.InputFormat + } + return nil } -func (x *PushConfig_PubsubWrapper) Reset() { - *x = PushConfig_PubsubWrapper{} - if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *IngestionDataSourceSettings_CloudStorage) GetTextFormat() *IngestionDataSourceSettings_CloudStorage_TextFormat { + if x, ok := x.GetInputFormat().(*IngestionDataSourceSettings_CloudStorage_TextFormat_); ok { + return x.TextFormat } + return nil } -func (x *PushConfig_PubsubWrapper) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *IngestionDataSourceSettings_CloudStorage) GetAvroFormat() *IngestionDataSourceSettings_CloudStorage_AvroFormat { + if x, ok := x.GetInputFormat().(*IngestionDataSourceSettings_CloudStorage_AvroFormat_); ok { + return x.AvroFormat + } + return nil } -func (*PushConfig_PubsubWrapper) ProtoMessage() {} - +func (x *IngestionDataSourceSettings_CloudStorage) GetPubsubAvroFormat() *IngestionDataSourceSettings_CloudStorage_PubSubAvroFormat { + if x, ok := x.GetInputFormat().(*IngestionDataSourceSettings_CloudStorage_PubsubAvroFormat); ok { + return x.PubsubAvroFormat + } + return nil +} + +func (x *IngestionDataSourceSettings_CloudStorage) GetMinimumObjectCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.MinimumObjectCreateTime + } + return nil +} + +func (x *IngestionDataSourceSettings_CloudStorage) GetMatchGlob() string { + if x != nil { + return x.MatchGlob + } + return "" +} + +type isIngestionDataSourceSettings_CloudStorage_InputFormat interface { + isIngestionDataSourceSettings_CloudStorage_InputFormat() +} + +type IngestionDataSourceSettings_CloudStorage_TextFormat_ struct { + // Optional. Data from Cloud Storage will be interpreted as text. + TextFormat *IngestionDataSourceSettings_CloudStorage_TextFormat `protobuf:"bytes,3,opt,name=text_format,json=textFormat,proto3,oneof"` +} + +type IngestionDataSourceSettings_CloudStorage_AvroFormat_ struct { + // Optional. Data from Cloud Storage will be interpreted in Avro format. + AvroFormat *IngestionDataSourceSettings_CloudStorage_AvroFormat `protobuf:"bytes,4,opt,name=avro_format,json=avroFormat,proto3,oneof"` +} + +type IngestionDataSourceSettings_CloudStorage_PubsubAvroFormat struct { + // Optional. It will be assumed data from Cloud Storage was written via + // [Cloud Storage + // subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage). + PubsubAvroFormat *IngestionDataSourceSettings_CloudStorage_PubSubAvroFormat `protobuf:"bytes,5,opt,name=pubsub_avro_format,json=pubsubAvroFormat,proto3,oneof"` +} + +func (*IngestionDataSourceSettings_CloudStorage_TextFormat_) isIngestionDataSourceSettings_CloudStorage_InputFormat() { +} + +func (*IngestionDataSourceSettings_CloudStorage_AvroFormat_) isIngestionDataSourceSettings_CloudStorage_InputFormat() { +} + +func (*IngestionDataSourceSettings_CloudStorage_PubsubAvroFormat) isIngestionDataSourceSettings_CloudStorage_InputFormat() { +} + +// Configuration for reading Cloud Storage data in text format. Each line of +// text as specified by the delimiter will be set to the `data` field of a +// Pub/Sub message. +type IngestionDataSourceSettings_CloudStorage_TextFormat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. When unset, '\n' is used. + Delimiter *string `protobuf:"bytes,1,opt,name=delimiter,proto3,oneof" json:"delimiter,omitempty"` +} + +func (x *IngestionDataSourceSettings_CloudStorage_TextFormat) Reset() { + *x = IngestionDataSourceSettings_CloudStorage_TextFormat{} + if protoimpl.UnsafeEnabled { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IngestionDataSourceSettings_CloudStorage_TextFormat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IngestionDataSourceSettings_CloudStorage_TextFormat) ProtoMessage() {} + +func (x *IngestionDataSourceSettings_CloudStorage_TextFormat) ProtoReflect() protoreflect.Message { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IngestionDataSourceSettings_CloudStorage_TextFormat.ProtoReflect.Descriptor instead. +func (*IngestionDataSourceSettings_CloudStorage_TextFormat) Descriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{2, 1, 0} +} + +func (x *IngestionDataSourceSettings_CloudStorage_TextFormat) GetDelimiter() string { + if x != nil && x.Delimiter != nil { + return *x.Delimiter + } + return "" +} + +// Configuration for reading Cloud Storage data in Avro binary format. The +// bytes of each object will be set to the `data` field of a Pub/Sub +// message. +type IngestionDataSourceSettings_CloudStorage_AvroFormat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *IngestionDataSourceSettings_CloudStorage_AvroFormat) Reset() { + *x = IngestionDataSourceSettings_CloudStorage_AvroFormat{} + if protoimpl.UnsafeEnabled { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IngestionDataSourceSettings_CloudStorage_AvroFormat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IngestionDataSourceSettings_CloudStorage_AvroFormat) ProtoMessage() {} + +func (x *IngestionDataSourceSettings_CloudStorage_AvroFormat) ProtoReflect() protoreflect.Message { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IngestionDataSourceSettings_CloudStorage_AvroFormat.ProtoReflect.Descriptor instead. +func (*IngestionDataSourceSettings_CloudStorage_AvroFormat) Descriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{2, 1, 1} +} + +// Configuration for reading Cloud Storage data written via [Cloud Storage +// subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage). The +// data and attributes fields of the originally exported Pub/Sub message +// will be restored when publishing. +type IngestionDataSourceSettings_CloudStorage_PubSubAvroFormat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *IngestionDataSourceSettings_CloudStorage_PubSubAvroFormat) Reset() { + *x = IngestionDataSourceSettings_CloudStorage_PubSubAvroFormat{} + if protoimpl.UnsafeEnabled { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IngestionDataSourceSettings_CloudStorage_PubSubAvroFormat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IngestionDataSourceSettings_CloudStorage_PubSubAvroFormat) ProtoMessage() {} + +func (x *IngestionDataSourceSettings_CloudStorage_PubSubAvroFormat) ProtoReflect() protoreflect.Message { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IngestionDataSourceSettings_CloudStorage_PubSubAvroFormat.ProtoReflect.Descriptor instead. +func (*IngestionDataSourceSettings_CloudStorage_PubSubAvroFormat) Descriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{2, 1, 2} +} + +// Specifies the reason why some data may have been left out of +// the desired Pub/Sub message due to the API message limits +// (https://cloud.google.com/pubsub/quotas#resource_limits). For example, +// when the number of attributes is larger than 100, the number of +// attributes is truncated to 100 to respect the limit on the attribute count. +// Other attribute limits are treated similarly. When the size of the desired +// message would've been larger than 10MB, the message won't be published at +// all, and ingestion of the subsequent messages will proceed as normal. +type IngestionFailureEvent_ApiViolationReason struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *IngestionFailureEvent_ApiViolationReason) Reset() { + *x = IngestionFailureEvent_ApiViolationReason{} + if protoimpl.UnsafeEnabled { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IngestionFailureEvent_ApiViolationReason) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IngestionFailureEvent_ApiViolationReason) ProtoMessage() {} + +func (x *IngestionFailureEvent_ApiViolationReason) ProtoReflect() protoreflect.Message { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IngestionFailureEvent_ApiViolationReason.ProtoReflect.Descriptor instead. +func (*IngestionFailureEvent_ApiViolationReason) Descriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{4, 0} +} + +// Set when an Avro file is unsupported or its format is not valid. When this +// occurs, one or more Avro objects won't be ingested. +type IngestionFailureEvent_AvroFailureReason struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *IngestionFailureEvent_AvroFailureReason) Reset() { + *x = IngestionFailureEvent_AvroFailureReason{} + if protoimpl.UnsafeEnabled { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IngestionFailureEvent_AvroFailureReason) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IngestionFailureEvent_AvroFailureReason) ProtoMessage() {} + +func (x *IngestionFailureEvent_AvroFailureReason) ProtoReflect() protoreflect.Message { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IngestionFailureEvent_AvroFailureReason.ProtoReflect.Descriptor instead. +func (*IngestionFailureEvent_AvroFailureReason) Descriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{4, 1} +} + +// Failure when ingesting from a Cloud Storage source. +type IngestionFailureEvent_CloudStorageFailure struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Name of the Cloud Storage bucket used for ingestion. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Optional. Name of the Cloud Storage object which contained the section + // that couldn't be ingested. + ObjectName string `protobuf:"bytes,2,opt,name=object_name,json=objectName,proto3" json:"object_name,omitempty"` + // Optional. Generation of the Cloud Storage object which contained the + // section that couldn't be ingested. + ObjectGeneration int64 `protobuf:"varint,3,opt,name=object_generation,json=objectGeneration,proto3" json:"object_generation,omitempty"` + // Reason why ingestion failed for the specified object. + // + // Types that are assignable to Reason: + // + // *IngestionFailureEvent_CloudStorageFailure_AvroFailureReason + // *IngestionFailureEvent_CloudStorageFailure_ApiViolationReason + Reason isIngestionFailureEvent_CloudStorageFailure_Reason `protobuf_oneof:"reason"` +} + +func (x *IngestionFailureEvent_CloudStorageFailure) Reset() { + *x = IngestionFailureEvent_CloudStorageFailure{} + if protoimpl.UnsafeEnabled { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IngestionFailureEvent_CloudStorageFailure) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IngestionFailureEvent_CloudStorageFailure) ProtoMessage() {} + +func (x *IngestionFailureEvent_CloudStorageFailure) ProtoReflect() protoreflect.Message { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IngestionFailureEvent_CloudStorageFailure.ProtoReflect.Descriptor instead. +func (*IngestionFailureEvent_CloudStorageFailure) Descriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{4, 2} +} + +func (x *IngestionFailureEvent_CloudStorageFailure) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *IngestionFailureEvent_CloudStorageFailure) GetObjectName() string { + if x != nil { + return x.ObjectName + } + return "" +} + +func (x *IngestionFailureEvent_CloudStorageFailure) GetObjectGeneration() int64 { + if x != nil { + return x.ObjectGeneration + } + return 0 +} + +func (m *IngestionFailureEvent_CloudStorageFailure) GetReason() isIngestionFailureEvent_CloudStorageFailure_Reason { + if m != nil { + return m.Reason + } + return nil +} + +func (x *IngestionFailureEvent_CloudStorageFailure) GetAvroFailureReason() *IngestionFailureEvent_AvroFailureReason { + if x, ok := x.GetReason().(*IngestionFailureEvent_CloudStorageFailure_AvroFailureReason); ok { + return x.AvroFailureReason + } + return nil +} + +func (x *IngestionFailureEvent_CloudStorageFailure) GetApiViolationReason() *IngestionFailureEvent_ApiViolationReason { + if x, ok := x.GetReason().(*IngestionFailureEvent_CloudStorageFailure_ApiViolationReason); ok { + return x.ApiViolationReason + } + return nil +} + +type isIngestionFailureEvent_CloudStorageFailure_Reason interface { + isIngestionFailureEvent_CloudStorageFailure_Reason() +} + +type IngestionFailureEvent_CloudStorageFailure_AvroFailureReason struct { + // Optional. Failure encountered when parsing an Avro file. + AvroFailureReason *IngestionFailureEvent_AvroFailureReason `protobuf:"bytes,5,opt,name=avro_failure_reason,json=avroFailureReason,proto3,oneof"` +} + +type IngestionFailureEvent_CloudStorageFailure_ApiViolationReason struct { + // Optional. The Pub/Sub API limits prevented the desired message from + // being published. + ApiViolationReason *IngestionFailureEvent_ApiViolationReason `protobuf:"bytes,6,opt,name=api_violation_reason,json=apiViolationReason,proto3,oneof"` +} + +func (*IngestionFailureEvent_CloudStorageFailure_AvroFailureReason) isIngestionFailureEvent_CloudStorageFailure_Reason() { +} + +func (*IngestionFailureEvent_CloudStorageFailure_ApiViolationReason) isIngestionFailureEvent_CloudStorageFailure_Reason() { +} + +// Information about an associated Analytics Hub subscription +// (https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions). +type Subscription_AnalyticsHubSubscriptionInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The name of the associated Analytics Hub listing resource. + // Pattern: + // "projects/{project}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}" + Listing string `protobuf:"bytes,1,opt,name=listing,proto3" json:"listing,omitempty"` + // Optional. The name of the associated Analytics Hub subscription resource. + // Pattern: + // "projects/{project}/locations/{location}/subscriptions/{subscription}" + Subscription string `protobuf:"bytes,2,opt,name=subscription,proto3" json:"subscription,omitempty"` +} + +func (x *Subscription_AnalyticsHubSubscriptionInfo) Reset() { + *x = Subscription_AnalyticsHubSubscriptionInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Subscription_AnalyticsHubSubscriptionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Subscription_AnalyticsHubSubscriptionInfo) ProtoMessage() {} + +func (x *Subscription_AnalyticsHubSubscriptionInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Subscription_AnalyticsHubSubscriptionInfo.ProtoReflect.Descriptor instead. +func (*Subscription_AnalyticsHubSubscriptionInfo) Descriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{20, 0} +} + +func (x *Subscription_AnalyticsHubSubscriptionInfo) GetListing() string { + if x != nil { + return x.Listing + } + return "" +} + +func (x *Subscription_AnalyticsHubSubscriptionInfo) GetSubscription() string { + if x != nil { + return x.Subscription + } + return "" +} + +// Contains information needed for generating an +// [OpenID Connect +// token](https://developers.google.com/identity/protocols/OpenIDConnect). +type PushConfig_OidcToken struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. [Service account + // email](https://cloud.google.com/iam/docs/service-accounts) + // used for generating the OIDC token. For more information + // on setting up authentication, see + // [Push subscriptions](https://cloud.google.com/pubsub/docs/push). + ServiceAccountEmail string `protobuf:"bytes,1,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"` + // Optional. Audience to be used when generating OIDC token. The audience + // claim identifies the recipients that the JWT is intended for. The + // audience value is a single case-sensitive string. Having multiple values + // (array) for the audience field is not supported. More info about the OIDC + // JWT token audience here: + // https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, + // the Push endpoint URL will be used. + Audience string `protobuf:"bytes,2,opt,name=audience,proto3" json:"audience,omitempty"` +} + +func (x *PushConfig_OidcToken) Reset() { + *x = PushConfig_OidcToken{} + if protoimpl.UnsafeEnabled { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PushConfig_OidcToken) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PushConfig_OidcToken) ProtoMessage() {} + +func (x *PushConfig_OidcToken) ProtoReflect() protoreflect.Message { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PushConfig_OidcToken.ProtoReflect.Descriptor instead. +func (*PushConfig_OidcToken) Descriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24, 0} +} + +func (x *PushConfig_OidcToken) GetServiceAccountEmail() string { + if x != nil { + return x.ServiceAccountEmail + } + return "" +} + +func (x *PushConfig_OidcToken) GetAudience() string { + if x != nil { + return x.Audience + } + return "" +} + +// The payload to the push endpoint is in the form of the JSON representation +// of a PubsubMessage +// (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage). +type PushConfig_PubsubWrapper struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PushConfig_PubsubWrapper) Reset() { + *x = PushConfig_PubsubWrapper{} + if protoimpl.UnsafeEnabled { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PushConfig_PubsubWrapper) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PushConfig_PubsubWrapper) ProtoMessage() {} + func (x *PushConfig_PubsubWrapper) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[52] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4312,7 +5173,7 @@ func (x *PushConfig_PubsubWrapper) ProtoReflect() protoreflect.Message { // Deprecated: Use PushConfig_PubsubWrapper.ProtoReflect.Descriptor instead. func (*PushConfig_PubsubWrapper) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22, 1} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24, 1} } // Sets the `data` field as the HTTP body for delivery. @@ -4330,7 +5191,7 @@ type PushConfig_NoWrapper struct { func (x *PushConfig_NoWrapper) Reset() { *x = PushConfig_NoWrapper{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[53] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4343,7 +5204,7 @@ func (x *PushConfig_NoWrapper) String() string { func (*PushConfig_NoWrapper) ProtoMessage() {} func (x *PushConfig_NoWrapper) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[53] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4356,7 +5217,7 @@ func (x *PushConfig_NoWrapper) ProtoReflect() protoreflect.Message { // Deprecated: Use PushConfig_NoWrapper.ProtoReflect.Descriptor instead. func (*PushConfig_NoWrapper) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22, 2} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24, 2} } func (x *PushConfig_NoWrapper) GetWriteMetadata() bool { @@ -4378,7 +5239,7 @@ type CloudStorageConfig_TextConfig struct { func (x *CloudStorageConfig_TextConfig) Reset() { *x = CloudStorageConfig_TextConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[55] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4391,7 +5252,7 @@ func (x *CloudStorageConfig_TextConfig) String() string { func (*CloudStorageConfig_TextConfig) ProtoMessage() {} func (x *CloudStorageConfig_TextConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[55] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4404,7 +5265,7 @@ func (x *CloudStorageConfig_TextConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use CloudStorageConfig_TextConfig.ProtoReflect.Descriptor instead. func (*CloudStorageConfig_TextConfig) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24, 0} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{26, 0} } // Configuration for writing message data in Avro format. @@ -4429,7 +5290,7 @@ type CloudStorageConfig_AvroConfig struct { func (x *CloudStorageConfig_AvroConfig) Reset() { *x = CloudStorageConfig_AvroConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[56] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4442,7 +5303,7 @@ func (x *CloudStorageConfig_AvroConfig) String() string { func (*CloudStorageConfig_AvroConfig) ProtoMessage() {} func (x *CloudStorageConfig_AvroConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[56] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4455,7 +5316,7 @@ func (x *CloudStorageConfig_AvroConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use CloudStorageConfig_AvroConfig.ProtoReflect.Descriptor instead. func (*CloudStorageConfig_AvroConfig) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24, 1} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{26, 1} } func (x *CloudStorageConfig_AvroConfig) GetWriteMetadata() bool { @@ -4494,7 +5355,7 @@ type StreamingPullResponse_AcknowledgeConfirmation struct { func (x *StreamingPullResponse_AcknowledgeConfirmation) Reset() { *x = StreamingPullResponse_AcknowledgeConfirmation{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[57] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4507,7 +5368,7 @@ func (x *StreamingPullResponse_AcknowledgeConfirmation) String() string { func (*StreamingPullResponse_AcknowledgeConfirmation) ProtoMessage() {} func (x *StreamingPullResponse_AcknowledgeConfirmation) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[57] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4520,7 +5381,7 @@ func (x *StreamingPullResponse_AcknowledgeConfirmation) ProtoReflect() protorefl // Deprecated: Use StreamingPullResponse_AcknowledgeConfirmation.ProtoReflect.Descriptor instead. func (*StreamingPullResponse_AcknowledgeConfirmation) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{37, 0} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{39, 0} } func (x *StreamingPullResponse_AcknowledgeConfirmation) GetAckIds() []string { @@ -4571,7 +5432,7 @@ type StreamingPullResponse_ModifyAckDeadlineConfirmation struct { func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) Reset() { *x = StreamingPullResponse_ModifyAckDeadlineConfirmation{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[58] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4584,7 +5445,7 @@ func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) String() string { func (*StreamingPullResponse_ModifyAckDeadlineConfirmation) ProtoMessage() {} func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[58] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4597,7 +5458,7 @@ func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) ProtoReflect() pro // Deprecated: Use StreamingPullResponse_ModifyAckDeadlineConfirmation.ProtoReflect.Descriptor instead. func (*StreamingPullResponse_ModifyAckDeadlineConfirmation) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{37, 1} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{39, 1} } func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) GetAckIds() []string { @@ -4637,7 +5498,7 @@ type StreamingPullResponse_SubscriptionProperties struct { func (x *StreamingPullResponse_SubscriptionProperties) Reset() { *x = StreamingPullResponse_SubscriptionProperties{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[59] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4650,7 +5511,7 @@ func (x *StreamingPullResponse_SubscriptionProperties) String() string { func (*StreamingPullResponse_SubscriptionProperties) ProtoMessage() {} func (x *StreamingPullResponse_SubscriptionProperties) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[59] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4663,7 +5524,7 @@ func (x *StreamingPullResponse_SubscriptionProperties) ProtoReflect() protorefle // Deprecated: Use StreamingPullResponse_SubscriptionProperties.ProtoReflect.Descriptor instead. func (*StreamingPullResponse_SubscriptionProperties) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{37, 2} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{39, 2} } func (x *StreamingPullResponse_SubscriptionProperties) GetExactlyOnceDeliveryEnabled() bool { @@ -4727,7 +5588,7 @@ var file_google_pubsub_v1_pubsub_proto_rawDesc = []byte{ 0x6e, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x22, 0xb4, 0x04, 0x0a, 0x1b, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x22, 0x80, 0x0d, 0x0a, 0x1b, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x61, 0x77, 0x73, 0x5f, 0x6b, 0x69, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, @@ -4735,1021 +5596,1158 @@ var file_google_pubsub_v1_pubsub_proto_rawDesc = []byte{ 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x41, 0x77, 0x73, 0x4b, 0x69, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x77, 0x73, 0x4b, 0x69, 0x6e, - 0x65, 0x73, 0x69, 0x73, 0x1a, 0xa8, 0x03, 0x0a, 0x0a, 0x41, 0x77, 0x73, 0x4b, 0x69, 0x6e, 0x65, - 0x73, 0x69, 0x73, 0x12, 0x59, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x2e, 0x41, 0x77, 0x73, 0x4b, 0x69, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, - 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, - 0x72, 0x6e, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x61, - 0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, - 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x41, 0x72, 0x6e, 0x12, 0x25, 0x0a, 0x0c, 0x61, 0x77, - 0x73, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x77, 0x73, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x72, - 0x6e, 0x12, 0x33, 0x0a, 0x13, 0x67, 0x63, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x11, 0x67, 0x63, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x96, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, - 0x45, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x4b, 0x49, 0x4e, 0x45, 0x53, 0x49, 0x53, 0x5f, 0x50, - 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, - 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x50, 0x45, - 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, - 0x03, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, - 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4e, 0x53, 0x55, - 0x4d, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x05, 0x42, - 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd2, 0x06, 0x0a, 0x05, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x06, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, + 0x65, 0x73, 0x69, 0x73, 0x12, 0x66, 0x0a, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x61, 0x0a, 0x16, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x61, - 0x0a, 0x16, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x25, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x6b, 0x6d, - 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, - 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, - 0x7a, 0x73, 0x12, 0x5c, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, - 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x18, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x77, 0x0a, 0x1e, 0x69, 0x6e, - 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x48, - 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, - 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e, - 0x47, 0x45, 0x53, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x3a, 0x54, 0xea, 0x41, 0x51, 0x0a, 0x1b, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x21, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x7d, 0x12, 0x0f, 0x5f, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x2d, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x22, 0xc3, - 0x02, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x0a, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, + 0xa8, 0x03, 0x0a, 0x0a, 0x41, 0x77, 0x73, 0x4b, 0x69, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x12, 0x59, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, - 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x3d, - 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, - 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, - 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, - 0x8d, 0x01, 0x0a, 0x0e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x2e, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x41, 0x77, 0x73, + 0x4b, 0x69, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x72, 0x6e, 0x12, 0x26, 0x0a, + 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x61, 0x72, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, + 0x65, 0x72, 0x41, 0x72, 0x6e, 0x12, 0x25, 0x0a, 0x0c, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x6f, 0x6c, + 0x65, 0x5f, 0x61, 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0a, 0x61, 0x77, 0x73, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x72, 0x6e, 0x12, 0x33, 0x0a, 0x13, + 0x67, 0x63, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, + 0x67, 0x63, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0x96, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1d, + 0x0a, 0x19, 0x4b, 0x49, 0x4e, 0x45, 0x53, 0x49, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, + 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1d, 0x0a, + 0x19, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, + 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, + 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x52, 0x5f, 0x4e, + 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x05, 0x1a, 0xfe, 0x06, 0x0a, 0x0c, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x5b, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x6d, 0x0a, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x46, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x12, 0x6d, 0x0a, 0x0b, 0x61, 0x76, 0x72, 0x6f, 0x5f, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x67, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x76, 0x72, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x76, 0x72, 0x6f, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x12, 0x80, 0x01, 0x0a, 0x12, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x61, + 0x76, 0x72, 0x6f, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x75, 0x62, + 0x53, 0x75, 0x62, 0x41, 0x76, 0x72, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x41, 0x76, 0x72, 0x6f, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x5c, 0x0a, 0x1a, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, + 0x6d, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x17, 0x6d, 0x69, 0x6e, + 0x69, 0x6d, 0x75, 0x6d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x67, 0x6c, + 0x6f, 0x62, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x47, 0x6c, 0x6f, 0x62, 0x1a, 0x42, 0x0a, 0x0a, 0x54, 0x65, 0x78, 0x74, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x26, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x1a, 0x0c, 0x0a, 0x0a, + 0x41, 0x76, 0x72, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x1a, 0x12, 0x0a, 0x10, 0x50, 0x75, + 0x62, 0x53, 0x75, 0x62, 0x41, 0x76, 0x72, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x9a, + 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x43, + 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x45, 0x52, + 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x02, + 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x50, 0x45, 0x52, 0x4d, + 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x03, 0x12, + 0x14, 0x0a, 0x10, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, + 0x55, 0x4e, 0x44, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, + 0x59, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x10, 0x05, 0x42, 0x0e, 0x0a, 0x0c, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x50, + 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x6f, 0x67, 0x73, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, + 0x22, 0x5f, 0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, + 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, + 0x45, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x02, 0x12, + 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, + 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, + 0x05, 0x22, 0x88, 0x05, 0x0a, 0x15, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x46, + 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x76, 0x0a, 0x15, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, + 0x75, 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x00, 0x52, 0x13, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x1a, 0x14, 0x0a, 0x12, 0x41, 0x70, 0x69, 0x56, + 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x1a, 0x13, + 0x0a, 0x11, 0x41, 0x76, 0x72, 0x6f, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x1a, 0xfb, 0x02, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, + 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x70, 0x0a, 0x13, 0x61, 0x76, 0x72, 0x6f, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, + 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x76, 0x72, 0x6f, 0x46, 0x61, 0x69, 0x6c, 0x75, + 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, + 0x11, 0x61, 0x76, 0x72, 0x6f, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x12, 0x73, 0x0a, 0x14, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, + 0x6c, 0x75, 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x69, 0x6f, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x00, 0x52, 0x12, 0x61, 0x70, 0x69, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0xd2, 0x06, 0x0a, + 0x05, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x40, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x12, 0x61, 0x0a, 0x16, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x73, + 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, + 0x65, 0x73, 0x50, 0x7a, 0x73, 0x12, 0x5c, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x18, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x77, 0x0a, + 0x1e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x69, 0x6e, 0x67, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x48, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, + 0x18, 0x49, 0x4e, 0x47, 0x45, 0x53, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, + 0x52, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x3a, 0x54, 0xea, 0x41, 0x51, + 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x21, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x7d, + 0x12, 0x0f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x2d, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x5f, 0x22, 0xc3, 0x02, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x0a, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, + 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x26, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x05, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, + 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x73, 0x6b, 0x22, 0x8d, 0x01, 0x0a, 0x0e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x22, 0x37, 0x0a, 0x0f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x11, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x77, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, + 0x63, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0xa0, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0x9f, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, + 0x01, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9c, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, - 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, - 0x37, 0x0a, 0x0f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, - 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, + 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x22, 0x77, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, - 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, - 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa0, 0x01, 0x0a, - 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, - 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, - 0x9f, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x01, 0xfa, 0x41, - 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x6b, 0x65, 0x6e, 0x22, 0x6c, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x21, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0x9c, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, - 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0x6c, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, - 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4f, - 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x22, - 0x6b, 0x0a, 0x19, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1c, 0x0a, 0x1a, - 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9e, 0x0b, 0x0a, 0x0c, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, + 0x6e, 0x22, 0x4f, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x22, 0x6b, 0x0a, 0x19, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x1c, 0x0a, 0x1a, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x90, 0x0d, + 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x12, 0x42, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x14, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x12, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x14, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, + 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, + 0x69, 0x6e, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x37, 0x0a, 0x15, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x41, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, + 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x18, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x47, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x17, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x54, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1b, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x12, 0x64, 0x65, + 0x61, 0x64, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x61, 0x64, 0x4c, 0x65, + 0x74, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x10, 0x64, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x45, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x74, + 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x65, 0x74, 0x61, + 0x63, 0x68, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x08, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x1c, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x5f, 0x6f, 0x6e, 0x63, 0x65, + 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x61, 0x63, + 0x74, 0x6c, 0x79, 0x4f, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x12, + 0x67, 0x0a, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1d, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x1f, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x68, 0x75, 0x62, 0x5f, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x17, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x48, 0x75, 0x62, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x48, 0x75, 0x62, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x1a, 0x66, 0x0a, 0x1c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x48, 0x75, 0x62, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x07, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6c, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3e, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, + 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x3a, 0x58, 0xea, 0x41, 0x55, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, - 0x42, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, - 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x14, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x35, 0x0a, 0x14, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, - 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x12, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x37, 0x0a, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, - 0x6e, 0x5f, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x72, 0x65, 0x74, - 0x61, 0x69, 0x6e, 0x41, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x12, 0x5c, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x65, - 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x18, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x74, - 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, - 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x69, 0x6e, 0x67, 0x12, 0x54, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x12, 0x64, 0x65, 0x61, 0x64, 0x5f, - 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, - 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x64, 0x65, - 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x45, - 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, - 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, - 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64, 0x65, - 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x5f, 0x6f, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x65, - 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, - 0x4f, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x12, 0x67, 0x0a, 0x20, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, - 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1d, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x13, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, - 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x3e, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, - 0x0e, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x02, 0x3a, 0x58, 0xea, 0x41, 0x55, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x22, 0x9f, 0x01, 0x0a, 0x0b, - 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x47, 0x0a, 0x0f, 0x6d, - 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x61, 0x63, - 0x6b, 0x6f, 0x66, 0x66, 0x12, 0x47, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, - 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, - 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0x7c, 0x0a, - 0x10, 0x44, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x2f, 0x0a, 0x11, 0x64, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, - 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0f, 0x64, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x12, 0x37, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x79, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x6c, 0x69, 0x76, - 0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x22, 0x44, 0x0a, 0x10, 0x45, - 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x30, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x03, 0x74, 0x74, - 0x6c, 0x22, 0x93, 0x05, 0x0a, 0x0a, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x70, 0x75, - 0x73, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x0a, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x4c, 0x0a, - 0x0a, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x4f, 0x69, 0x64, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, - 0x52, 0x09, 0x6f, 0x69, 0x64, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x58, 0x0a, 0x0e, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, + 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x22, 0x9f, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x47, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x62, 0x61, 0x63, 0x6b, + 0x6f, 0x66, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, + 0x75, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x12, 0x47, 0x0a, 0x0f, 0x6d, 0x61, 0x78, + 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x6f, + 0x66, 0x66, 0x22, 0x7c, 0x0a, 0x10, 0x44, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2f, 0x0a, 0x11, 0x64, 0x65, 0x61, 0x64, 0x5f, 0x6c, + 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, + 0x65, 0x72, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x37, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x64, + 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x6d, 0x61, 0x78, + 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, + 0x22, 0x44, 0x0a, 0x10, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x22, 0x93, 0x05, 0x0a, 0x0a, 0x50, 0x75, 0x73, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0c, 0x70, 0x75, 0x73, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x51, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x57, 0x72, - 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x6e, 0x6f, 0x5f, 0x77, 0x72, 0x61, 0x70, - 0x70, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, - 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, - 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x6e, 0x6f, 0x57, 0x72, 0x61, 0x70, - 0x70, 0x65, 0x72, 0x1a, 0x65, 0x0a, 0x09, 0x4f, 0x69, 0x64, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x0a, 0x08, 0x61, 0x75, 0x64, - 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x0f, 0x0a, 0x0d, 0x50, 0x75, - 0x62, 0x73, 0x75, 0x62, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x1a, 0x37, 0x0a, 0x09, 0x4e, - 0x6f, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x0e, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x09, 0x0a, 0x07, - 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x22, 0xf3, 0x03, 0x0a, 0x0e, 0x42, 0x69, 0x67, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2a, 0x0a, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x33, 0x0a, 0x13, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, - 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x11, 0x64, 0x72, 0x6f, 0x70, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, - 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x67, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0a, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x69, 0x64, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x58, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x57, 0x72, 0x61, + 0x70, 0x70, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0d, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x6e, 0x6f, + 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x57, + 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x6e, + 0x6f, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x1a, 0x65, 0x0a, 0x09, 0x4f, 0x69, 0x64, 0x63, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1f, + 0x0a, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x1a, + 0x0f, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, + 0x1a, 0x37, 0x0a, 0x09, 0x4e, 0x6f, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x2a, 0x0a, + 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x68, + 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x42, 0x09, 0x0a, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x22, 0xf3, 0x03, 0x0a, + 0x0e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x19, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, + 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2a, 0x0a, 0x0e, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x13, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x75, 0x6e, + 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x64, 0x72, 0x6f, 0x70, 0x55, 0x6e, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, + 0x10, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x75, 0x73, + 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x37, 0x0a, 0x15, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x8a, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, + 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, + 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, + 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x43, 0x48, 0x45, + 0x4d, 0x41, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x04, 0x12, 0x23, 0x0a, + 0x1f, 0x49, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0x05, 0x22, 0xa0, 0x07, 0x0a, 0x12, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x12, 0x2c, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x75, 0x66, 0x66, + 0x69, 0x78, 0x12, 0x3d, 0x0a, 0x18, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x64, + 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x66, 0x69, 0x6c, 0x65, 0x6e, + 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x12, 0x57, 0x0a, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x65, 0x78, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, + 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a, 0x0b, 0x61, 0x76, + 0x72, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x76, 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x76, 0x72, 0x6f, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, + 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x12, 0x45, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x73, 0x65, 0x72, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, - 0x22, 0x8a, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, - 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, - 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, - 0x44, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x4d, 0x49, - 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x04, 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4e, 0x5f, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x22, 0xa0, 0x07, - 0x0a, 0x12, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, - 0x2c, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x66, 0x66, - 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x66, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x3d, 0x0a, - 0x18, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x61, - 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x57, 0x0a, 0x0b, - 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a, 0x0b, 0x61, 0x76, 0x72, 0x6f, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x41, 0x76, 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x48, 0x00, 0x52, 0x0a, 0x61, 0x76, 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, - 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, - 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x1a, 0x0c, 0x0a, 0x0a, 0x54, - 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x67, 0x0a, 0x0a, 0x41, 0x76, 0x72, - 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x22, 0x8a, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, - 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, - 0x4e, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, - 0x55, 0x4e, 0x44, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x49, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, - 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x43, - 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x05, 0x42, - 0x0f, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x22, 0x9d, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x06, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x61, 0x63, 0x6b, 0x49, 0x64, - 0x12, 0x3e, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x0f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x22, 0x68, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x19, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, - 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x73, 0x6b, 0x22, 0xaf, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x93, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, - 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6b, 0x0a, 0x19, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, - 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x17, 0x4d, 0x6f, 0x64, - 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, - 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, - 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x70, 0x75, - 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xbb, 0x01, 0x0a, 0x0b, 0x50, 0x75, 0x6c, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, - 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x12, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x11, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x12, 0x26, - 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x63, 0x0a, 0x0c, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x11, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x18, - 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, - 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, 0x6b, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x14, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, - 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x63, 0x6b, 0x44, 0x65, - 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x82, 0x01, - 0x0a, 0x12, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, - 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, - 0x64, 0x73, 0x22, 0xdb, 0x03, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, - 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x61, - 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x17, 0x6d, 0x6f, 0x64, - 0x69, 0x66, 0x79, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x15, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, - 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x79, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x63, 0x6b, 0x49, - 0x64, 0x73, 0x12, 0x42, 0x0a, 0x1b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x63, 0x6b, - 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, - 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x16, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x6f, - 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x6d, 0x61, 0x78, - 0x4f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, - 0x22, 0xa4, 0x08, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, - 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x11, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, - 0x7f, 0x0a, 0x18, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, - 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x6b, 0x6e, 0x6f, - 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x17, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, - 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x93, 0x01, 0x0a, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x61, 0x63, 0x6b, 0x5f, - 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, - 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, - 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7c, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x1a, 0xd3, 0x01, 0x0a, 0x17, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, - 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x2b, - 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x69, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x11, 0x75, - 0x6e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x75, 0x6e, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x18, - 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x15, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x46, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x1a, 0xa8, 0x01, 0x0a, 0x1d, 0x4d, - 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07, - 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x69, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x18, 0x74, 0x65, 0x6d, 0x70, 0x6f, - 0x72, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, - 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, - 0x63, 0x6b, 0x49, 0x64, 0x73, 0x1a, 0x9f, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x12, 0x46, 0x0a, 0x1d, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x5f, 0x6f, 0x6e, 0x63, 0x65, - 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1a, 0x65, 0x78, - 0x61, 0x63, 0x74, 0x6c, 0x79, 0x4f, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x18, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x16, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xb0, 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x1a, 0x0c, 0x0a, 0x0a, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x67, + 0x0a, 0x0a, 0x41, 0x76, 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x0e, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x8a, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, + 0x56, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4e, + 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4e, + 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, + 0x13, 0x0a, 0x0f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, + 0x43, 0x48, 0x10, 0x05, 0x42, 0x0f, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x06, 0x61, 0x63, 0x6b, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, + 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x79, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x41, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x22, 0x68, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xa6, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, + 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xaf, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x93, 0x01, 0x0a, 0x19, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x6b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, + 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xad, 0x01, + 0x0a, 0x17, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, - 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0b, 0x70, 0x75, 0x73, + 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xbb, 0x01, + 0x0a, 0x0b, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, + 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, - 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, - 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x96, 0x01, 0x0a, 0x15, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, - 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x73, 0x6b, 0x22, 0xee, 0x02, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x1d, - 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x4c, 0xea, 0x41, 0x49, 0x0a, 0x1e, 0x70, 0x75, 0x62, + 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, + 0x12, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, + 0x65, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, + 0x52, 0x11, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, + 0x65, 0x6c, 0x79, 0x12, 0x26, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, + 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x63, 0x0a, 0x0c, 0x50, + 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x11, 0x72, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x22, 0xbf, 0x01, 0x0a, 0x18, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, + 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, + 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x27, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x7d, 0x22, 0x58, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x08, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, - 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0xab, - 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, - 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x83, 0x01, 0x0a, - 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x22, 0x5b, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x08, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, - 0xe4, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x35, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, - 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x20, + 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, + 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x14, 0x61, + 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, + 0x61, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x12, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, 0x6b, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x22, 0xdb, 0x03, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x3b, + 0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, + 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x44, 0x65, 0x61, 0x64, + 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x17, 0x6d, + 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x61, + 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x14, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, + 0x65, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x1b, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x18, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, + 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, + 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x15, + 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x13, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xa4, 0x08, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x53, 0x0a, 0x11, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x12, 0x7f, 0x0a, 0x18, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, + 0x64, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x17, 0x61, 0x63, + 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x93, 0x01, 0x0a, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, + 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, + 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1d, 0x6d, 0x6f, + 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7c, 0x0a, 0x17, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x16, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0xd3, 0x01, 0x0a, 0x17, 0x41, 0x63, + 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x63, 0x6b, + 0x49, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x61, + 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, + 0x12, 0x2f, 0x0a, 0x11, 0x75, 0x6e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x63, + 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0f, 0x75, 0x6e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, + 0x73, 0x12, 0x3c, 0x0a, 0x18, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x66, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, + 0x61, 0x72, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x1a, + 0xa8, 0x01, 0x0a, 0x1d, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, + 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, + 0x2b, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x69, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x18, + 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x15, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x1a, 0x9f, 0x01, 0x0a, 0x16, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x1d, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, + 0x5f, 0x6f, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x1a, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x4f, 0x6e, 0x63, 0x65, 0x44, 0x65, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3d, 0x0a, + 0x18, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xb0, 0x02, 0x0a, + 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, + 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x96, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x08, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xee, 0x02, 0x0a, 0x08, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, + 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, + 0x41, 0x01, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x4c, 0xea, 0x41, 0x49, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x48, 0x00, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x08, 0x0a, 0x06, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xb8, 0x0b, 0x0a, 0x09, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x65, 0x72, 0x12, 0x71, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x12, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x1a, 0x17, 0x2e, 0x67, + 0x12, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x7b, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x7d, 0x22, 0x58, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x42, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x22, 0xab, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5b, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x42, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x22, 0xe4, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, + 0x41, 0x01, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x53, + 0x65, 0x65, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xb8, 0x0b, 0x0a, 0x09, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, 0x71, 0x0a, 0x0b, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x30, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x1a, 0x1e, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x91, 0x01, 0x0a, + 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x24, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x43, 0xda, 0x41, 0x11, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x32, 0x24, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0x93, 0x01, 0x0a, 0x07, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x20, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x43, 0xda, 0x41, 0x0e, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2c, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x77, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x2f, + 0xda, 0x41, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0x8a, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x23, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0xda, 0x41, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0xba, 0x01, 0x0a, + 0x16, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, 0x05, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xaa, 0x01, 0x0a, 0x12, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, + 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0xda, 0x41, 0x05, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x7c, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x22, 0x2f, 0xda, 0x41, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x21, 0x2a, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x61, + 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x22, 0x34, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, + 0x74, 0x61, 0x63, 0x68, 0x1a, 0x70, 0xca, 0x41, 0x15, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, + 0x55, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x32, 0xd2, 0x15, 0x0a, 0x0a, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x72, 0x12, 0xb4, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x30, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x1a, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x91, 0x01, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5e, 0xda, 0x41, + 0x2b, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2c, 0x70, 0x75, 0x73, 0x68, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, + 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x1a, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa1, 0x01, 0x0a, + 0x0f, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0xda, 0x41, 0x0c, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0xbb, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x43, 0xda, 0x41, 0x11, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x32, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x93, 0x01, 0x0a, 0x07, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0xda, 0x41, - 0x0e, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x12, 0x77, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x21, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x2f, 0xda, 0x41, 0x05, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, - 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, + 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x58, 0xda, 0x41, 0x18, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01, 0x2a, 0x32, 0x32, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa6, + 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0xda, + 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, + 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9f, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, - 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0xba, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xaa, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x2b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0xda, 0x41, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x73, 0x12, 0x7c, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2f, - 0xda, 0x41, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x2a, 0x1f, - 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, - 0xad, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x22, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x1a, - 0x70, 0xca, 0x41, 0x15, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x55, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x32, 0xd2, 0x15, 0x0a, 0x0a, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, - 0x12, 0xb4, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5e, 0xda, 0x41, 0x2b, 0x6e, 0x61, 0x6d, 0x65, - 0x2c, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2c, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, - 0x1a, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa1, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0xda, 0x41, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, - 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x12, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x58, 0xda, 0x41, 0x18, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x37, 0x3a, 0x01, 0x2a, 0x32, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x22, 0x44, 0xda, 0x41, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa6, 0x01, 0x0a, 0x11, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcf, 0x01, 0x0a, 0x11, 0x4d, 0x6f, + 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x9f, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x44, - 0xda, 0x41, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcf, 0x01, 0x0a, 0x11, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, - 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, - 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x76, - 0xda, 0x41, 0x29, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, - 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, - 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x44, 0x3a, 0x01, 0x2a, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, - 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x0b, 0x41, 0x63, 0x6b, 0x6e, 0x6f, - 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, - 0x6c, 0x65, 0x64, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5b, 0xda, 0x41, 0x14, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, - 0x65, 0x12, 0xd0, 0x01, 0x0a, 0x04, 0x50, 0x75, 0x6c, 0x6c, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x6c, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0xda, 0x41, 0x2c, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x2c, 0x6d, - 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0xda, 0x41, 0x19, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x6d, 0x61, 0x78, 0x5f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01, 0x2a, - 0x22, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, - 0x70, 0x75, 0x6c, 0x6c, 0x12, 0x66, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, - 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, - 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xbb, 0x01, 0x0a, - 0x10, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x22, 0x64, 0xda, 0x41, 0x18, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x01, 0x2a, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, + 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, + 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x22, 0x76, 0xda, 0x41, 0x29, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x2c, 0x61, 0x63, 0x6b, + 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x01, 0x2a, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, - 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x89, 0x01, 0x0a, 0x0b, 0x47, - 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x38, 0xda, 0x41, - 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, - 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0xda, 0x41, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, - 0x97, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x40, 0xda, 0x41, 0x11, 0x6e, 0x61, 0x6d, 0x65, - 0x2c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x1a, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa3, 0x01, 0x0a, 0x0e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x27, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, + 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x0b, + 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x12, 0x24, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5b, 0xda, 0x41, 0x14, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x69, + 0x64, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x63, 0x6b, 0x6e, 0x6f, + 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x12, 0xd0, 0x01, 0x0a, 0x04, 0x50, 0x75, 0x6c, 0x6c, 0x12, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, + 0x01, 0xda, 0x41, 0x2c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x2c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, + 0x65, 0x6c, 0x79, 0x2c, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0xda, 0x41, 0x19, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, + 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x37, 0x3a, 0x01, 0x2a, 0x22, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x75, 0x6c, 0x6c, 0x12, 0x66, 0x0a, 0x0d, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, + 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, + 0x01, 0x12, 0xbb, 0x01, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, + 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x64, 0xda, 0x41, 0x18, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x75, 0x73, 0x68, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x01, 0x2a, 0x22, + 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, + 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x89, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, + 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x22, 0x4c, 0xda, 0x41, 0x14, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2c, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, - 0x3a, 0x01, 0x2a, 0x32, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x2a, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, - 0x8b, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x38, 0xda, 0x41, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, - 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x84, 0x01, - 0x0a, 0x04, 0x53, 0x65, 0x65, 0x6b, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01, 0x2a, - 0x22, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, - 0x73, 0x65, 0x65, 0x6b, 0x1a, 0x70, 0xca, 0x41, 0x15, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, - 0x55, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, - 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x42, 0xaa, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x42, - 0x0b, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, - 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x70, 0x62, 0x3b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x2e, 0x56, 0x31, 0xca, 0x02, - 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x50, 0x75, - 0x62, 0x53, 0x75, 0x62, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x22, 0x38, 0xda, 0x41, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x0d, + 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x26, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, + 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, + 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x40, 0xda, 0x41, + 0x11, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x1a, 0x21, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa3, + 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x4c, 0xda, 0x41, 0x14, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, 0x2a, 0x32, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8b, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x38, 0xda, 0x41, 0x08, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, + 0x2a, 0x7d, 0x12, 0x84, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x65, 0x6b, 0x12, 0x1d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x65, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x65, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x37, 0x3a, 0x01, 0x2a, 0x22, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x65, 0x6b, 0x1a, 0x70, 0xca, 0x41, 0x15, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x55, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x42, 0xaa, 0x01, 0x0a, 0x14, + 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x32, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2f, + 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x70, 0x62, 0x3b, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, + 0x2e, 0x56, 0x31, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x5c, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x19, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x50, 0x75, + 0x62, 0x53, 0x75, 0x62, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5764,192 +6762,216 @@ func file_google_pubsub_v1_pubsub_proto_rawDescGZIP() []byte { return file_google_pubsub_v1_pubsub_proto_rawDescData } -var file_google_pubsub_v1_pubsub_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_google_pubsub_v1_pubsub_proto_msgTypes = make([]protoimpl.MessageInfo, 62) +var file_google_pubsub_v1_pubsub_proto_enumTypes = make([]protoimpl.EnumInfo, 7) +var file_google_pubsub_v1_pubsub_proto_msgTypes = make([]protoimpl.MessageInfo, 72) var file_google_pubsub_v1_pubsub_proto_goTypes = []any{ - (IngestionDataSourceSettings_AwsKinesis_State)(0), // 0: google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State - (Topic_State)(0), // 1: google.pubsub.v1.Topic.State - (Subscription_State)(0), // 2: google.pubsub.v1.Subscription.State - (BigQueryConfig_State)(0), // 3: google.pubsub.v1.BigQueryConfig.State - (CloudStorageConfig_State)(0), // 4: google.pubsub.v1.CloudStorageConfig.State - (*MessageStoragePolicy)(nil), // 5: google.pubsub.v1.MessageStoragePolicy - (*SchemaSettings)(nil), // 6: google.pubsub.v1.SchemaSettings - (*IngestionDataSourceSettings)(nil), // 7: google.pubsub.v1.IngestionDataSourceSettings - (*Topic)(nil), // 8: google.pubsub.v1.Topic - (*PubsubMessage)(nil), // 9: google.pubsub.v1.PubsubMessage - (*GetTopicRequest)(nil), // 10: google.pubsub.v1.GetTopicRequest - (*UpdateTopicRequest)(nil), // 11: google.pubsub.v1.UpdateTopicRequest - (*PublishRequest)(nil), // 12: google.pubsub.v1.PublishRequest - (*PublishResponse)(nil), // 13: google.pubsub.v1.PublishResponse - (*ListTopicsRequest)(nil), // 14: google.pubsub.v1.ListTopicsRequest - (*ListTopicsResponse)(nil), // 15: google.pubsub.v1.ListTopicsResponse - (*ListTopicSubscriptionsRequest)(nil), // 16: google.pubsub.v1.ListTopicSubscriptionsRequest - (*ListTopicSubscriptionsResponse)(nil), // 17: google.pubsub.v1.ListTopicSubscriptionsResponse - (*ListTopicSnapshotsRequest)(nil), // 18: google.pubsub.v1.ListTopicSnapshotsRequest - (*ListTopicSnapshotsResponse)(nil), // 19: google.pubsub.v1.ListTopicSnapshotsResponse - (*DeleteTopicRequest)(nil), // 20: google.pubsub.v1.DeleteTopicRequest - (*DetachSubscriptionRequest)(nil), // 21: google.pubsub.v1.DetachSubscriptionRequest - (*DetachSubscriptionResponse)(nil), // 22: google.pubsub.v1.DetachSubscriptionResponse - (*Subscription)(nil), // 23: google.pubsub.v1.Subscription - (*RetryPolicy)(nil), // 24: google.pubsub.v1.RetryPolicy - (*DeadLetterPolicy)(nil), // 25: google.pubsub.v1.DeadLetterPolicy - (*ExpirationPolicy)(nil), // 26: google.pubsub.v1.ExpirationPolicy - (*PushConfig)(nil), // 27: google.pubsub.v1.PushConfig - (*BigQueryConfig)(nil), // 28: google.pubsub.v1.BigQueryConfig - (*CloudStorageConfig)(nil), // 29: google.pubsub.v1.CloudStorageConfig - (*ReceivedMessage)(nil), // 30: google.pubsub.v1.ReceivedMessage - (*GetSubscriptionRequest)(nil), // 31: google.pubsub.v1.GetSubscriptionRequest - (*UpdateSubscriptionRequest)(nil), // 32: google.pubsub.v1.UpdateSubscriptionRequest - (*ListSubscriptionsRequest)(nil), // 33: google.pubsub.v1.ListSubscriptionsRequest - (*ListSubscriptionsResponse)(nil), // 34: google.pubsub.v1.ListSubscriptionsResponse - (*DeleteSubscriptionRequest)(nil), // 35: google.pubsub.v1.DeleteSubscriptionRequest - (*ModifyPushConfigRequest)(nil), // 36: google.pubsub.v1.ModifyPushConfigRequest - (*PullRequest)(nil), // 37: google.pubsub.v1.PullRequest - (*PullResponse)(nil), // 38: google.pubsub.v1.PullResponse - (*ModifyAckDeadlineRequest)(nil), // 39: google.pubsub.v1.ModifyAckDeadlineRequest - (*AcknowledgeRequest)(nil), // 40: google.pubsub.v1.AcknowledgeRequest - (*StreamingPullRequest)(nil), // 41: google.pubsub.v1.StreamingPullRequest - (*StreamingPullResponse)(nil), // 42: google.pubsub.v1.StreamingPullResponse - (*CreateSnapshotRequest)(nil), // 43: google.pubsub.v1.CreateSnapshotRequest - (*UpdateSnapshotRequest)(nil), // 44: google.pubsub.v1.UpdateSnapshotRequest - (*Snapshot)(nil), // 45: google.pubsub.v1.Snapshot - (*GetSnapshotRequest)(nil), // 46: google.pubsub.v1.GetSnapshotRequest - (*ListSnapshotsRequest)(nil), // 47: google.pubsub.v1.ListSnapshotsRequest - (*ListSnapshotsResponse)(nil), // 48: google.pubsub.v1.ListSnapshotsResponse - (*DeleteSnapshotRequest)(nil), // 49: google.pubsub.v1.DeleteSnapshotRequest - (*SeekRequest)(nil), // 50: google.pubsub.v1.SeekRequest - (*SeekResponse)(nil), // 51: google.pubsub.v1.SeekResponse - (*IngestionDataSourceSettings_AwsKinesis)(nil), // 52: google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis - nil, // 53: google.pubsub.v1.Topic.LabelsEntry - nil, // 54: google.pubsub.v1.PubsubMessage.AttributesEntry - nil, // 55: google.pubsub.v1.Subscription.LabelsEntry - (*PushConfig_OidcToken)(nil), // 56: google.pubsub.v1.PushConfig.OidcToken - (*PushConfig_PubsubWrapper)(nil), // 57: google.pubsub.v1.PushConfig.PubsubWrapper - (*PushConfig_NoWrapper)(nil), // 58: google.pubsub.v1.PushConfig.NoWrapper - nil, // 59: google.pubsub.v1.PushConfig.AttributesEntry - (*CloudStorageConfig_TextConfig)(nil), // 60: google.pubsub.v1.CloudStorageConfig.TextConfig - (*CloudStorageConfig_AvroConfig)(nil), // 61: google.pubsub.v1.CloudStorageConfig.AvroConfig - (*StreamingPullResponse_AcknowledgeConfirmation)(nil), // 62: google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation - (*StreamingPullResponse_ModifyAckDeadlineConfirmation)(nil), // 63: google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation - (*StreamingPullResponse_SubscriptionProperties)(nil), // 64: google.pubsub.v1.StreamingPullResponse.SubscriptionProperties - nil, // 65: google.pubsub.v1.CreateSnapshotRequest.LabelsEntry - nil, // 66: google.pubsub.v1.Snapshot.LabelsEntry - (Encoding)(0), // 67: google.pubsub.v1.Encoding - (*durationpb.Duration)(nil), // 68: google.protobuf.Duration - (*timestamppb.Timestamp)(nil), // 69: google.protobuf.Timestamp - (*fieldmaskpb.FieldMask)(nil), // 70: google.protobuf.FieldMask - (*emptypb.Empty)(nil), // 71: google.protobuf.Empty + (IngestionDataSourceSettings_AwsKinesis_State)(0), // 0: google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State + (IngestionDataSourceSettings_CloudStorage_State)(0), // 1: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.State + (PlatformLogsSettings_Severity)(0), // 2: google.pubsub.v1.PlatformLogsSettings.Severity + (Topic_State)(0), // 3: google.pubsub.v1.Topic.State + (Subscription_State)(0), // 4: google.pubsub.v1.Subscription.State + (BigQueryConfig_State)(0), // 5: google.pubsub.v1.BigQueryConfig.State + (CloudStorageConfig_State)(0), // 6: google.pubsub.v1.CloudStorageConfig.State + (*MessageStoragePolicy)(nil), // 7: google.pubsub.v1.MessageStoragePolicy + (*SchemaSettings)(nil), // 8: google.pubsub.v1.SchemaSettings + (*IngestionDataSourceSettings)(nil), // 9: google.pubsub.v1.IngestionDataSourceSettings + (*PlatformLogsSettings)(nil), // 10: google.pubsub.v1.PlatformLogsSettings + (*IngestionFailureEvent)(nil), // 11: google.pubsub.v1.IngestionFailureEvent + (*Topic)(nil), // 12: google.pubsub.v1.Topic + (*PubsubMessage)(nil), // 13: google.pubsub.v1.PubsubMessage + (*GetTopicRequest)(nil), // 14: google.pubsub.v1.GetTopicRequest + (*UpdateTopicRequest)(nil), // 15: google.pubsub.v1.UpdateTopicRequest + (*PublishRequest)(nil), // 16: google.pubsub.v1.PublishRequest + (*PublishResponse)(nil), // 17: google.pubsub.v1.PublishResponse + (*ListTopicsRequest)(nil), // 18: google.pubsub.v1.ListTopicsRequest + (*ListTopicsResponse)(nil), // 19: google.pubsub.v1.ListTopicsResponse + (*ListTopicSubscriptionsRequest)(nil), // 20: google.pubsub.v1.ListTopicSubscriptionsRequest + (*ListTopicSubscriptionsResponse)(nil), // 21: google.pubsub.v1.ListTopicSubscriptionsResponse + (*ListTopicSnapshotsRequest)(nil), // 22: google.pubsub.v1.ListTopicSnapshotsRequest + (*ListTopicSnapshotsResponse)(nil), // 23: google.pubsub.v1.ListTopicSnapshotsResponse + (*DeleteTopicRequest)(nil), // 24: google.pubsub.v1.DeleteTopicRequest + (*DetachSubscriptionRequest)(nil), // 25: google.pubsub.v1.DetachSubscriptionRequest + (*DetachSubscriptionResponse)(nil), // 26: google.pubsub.v1.DetachSubscriptionResponse + (*Subscription)(nil), // 27: google.pubsub.v1.Subscription + (*RetryPolicy)(nil), // 28: google.pubsub.v1.RetryPolicy + (*DeadLetterPolicy)(nil), // 29: google.pubsub.v1.DeadLetterPolicy + (*ExpirationPolicy)(nil), // 30: google.pubsub.v1.ExpirationPolicy + (*PushConfig)(nil), // 31: google.pubsub.v1.PushConfig + (*BigQueryConfig)(nil), // 32: google.pubsub.v1.BigQueryConfig + (*CloudStorageConfig)(nil), // 33: google.pubsub.v1.CloudStorageConfig + (*ReceivedMessage)(nil), // 34: google.pubsub.v1.ReceivedMessage + (*GetSubscriptionRequest)(nil), // 35: google.pubsub.v1.GetSubscriptionRequest + (*UpdateSubscriptionRequest)(nil), // 36: google.pubsub.v1.UpdateSubscriptionRequest + (*ListSubscriptionsRequest)(nil), // 37: google.pubsub.v1.ListSubscriptionsRequest + (*ListSubscriptionsResponse)(nil), // 38: google.pubsub.v1.ListSubscriptionsResponse + (*DeleteSubscriptionRequest)(nil), // 39: google.pubsub.v1.DeleteSubscriptionRequest + (*ModifyPushConfigRequest)(nil), // 40: google.pubsub.v1.ModifyPushConfigRequest + (*PullRequest)(nil), // 41: google.pubsub.v1.PullRequest + (*PullResponse)(nil), // 42: google.pubsub.v1.PullResponse + (*ModifyAckDeadlineRequest)(nil), // 43: google.pubsub.v1.ModifyAckDeadlineRequest + (*AcknowledgeRequest)(nil), // 44: google.pubsub.v1.AcknowledgeRequest + (*StreamingPullRequest)(nil), // 45: google.pubsub.v1.StreamingPullRequest + (*StreamingPullResponse)(nil), // 46: google.pubsub.v1.StreamingPullResponse + (*CreateSnapshotRequest)(nil), // 47: google.pubsub.v1.CreateSnapshotRequest + (*UpdateSnapshotRequest)(nil), // 48: google.pubsub.v1.UpdateSnapshotRequest + (*Snapshot)(nil), // 49: google.pubsub.v1.Snapshot + (*GetSnapshotRequest)(nil), // 50: google.pubsub.v1.GetSnapshotRequest + (*ListSnapshotsRequest)(nil), // 51: google.pubsub.v1.ListSnapshotsRequest + (*ListSnapshotsResponse)(nil), // 52: google.pubsub.v1.ListSnapshotsResponse + (*DeleteSnapshotRequest)(nil), // 53: google.pubsub.v1.DeleteSnapshotRequest + (*SeekRequest)(nil), // 54: google.pubsub.v1.SeekRequest + (*SeekResponse)(nil), // 55: google.pubsub.v1.SeekResponse + (*IngestionDataSourceSettings_AwsKinesis)(nil), // 56: google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis + (*IngestionDataSourceSettings_CloudStorage)(nil), // 57: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage + (*IngestionDataSourceSettings_CloudStorage_TextFormat)(nil), // 58: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat + (*IngestionDataSourceSettings_CloudStorage_AvroFormat)(nil), // 59: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat + (*IngestionDataSourceSettings_CloudStorage_PubSubAvroFormat)(nil), // 60: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat + (*IngestionFailureEvent_ApiViolationReason)(nil), // 61: google.pubsub.v1.IngestionFailureEvent.ApiViolationReason + (*IngestionFailureEvent_AvroFailureReason)(nil), // 62: google.pubsub.v1.IngestionFailureEvent.AvroFailureReason + (*IngestionFailureEvent_CloudStorageFailure)(nil), // 63: google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure + nil, // 64: google.pubsub.v1.Topic.LabelsEntry + nil, // 65: google.pubsub.v1.PubsubMessage.AttributesEntry + (*Subscription_AnalyticsHubSubscriptionInfo)(nil), // 66: google.pubsub.v1.Subscription.AnalyticsHubSubscriptionInfo + nil, // 67: google.pubsub.v1.Subscription.LabelsEntry + (*PushConfig_OidcToken)(nil), // 68: google.pubsub.v1.PushConfig.OidcToken + (*PushConfig_PubsubWrapper)(nil), // 69: google.pubsub.v1.PushConfig.PubsubWrapper + (*PushConfig_NoWrapper)(nil), // 70: google.pubsub.v1.PushConfig.NoWrapper + nil, // 71: google.pubsub.v1.PushConfig.AttributesEntry + (*CloudStorageConfig_TextConfig)(nil), // 72: google.pubsub.v1.CloudStorageConfig.TextConfig + (*CloudStorageConfig_AvroConfig)(nil), // 73: google.pubsub.v1.CloudStorageConfig.AvroConfig + (*StreamingPullResponse_AcknowledgeConfirmation)(nil), // 74: google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation + (*StreamingPullResponse_ModifyAckDeadlineConfirmation)(nil), // 75: google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation + (*StreamingPullResponse_SubscriptionProperties)(nil), // 76: google.pubsub.v1.StreamingPullResponse.SubscriptionProperties + nil, // 77: google.pubsub.v1.CreateSnapshotRequest.LabelsEntry + nil, // 78: google.pubsub.v1.Snapshot.LabelsEntry + (Encoding)(0), // 79: google.pubsub.v1.Encoding + (*durationpb.Duration)(nil), // 80: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 81: google.protobuf.Timestamp + (*fieldmaskpb.FieldMask)(nil), // 82: google.protobuf.FieldMask + (*emptypb.Empty)(nil), // 83: google.protobuf.Empty } var file_google_pubsub_v1_pubsub_proto_depIdxs = []int32{ - 67, // 0: google.pubsub.v1.SchemaSettings.encoding:type_name -> google.pubsub.v1.Encoding - 52, // 1: google.pubsub.v1.IngestionDataSourceSettings.aws_kinesis:type_name -> google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis - 53, // 2: google.pubsub.v1.Topic.labels:type_name -> google.pubsub.v1.Topic.LabelsEntry - 5, // 3: google.pubsub.v1.Topic.message_storage_policy:type_name -> google.pubsub.v1.MessageStoragePolicy - 6, // 4: google.pubsub.v1.Topic.schema_settings:type_name -> google.pubsub.v1.SchemaSettings - 68, // 5: google.pubsub.v1.Topic.message_retention_duration:type_name -> google.protobuf.Duration - 1, // 6: google.pubsub.v1.Topic.state:type_name -> google.pubsub.v1.Topic.State - 7, // 7: google.pubsub.v1.Topic.ingestion_data_source_settings:type_name -> google.pubsub.v1.IngestionDataSourceSettings - 54, // 8: google.pubsub.v1.PubsubMessage.attributes:type_name -> google.pubsub.v1.PubsubMessage.AttributesEntry - 69, // 9: google.pubsub.v1.PubsubMessage.publish_time:type_name -> google.protobuf.Timestamp - 8, // 10: google.pubsub.v1.UpdateTopicRequest.topic:type_name -> google.pubsub.v1.Topic - 70, // 11: google.pubsub.v1.UpdateTopicRequest.update_mask:type_name -> google.protobuf.FieldMask - 9, // 12: google.pubsub.v1.PublishRequest.messages:type_name -> google.pubsub.v1.PubsubMessage - 8, // 13: google.pubsub.v1.ListTopicsResponse.topics:type_name -> google.pubsub.v1.Topic - 27, // 14: google.pubsub.v1.Subscription.push_config:type_name -> google.pubsub.v1.PushConfig - 28, // 15: google.pubsub.v1.Subscription.bigquery_config:type_name -> google.pubsub.v1.BigQueryConfig - 29, // 16: google.pubsub.v1.Subscription.cloud_storage_config:type_name -> google.pubsub.v1.CloudStorageConfig - 68, // 17: google.pubsub.v1.Subscription.message_retention_duration:type_name -> google.protobuf.Duration - 55, // 18: google.pubsub.v1.Subscription.labels:type_name -> google.pubsub.v1.Subscription.LabelsEntry - 26, // 19: google.pubsub.v1.Subscription.expiration_policy:type_name -> google.pubsub.v1.ExpirationPolicy - 25, // 20: google.pubsub.v1.Subscription.dead_letter_policy:type_name -> google.pubsub.v1.DeadLetterPolicy - 24, // 21: google.pubsub.v1.Subscription.retry_policy:type_name -> google.pubsub.v1.RetryPolicy - 68, // 22: google.pubsub.v1.Subscription.topic_message_retention_duration:type_name -> google.protobuf.Duration - 2, // 23: google.pubsub.v1.Subscription.state:type_name -> google.pubsub.v1.Subscription.State - 68, // 24: google.pubsub.v1.RetryPolicy.minimum_backoff:type_name -> google.protobuf.Duration - 68, // 25: google.pubsub.v1.RetryPolicy.maximum_backoff:type_name -> google.protobuf.Duration - 68, // 26: google.pubsub.v1.ExpirationPolicy.ttl:type_name -> google.protobuf.Duration - 59, // 27: google.pubsub.v1.PushConfig.attributes:type_name -> google.pubsub.v1.PushConfig.AttributesEntry - 56, // 28: google.pubsub.v1.PushConfig.oidc_token:type_name -> google.pubsub.v1.PushConfig.OidcToken - 57, // 29: google.pubsub.v1.PushConfig.pubsub_wrapper:type_name -> google.pubsub.v1.PushConfig.PubsubWrapper - 58, // 30: google.pubsub.v1.PushConfig.no_wrapper:type_name -> google.pubsub.v1.PushConfig.NoWrapper - 3, // 31: google.pubsub.v1.BigQueryConfig.state:type_name -> google.pubsub.v1.BigQueryConfig.State - 60, // 32: google.pubsub.v1.CloudStorageConfig.text_config:type_name -> google.pubsub.v1.CloudStorageConfig.TextConfig - 61, // 33: google.pubsub.v1.CloudStorageConfig.avro_config:type_name -> google.pubsub.v1.CloudStorageConfig.AvroConfig - 68, // 34: google.pubsub.v1.CloudStorageConfig.max_duration:type_name -> google.protobuf.Duration - 4, // 35: google.pubsub.v1.CloudStorageConfig.state:type_name -> google.pubsub.v1.CloudStorageConfig.State - 9, // 36: google.pubsub.v1.ReceivedMessage.message:type_name -> google.pubsub.v1.PubsubMessage - 23, // 37: google.pubsub.v1.UpdateSubscriptionRequest.subscription:type_name -> google.pubsub.v1.Subscription - 70, // 38: google.pubsub.v1.UpdateSubscriptionRequest.update_mask:type_name -> google.protobuf.FieldMask - 23, // 39: google.pubsub.v1.ListSubscriptionsResponse.subscriptions:type_name -> google.pubsub.v1.Subscription - 27, // 40: google.pubsub.v1.ModifyPushConfigRequest.push_config:type_name -> google.pubsub.v1.PushConfig - 30, // 41: google.pubsub.v1.PullResponse.received_messages:type_name -> google.pubsub.v1.ReceivedMessage - 30, // 42: google.pubsub.v1.StreamingPullResponse.received_messages:type_name -> google.pubsub.v1.ReceivedMessage - 62, // 43: google.pubsub.v1.StreamingPullResponse.acknowledge_confirmation:type_name -> google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation - 63, // 44: google.pubsub.v1.StreamingPullResponse.modify_ack_deadline_confirmation:type_name -> google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation - 64, // 45: google.pubsub.v1.StreamingPullResponse.subscription_properties:type_name -> google.pubsub.v1.StreamingPullResponse.SubscriptionProperties - 65, // 46: google.pubsub.v1.CreateSnapshotRequest.labels:type_name -> google.pubsub.v1.CreateSnapshotRequest.LabelsEntry - 45, // 47: google.pubsub.v1.UpdateSnapshotRequest.snapshot:type_name -> google.pubsub.v1.Snapshot - 70, // 48: google.pubsub.v1.UpdateSnapshotRequest.update_mask:type_name -> google.protobuf.FieldMask - 69, // 49: google.pubsub.v1.Snapshot.expire_time:type_name -> google.protobuf.Timestamp - 66, // 50: google.pubsub.v1.Snapshot.labels:type_name -> google.pubsub.v1.Snapshot.LabelsEntry - 45, // 51: google.pubsub.v1.ListSnapshotsResponse.snapshots:type_name -> google.pubsub.v1.Snapshot - 69, // 52: google.pubsub.v1.SeekRequest.time:type_name -> google.protobuf.Timestamp - 0, // 53: google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.state:type_name -> google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State - 8, // 54: google.pubsub.v1.Publisher.CreateTopic:input_type -> google.pubsub.v1.Topic - 11, // 55: google.pubsub.v1.Publisher.UpdateTopic:input_type -> google.pubsub.v1.UpdateTopicRequest - 12, // 56: google.pubsub.v1.Publisher.Publish:input_type -> google.pubsub.v1.PublishRequest - 10, // 57: google.pubsub.v1.Publisher.GetTopic:input_type -> google.pubsub.v1.GetTopicRequest - 14, // 58: google.pubsub.v1.Publisher.ListTopics:input_type -> google.pubsub.v1.ListTopicsRequest - 16, // 59: google.pubsub.v1.Publisher.ListTopicSubscriptions:input_type -> google.pubsub.v1.ListTopicSubscriptionsRequest - 18, // 60: google.pubsub.v1.Publisher.ListTopicSnapshots:input_type -> google.pubsub.v1.ListTopicSnapshotsRequest - 20, // 61: google.pubsub.v1.Publisher.DeleteTopic:input_type -> google.pubsub.v1.DeleteTopicRequest - 21, // 62: google.pubsub.v1.Publisher.DetachSubscription:input_type -> google.pubsub.v1.DetachSubscriptionRequest - 23, // 63: google.pubsub.v1.Subscriber.CreateSubscription:input_type -> google.pubsub.v1.Subscription - 31, // 64: google.pubsub.v1.Subscriber.GetSubscription:input_type -> google.pubsub.v1.GetSubscriptionRequest - 32, // 65: google.pubsub.v1.Subscriber.UpdateSubscription:input_type -> google.pubsub.v1.UpdateSubscriptionRequest - 33, // 66: google.pubsub.v1.Subscriber.ListSubscriptions:input_type -> google.pubsub.v1.ListSubscriptionsRequest - 35, // 67: google.pubsub.v1.Subscriber.DeleteSubscription:input_type -> google.pubsub.v1.DeleteSubscriptionRequest - 39, // 68: google.pubsub.v1.Subscriber.ModifyAckDeadline:input_type -> google.pubsub.v1.ModifyAckDeadlineRequest - 40, // 69: google.pubsub.v1.Subscriber.Acknowledge:input_type -> google.pubsub.v1.AcknowledgeRequest - 37, // 70: google.pubsub.v1.Subscriber.Pull:input_type -> google.pubsub.v1.PullRequest - 41, // 71: google.pubsub.v1.Subscriber.StreamingPull:input_type -> google.pubsub.v1.StreamingPullRequest - 36, // 72: google.pubsub.v1.Subscriber.ModifyPushConfig:input_type -> google.pubsub.v1.ModifyPushConfigRequest - 46, // 73: google.pubsub.v1.Subscriber.GetSnapshot:input_type -> google.pubsub.v1.GetSnapshotRequest - 47, // 74: google.pubsub.v1.Subscriber.ListSnapshots:input_type -> google.pubsub.v1.ListSnapshotsRequest - 43, // 75: google.pubsub.v1.Subscriber.CreateSnapshot:input_type -> google.pubsub.v1.CreateSnapshotRequest - 44, // 76: google.pubsub.v1.Subscriber.UpdateSnapshot:input_type -> google.pubsub.v1.UpdateSnapshotRequest - 49, // 77: google.pubsub.v1.Subscriber.DeleteSnapshot:input_type -> google.pubsub.v1.DeleteSnapshotRequest - 50, // 78: google.pubsub.v1.Subscriber.Seek:input_type -> google.pubsub.v1.SeekRequest - 8, // 79: google.pubsub.v1.Publisher.CreateTopic:output_type -> google.pubsub.v1.Topic - 8, // 80: google.pubsub.v1.Publisher.UpdateTopic:output_type -> google.pubsub.v1.Topic - 13, // 81: google.pubsub.v1.Publisher.Publish:output_type -> google.pubsub.v1.PublishResponse - 8, // 82: google.pubsub.v1.Publisher.GetTopic:output_type -> google.pubsub.v1.Topic - 15, // 83: google.pubsub.v1.Publisher.ListTopics:output_type -> google.pubsub.v1.ListTopicsResponse - 17, // 84: google.pubsub.v1.Publisher.ListTopicSubscriptions:output_type -> google.pubsub.v1.ListTopicSubscriptionsResponse - 19, // 85: google.pubsub.v1.Publisher.ListTopicSnapshots:output_type -> google.pubsub.v1.ListTopicSnapshotsResponse - 71, // 86: google.pubsub.v1.Publisher.DeleteTopic:output_type -> google.protobuf.Empty - 22, // 87: google.pubsub.v1.Publisher.DetachSubscription:output_type -> google.pubsub.v1.DetachSubscriptionResponse - 23, // 88: google.pubsub.v1.Subscriber.CreateSubscription:output_type -> google.pubsub.v1.Subscription - 23, // 89: google.pubsub.v1.Subscriber.GetSubscription:output_type -> google.pubsub.v1.Subscription - 23, // 90: google.pubsub.v1.Subscriber.UpdateSubscription:output_type -> google.pubsub.v1.Subscription - 34, // 91: google.pubsub.v1.Subscriber.ListSubscriptions:output_type -> google.pubsub.v1.ListSubscriptionsResponse - 71, // 92: google.pubsub.v1.Subscriber.DeleteSubscription:output_type -> google.protobuf.Empty - 71, // 93: google.pubsub.v1.Subscriber.ModifyAckDeadline:output_type -> google.protobuf.Empty - 71, // 94: google.pubsub.v1.Subscriber.Acknowledge:output_type -> google.protobuf.Empty - 38, // 95: google.pubsub.v1.Subscriber.Pull:output_type -> google.pubsub.v1.PullResponse - 42, // 96: google.pubsub.v1.Subscriber.StreamingPull:output_type -> google.pubsub.v1.StreamingPullResponse - 71, // 97: google.pubsub.v1.Subscriber.ModifyPushConfig:output_type -> google.protobuf.Empty - 45, // 98: google.pubsub.v1.Subscriber.GetSnapshot:output_type -> google.pubsub.v1.Snapshot - 48, // 99: google.pubsub.v1.Subscriber.ListSnapshots:output_type -> google.pubsub.v1.ListSnapshotsResponse - 45, // 100: google.pubsub.v1.Subscriber.CreateSnapshot:output_type -> google.pubsub.v1.Snapshot - 45, // 101: google.pubsub.v1.Subscriber.UpdateSnapshot:output_type -> google.pubsub.v1.Snapshot - 71, // 102: google.pubsub.v1.Subscriber.DeleteSnapshot:output_type -> google.protobuf.Empty - 51, // 103: google.pubsub.v1.Subscriber.Seek:output_type -> google.pubsub.v1.SeekResponse - 79, // [79:104] is the sub-list for method output_type - 54, // [54:79] is the sub-list for method input_type - 54, // [54:54] is the sub-list for extension type_name - 54, // [54:54] is the sub-list for extension extendee - 0, // [0:54] is the sub-list for field type_name + 79, // 0: google.pubsub.v1.SchemaSettings.encoding:type_name -> google.pubsub.v1.Encoding + 56, // 1: google.pubsub.v1.IngestionDataSourceSettings.aws_kinesis:type_name -> google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis + 57, // 2: google.pubsub.v1.IngestionDataSourceSettings.cloud_storage:type_name -> google.pubsub.v1.IngestionDataSourceSettings.CloudStorage + 10, // 3: google.pubsub.v1.IngestionDataSourceSettings.platform_logs_settings:type_name -> google.pubsub.v1.PlatformLogsSettings + 2, // 4: google.pubsub.v1.PlatformLogsSettings.severity:type_name -> google.pubsub.v1.PlatformLogsSettings.Severity + 63, // 5: google.pubsub.v1.IngestionFailureEvent.cloud_storage_failure:type_name -> google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure + 64, // 6: google.pubsub.v1.Topic.labels:type_name -> google.pubsub.v1.Topic.LabelsEntry + 7, // 7: google.pubsub.v1.Topic.message_storage_policy:type_name -> google.pubsub.v1.MessageStoragePolicy + 8, // 8: google.pubsub.v1.Topic.schema_settings:type_name -> google.pubsub.v1.SchemaSettings + 80, // 9: google.pubsub.v1.Topic.message_retention_duration:type_name -> google.protobuf.Duration + 3, // 10: google.pubsub.v1.Topic.state:type_name -> google.pubsub.v1.Topic.State + 9, // 11: google.pubsub.v1.Topic.ingestion_data_source_settings:type_name -> google.pubsub.v1.IngestionDataSourceSettings + 65, // 12: google.pubsub.v1.PubsubMessage.attributes:type_name -> google.pubsub.v1.PubsubMessage.AttributesEntry + 81, // 13: google.pubsub.v1.PubsubMessage.publish_time:type_name -> google.protobuf.Timestamp + 12, // 14: google.pubsub.v1.UpdateTopicRequest.topic:type_name -> google.pubsub.v1.Topic + 82, // 15: google.pubsub.v1.UpdateTopicRequest.update_mask:type_name -> google.protobuf.FieldMask + 13, // 16: google.pubsub.v1.PublishRequest.messages:type_name -> google.pubsub.v1.PubsubMessage + 12, // 17: google.pubsub.v1.ListTopicsResponse.topics:type_name -> google.pubsub.v1.Topic + 31, // 18: google.pubsub.v1.Subscription.push_config:type_name -> google.pubsub.v1.PushConfig + 32, // 19: google.pubsub.v1.Subscription.bigquery_config:type_name -> google.pubsub.v1.BigQueryConfig + 33, // 20: google.pubsub.v1.Subscription.cloud_storage_config:type_name -> google.pubsub.v1.CloudStorageConfig + 80, // 21: google.pubsub.v1.Subscription.message_retention_duration:type_name -> google.protobuf.Duration + 67, // 22: google.pubsub.v1.Subscription.labels:type_name -> google.pubsub.v1.Subscription.LabelsEntry + 30, // 23: google.pubsub.v1.Subscription.expiration_policy:type_name -> google.pubsub.v1.ExpirationPolicy + 29, // 24: google.pubsub.v1.Subscription.dead_letter_policy:type_name -> google.pubsub.v1.DeadLetterPolicy + 28, // 25: google.pubsub.v1.Subscription.retry_policy:type_name -> google.pubsub.v1.RetryPolicy + 80, // 26: google.pubsub.v1.Subscription.topic_message_retention_duration:type_name -> google.protobuf.Duration + 4, // 27: google.pubsub.v1.Subscription.state:type_name -> google.pubsub.v1.Subscription.State + 66, // 28: google.pubsub.v1.Subscription.analytics_hub_subscription_info:type_name -> google.pubsub.v1.Subscription.AnalyticsHubSubscriptionInfo + 80, // 29: google.pubsub.v1.RetryPolicy.minimum_backoff:type_name -> google.protobuf.Duration + 80, // 30: google.pubsub.v1.RetryPolicy.maximum_backoff:type_name -> google.protobuf.Duration + 80, // 31: google.pubsub.v1.ExpirationPolicy.ttl:type_name -> google.protobuf.Duration + 71, // 32: google.pubsub.v1.PushConfig.attributes:type_name -> google.pubsub.v1.PushConfig.AttributesEntry + 68, // 33: google.pubsub.v1.PushConfig.oidc_token:type_name -> google.pubsub.v1.PushConfig.OidcToken + 69, // 34: google.pubsub.v1.PushConfig.pubsub_wrapper:type_name -> google.pubsub.v1.PushConfig.PubsubWrapper + 70, // 35: google.pubsub.v1.PushConfig.no_wrapper:type_name -> google.pubsub.v1.PushConfig.NoWrapper + 5, // 36: google.pubsub.v1.BigQueryConfig.state:type_name -> google.pubsub.v1.BigQueryConfig.State + 72, // 37: google.pubsub.v1.CloudStorageConfig.text_config:type_name -> google.pubsub.v1.CloudStorageConfig.TextConfig + 73, // 38: google.pubsub.v1.CloudStorageConfig.avro_config:type_name -> google.pubsub.v1.CloudStorageConfig.AvroConfig + 80, // 39: google.pubsub.v1.CloudStorageConfig.max_duration:type_name -> google.protobuf.Duration + 6, // 40: google.pubsub.v1.CloudStorageConfig.state:type_name -> google.pubsub.v1.CloudStorageConfig.State + 13, // 41: google.pubsub.v1.ReceivedMessage.message:type_name -> google.pubsub.v1.PubsubMessage + 27, // 42: google.pubsub.v1.UpdateSubscriptionRequest.subscription:type_name -> google.pubsub.v1.Subscription + 82, // 43: google.pubsub.v1.UpdateSubscriptionRequest.update_mask:type_name -> google.protobuf.FieldMask + 27, // 44: google.pubsub.v1.ListSubscriptionsResponse.subscriptions:type_name -> google.pubsub.v1.Subscription + 31, // 45: google.pubsub.v1.ModifyPushConfigRequest.push_config:type_name -> google.pubsub.v1.PushConfig + 34, // 46: google.pubsub.v1.PullResponse.received_messages:type_name -> google.pubsub.v1.ReceivedMessage + 34, // 47: google.pubsub.v1.StreamingPullResponse.received_messages:type_name -> google.pubsub.v1.ReceivedMessage + 74, // 48: google.pubsub.v1.StreamingPullResponse.acknowledge_confirmation:type_name -> google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation + 75, // 49: google.pubsub.v1.StreamingPullResponse.modify_ack_deadline_confirmation:type_name -> google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation + 76, // 50: google.pubsub.v1.StreamingPullResponse.subscription_properties:type_name -> google.pubsub.v1.StreamingPullResponse.SubscriptionProperties + 77, // 51: google.pubsub.v1.CreateSnapshotRequest.labels:type_name -> google.pubsub.v1.CreateSnapshotRequest.LabelsEntry + 49, // 52: google.pubsub.v1.UpdateSnapshotRequest.snapshot:type_name -> google.pubsub.v1.Snapshot + 82, // 53: google.pubsub.v1.UpdateSnapshotRequest.update_mask:type_name -> google.protobuf.FieldMask + 81, // 54: google.pubsub.v1.Snapshot.expire_time:type_name -> google.protobuf.Timestamp + 78, // 55: google.pubsub.v1.Snapshot.labels:type_name -> google.pubsub.v1.Snapshot.LabelsEntry + 49, // 56: google.pubsub.v1.ListSnapshotsResponse.snapshots:type_name -> google.pubsub.v1.Snapshot + 81, // 57: google.pubsub.v1.SeekRequest.time:type_name -> google.protobuf.Timestamp + 0, // 58: google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.state:type_name -> google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State + 1, // 59: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.state:type_name -> google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.State + 58, // 60: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.text_format:type_name -> google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat + 59, // 61: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.avro_format:type_name -> google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat + 60, // 62: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.pubsub_avro_format:type_name -> google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat + 81, // 63: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.minimum_object_create_time:type_name -> google.protobuf.Timestamp + 62, // 64: google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.avro_failure_reason:type_name -> google.pubsub.v1.IngestionFailureEvent.AvroFailureReason + 61, // 65: google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.api_violation_reason:type_name -> google.pubsub.v1.IngestionFailureEvent.ApiViolationReason + 12, // 66: google.pubsub.v1.Publisher.CreateTopic:input_type -> google.pubsub.v1.Topic + 15, // 67: google.pubsub.v1.Publisher.UpdateTopic:input_type -> google.pubsub.v1.UpdateTopicRequest + 16, // 68: google.pubsub.v1.Publisher.Publish:input_type -> google.pubsub.v1.PublishRequest + 14, // 69: google.pubsub.v1.Publisher.GetTopic:input_type -> google.pubsub.v1.GetTopicRequest + 18, // 70: google.pubsub.v1.Publisher.ListTopics:input_type -> google.pubsub.v1.ListTopicsRequest + 20, // 71: google.pubsub.v1.Publisher.ListTopicSubscriptions:input_type -> google.pubsub.v1.ListTopicSubscriptionsRequest + 22, // 72: google.pubsub.v1.Publisher.ListTopicSnapshots:input_type -> google.pubsub.v1.ListTopicSnapshotsRequest + 24, // 73: google.pubsub.v1.Publisher.DeleteTopic:input_type -> google.pubsub.v1.DeleteTopicRequest + 25, // 74: google.pubsub.v1.Publisher.DetachSubscription:input_type -> google.pubsub.v1.DetachSubscriptionRequest + 27, // 75: google.pubsub.v1.Subscriber.CreateSubscription:input_type -> google.pubsub.v1.Subscription + 35, // 76: google.pubsub.v1.Subscriber.GetSubscription:input_type -> google.pubsub.v1.GetSubscriptionRequest + 36, // 77: google.pubsub.v1.Subscriber.UpdateSubscription:input_type -> google.pubsub.v1.UpdateSubscriptionRequest + 37, // 78: google.pubsub.v1.Subscriber.ListSubscriptions:input_type -> google.pubsub.v1.ListSubscriptionsRequest + 39, // 79: google.pubsub.v1.Subscriber.DeleteSubscription:input_type -> google.pubsub.v1.DeleteSubscriptionRequest + 43, // 80: google.pubsub.v1.Subscriber.ModifyAckDeadline:input_type -> google.pubsub.v1.ModifyAckDeadlineRequest + 44, // 81: google.pubsub.v1.Subscriber.Acknowledge:input_type -> google.pubsub.v1.AcknowledgeRequest + 41, // 82: google.pubsub.v1.Subscriber.Pull:input_type -> google.pubsub.v1.PullRequest + 45, // 83: google.pubsub.v1.Subscriber.StreamingPull:input_type -> google.pubsub.v1.StreamingPullRequest + 40, // 84: google.pubsub.v1.Subscriber.ModifyPushConfig:input_type -> google.pubsub.v1.ModifyPushConfigRequest + 50, // 85: google.pubsub.v1.Subscriber.GetSnapshot:input_type -> google.pubsub.v1.GetSnapshotRequest + 51, // 86: google.pubsub.v1.Subscriber.ListSnapshots:input_type -> google.pubsub.v1.ListSnapshotsRequest + 47, // 87: google.pubsub.v1.Subscriber.CreateSnapshot:input_type -> google.pubsub.v1.CreateSnapshotRequest + 48, // 88: google.pubsub.v1.Subscriber.UpdateSnapshot:input_type -> google.pubsub.v1.UpdateSnapshotRequest + 53, // 89: google.pubsub.v1.Subscriber.DeleteSnapshot:input_type -> google.pubsub.v1.DeleteSnapshotRequest + 54, // 90: google.pubsub.v1.Subscriber.Seek:input_type -> google.pubsub.v1.SeekRequest + 12, // 91: google.pubsub.v1.Publisher.CreateTopic:output_type -> google.pubsub.v1.Topic + 12, // 92: google.pubsub.v1.Publisher.UpdateTopic:output_type -> google.pubsub.v1.Topic + 17, // 93: google.pubsub.v1.Publisher.Publish:output_type -> google.pubsub.v1.PublishResponse + 12, // 94: google.pubsub.v1.Publisher.GetTopic:output_type -> google.pubsub.v1.Topic + 19, // 95: google.pubsub.v1.Publisher.ListTopics:output_type -> google.pubsub.v1.ListTopicsResponse + 21, // 96: google.pubsub.v1.Publisher.ListTopicSubscriptions:output_type -> google.pubsub.v1.ListTopicSubscriptionsResponse + 23, // 97: google.pubsub.v1.Publisher.ListTopicSnapshots:output_type -> google.pubsub.v1.ListTopicSnapshotsResponse + 83, // 98: google.pubsub.v1.Publisher.DeleteTopic:output_type -> google.protobuf.Empty + 26, // 99: google.pubsub.v1.Publisher.DetachSubscription:output_type -> google.pubsub.v1.DetachSubscriptionResponse + 27, // 100: google.pubsub.v1.Subscriber.CreateSubscription:output_type -> google.pubsub.v1.Subscription + 27, // 101: google.pubsub.v1.Subscriber.GetSubscription:output_type -> google.pubsub.v1.Subscription + 27, // 102: google.pubsub.v1.Subscriber.UpdateSubscription:output_type -> google.pubsub.v1.Subscription + 38, // 103: google.pubsub.v1.Subscriber.ListSubscriptions:output_type -> google.pubsub.v1.ListSubscriptionsResponse + 83, // 104: google.pubsub.v1.Subscriber.DeleteSubscription:output_type -> google.protobuf.Empty + 83, // 105: google.pubsub.v1.Subscriber.ModifyAckDeadline:output_type -> google.protobuf.Empty + 83, // 106: google.pubsub.v1.Subscriber.Acknowledge:output_type -> google.protobuf.Empty + 42, // 107: google.pubsub.v1.Subscriber.Pull:output_type -> google.pubsub.v1.PullResponse + 46, // 108: google.pubsub.v1.Subscriber.StreamingPull:output_type -> google.pubsub.v1.StreamingPullResponse + 83, // 109: google.pubsub.v1.Subscriber.ModifyPushConfig:output_type -> google.protobuf.Empty + 49, // 110: google.pubsub.v1.Subscriber.GetSnapshot:output_type -> google.pubsub.v1.Snapshot + 52, // 111: google.pubsub.v1.Subscriber.ListSnapshots:output_type -> google.pubsub.v1.ListSnapshotsResponse + 49, // 112: google.pubsub.v1.Subscriber.CreateSnapshot:output_type -> google.pubsub.v1.Snapshot + 49, // 113: google.pubsub.v1.Subscriber.UpdateSnapshot:output_type -> google.pubsub.v1.Snapshot + 83, // 114: google.pubsub.v1.Subscriber.DeleteSnapshot:output_type -> google.protobuf.Empty + 55, // 115: google.pubsub.v1.Subscriber.Seek:output_type -> google.pubsub.v1.SeekResponse + 91, // [91:116] is the sub-list for method output_type + 66, // [66:91] is the sub-list for method input_type + 66, // [66:66] is the sub-list for extension type_name + 66, // [66:66] is the sub-list for extension extendee + 0, // [0:66] is the sub-list for field type_name } func init() { file_google_pubsub_v1_pubsub_proto_init() } @@ -5996,7 +7018,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[3].Exporter = func(v any, i int) any { - switch v := v.(*Topic); i { + switch v := v.(*PlatformLogsSettings); i { case 0: return &v.state case 1: @@ -6008,7 +7030,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[4].Exporter = func(v any, i int) any { - switch v := v.(*PubsubMessage); i { + switch v := v.(*IngestionFailureEvent); i { case 0: return &v.state case 1: @@ -6020,7 +7042,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[5].Exporter = func(v any, i int) any { - switch v := v.(*GetTopicRequest); i { + switch v := v.(*Topic); i { case 0: return &v.state case 1: @@ -6032,7 +7054,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[6].Exporter = func(v any, i int) any { - switch v := v.(*UpdateTopicRequest); i { + switch v := v.(*PubsubMessage); i { case 0: return &v.state case 1: @@ -6044,7 +7066,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[7].Exporter = func(v any, i int) any { - switch v := v.(*PublishRequest); i { + switch v := v.(*GetTopicRequest); i { case 0: return &v.state case 1: @@ -6056,7 +7078,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[8].Exporter = func(v any, i int) any { - switch v := v.(*PublishResponse); i { + switch v := v.(*UpdateTopicRequest); i { case 0: return &v.state case 1: @@ -6068,7 +7090,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[9].Exporter = func(v any, i int) any { - switch v := v.(*ListTopicsRequest); i { + switch v := v.(*PublishRequest); i { case 0: return &v.state case 1: @@ -6080,7 +7102,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[10].Exporter = func(v any, i int) any { - switch v := v.(*ListTopicsResponse); i { + switch v := v.(*PublishResponse); i { case 0: return &v.state case 1: @@ -6092,7 +7114,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[11].Exporter = func(v any, i int) any { - switch v := v.(*ListTopicSubscriptionsRequest); i { + switch v := v.(*ListTopicsRequest); i { case 0: return &v.state case 1: @@ -6104,7 +7126,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[12].Exporter = func(v any, i int) any { - switch v := v.(*ListTopicSubscriptionsResponse); i { + switch v := v.(*ListTopicsResponse); i { case 0: return &v.state case 1: @@ -6116,7 +7138,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[13].Exporter = func(v any, i int) any { - switch v := v.(*ListTopicSnapshotsRequest); i { + switch v := v.(*ListTopicSubscriptionsRequest); i { case 0: return &v.state case 1: @@ -6128,7 +7150,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[14].Exporter = func(v any, i int) any { - switch v := v.(*ListTopicSnapshotsResponse); i { + switch v := v.(*ListTopicSubscriptionsResponse); i { case 0: return &v.state case 1: @@ -6140,7 +7162,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[15].Exporter = func(v any, i int) any { - switch v := v.(*DeleteTopicRequest); i { + switch v := v.(*ListTopicSnapshotsRequest); i { case 0: return &v.state case 1: @@ -6152,7 +7174,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[16].Exporter = func(v any, i int) any { - switch v := v.(*DetachSubscriptionRequest); i { + switch v := v.(*ListTopicSnapshotsResponse); i { case 0: return &v.state case 1: @@ -6164,7 +7186,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[17].Exporter = func(v any, i int) any { - switch v := v.(*DetachSubscriptionResponse); i { + switch v := v.(*DeleteTopicRequest); i { case 0: return &v.state case 1: @@ -6176,7 +7198,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[18].Exporter = func(v any, i int) any { - switch v := v.(*Subscription); i { + switch v := v.(*DetachSubscriptionRequest); i { case 0: return &v.state case 1: @@ -6188,7 +7210,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[19].Exporter = func(v any, i int) any { - switch v := v.(*RetryPolicy); i { + switch v := v.(*DetachSubscriptionResponse); i { case 0: return &v.state case 1: @@ -6200,7 +7222,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[20].Exporter = func(v any, i int) any { - switch v := v.(*DeadLetterPolicy); i { + switch v := v.(*Subscription); i { case 0: return &v.state case 1: @@ -6212,7 +7234,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[21].Exporter = func(v any, i int) any { - switch v := v.(*ExpirationPolicy); i { + switch v := v.(*RetryPolicy); i { case 0: return &v.state case 1: @@ -6224,7 +7246,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[22].Exporter = func(v any, i int) any { - switch v := v.(*PushConfig); i { + switch v := v.(*DeadLetterPolicy); i { case 0: return &v.state case 1: @@ -6236,7 +7258,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[23].Exporter = func(v any, i int) any { - switch v := v.(*BigQueryConfig); i { + switch v := v.(*ExpirationPolicy); i { case 0: return &v.state case 1: @@ -6248,7 +7270,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[24].Exporter = func(v any, i int) any { - switch v := v.(*CloudStorageConfig); i { + switch v := v.(*PushConfig); i { case 0: return &v.state case 1: @@ -6260,7 +7282,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[25].Exporter = func(v any, i int) any { - switch v := v.(*ReceivedMessage); i { + switch v := v.(*BigQueryConfig); i { case 0: return &v.state case 1: @@ -6272,7 +7294,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[26].Exporter = func(v any, i int) any { - switch v := v.(*GetSubscriptionRequest); i { + switch v := v.(*CloudStorageConfig); i { case 0: return &v.state case 1: @@ -6284,7 +7306,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[27].Exporter = func(v any, i int) any { - switch v := v.(*UpdateSubscriptionRequest); i { + switch v := v.(*ReceivedMessage); i { case 0: return &v.state case 1: @@ -6296,7 +7318,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[28].Exporter = func(v any, i int) any { - switch v := v.(*ListSubscriptionsRequest); i { + switch v := v.(*GetSubscriptionRequest); i { case 0: return &v.state case 1: @@ -6308,7 +7330,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[29].Exporter = func(v any, i int) any { - switch v := v.(*ListSubscriptionsResponse); i { + switch v := v.(*UpdateSubscriptionRequest); i { case 0: return &v.state case 1: @@ -6320,7 +7342,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[30].Exporter = func(v any, i int) any { - switch v := v.(*DeleteSubscriptionRequest); i { + switch v := v.(*ListSubscriptionsRequest); i { case 0: return &v.state case 1: @@ -6332,7 +7354,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[31].Exporter = func(v any, i int) any { - switch v := v.(*ModifyPushConfigRequest); i { + switch v := v.(*ListSubscriptionsResponse); i { case 0: return &v.state case 1: @@ -6344,7 +7366,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[32].Exporter = func(v any, i int) any { - switch v := v.(*PullRequest); i { + switch v := v.(*DeleteSubscriptionRequest); i { case 0: return &v.state case 1: @@ -6356,7 +7378,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[33].Exporter = func(v any, i int) any { - switch v := v.(*PullResponse); i { + switch v := v.(*ModifyPushConfigRequest); i { case 0: return &v.state case 1: @@ -6368,7 +7390,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[34].Exporter = func(v any, i int) any { - switch v := v.(*ModifyAckDeadlineRequest); i { + switch v := v.(*PullRequest); i { case 0: return &v.state case 1: @@ -6380,7 +7402,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[35].Exporter = func(v any, i int) any { - switch v := v.(*AcknowledgeRequest); i { + switch v := v.(*PullResponse); i { case 0: return &v.state case 1: @@ -6392,7 +7414,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[36].Exporter = func(v any, i int) any { - switch v := v.(*StreamingPullRequest); i { + switch v := v.(*ModifyAckDeadlineRequest); i { case 0: return &v.state case 1: @@ -6404,7 +7426,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[37].Exporter = func(v any, i int) any { - switch v := v.(*StreamingPullResponse); i { + switch v := v.(*AcknowledgeRequest); i { case 0: return &v.state case 1: @@ -6416,7 +7438,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[38].Exporter = func(v any, i int) any { - switch v := v.(*CreateSnapshotRequest); i { + switch v := v.(*StreamingPullRequest); i { case 0: return &v.state case 1: @@ -6428,7 +7450,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[39].Exporter = func(v any, i int) any { - switch v := v.(*UpdateSnapshotRequest); i { + switch v := v.(*StreamingPullResponse); i { case 0: return &v.state case 1: @@ -6440,7 +7462,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[40].Exporter = func(v any, i int) any { - switch v := v.(*Snapshot); i { + switch v := v.(*CreateSnapshotRequest); i { case 0: return &v.state case 1: @@ -6452,7 +7474,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[41].Exporter = func(v any, i int) any { - switch v := v.(*GetSnapshotRequest); i { + switch v := v.(*UpdateSnapshotRequest); i { case 0: return &v.state case 1: @@ -6464,7 +7486,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[42].Exporter = func(v any, i int) any { - switch v := v.(*ListSnapshotsRequest); i { + switch v := v.(*Snapshot); i { case 0: return &v.state case 1: @@ -6476,7 +7498,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[43].Exporter = func(v any, i int) any { - switch v := v.(*ListSnapshotsResponse); i { + switch v := v.(*GetSnapshotRequest); i { case 0: return &v.state case 1: @@ -6488,7 +7510,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[44].Exporter = func(v any, i int) any { - switch v := v.(*DeleteSnapshotRequest); i { + switch v := v.(*ListSnapshotsRequest); i { case 0: return &v.state case 1: @@ -6500,7 +7522,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[45].Exporter = func(v any, i int) any { - switch v := v.(*SeekRequest); i { + switch v := v.(*ListSnapshotsResponse); i { case 0: return &v.state case 1: @@ -6512,7 +7534,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[46].Exporter = func(v any, i int) any { - switch v := v.(*SeekResponse); i { + switch v := v.(*DeleteSnapshotRequest); i { case 0: return &v.state case 1: @@ -6524,6 +7546,30 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[47].Exporter = func(v any, i int) any { + switch v := v.(*SeekRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_pubsub_v1_pubsub_proto_msgTypes[48].Exporter = func(v any, i int) any { + switch v := v.(*SeekResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_pubsub_v1_pubsub_proto_msgTypes[49].Exporter = func(v any, i int) any { switch v := v.(*IngestionDataSourceSettings_AwsKinesis); i { case 0: return &v.state @@ -6535,8 +7581,20 @@ func file_google_pubsub_v1_pubsub_proto_init() { return nil } } + file_google_pubsub_v1_pubsub_proto_msgTypes[50].Exporter = func(v any, i int) any { + switch v := v.(*IngestionDataSourceSettings_CloudStorage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } file_google_pubsub_v1_pubsub_proto_msgTypes[51].Exporter = func(v any, i int) any { - switch v := v.(*PushConfig_OidcToken); i { + switch v := v.(*IngestionDataSourceSettings_CloudStorage_TextFormat); i { case 0: return &v.state case 1: @@ -6548,7 +7606,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[52].Exporter = func(v any, i int) any { - switch v := v.(*PushConfig_PubsubWrapper); i { + switch v := v.(*IngestionDataSourceSettings_CloudStorage_AvroFormat); i { case 0: return &v.state case 1: @@ -6560,7 +7618,19 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[53].Exporter = func(v any, i int) any { - switch v := v.(*PushConfig_NoWrapper); i { + switch v := v.(*IngestionDataSourceSettings_CloudStorage_PubSubAvroFormat); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_pubsub_v1_pubsub_proto_msgTypes[54].Exporter = func(v any, i int) any { + switch v := v.(*IngestionFailureEvent_ApiViolationReason); i { case 0: return &v.state case 1: @@ -6572,7 +7642,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[55].Exporter = func(v any, i int) any { - switch v := v.(*CloudStorageConfig_TextConfig); i { + switch v := v.(*IngestionFailureEvent_AvroFailureReason); i { case 0: return &v.state case 1: @@ -6584,6 +7654,78 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[56].Exporter = func(v any, i int) any { + switch v := v.(*IngestionFailureEvent_CloudStorageFailure); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_pubsub_v1_pubsub_proto_msgTypes[59].Exporter = func(v any, i int) any { + switch v := v.(*Subscription_AnalyticsHubSubscriptionInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_pubsub_v1_pubsub_proto_msgTypes[61].Exporter = func(v any, i int) any { + switch v := v.(*PushConfig_OidcToken); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_pubsub_v1_pubsub_proto_msgTypes[62].Exporter = func(v any, i int) any { + switch v := v.(*PushConfig_PubsubWrapper); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_pubsub_v1_pubsub_proto_msgTypes[63].Exporter = func(v any, i int) any { + switch v := v.(*PushConfig_NoWrapper); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_pubsub_v1_pubsub_proto_msgTypes[65].Exporter = func(v any, i int) any { + switch v := v.(*CloudStorageConfig_TextConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_pubsub_v1_pubsub_proto_msgTypes[66].Exporter = func(v any, i int) any { switch v := v.(*CloudStorageConfig_AvroConfig); i { case 0: return &v.state @@ -6595,7 +7737,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { return nil } } - file_google_pubsub_v1_pubsub_proto_msgTypes[57].Exporter = func(v any, i int) any { + file_google_pubsub_v1_pubsub_proto_msgTypes[67].Exporter = func(v any, i int) any { switch v := v.(*StreamingPullResponse_AcknowledgeConfirmation); i { case 0: return &v.state @@ -6607,7 +7749,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { return nil } } - file_google_pubsub_v1_pubsub_proto_msgTypes[58].Exporter = func(v any, i int) any { + file_google_pubsub_v1_pubsub_proto_msgTypes[68].Exporter = func(v any, i int) any { switch v := v.(*StreamingPullResponse_ModifyAckDeadlineConfirmation); i { case 0: return &v.state @@ -6619,7 +7761,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { return nil } } - file_google_pubsub_v1_pubsub_proto_msgTypes[59].Exporter = func(v any, i int) any { + file_google_pubsub_v1_pubsub_proto_msgTypes[69].Exporter = func(v any, i int) any { switch v := v.(*StreamingPullResponse_SubscriptionProperties); i { case 0: return &v.state @@ -6634,27 +7776,41 @@ func file_google_pubsub_v1_pubsub_proto_init() { } file_google_pubsub_v1_pubsub_proto_msgTypes[2].OneofWrappers = []any{ (*IngestionDataSourceSettings_AwsKinesis_)(nil), + (*IngestionDataSourceSettings_CloudStorage_)(nil), + } + file_google_pubsub_v1_pubsub_proto_msgTypes[4].OneofWrappers = []any{ + (*IngestionFailureEvent_CloudStorageFailure_)(nil), } - file_google_pubsub_v1_pubsub_proto_msgTypes[22].OneofWrappers = []any{ + file_google_pubsub_v1_pubsub_proto_msgTypes[24].OneofWrappers = []any{ (*PushConfig_OidcToken_)(nil), (*PushConfig_PubsubWrapper_)(nil), (*PushConfig_NoWrapper_)(nil), } - file_google_pubsub_v1_pubsub_proto_msgTypes[24].OneofWrappers = []any{ + file_google_pubsub_v1_pubsub_proto_msgTypes[26].OneofWrappers = []any{ (*CloudStorageConfig_TextConfig_)(nil), (*CloudStorageConfig_AvroConfig_)(nil), } - file_google_pubsub_v1_pubsub_proto_msgTypes[45].OneofWrappers = []any{ + file_google_pubsub_v1_pubsub_proto_msgTypes[47].OneofWrappers = []any{ (*SeekRequest_Time)(nil), (*SeekRequest_Snapshot)(nil), } + file_google_pubsub_v1_pubsub_proto_msgTypes[50].OneofWrappers = []any{ + (*IngestionDataSourceSettings_CloudStorage_TextFormat_)(nil), + (*IngestionDataSourceSettings_CloudStorage_AvroFormat_)(nil), + (*IngestionDataSourceSettings_CloudStorage_PubsubAvroFormat)(nil), + } + file_google_pubsub_v1_pubsub_proto_msgTypes[51].OneofWrappers = []any{} + file_google_pubsub_v1_pubsub_proto_msgTypes[56].OneofWrappers = []any{ + (*IngestionFailureEvent_CloudStorageFailure_AvroFailureReason)(nil), + (*IngestionFailureEvent_CloudStorageFailure_ApiViolationReason)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_pubsub_v1_pubsub_proto_rawDesc, - NumEnums: 5, - NumMessages: 62, + NumEnums: 7, + NumMessages: 72, NumExtensions: 0, NumServices: 2, }, diff --git a/vendor/cloud.google.com/go/pubsub/apiv1/schema_client.go b/vendor/cloud.google.com/go/pubsub/apiv1/schema_client.go index 4013a77e..18ea325b 100644 --- a/vendor/cloud.google.com/go/pubsub/apiv1/schema_client.go +++ b/vendor/cloud.google.com/go/pubsub/apiv1/schema_client.go @@ -69,6 +69,7 @@ func defaultSchemaGRPCClientOptions() []option.ClientOption { internaloption.WithDefaultAudience("https://pubsub.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), internaloption.EnableJwtWithScope(), + internaloption.EnableNewAuthLibrary(), option.WithGRPCDialOption(grpc.WithDefaultCallOptions( grpc.MaxCallRecvMsgSize(math.MaxInt32))), } @@ -572,6 +573,7 @@ func defaultSchemaRESTClientOptions() []option.ClientOption { internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://pubsub.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableNewAuthLibrary(), } } diff --git a/vendor/cloud.google.com/go/pubsub/apiv1/subscriber_client.go b/vendor/cloud.google.com/go/pubsub/apiv1/subscriber_client.go index 65d3ce16..6b673129 100644 --- a/vendor/cloud.google.com/go/pubsub/apiv1/subscriber_client.go +++ b/vendor/cloud.google.com/go/pubsub/apiv1/subscriber_client.go @@ -76,6 +76,7 @@ func defaultSubscriberGRPCClientOptions() []option.ClientOption { internaloption.WithDefaultAudience("https://pubsub.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), internaloption.EnableJwtWithScope(), + internaloption.EnableNewAuthLibrary(), option.WithGRPCDialOption(grpc.WithDefaultCallOptions( grpc.MaxCallRecvMsgSize(math.MaxInt32))), } @@ -876,6 +877,7 @@ func defaultSubscriberRESTClientOptions() []option.ClientOption { internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://pubsub.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableNewAuthLibrary(), } } diff --git a/vendor/cloud.google.com/go/pubsub/doc.go b/vendor/cloud.google.com/go/pubsub/doc.go index 6107d7a6..9d9a2818 100644 --- a/vendor/cloud.google.com/go/pubsub/doc.go +++ b/vendor/cloud.google.com/go/pubsub/doc.go @@ -14,11 +14,11 @@ /* Package pubsub provides an easy way to publish and receive Google Cloud Pub/Sub -messages, hiding the details of the underlying server RPCs. Google Cloud +messages, hiding the details of the underlying server RPCs. Pub/Sub is a many-to-many, asynchronous messaging system that decouples senders and receivers. -More information about Google Cloud Pub/Sub is available at +More information about Pub/Sub is available at https://cloud.google.com/pubsub/docs See https://godoc.org/cloud.google.com/go for authentication, timeouts, @@ -26,39 +26,39 @@ connection pooling and similar aspects of this package. # Publishing -Google Cloud Pub/Sub messages are published to topics. Topics may be created -using the pubsub package like so: +Pub/Sub messages are published to topics. A [Topic] may be created +using [Client.CreateTopic] like so: topic, err := pubsubClient.CreateTopic(context.Background(), "topic-name") -Messages may then be published to a topic: +Messages may then be published to a [Topic]: res := topic.Publish(ctx, &pubsub.Message{Data: []byte("payload")}) -Publish queues the message for publishing and returns immediately. When enough +[Topic.Publish] queues the message for publishing and returns immediately. When enough messages have accumulated, or enough time has elapsed, the batch of messages is sent to the Pub/Sub service. -Publish returns a PublishResult, which behaves like a future: its Get method +[Topic.Publish] returns a [PublishResult], which behaves like a future: its Get method blocks until the message has been sent to the service. -The first time you call Publish on a topic, goroutines are started in the -background. To clean up these goroutines, call Stop: +The first time you call [Topic.Publish] on a [Topic], goroutines are started in the +background. To clean up these goroutines, call [Topic.Stop]: topic.Stop() # Receiving -To receive messages published to a topic, clients create subscriptions -to the topic. There may be more than one subscription per topic; each message -that is published to the topic will be delivered to all of its subscriptions. +To receive messages published to a [Topic], clients create a [Subscription] +for the topic. There may be more than one subscription per topic ; each message +that is published to the topic will be delivered to all associated subscriptions. -Subscriptions may be created like so: +A [Subscription] may be created like so: sub, err := pubsubClient.CreateSubscription(context.Background(), "sub-name", pubsub.SubscriptionConfig{Topic: topic}) -Messages are then consumed from a subscription via callback. +Messages are then consumed from a [Subscription] via callback. err := sub.Receive(context.Background(), func(ctx context.Context, m *Message) { log.Printf("Got message: %s", m.Data) @@ -69,19 +69,19 @@ Messages are then consumed from a subscription via callback. } The callback is invoked concurrently by multiple goroutines, maximizing -throughput. To terminate a call to Receive, cancel its context. +throughput. To terminate a call to [Subscription.Receive], cancel its context. -Once client code has processed the message, it must call Message.Ack or -Message.Nack; otherwise the message will eventually be redelivered. Ack/Nack -MUST be called within the Receive handler function, and not from a goroutine. +Once client code has processed the [Message], it must call Message.Ack or +Message.Nack; otherwise the Message will eventually be redelivered. Ack/Nack +MUST be called within the [Subscription.Receive] handler function, and not from a goroutine. Otherwise, flow control (e.g. ReceiveSettings.MaxOutstandingMessages) will not be respected, and messages can get orphaned when cancelling Receive. If the client cannot or doesn't want to process the message, it can call Message.Nack to speed redelivery. For more information and configuration options, see -"Ack Deadlines" below. +Ack Deadlines below. -Note: It is possible for Messages to be redelivered even if Message.Ack has +Note: It is possible for a [Message] to be redelivered even if Message.Ack has been called. Client code must be robust to multiple deliveries of messages. Note: This uses pubsub's streaming pull feature. This feature has properties that @@ -91,7 +91,7 @@ pull method. # Streams Management -The number of StreamingPull connections can be configured by setting sub.ReceiveSettings.NumGoroutines. +The number of StreamingPull connections can be configured by setting NumGoroutines in [ReceiveSettings]. The default value of 10 means the client library will maintain 10 StreamingPull connections. This is more than sufficient for most use cases, as StreamingPull connections can handle up to 10 MB/s https://cloud.google.com/pubsub/quotas#resource_limits. In some cases, using too many streams @@ -125,10 +125,8 @@ either: - The "MaxExtension" duration elapses from the time the message is fetched from the server. This defaults to 60m. -Ack deadlines are extended periodically by the client. The initial ack -deadline given to messages is based on the subscription's AckDeadline property, -which defaults to 10s. The period between extensions, as well as the -length of the extension, automatically adjusts based on the time it takes the +Ack deadlines are extended periodically by the client. The period between extensions, +as well as the length of the extension, automatically adjusts based on the time it takes the subscriber application to ack messages (based on the 99th percentile of ack latency). By default, this extension period is capped at 10m, but this limit can be configured by the "MaxExtensionPeriod" setting. This has the effect that subscribers that process @@ -144,15 +142,7 @@ library sends such an extension: the Pub/Sub server would wait the remaining 2m55s before re-sending the messages out to other subscribers. Please note that by default, the client library does not use the subscription's -AckDeadline for the MaxExtension value. To enforce the subscription's AckDeadline, -set MaxExtension to the subscription's AckDeadline: - - cfg, err := sub.Config(ctx) - if err != nil { - // TODO: handle err - } - - sub.ReceiveSettings.MaxExtension = cfg.AckDeadline +AckDeadline for the MaxExtension value. # Slow Message Processing @@ -164,7 +154,7 @@ by firewalls. See the example at https://godoc.org/cloud.google.com/go/pubsub/ap To use an emulator with this library, you can set the PUBSUB_EMULATOR_HOST environment variable to the address at which your emulator is running. This will -send requests to that address instead of to Cloud Pub/Sub. You can then create +send requests to that address instead of to Pub/Sub. You can then create and use a client as usual: // Set PUBSUB_EMULATOR_HOST environment variable. diff --git a/vendor/cloud.google.com/go/pubsub/internal/version.go b/vendor/cloud.google.com/go/pubsub/internal/version.go index f37b8600..a035dba6 100644 --- a/vendor/cloud.google.com/go/pubsub/internal/version.go +++ b/vendor/cloud.google.com/go/pubsub/internal/version.go @@ -15,4 +15,4 @@ package internal // Version is the current tagged release of the library. -const Version = "1.42.0" +const Version = "1.45.3" diff --git a/vendor/cloud.google.com/go/pubsub/iterator.go b/vendor/cloud.google.com/go/pubsub/iterator.go index 9f603590..762f2d5f 100644 --- a/vendor/cloud.google.com/go/pubsub/iterator.go +++ b/vendor/cloud.google.com/go/pubsub/iterator.go @@ -279,7 +279,7 @@ func (it *messageIterator) receive(maxToPull int32) ([]*Message, error) { // If the cancellation comes from the underlying grpc client getting closed, // do propagate the cancellation error. // See https://github.com/googleapis/google-cloud-go/pull/10153#discussion_r1600814775 - if err != nil && it.ps.ctx.Err() == context.Canceled { + if err != nil && errors.Is(it.ps.ctx.Err(), context.Canceled) { err = io.EOF } } @@ -335,14 +335,17 @@ func (it *messageIterator) receive(maxToPull int32) ([]*Message, error) { if m.Attributes != nil { ctx = propagation.TraceContext{}.Extract(ctx, newMessageCarrier(m)) } - attr := getSubscriberOpts(it.projectID, it.subID, m) - _, span := startSpan(ctx, subscribeSpanName, it.subID, attr...) - span.SetAttributes( - attribute.Bool(eosAttribute, it.enableExactlyOnceDelivery), - attribute.String(ackIDAttribute, ackID), - semconv.MessagingBatchMessageCount(len(msgs)), - semconv.CodeFunction("receive"), + opts := getSubscriberOpts(it.projectID, it.subID, m) + opts = append( + opts, + trace.WithAttributes( + attribute.Bool(eosAttribute, it.enableExactlyOnceDelivery), + semconv.MessagingGCPPubsubMessageAckID(ackID), + semconv.MessagingBatchMessageCount(len(msgs)), + semconv.CodeFunction("receive"), + ), ) + _, span := startSpan(ctx, subscribeSpanName, it.subID, opts...) // Always store the subscribe span, even if sampling isn't enabled. // This is useful since we need to propagate the sampling flag // to the callback in Receive, so traces have an unbroken sampling decision. @@ -403,7 +406,7 @@ func (it *messageIterator) pullMessages(maxToPull int32) ([]*pb.ReceivedMessage, MaxMessages: maxToPull, }, gax.WithGRPCOptions(grpc.MaxCallRecvMsgSize(maxSendRecvBytes))) switch { - case err == context.Canceled: + case errors.Is(err, context.Canceled): return nil, nil case status.Code(err) == codes.Canceled: return nil, nil @@ -658,11 +661,16 @@ func (it *messageIterator) sendAck(m map[string]*AckResult) { // Create the single ack span for this request, and for each // message, add Subscribe<->Ack links. opts := getCommonOptions(it.projectID, it.subID) - opts = append(opts, trace.WithLinks(links...)) + opts = append( + opts, + trace.WithLinks(links...), + trace.WithAttributes( + semconv.MessagingBatchMessageCount(len(ackIDs)), + semconv.CodeFunction("sendAck"), + ), + ) _, ackSpan := startSpan(context.Background(), ackSpanName, it.subID, opts...) defer ackSpan.End() - ackSpan.SetAttributes(semconv.MessagingBatchMessageCount(len(ackIDs)), - semconv.CodeFunction("sendAck")) if ackSpan.SpanContext().IsSampled() { for _, s := range subscribeSpans { s.AddLink(trace.Link{ @@ -740,16 +748,25 @@ func (it *messageIterator) sendModAck(m map[string]*AckResult, deadline time.Dur // Create the single modack/nack span for this request, and for each // message, add Subscribe<->Modack links. opts := getCommonOptions(it.projectID, it.subID) - opts = append(opts, trace.WithLinks(links...)) - _, mSpan := startSpan(context.Background(), spanName, it.subID, opts...) - defer mSpan.End() + opts = append( + opts, + trace.WithLinks(links...), + trace.WithAttributes( + semconv.MessagingBatchMessageCount(len(ackIDs)), + semconv.CodeFunction("sendModAck"), + ), + ) if !isNack { - mSpan.SetAttributes( - semconv.MessagingGCPPubsubMessageAckDeadline(int(deadlineSec)), - attribute.Bool(receiptModackAttribute, isReceipt)) + opts = append( + opts, + trace.WithAttributes( + semconv.MessagingGCPPubsubMessageAckDeadline(int(deadlineSec)), + attribute.Bool(receiptModackAttribute, isReceipt), + ), + ) } - mSpan.SetAttributes(semconv.MessagingBatchMessageCount(len(ackIDs)), - semconv.CodeFunction("sendModAck")) + _, mSpan := startSpan(context.Background(), spanName, it.subID, opts...) + defer mSpan.End() if mSpan.SpanContext().IsSampled() { for _, s := range subscribeSpans { s.AddLink(trace.Link{ @@ -876,7 +893,7 @@ func (it *messageIterator) pingStream() { spr := &pb.StreamingPullRequest{} it.eoMu.RLock() if it.sendNewAckDeadline { - spr.StreamAckDeadlineSeconds = int32(it.ackDeadline()) + spr.StreamAckDeadlineSeconds = int32(it.ackDeadline().Seconds()) it.sendNewAckDeadline = false } it.eoMu.RUnlock() diff --git a/vendor/cloud.google.com/go/pubsub/pullstream.go b/vendor/cloud.google.com/go/pubsub/pullstream.go index c5ea8f51..231e5a64 100644 --- a/vendor/cloud.google.com/go/pubsub/pullstream.go +++ b/vendor/cloud.google.com/go/pubsub/pullstream.go @@ -31,8 +31,9 @@ import ( // the stream on a retryable error. type pullStream struct { ctx context.Context - open func() (pb.Subscriber_StreamingPullClient, error) - cancel context.CancelFunc + cancel context.CancelFunc // cancel function of the context above + open func() (pb.Subscriber_StreamingPullClient, context.CancelFunc, error) + close context.CancelFunc // cancel function to close down the currently open stream mu sync.Mutex spc *pb.Subscriber_StreamingPullClient @@ -50,8 +51,9 @@ func newPullStream(ctx context.Context, streamingPull streamingPullFunc, subName return &pullStream{ ctx: ctx, cancel: cancel, - open: func() (pb.Subscriber_StreamingPullClient, error) { - spc, err := streamingPull(ctx, gax.WithGRPCOptions(grpc.MaxCallRecvMsgSize(maxSendRecvBytes))) + open: func() (pb.Subscriber_StreamingPullClient, context.CancelFunc, error) { + sctx, close := context.WithCancel(ctx) + spc, err := streamingPull(sctx, gax.WithGRPCOptions(grpc.MaxCallRecvMsgSize(maxSendRecvBytes))) if err == nil { recordStat(ctx, StreamRequestCount, 1) streamAckDeadline := int32(maxDurationPerLeaseExtension / time.Second) @@ -69,9 +71,10 @@ func newPullStream(ctx context.Context, streamingPull streamingPullFunc, subName }) } if err != nil { - return nil, err + close() + return nil, nil, err } - return spc, nil + return spc, close, nil }, } } @@ -100,29 +103,33 @@ func (s *pullStream) get(spc *pb.Subscriber_StreamingPullClient) (*pb.Subscriber if spc != s.spc { return s.spc, nil } + // we are about to open a new stream: if necessary, make sure the previous one is closed + if s.close != nil { + s.close() + } // Either this is the very first call on this stream (s.spc == nil), or we have a valid // retry request. Either way, open a new stream. // The lock is held here for a long time, but it doesn't matter because no callers could get // anything done anyway. s.spc = new(pb.Subscriber_StreamingPullClient) - *s.spc, s.err = s.openWithRetry() // Any error from openWithRetry is permanent. + *s.spc, s.close, s.err = s.openWithRetry() // Any error from openWithRetry is permanent. return s.spc, s.err } -func (s *pullStream) openWithRetry() (pb.Subscriber_StreamingPullClient, error) { +func (s *pullStream) openWithRetry() (pb.Subscriber_StreamingPullClient, context.CancelFunc, error) { r := defaultRetryer{} for { recordStat(s.ctx, StreamOpenCount, 1) - spc, err := s.open() + spc, close, err := s.open() bo, shouldRetry := r.Retry(err) if err != nil && shouldRetry { recordStat(s.ctx, StreamRetryCount, 1) if err := gax.Sleep(s.ctx, bo); err != nil { - return nil, err + return nil, nil, err } continue } - return spc, err + return spc, close, err } } diff --git a/vendor/cloud.google.com/go/pubsub/subscription.go b/vendor/cloud.google.com/go/pubsub/subscription.go index c6311d6e..ebd522bc 100644 --- a/vendor/cloud.google.com/go/pubsub/subscription.go +++ b/vendor/cloud.google.com/go/pubsub/subscription.go @@ -546,7 +546,7 @@ type SubscriptionConfig struct { // When calling Subscription.Receive(), the client will check this // value with a call to Subscription.Config(), which requires the // roles/viewer or roles/pubsub.viewer role on your service account. - // If that call fails, mesages with ordering keys will be delivered in order. + // If that call fails, messages with ordering keys will be delivered in order. EnableMessageOrdering bool // DeadLetterPolicy specifies the conditions for dead lettering messages in @@ -899,8 +899,7 @@ type ReceiveSettings struct { // // MinExtensionPeriod must be between 10s and 600s (inclusive). This configuration // can be disabled by specifying a duration less than (or equal to) 0. - // Defaults to off but set to 60 seconds if the subscription has exactly-once delivery enabled, - // which will be added in a future release. + // Disabled by default but set to 60 seconds if the subscription has exactly-once delivery enabled. MinExtensionPeriod time.Duration // MaxOutstandingMessages is the maximum number of unprocessed messages @@ -1379,7 +1378,7 @@ func (s *Subscription) Receive(ctx context.Context, f func(context.Context, *Mes } msgs, err := iter.receive(maxToPull) - if err == io.EOF { + if errors.Is(err, io.EOF) { return nil } if err != nil { diff --git a/vendor/cloud.google.com/go/pubsub/topic.go b/vendor/cloud.google.com/go/pubsub/topic.go index 1991fa7f..72d9a345 100644 --- a/vendor/cloud.google.com/go/pubsub/topic.go +++ b/vendor/cloud.google.com/go/pubsub/topic.go @@ -44,6 +44,7 @@ import ( "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/durationpb" fmpb "google.golang.org/protobuf/types/known/fieldmaskpb" + "google.golang.org/protobuf/types/known/timestamppb" ) const ( @@ -350,6 +351,9 @@ type TopicConfigToUpdate struct { // IngestionDataSourceSettings are settings for ingestion from a // data source into this topic. // + // When changing this value, the entire data source settings object must be applied, + // rather than just the differences. This includes the source and logging settings. + // // Use the zero value &IngestionDataSourceSettings{} to remove the ingestion settings from the topic. IngestionDataSourceSettings *IngestionDataSourceSettings } @@ -425,6 +429,8 @@ func messageStoragePolicyToProto(msp *MessageStoragePolicy) *pb.MessageStoragePo // IngestionDataSourceSettings enables ingestion from a data source into this topic. type IngestionDataSourceSettings struct { Source IngestionDataSource + + PlatformLogsSettings *PlatformLogsSettings } // IngestionDataSource is the kind of ingestion source to be used. @@ -495,6 +501,97 @@ func (i *IngestionDataSourceAWSKinesis) isIngestionDataSource() bool { return true } +// CloudStorageIngestionState denotes the possible states for ingestion from Cloud Storage. +type CloudStorageIngestionState int + +const ( + // CloudStorageIngestionStateUnspecified is the default value. This value is unused. + CloudStorageIngestionStateUnspecified = iota + + // CloudStorageIngestionStateActive means ingestion is active. + CloudStorageIngestionStateActive + + // CloudStorageIngestionPermissionDenied means encountering an error while calling the Cloud Storage API. + // This can happen if the Pub/Sub SA has not been granted the + // [appropriate permissions](https://cloud.google.com/storage/docs/access-control/iam-permissions): + // - storage.objects.list: to list the objects in a bucket. + // - storage.objects.get: to read the objects in a bucket. + // - storage.buckets.get: to verify the bucket exists. + CloudStorageIngestionPermissionDenied + + // CloudStorageIngestionPublishPermissionDenied means encountering an error when publishing to the topic. + // This can happen if the Pub/Sub SA has not been granted the [appropriate publish + // permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher) + CloudStorageIngestionPublishPermissionDenied + + // CloudStorageIngestionBucketNotFound means the provided bucket doesn't exist. + CloudStorageIngestionBucketNotFound + + // CloudStorageIngestionTooManyObjects means the bucket has too many objects, ingestion will be paused. + CloudStorageIngestionTooManyObjects +) + +// IngestionDataSourceCloudStorage are ingestion settings for Cloud Storage. +type IngestionDataSourceCloudStorage struct { + // State is an output-only field indicating the state of the Cloud storage ingestion source. + State CloudStorageIngestionState + + // Bucket is the Cloud Storage bucket. The bucket name must be without any + // prefix like "gs://". See the bucket naming requirements (https://cloud.google.com/storage/docs/buckets#naming). + Bucket string + + // InputFormat is the format of objects in Cloud Storage. + // Defaults to TextFormat. + InputFormat ingestionDataSourceCloudStorageInputFormat + + // MinimumObjectCreateTime means objects with a larger or equal creation timestamp will be + // ingested. + MinimumObjectCreateTime time.Time + + // MatchGlob is the pattern used to match objects that will be ingested. If + // empty, all objects will be ingested. See the [supported + // patterns](https://cloud.google.com/storage/docs/json_api/v1/objects/list#list-objects-and-prefixes-using-glob). + MatchGlob string +} + +var _ IngestionDataSource = (*IngestionDataSourceCloudStorage)(nil) + +func (i *IngestionDataSourceCloudStorage) isIngestionDataSource() bool { + return true +} + +type ingestionDataSourceCloudStorageInputFormat interface { + isCloudStorageIngestionInputFormat() bool +} + +var _ ingestionDataSourceCloudStorageInputFormat = (*IngestionDataSourceCloudStorageTextFormat)(nil) +var _ ingestionDataSourceCloudStorageInputFormat = (*IngestionDataSourceCloudStorageAvroFormat)(nil) +var _ ingestionDataSourceCloudStorageInputFormat = (*IngestionDataSourceCloudStoragePubSubAvroFormat)(nil) + +// IngestionDataSourceCloudStorageTextFormat means Cloud Storage data will be interpreted as text. +type IngestionDataSourceCloudStorageTextFormat struct { + Delimiter string +} + +func (i *IngestionDataSourceCloudStorageTextFormat) isCloudStorageIngestionInputFormat() bool { + return true +} + +// IngestionDataSourceCloudStorageAvroFormat means Cloud Storage data will be interpreted in Avro format. +type IngestionDataSourceCloudStorageAvroFormat struct{} + +func (i *IngestionDataSourceCloudStorageAvroFormat) isCloudStorageIngestionInputFormat() bool { + return true +} + +// IngestionDataSourceCloudStoragePubSubAvroFormat is used assuming the data was written using Cloud +// Storage subscriptions https://cloud.google.com/pubsub/docs/cloudstorage. +type IngestionDataSourceCloudStoragePubSubAvroFormat struct{} + +func (i *IngestionDataSourceCloudStoragePubSubAvroFormat) isCloudStorageIngestionInputFormat() bool { + return true +} + func protoToIngestionDataSourceSettings(pbs *pb.IngestionDataSourceSettings) *IngestionDataSourceSettings { if pbs == nil { return nil @@ -509,7 +606,33 @@ func protoToIngestionDataSourceSettings(pbs *pb.IngestionDataSourceSettings) *In AWSRoleARN: k.GetAwsRoleArn(), GCPServiceAccount: k.GetGcpServiceAccount(), } + } else if cs := pbs.GetCloudStorage(); cs != nil { + var format ingestionDataSourceCloudStorageInputFormat + switch t := cs.InputFormat.(type) { + case *pb.IngestionDataSourceSettings_CloudStorage_TextFormat_: + format = &IngestionDataSourceCloudStorageTextFormat{ + Delimiter: *t.TextFormat.Delimiter, + } + case *pb.IngestionDataSourceSettings_CloudStorage_AvroFormat_: + format = &IngestionDataSourceCloudStorageAvroFormat{} + case *pb.IngestionDataSourceSettings_CloudStorage_PubsubAvroFormat: + format = &IngestionDataSourceCloudStoragePubSubAvroFormat{} + } + s.Source = &IngestionDataSourceCloudStorage{ + State: CloudStorageIngestionState(cs.GetState()), + Bucket: cs.GetBucket(), + InputFormat: format, + MinimumObjectCreateTime: cs.GetMinimumObjectCreateTime().AsTime(), + MatchGlob: cs.GetMatchGlob(), + } + } + + if pbs.PlatformLogsSettings != nil { + s.PlatformLogsSettings = &PlatformLogsSettings{ + Severity: PlatformLogsSeverity(pbs.PlatformLogsSettings.Severity), + } } + return s } @@ -522,6 +645,11 @@ func (i *IngestionDataSourceSettings) toProto() *pb.IngestionDataSourceSettings return nil } pbs := &pb.IngestionDataSourceSettings{} + if i.PlatformLogsSettings != nil { + pbs.PlatformLogsSettings = &pb.PlatformLogsSettings{ + Severity: pb.PlatformLogsSettings_Severity(i.PlatformLogsSettings.Severity), + } + } if out := i.Source; out != nil { if k, ok := out.(*IngestionDataSourceAWSKinesis); ok { pbs.Source = &pb.IngestionDataSourceSettings_AwsKinesis_{ @@ -534,10 +662,76 @@ func (i *IngestionDataSourceSettings) toProto() *pb.IngestionDataSourceSettings }, } } + if cs, ok := out.(*IngestionDataSourceCloudStorage); ok { + switch format := cs.InputFormat.(type) { + case *IngestionDataSourceCloudStorageTextFormat: + pbs.Source = &pb.IngestionDataSourceSettings_CloudStorage_{ + CloudStorage: &pb.IngestionDataSourceSettings_CloudStorage{ + State: pb.IngestionDataSourceSettings_CloudStorage_State(cs.State), + Bucket: cs.Bucket, + InputFormat: &pb.IngestionDataSourceSettings_CloudStorage_TextFormat_{ + TextFormat: &pb.IngestionDataSourceSettings_CloudStorage_TextFormat{ + Delimiter: &format.Delimiter, + }, + }, + MinimumObjectCreateTime: timestamppb.New(cs.MinimumObjectCreateTime), + MatchGlob: cs.MatchGlob, + }, + } + case *IngestionDataSourceCloudStorageAvroFormat: + pbs.Source = &pb.IngestionDataSourceSettings_CloudStorage_{ + CloudStorage: &pb.IngestionDataSourceSettings_CloudStorage{ + State: pb.IngestionDataSourceSettings_CloudStorage_State(cs.State), + Bucket: cs.Bucket, + InputFormat: &pb.IngestionDataSourceSettings_CloudStorage_AvroFormat_{ + AvroFormat: &pb.IngestionDataSourceSettings_CloudStorage_AvroFormat{}, + }, + MinimumObjectCreateTime: timestamppb.New(cs.MinimumObjectCreateTime), + MatchGlob: cs.MatchGlob, + }, + } + case *IngestionDataSourceCloudStoragePubSubAvroFormat: + pbs.Source = &pb.IngestionDataSourceSettings_CloudStorage_{ + CloudStorage: &pb.IngestionDataSourceSettings_CloudStorage{ + State: pb.IngestionDataSourceSettings_CloudStorage_State(cs.State), + Bucket: cs.Bucket, + InputFormat: &pb.IngestionDataSourceSettings_CloudStorage_PubsubAvroFormat{ + PubsubAvroFormat: &pb.IngestionDataSourceSettings_CloudStorage_PubSubAvroFormat{}, + }, + MinimumObjectCreateTime: timestamppb.New(cs.MinimumObjectCreateTime), + MatchGlob: cs.MatchGlob, + }, + } + } + } } return pbs } +// PlatformLogsSettings configures logging produced by Pub/Sub. +// Currently only valid on Cloud Storage ingestion topics. +type PlatformLogsSettings struct { + Severity PlatformLogsSeverity +} + +// PlatformLogsSeverity are the severity levels of Platform Logs. +type PlatformLogsSeverity int32 + +const ( + // PlatformLogsSeverityUnspecified is the default value. Logs level is unspecified. Logs will be disabled. + PlatformLogsSeverityUnspecified PlatformLogsSeverity = iota + // PlatformLogsSeverityDisabled means logs will be disabled. + PlatformLogsSeverityDisabled + // PlatformLogsSeverityDebug means debug logs and higher-severity logs will be written. + PlatformLogsSeverityDebug + // PlatformLogsSeverityInfo means info logs and higher-severity logs will be written. + PlatformLogsSeverityInfo + // PlatformLogsSeverityWarning means warning logs and higher-severity logs will be written. + PlatformLogsSeverityWarning + // PlatformLogsSeverityError means only error logs will be written. + PlatformLogsSeverityError +) + // Config returns the TopicConfig for the topic. func (t *Topic) Config(ctx context.Context) (TopicConfig, error) { pbt, err := t.c.pubc.GetTopic(ctx, &pb.GetTopicRequest{Topic: t.name}) @@ -748,8 +942,8 @@ func (t *Topic) Publish(ctx context.Context, msg *Message) *PublishResult { var createSpan trace.Span if t.enableTracing { opts := getPublishSpanAttributes(t.c.projectID, t.ID(), msg) + opts = append(opts, trace.WithAttributes(semconv.CodeFunction("Publish"))) ctx, createSpan = startSpan(ctx, createSpanName, t.ID(), opts...) - createSpan.SetAttributes(semconv.CodeFunction("Publish")) } ctx, err := tag.New(ctx, tag.Insert(keyStatus, "OK"), tag.Upsert(keyTopic, t.name)) if err != nil { @@ -799,8 +993,6 @@ func (t *Topic) Publish(ctx context.Context, msg *Message) *PublishResult { fcSpan.End() } - _, batcherSpan = startSpan(ctx, batcherSpanName, "") - bmsg := &bundledMessage{ msg: msg, res: r, @@ -809,6 +1001,7 @@ func (t *Topic) Publish(ctx context.Context, msg *Message) *PublishResult { } if t.enableTracing { + _, batcherSpan = startSpan(ctx, batcherSpanName, "") bmsg.batcherSpan = batcherSpan // Inject the context from the first publish span rather than from flow control / batching. @@ -973,8 +1166,14 @@ func (t *Topic) publishMessageBundle(ctx context.Context, bms []*bundledMessage) opts := getCommonOptions(projectID, topicID) // Add link to publish RPC span of createSpan(s). opts = append(opts, trace.WithLinks(links...)) + opts = append( + opts, + trace.WithAttributes( + semconv.MessagingBatchMessageCount(numMsgs), + semconv.CodeFunction("publishMessageBundle"), + ), + ) ctx, pSpan = startSpan(ctx, publishRPCSpanName, topicID, opts...) - pSpan.SetAttributes(semconv.MessagingBatchMessageCount(numMsgs), semconv.CodeFunction("publishMessageBundle")) defer pSpan.End() // Add the reverse link to createSpan(s) of publish RPC span. diff --git a/vendor/cloud.google.com/go/pubsub/trace.go b/vendor/cloud.google.com/go/pubsub/trace.go index 1d41e9d8..6ff88a84 100644 --- a/vendor/cloud.google.com/go/pubsub/trace.go +++ b/vendor/cloud.google.com/go/pubsub/trace.go @@ -20,6 +20,7 @@ import ( "log" "sync" + pb "cloud.google.com/go/pubsub/apiv1/pubsubpb" "cloud.google.com/go/pubsub/internal" "go.opencensus.io/stats" "go.opencensus.io/stats/view" @@ -273,33 +274,42 @@ func tracer() trace.Tracer { var _ propagation.TextMapCarrier = (*messageCarrier)(nil) -// messageCarrier injects and extracts traces from a pubsub.Message. +// messageCarrier injects and extracts traces from pubsub.Message attributes. type messageCarrier struct { - msg *Message + attributes map[string]string } const googclientPrefix string = "googclient_" // newMessageCarrier creates a new PubsubMessageCarrier. func newMessageCarrier(msg *Message) messageCarrier { - return messageCarrier{msg: msg} + return messageCarrier{attributes: msg.Attributes} +} + +// NewMessageCarrierFromPB creates a propagation.TextMapCarrier that can be used to extract the trace +// context from a protobuf PubsubMessage. +// +// Example: +// ctx = propagation.TraceContext{}.Extract(ctx, pubsub.NewMessageCarrierFromPB(msg)) +func NewMessageCarrierFromPB(msg *pb.PubsubMessage) propagation.TextMapCarrier { + return messageCarrier{attributes: msg.Attributes} } // Get retrieves a single value for a given key. func (c messageCarrier) Get(key string) string { - return c.msg.Attributes[googclientPrefix+key] + return c.attributes[googclientPrefix+key] } // Set sets an attribute. func (c messageCarrier) Set(key, val string) { - c.msg.Attributes[googclientPrefix+key] = val + c.attributes[googclientPrefix+key] = val } // Keys returns a slice of all keys in the carrier. func (c messageCarrier) Keys() []string { i := 0 - out := make([]string, len(c.msg.Attributes)) - for k := range c.msg.Attributes { + out := make([]string, len(c.attributes)) + for k := range c.attributes { out[i] = k i++ } @@ -350,14 +360,11 @@ const ( resultExpired = "expired" // custom pubsub specific attributes - gcpProjectIDAttribute = "gcp.project_id" - pubsubPrefix = "messaging.gcp_pubsub." - orderingAttribute = pubsubPrefix + "message.ordering_key" - deliveryAttemptAttribute = pubsubPrefix + "message.delivery_attempt" - eosAttribute = pubsubPrefix + "exactly_once_delivery" - ackIDAttribute = pubsubPrefix + "message.ack_id" - resultAttribute = pubsubPrefix + "result" - receiptModackAttribute = pubsubPrefix + "is_receipt_modack" + gcpProjectIDAttribute = "gcp.project_id" + pubsubPrefix = "messaging.gcp_pubsub." + eosAttribute = pubsubPrefix + "exactly_once_delivery" + resultAttribute = pubsubPrefix + "result" + receiptModackAttribute = pubsubPrefix + "is_receipt_modack" ) func startSpan(ctx context.Context, spanType, resourceID string, opts ...trace.SpanStartOption) (context.Context, trace.Span) { @@ -373,7 +380,7 @@ func getPublishSpanAttributes(project, dst string, msg *Message, attrs ...attrib trace.WithAttributes( semconv.MessagingMessageID(msg.ID), semconv.MessagingMessageBodySize(len(msg.Data)), - attribute.String(orderingAttribute, msg.OrderingKey), + semconv.MessagingGCPPubsubMessageOrderingKey(msg.OrderingKey), ), trace.WithAttributes(attrs...), trace.WithSpanKind(trace.SpanKindProducer), @@ -387,13 +394,13 @@ func getSubscriberOpts(project, dst string, msg *Message, attrs ...attribute.Key trace.WithAttributes( semconv.MessagingMessageID(msg.ID), semconv.MessagingMessageBodySize(len(msg.Data)), - attribute.String(orderingAttribute, msg.OrderingKey), + semconv.MessagingGCPPubsubMessageOrderingKey(msg.OrderingKey), ), trace.WithAttributes(attrs...), trace.WithSpanKind(trace.SpanKindConsumer), } if msg.DeliveryAttempt != nil { - opts = append(opts, trace.WithAttributes(attribute.Int(deliveryAttemptAttribute, *msg.DeliveryAttempt))) + opts = append(opts, trace.WithAttributes(semconv.MessagingGCPPubsubMessageDeliveryAttempt(*msg.DeliveryAttempt))) } opts = append(opts, getCommonOptions(project, dst)...) return opts diff --git a/vendor/github.com/DataDog/appsec-internal-go/appsec/embed.go b/vendor/github.com/DataDog/appsec-internal-go/appsec/embed.go index cfa0a5d8..2d6da7df 100644 --- a/vendor/github.com/DataDog/appsec-internal-go/appsec/embed.go +++ b/vendor/github.com/DataDog/appsec-internal-go/appsec/embed.go @@ -7,8 +7,8 @@ package appsec import _ "embed" // Blank import comment for golint compliance -// StaticRecommendedRules holds the recommended AppSec security rules (v1.12.0) -// Source: https://github.com/DataDog/appsec-event-rules/blob/1.12.0/build/recommended.json +// StaticRecommendedRules holds the recommended AppSec security rules (v1.13.2) +// Source: https://github.com/DataDog/appsec-event-rules/blob/1.13.2/build/recommended.json // //go:embed rules.json var StaticRecommendedRules string diff --git a/vendor/github.com/DataDog/appsec-internal-go/appsec/rules.json b/vendor/github.com/DataDog/appsec-internal-go/appsec/rules.json index 0b25be93..d0e486c6 100644 --- a/vendor/github.com/DataDog/appsec-internal-go/appsec/rules.json +++ b/vendor/github.com/DataDog/appsec-internal-go/appsec/rules.json @@ -1,7 +1,7 @@ { "version": "2.2", "metadata": { - "rules_version": "1.12.0" + "rules_version": "1.13.2" }, "rules": [ { @@ -6239,7 +6239,6 @@ { "id": "rasp-930-100", "name": "Local file inclusion exploit", - "enabled": false, "tags": { "type": "lfi", "category": "vulnerability_trigger", @@ -6285,10 +6284,57 @@ "stack_trace" ] }, + { + "id": "rasp-932-100", + "name": "Command injection exploit", + "tags": { + "type": "command_injection", + "category": "vulnerability_trigger", + "cwe": "77", + "capec": "1000/152/248/88", + "confidence": "0", + "module": "rasp" + }, + "conditions": [ + { + "parameters": { + "resource": [ + { + "address": "server.sys.shell.cmd" + } + ], + "params": [ + { + "address": "server.request.query" + }, + { + "address": "server.request.body" + }, + { + "address": "server.request.path_params" + }, + { + "address": "grpc.server.request.message" + }, + { + "address": "graphql.server.all_resolvers" + }, + { + "address": "graphql.server.resolver" + } + ] + }, + "operator": "shi_detector" + } + ], + "transformers": [], + "on_match": [ + "stack_trace" + ] + }, { "id": "rasp-934-100", "name": "Server-side request forgery exploit", - "enabled": false, "tags": { "type": "ssrf", "category": "vulnerability_trigger", @@ -6337,7 +6383,6 @@ { "id": "rasp-942-100", "name": "SQL injection exploit", - "enabled": false, "tags": { "type": "sql_injection", "category": "vulnerability_trigger", @@ -6377,7 +6422,7 @@ } ] }, - "operator": "sqli_detector" + "operator": "sqli_detector@v2" } ], "transformers": [], @@ -8388,6 +8433,57 @@ } ], "processors": [ + { + "id": "http-endpoint-fingerprint", + "generator": "http_endpoint_fingerprint", + "conditions": [ + { + "operator": "exists", + "parameters": { + "inputs": [ + { + "address": "waf.context.event" + }, + { + "address": "server.business_logic.users.login.failure" + }, + { + "address": "server.business_logic.users.login.success" + } + ] + } + } + ], + "parameters": { + "mappings": [ + { + "method": [ + { + "address": "server.request.method" + } + ], + "uri_raw": [ + { + "address": "server.request.uri.raw" + } + ], + "body": [ + { + "address": "server.request.body" + } + ], + "query": [ + { + "address": "server.request.query" + } + ], + "output": "_dd.appsec.fp.http.endpoint" + } + ] + }, + "evaluate": false, + "output": true + }, { "id": "extract-content", "generator": "extract_schema", @@ -8537,6 +8633,124 @@ }, "evaluate": false, "output": true + }, + { + "id": "http-header-fingerprint", + "generator": "http_header_fingerprint", + "conditions": [ + { + "operator": "exists", + "parameters": { + "inputs": [ + { + "address": "waf.context.event" + }, + { + "address": "server.business_logic.users.login.failure" + }, + { + "address": "server.business_logic.users.login.success" + } + ] + } + } + ], + "parameters": { + "mappings": [ + { + "headers": [ + { + "address": "server.request.headers.no_cookies" + } + ], + "output": "_dd.appsec.fp.http.header" + } + ] + }, + "evaluate": false, + "output": true + }, + { + "id": "http-network-fingerprint", + "generator": "http_network_fingerprint", + "conditions": [ + { + "operator": "exists", + "parameters": { + "inputs": [ + { + "address": "waf.context.event" + }, + { + "address": "server.business_logic.users.login.failure" + }, + { + "address": "server.business_logic.users.login.success" + } + ] + } + } + ], + "parameters": { + "mappings": [ + { + "headers": [ + { + "address": "server.request.headers.no_cookies" + } + ], + "output": "_dd.appsec.fp.http.network" + } + ] + }, + "evaluate": false, + "output": true + }, + { + "id": "session-fingerprint", + "generator": "session_fingerprint", + "conditions": [ + { + "operator": "exists", + "parameters": { + "inputs": [ + { + "address": "waf.context.event" + }, + { + "address": "server.business_logic.users.login.failure" + }, + { + "address": "server.business_logic.users.login.success" + } + ] + } + } + ], + "parameters": { + "mappings": [ + { + "cookies": [ + { + "address": "server.request.cookies" + } + ], + "session_id": [ + { + "address": "usr.session_id" + } + ], + "user_id": [ + { + "address": "usr.id" + } + ], + "output": "_dd.appsec.fp.session" + } + ] + }, + "evaluate": false, + "output": true } ], "scanners": [ diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/credit_cards.go b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/credit_cards.go index 03adf154..b172b2c1 100644 --- a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/credit_cards.go +++ b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/credit_cards.go @@ -5,9 +5,67 @@ package obfuscate +import ( + "strings" +) + +// creditCard maintains credit card obfuscation state and processing. +type creditCard struct { + luhn bool +} + +func newCCObfuscator(config *CreditCardsConfig) *creditCard { + return &creditCard{ + luhn: config.Luhn, + } +} + +// ObfuscateCreditCardNumber obfuscates any "credit card like" numbers in value for keys not in the allow-list +func (o *Obfuscator) ObfuscateCreditCardNumber(key, val string) string { + switch key { + case "_sample_rate", + "_sampling_priority_v1", + "account_id", + "aws_account", + "error", + "error.msg", + "error.type", + "error.stack", + "env", + "graphql.field", + "graphql.query", + "graphql.type", + "graphql.operation.name", + "grpc.code", + "grpc.method", + "grpc.request", + "http.status_code", + "http.method", + "runtime-id", + "out.host", + "out.port", + "sampling.priority", + "span.type", + "span.name", + "service.name", + "service", + "sql.query", + "version": + // these tags are known to not be credit card numbers + return val + } + if strings.HasPrefix(key, "_") { + return val + } + if o.ccObfuscator.IsCardNumber(val) { + return "?" + } + return val +} + // IsCardNumber checks if b could be a credit card number by checking the digit count and IIN prefix. // If validateLuhn is true, the Luhn checksum is also applied to potential candidates. -func IsCardNumber(b string, validateLuhn bool) (ok bool) { +func (cc *creditCard) IsCardNumber(b string) (ok bool) { // // Just credit card numbers for now, based on: // • https://baymard.com/checkout-usability/credit-card-patterns @@ -28,7 +86,7 @@ func IsCardNumber(b string, validateLuhn bool) (ok bool) { count := 0 // counts digits encountered foundPrefix := false // reports whether we've detected a valid prefix recdigit := func(_ byte) {} // callback on each found digit; no-op by default (we only need this for Luhn) - if validateLuhn { + if cc.luhn { // we need Luhn checksum validation, so we have to take additional action // and record all digits found buf := make([]byte, 0, len(b)) diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/ip_address.go b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/ip_address.go new file mode 100644 index 00000000..7639453b --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/ip_address.go @@ -0,0 +1,168 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package obfuscate + +import ( + "net" + "net/netip" + "regexp" + "strings" +) + +// QuantizePeerIPAddresses quantizes a comma separated list of hosts. Each entry which is an IP address is replaced using quantizeIP. +// Duplicate entries post-quantization or collapsed into a single unique value. +// Entries which are not IP addresses are left unchanged. +// Comma-separated host lists are common for peer tags like peer.cassandra.contact.points, peer.couchbase.seed.nodes, peer.kafka.bootstrap.servers +func QuantizePeerIPAddresses(raw string) string { + values := strings.Split(raw, ",") + uniq := values[:0] + uniqSet := make(map[string]bool) + for _, v := range values { + q := quantizeIP(v) + if !uniqSet[q] { + uniqSet[q] = true + uniq = append(uniq, q) + } + } + return strings.Join(uniq, ",") +} + +var protocolRegex = regexp.MustCompile(`((?:dnspoll|ftp|file|http|https):/{2,3}).*`) + +var allowedIPAddresses = map[string]bool{ + // localhost + "127.0.0.1": true, + "::1": true, + // link-local cloud provider metadata server addresses + "169.254.169.254": true, + "fd00:ec2::254": true, + // ECS task metadata + "169.254.170.2": true, +} + +func splitPrefix(raw string) (prefix, after string) { + if after, ok := strings.CutPrefix(raw, "ip-"); ok { // AWS EC2 hostnames e.g. ip-10-123-4-567.ec2.internal + return "ip-", after + } + subMatches := protocolRegex.FindStringSubmatch(raw) + if len(subMatches) >= 2 { + prefix = subMatches[1] + } + return prefix, raw[len(prefix):] +} + +// quantizeIP quantizes the ip address in the provided string, only if it exactly matches an ip with an optional port +// if the string is not an ip then empty string is returned +func quantizeIP(raw string) string { + prefix, rawNoPrefix := splitPrefix(raw) + host, port, suffix := parseIPAndPort(rawNoPrefix) + if host == "" { + // not an ip address + return raw + } + if allowedIPAddresses[host] { + return raw + } + replacement := prefix + "blocked-ip-address" + if port != "" { + // we're keeping the original port as part of the key because ports are much lower cardinality + // than ip addresses, and they also tend to correspond more closely to a protocol (i.e. 443 is HTTPS) + // so it's likely safe and probably also useful to leave them in + replacement = replacement + ":" + port + } + return replacement + suffix +} + +// parseIPAndPort returns (host, port) if the host is a valid ip address with an optional port, else returns empty strings. +func parseIPAndPort(input string) (host, port, suffix string) { + host, port, err := net.SplitHostPort(input) + if err != nil { + host = input + } + if ok, i := isParseableIP(host); ok { + return host[:i], port, host[i:] + } + return "", "", "" +} + +func isParseableIP(s string) (parsed bool, lastIndex int) { + if len(s) == 0 { + return false, -1 + } + // Must start with a hex digit, or IPv6 can have a preceding ':' + switch s[0] { + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + 'a', 'b', 'c', 'd', 'e', 'f', + 'A', 'B', 'C', 'D', 'E', 'F', + ':': + default: + return false, -1 + } + for i := 0; i < len(s); i++ { + switch s[i] { + case '.', '_', '-': + return parseIPv4(s, s[i]) + case ':': + // IPv6 + if _, err := netip.ParseAddr(s); err == nil { + return true, len(s) + } + return false, -1 + case '%': + // Assume that this was trying to be an IPv6 address with + // a zone specifier, but the address is missing. + return false, -1 + } + } + return false, -1 +} + +// parseIsIPv4 parses s as an IPv4 address and returns whether it is an IP address +// modified from netip to accept alternate separators besides '.' +// also modified to return true if s is an IPv4 address with trailing characters +func parseIPv4(s string, sep byte) (parsed bool, lastIndex int) { + var fields [4]uint8 + var val, pos int + var digLen int // number of digits in current octet + for i := 0; i < len(s); i++ { + if s[i] >= '0' && s[i] <= '9' { + if digLen == 1 && val == 0 { + return false, -1 + } + val = val*10 + int(s[i]) - '0' + digLen++ + if val > 255 { + return false, -1 + } + } else if s[i] == sep { + // .1.2.3 + // 1.2.3. + // 1..2.3 + if i == 0 || i == len(s)-1 || s[i-1] == sep { + return false, -1 + } + // 1.2.3.4.5 + if pos == 3 { + return true, i + } + fields[pos] = uint8(val) + pos++ + val = 0 + digLen = 0 + } else { + if pos == 3 && digLen > 0 { + fields[3] = uint8(val) + return true, i + } + return false, -1 + } + } + if pos < 3 { + return false, -1 + } + fields[3] = uint8(val) + return true, len(s) +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/json.go b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/json.go index 8252a9f0..d2a60ec6 100644 --- a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/json.go +++ b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/json.go @@ -22,6 +22,11 @@ func (o *Obfuscator) ObfuscateElasticSearchString(cmd string) string { return obfuscateJSONString(cmd, o.es) } +// ObfuscateOpenSearchString obfuscates the given OpenSearch JSON query. +func (o *Obfuscator) ObfuscateOpenSearchString(cmd string) string { + return obfuscateJSONString(cmd, o.openSearch) +} + // obfuscateJSONString obfuscates the given span's tag using the given obfuscator. If the obfuscator is // nil it is considered disabled. func obfuscateJSONString(cmd string, obfuscator *jsonObfuscator) string { diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/json_scanner.go b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/json_scanner.go index ab3ce4a8..6c490bbc 100644 --- a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/json_scanner.go +++ b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/json_scanner.go @@ -533,9 +533,7 @@ func stateNul(s *scanner, c byte) int { // stateError is the state after reaching a syntax error, // such as after reading `[1}` or `5.1.2`. -// -//nolint:revive // TODO(APM) Fix revive linter -func stateError(s *scanner, c byte) int { +func stateError(_ *scanner, _ byte) int { return scanError } diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/obfuscate.go b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/obfuscate.go index ed30de60..fd5ac9dd 100644 --- a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/obfuscate.go +++ b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/obfuscate.go @@ -15,8 +15,9 @@ package obfuscate import ( "bytes" - "github.com/DataDog/datadog-go/v5/statsd" "go.uber.org/atomic" + + "github.com/DataDog/datadog-go/v5/statsd" ) // Obfuscator quantizes and obfuscates spans. The obfuscator is not safe for @@ -24,9 +25,11 @@ import ( type Obfuscator struct { opts *Config es *jsonObfuscator // nil if disabled + openSearch *jsonObfuscator // nil if disabled mongo *jsonObfuscator // nil if disabled sqlExecPlan *jsonObfuscator // nil if disabled sqlExecPlanNormalize *jsonObfuscator // nil if disabled + ccObfuscator *creditCard // nil if disabled // sqlLiteralEscapes reports whether we should treat escape characters literally or as escape characters. // Different SQL engines behave in different ways and the tokenizer needs to be generic. sqlLiteralEscapes *atomic.Bool @@ -69,6 +72,9 @@ type Config struct { // ES holds the obfuscation configuration for ElasticSearch bodies. ES JSONConfig + // OpenSearch holds the obfuscation configuration for OpenSearch bodies. + OpenSearch JSONConfig + // Mongo holds the obfuscation configuration for MongoDB queries. Mongo JSONConfig @@ -88,6 +94,9 @@ type Config struct { // Memcached holds the obfuscation settings for Memcached commands. Memcached MemcachedConfig + // Memcached holds the obfuscation settings for obfuscation of CC numbers in meta. + CreditCard CreditCardsConfig + // Statsd specifies the statsd client to use for reporting metrics. Statsd StatsClient @@ -107,6 +116,7 @@ type ObfuscationMode string // ObfuscationMode valid values const ( + NormalizeOnly = ObfuscationMode("normalize_only") ObfuscateOnly = ObfuscationMode("obfuscate_only") ObfuscateAndNormalize = ObfuscationMode("obfuscate_and_normalize") ) @@ -145,12 +155,12 @@ type SQLConfig struct { // ObfuscationMode specifies the obfuscation mode to use for go-sqllexer pkg. // When specified, obfuscator will attempt to use go-sqllexer pkg to obfuscate (and normalize) SQL queries. - // Valid values are "obfuscate_only", "obfuscate_and_normalize" + // Valid values are "normalize_only", "obfuscate_only", "obfuscate_and_normalize" ObfuscationMode ObfuscationMode `json:"obfuscation_mode" yaml:"obfuscation_mode"` // RemoveSpaceBetweenParentheses specifies whether to remove spaces between parentheses. // By default, spaces are inserted between parentheses during normalization. - // This option is only valid when ObfuscationMode is "obfuscate_and_normalize". + // This option is only valid when ObfuscationMode is "normalize_only" or "obfuscate_and_normalize". RemoveSpaceBetweenParentheses bool `json:"remove_space_between_parentheses" yaml:"remove_space_between_parentheses"` // KeepNull specifies whether to disable obfuscate NULL value with ?. @@ -167,12 +177,12 @@ type SQLConfig struct { // KeepTrailingSemicolon specifies whether to keep trailing semicolon. // By default, trailing semicolon is removed during normalization. - // This option is only valid when ObfuscationMode is "obfuscate_only" or "obfuscate_and_normalize". + // This option is only valid when ObfuscationMode is "normalize_only" or "obfuscate_and_normalize". KeepTrailingSemicolon bool `json:"keep_trailing_semicolon" yaml:"keep_trailing_semicolon"` // KeepIdentifierQuotation specifies whether to keep identifier quotation, e.g. "my_table" or [my_table]. // By default, identifier quotation is removed during normalization. - // This option is only valid when ObfuscationMode is "obfuscate_only" or "obfuscate_and_normalize". + // This option is only valid when ObfuscationMode is "normalize_only" or "obfuscate_and_normalize". KeepIdentifierQuotation bool `json:"keep_identifier_quotation" yaml:"keep_identifier_quotation"` // Cache reports whether the obfuscator should use a LRU look-up cache for SQL obfuscations. @@ -239,6 +249,18 @@ type JSONConfig struct { ObfuscateSQLValues []string `mapstructure:"obfuscate_sql_values"` } +// CreditCardsConfig holds the configuration for credit card obfuscation in +// (Meta) tags. +type CreditCardsConfig struct { + // Enabled specifies whether this feature should be enabled. + Enabled bool `mapstructure:"enabled"` + + // Luhn specifies whether Luhn checksum validation should be enabled. + // https://dev.to/shiraazm/goluhn-a-simple-library-for-generating-calculating-and-verifying-luhn-numbers-588j + // It reduces false positives, but increases the CPU time X3. + Luhn bool `mapstructure:"luhn"` +} + // NewObfuscator creates a new obfuscator func NewObfuscator(cfg Config) *Obfuscator { if cfg.Logger == nil { @@ -253,6 +275,9 @@ func NewObfuscator(cfg Config) *Obfuscator { if cfg.ES.Enabled { o.es = newJSONObfuscator(&cfg.ES, &o) } + if cfg.OpenSearch.Enabled { + o.openSearch = newJSONObfuscator(&cfg.OpenSearch, &o) + } if cfg.Mongo.Enabled { o.mongo = newJSONObfuscator(&cfg.Mongo, &o) } @@ -262,6 +287,9 @@ func NewObfuscator(cfg Config) *Obfuscator { if cfg.SQLExecPlanNormalize.Enabled { o.sqlExecPlanNormalize = newJSONObfuscator(&cfg.SQLExecPlanNormalize, &o) } + if cfg.CreditCard.Enabled { + o.ccObfuscator = newCCObfuscator(&cfg.CreditCard) + } if cfg.Statsd == nil { cfg.Statsd = &statsd.NoOpClient{} } diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/redis.go b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/redis.go index e9700c40..70a1323e 100644 --- a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/redis.go +++ b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/redis.go @@ -245,10 +245,8 @@ func obfuscateRedisCmd(out *strings.Builder, cmd string, args ...string) { out.WriteString(strings.Join(args, " ")) } -// removeAllRedisArgs will take in a command and obfuscate all arguments following +// RemoveAllRedisArgs will take in a command and obfuscate all arguments following // the command, regardless of if the command is valid Redis or not -// -//nolint:revive // TODO(APM) Fix revive linter func (*Obfuscator) RemoveAllRedisArgs(rediscmd string) string { fullCmd := strings.Fields(rediscmd) if len(fullCmd) == 0 { diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/sql.go b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/sql.go index 807c9fb5..18fc120a 100644 --- a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/sql.go +++ b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/sql.go @@ -426,17 +426,22 @@ func (o *Obfuscator) ObfuscateSQLExecPlan(jsonPlan string, normalize bool) (stri // ObfuscateWithSQLLexer obfuscates the given SQL query using the go-sqllexer package. // If ObfuscationMode is set to ObfuscateOnly, the query will be obfuscated without normalizing it. func (o *Obfuscator) ObfuscateWithSQLLexer(in string, opts *SQLConfig) (*ObfuscatedQuery, error) { - if opts.ObfuscationMode != ObfuscateOnly && opts.ObfuscationMode != ObfuscateAndNormalize { + if opts.ObfuscationMode != NormalizeOnly && opts.ObfuscationMode != ObfuscateOnly && opts.ObfuscationMode != ObfuscateAndNormalize { return nil, fmt.Errorf("invalid obfuscation mode: %s", opts.ObfuscationMode) } - obfuscator := sqllexer.NewObfuscator( - sqllexer.WithReplaceDigits(opts.ReplaceDigits), - sqllexer.WithDollarQuotedFunc(opts.DollarQuotedFunc), - sqllexer.WithReplacePositionalParameter(!opts.KeepPositionalParameter), - sqllexer.WithReplaceBoolean(!opts.KeepBoolean), - sqllexer.WithReplaceNull(!opts.KeepNull), - ) + var obfuscator *sqllexer.Obfuscator + + if opts.ObfuscationMode == ObfuscateOnly || opts.ObfuscationMode == ObfuscateAndNormalize { + obfuscator = sqllexer.NewObfuscator( + sqllexer.WithReplaceDigits(opts.ReplaceDigits), + sqllexer.WithDollarQuotedFunc(opts.DollarQuotedFunc), + sqllexer.WithReplacePositionalParameter(!opts.KeepPositionalParameter), + sqllexer.WithReplaceBoolean(!opts.KeepBoolean), + sqllexer.WithReplaceNull(!opts.KeepNull), + ) + } + if opts.ObfuscationMode == ObfuscateOnly { // Obfuscate the query without normalizing it. out := obfuscator.Obfuscate(in, sqllexer.WithDBMS(sqllexer.DBMSType(opts.DBMS))) @@ -461,12 +466,22 @@ func (o *Obfuscator) ObfuscateWithSQLLexer(in string, opts *SQLConfig) (*Obfusca sqllexer.WithKeepTrailingSemicolon(opts.KeepTrailingSemicolon), sqllexer.WithKeepIdentifierQuotation(opts.KeepIdentifierQuotation), ) - out, statementMetadata, err := sqllexer.ObfuscateAndNormalize( - in, - obfuscator, - normalizer, - sqllexer.WithDBMS(sqllexer.DBMSType(opts.DBMS)), - ) + + var out string + var statementMetadata *sqllexer.StatementMetadata + var err error + + if opts.ObfuscationMode == NormalizeOnly { + // Normalize the query without obfuscating it. + out, statementMetadata, err = normalizer.Normalize(in, sqllexer.WithDBMS(sqllexer.DBMSType(opts.DBMS))) + } else { + out, statementMetadata, err = sqllexer.ObfuscateAndNormalize( + in, + obfuscator, + normalizer, + sqllexer.WithDBMS(sqllexer.DBMSType(opts.DBMS)), + ) + } if err != nil { return nil, err } diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/sql_tokenizer.go b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/sql_tokenizer.go index 9ab99288..e379d7dd 100644 --- a/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/sql_tokenizer.go +++ b/vendor/github.com/DataDog/datadog-agent/pkg/obfuscate/sql_tokenizer.go @@ -610,9 +610,9 @@ func (tkn *SQLTokenizer) scanIdentifier() (TokenKind, []byte) { return ID, t } -//nolint:revive // TODO(APM) Fix revive linter -func (tkn *SQLTokenizer) scanVariableIdentifier(prefix rune) (TokenKind, []byte) { +func (tkn *SQLTokenizer) scanVariableIdentifier(_ rune) (TokenKind, []byte) { for tkn.advance(); tkn.lastChar != ')' && tkn.lastChar != EndChar; tkn.advance() { + continue } tkn.advance() if !isLetter(tkn.lastChar) { @@ -623,8 +623,7 @@ func (tkn *SQLTokenizer) scanVariableIdentifier(prefix rune) (TokenKind, []byte) return Variable, tkn.bytes() } -//nolint:revive // TODO(APM) Fix revive linter -func (tkn *SQLTokenizer) scanFormatParameter(prefix rune) (TokenKind, []byte) { +func (tkn *SQLTokenizer) scanFormatParameter(_ rune) (TokenKind, []byte) { tkn.advance() return Variable, tkn.bytes() } @@ -677,8 +676,7 @@ func (tkn *SQLTokenizer) scanDollarQuotedString() (TokenKind, []byte) { return DollarQuotedString, buf.Bytes() } -//nolint:revive // TODO(APM) Fix revive linter -func (tkn *SQLTokenizer) scanPreparedStatement(prefix rune) (TokenKind, []byte) { +func (tkn *SQLTokenizer) scanPreparedStatement(_ rune) (TokenKind, []byte) { // a prepared statement expect a digit identifier like $1 if !isDigit(tkn.lastChar) { tkn.setErr(`prepared statements must start with digits, got "%c" (%d)`, tkn.lastChar, tkn.lastChar) @@ -695,8 +693,7 @@ func (tkn *SQLTokenizer) scanPreparedStatement(prefix rune) (TokenKind, []byte) return PreparedStatement, buff } -//nolint:revive // TODO(APM) Fix revive linter -func (tkn *SQLTokenizer) scanEscapeSequence(braces rune) (TokenKind, []byte) { +func (tkn *SQLTokenizer) scanEscapeSequence(_ rune) (TokenKind, []byte) { for tkn.lastChar != '}' && tkn.lastChar != EndChar { tkn.advance() } @@ -825,8 +822,7 @@ func (tkn *SQLTokenizer) scanString(delim rune, kind TokenKind) (TokenKind, []by return kind, buf.Bytes() } -//nolint:revive // TODO(APM) Fix revive linter -func (tkn *SQLTokenizer) scanCommentType1(prefix string) (TokenKind, []byte) { +func (tkn *SQLTokenizer) scanCommentType1(_ string) (TokenKind, []byte) { for tkn.lastChar != EndChar { if tkn.lastChar == '\n' { tkn.advance() diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/LICENSE b/vendor/github.com/DataDog/datadog-agent/pkg/proto/LICENSE new file mode 100644 index 00000000..b370545b --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/LICENSE @@ -0,0 +1,200 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2016-present Datadog, Inc. + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/agent_payload.pb.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/agent_payload.pb.go new file mode 100644 index 00000000..5d803ea9 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/agent_payload.pb.go @@ -0,0 +1,240 @@ +// protoc -I. -I$GOPATH/src --gogofaster_out=. span.proto tracer_payload.proto agent_payload.proto + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.0 +// protoc v5.26.1 +// source: datadog/trace/agent_payload.proto + +package trace + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// AgentPayload represents payload the agent sends to the intake. +type AgentPayload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // hostName specifies hostname of where the agent is running. + HostName string `protobuf:"bytes,1,opt,name=hostName,proto3" json:"hostName,omitempty"` + // env specifies `env` set in agent configuration. + Env string `protobuf:"bytes,2,opt,name=env,proto3" json:"env,omitempty"` + // tracerPayloads specifies list of the payloads received from tracers. + TracerPayloads []*TracerPayload `protobuf:"bytes,5,rep,name=tracerPayloads,proto3" json:"tracerPayloads,omitempty"` + // tags specifies tags common in all `tracerPayloads`. + Tags map[string]string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // agentVersion specifies version of the agent. + AgentVersion string `protobuf:"bytes,7,opt,name=agentVersion,proto3" json:"agentVersion,omitempty"` + // targetTPS holds `TargetTPS` value in AgentConfig. + TargetTPS float64 `protobuf:"fixed64,8,opt,name=targetTPS,proto3" json:"targetTPS,omitempty"` + // errorTPS holds `ErrorTPS` value in AgentConfig. + ErrorTPS float64 `protobuf:"fixed64,9,opt,name=errorTPS,proto3" json:"errorTPS,omitempty"` + // rareSamplerEnabled holds `RareSamplerEnabled` value in AgentConfig + RareSamplerEnabled bool `protobuf:"varint,10,opt,name=rareSamplerEnabled,proto3" json:"rareSamplerEnabled,omitempty"` +} + +func (x *AgentPayload) Reset() { + *x = AgentPayload{} + if protoimpl.UnsafeEnabled { + mi := &file_datadog_trace_agent_payload_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AgentPayload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentPayload) ProtoMessage() {} + +func (x *AgentPayload) ProtoReflect() protoreflect.Message { + mi := &file_datadog_trace_agent_payload_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AgentPayload.ProtoReflect.Descriptor instead. +func (*AgentPayload) Descriptor() ([]byte, []int) { + return file_datadog_trace_agent_payload_proto_rawDescGZIP(), []int{0} +} + +func (x *AgentPayload) GetHostName() string { + if x != nil { + return x.HostName + } + return "" +} + +func (x *AgentPayload) GetEnv() string { + if x != nil { + return x.Env + } + return "" +} + +func (x *AgentPayload) GetTracerPayloads() []*TracerPayload { + if x != nil { + return x.TracerPayloads + } + return nil +} + +func (x *AgentPayload) GetTags() map[string]string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *AgentPayload) GetAgentVersion() string { + if x != nil { + return x.AgentVersion + } + return "" +} + +func (x *AgentPayload) GetTargetTPS() float64 { + if x != nil { + return x.TargetTPS + } + return 0 +} + +func (x *AgentPayload) GetErrorTPS() float64 { + if x != nil { + return x.ErrorTPS + } + return 0 +} + +func (x *AgentPayload) GetRareSamplerEnabled() bool { + if x != nil { + return x.RareSamplerEnabled + } + return false +} + +var File_datadog_trace_agent_payload_proto protoreflect.FileDescriptor + +var file_datadog_trace_agent_payload_proto_rawDesc = []byte{ + 0x0a, 0x21, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x1a, 0x22, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, + 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x03, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x44, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x72, + 0x61, 0x63, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x0e, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x04, 0x74, + 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x64, 0x6f, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x54, 0x50, 0x53, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x50, 0x53, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x54, 0x50, 0x53, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x54, 0x50, 0x53, 0x12, 0x2e, 0x0a, 0x12, 0x72, 0x61, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x12, 0x72, 0x61, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x16, 0x5a, + 0x14, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x70, 0x62, 0x67, 0x6f, 0x2f, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_datadog_trace_agent_payload_proto_rawDescOnce sync.Once + file_datadog_trace_agent_payload_proto_rawDescData = file_datadog_trace_agent_payload_proto_rawDesc +) + +func file_datadog_trace_agent_payload_proto_rawDescGZIP() []byte { + file_datadog_trace_agent_payload_proto_rawDescOnce.Do(func() { + file_datadog_trace_agent_payload_proto_rawDescData = protoimpl.X.CompressGZIP(file_datadog_trace_agent_payload_proto_rawDescData) + }) + return file_datadog_trace_agent_payload_proto_rawDescData +} + +var file_datadog_trace_agent_payload_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_datadog_trace_agent_payload_proto_goTypes = []interface{}{ + (*AgentPayload)(nil), // 0: datadog.trace.AgentPayload + nil, // 1: datadog.trace.AgentPayload.TagsEntry + (*TracerPayload)(nil), // 2: datadog.trace.TracerPayload +} +var file_datadog_trace_agent_payload_proto_depIdxs = []int32{ + 2, // 0: datadog.trace.AgentPayload.tracerPayloads:type_name -> datadog.trace.TracerPayload + 1, // 1: datadog.trace.AgentPayload.tags:type_name -> datadog.trace.AgentPayload.TagsEntry + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_datadog_trace_agent_payload_proto_init() } +func file_datadog_trace_agent_payload_proto_init() { + if File_datadog_trace_agent_payload_proto != nil { + return + } + file_datadog_trace_tracer_payload_proto_init() + if !protoimpl.UnsafeEnabled { + file_datadog_trace_agent_payload_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AgentPayload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_datadog_trace_agent_payload_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_datadog_trace_agent_payload_proto_goTypes, + DependencyIndexes: file_datadog_trace_agent_payload_proto_depIdxs, + MessageInfos: file_datadog_trace_agent_payload_proto_msgTypes, + }.Build() + File_datadog_trace_agent_payload_proto = out.File + file_datadog_trace_agent_payload_proto_rawDesc = nil + file_datadog_trace_agent_payload_proto_goTypes = nil + file_datadog_trace_agent_payload_proto_depIdxs = nil +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/agent_payload_gen.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/agent_payload_gen.go new file mode 100644 index 00000000..26cefad5 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/agent_payload_gen.go @@ -0,0 +1,200 @@ +package trace + +// Code generated by github.com/tinylib/msgp DO NOT EDIT. + +import ( + "github.com/tinylib/msgp/msgp" +) + +// MarshalMsg implements msgp.Marshaler +func (z *AgentPayload) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + // map header, size 8 + // string "HostName" + o = append(o, 0x88, 0xa8, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65) + o = msgp.AppendString(o, z.HostName) + // string "Env" + o = append(o, 0xa3, 0x45, 0x6e, 0x76) + o = msgp.AppendString(o, z.Env) + // string "TracerPayloads" + o = append(o, 0xae, 0x54, 0x72, 0x61, 0x63, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73) + o = msgp.AppendArrayHeader(o, uint32(len(z.TracerPayloads))) + for za0001 := range z.TracerPayloads { + if z.TracerPayloads[za0001] == nil { + o = msgp.AppendNil(o) + } else { + o, err = z.TracerPayloads[za0001].MarshalMsg(o) + if err != nil { + err = msgp.WrapError(err, "TracerPayloads", za0001) + return + } + } + } + // string "Tags" + o = append(o, 0xa4, 0x54, 0x61, 0x67, 0x73) + o = msgp.AppendMapHeader(o, uint32(len(z.Tags))) + for za0002, za0003 := range z.Tags { + o = msgp.AppendString(o, za0002) + o = msgp.AppendString(o, za0003) + } + // string "AgentVersion" + o = append(o, 0xac, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e) + o = msgp.AppendString(o, z.AgentVersion) + // string "TargetTPS" + o = append(o, 0xa9, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x50, 0x53) + o = msgp.AppendFloat64(o, z.TargetTPS) + // string "ErrorTPS" + o = append(o, 0xa8, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x50, 0x53) + o = msgp.AppendFloat64(o, z.ErrorTPS) + // string "RareSamplerEnabled" + o = append(o, 0xb2, 0x52, 0x61, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64) + o = msgp.AppendBool(o, z.RareSamplerEnabled) + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *AgentPayload) UnmarshalMsg(bts []byte) (o []byte, err error) { + var field []byte + _ = field + var zb0001 uint32 + zb0001, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + for zb0001 > 0 { + zb0001-- + field, bts, err = msgp.ReadMapKeyZC(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + switch msgp.UnsafeString(field) { + case "HostName": + z.HostName, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "HostName") + return + } + case "Env": + z.Env, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Env") + return + } + case "TracerPayloads": + var zb0002 uint32 + zb0002, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "TracerPayloads") + return + } + if cap(z.TracerPayloads) >= int(zb0002) { + z.TracerPayloads = (z.TracerPayloads)[:zb0002] + } else { + z.TracerPayloads = make([]*TracerPayload, zb0002) + } + for za0001 := range z.TracerPayloads { + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + if err != nil { + return + } + z.TracerPayloads[za0001] = nil + } else { + if z.TracerPayloads[za0001] == nil { + z.TracerPayloads[za0001] = new(TracerPayload) + } + bts, err = z.TracerPayloads[za0001].UnmarshalMsg(bts) + if err != nil { + err = msgp.WrapError(err, "TracerPayloads", za0001) + return + } + } + } + case "Tags": + var zb0003 uint32 + zb0003, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Tags") + return + } + if z.Tags == nil { + z.Tags = make(map[string]string, zb0003) + } else if len(z.Tags) > 0 { + for key := range z.Tags { + delete(z.Tags, key) + } + } + for zb0003 > 0 { + var za0002 string + var za0003 string + zb0003-- + za0002, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Tags") + return + } + za0003, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Tags", za0002) + return + } + z.Tags[za0002] = za0003 + } + case "AgentVersion": + z.AgentVersion, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "AgentVersion") + return + } + case "TargetTPS": + z.TargetTPS, bts, err = msgp.ReadFloat64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "TargetTPS") + return + } + case "ErrorTPS": + z.ErrorTPS, bts, err = msgp.ReadFloat64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "ErrorTPS") + return + } + case "RareSamplerEnabled": + z.RareSamplerEnabled, bts, err = msgp.ReadBoolBytes(bts) + if err != nil { + err = msgp.WrapError(err, "RareSamplerEnabled") + return + } + default: + bts, err = msgp.Skip(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + } + } + o = bts + return +} + +// Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message +func (z *AgentPayload) Msgsize() (s int) { + s = 1 + 9 + msgp.StringPrefixSize + len(z.HostName) + 4 + msgp.StringPrefixSize + len(z.Env) + 15 + msgp.ArrayHeaderSize + for za0001 := range z.TracerPayloads { + if z.TracerPayloads[za0001] == nil { + s += msgp.NilSize + } else { + s += z.TracerPayloads[za0001].Msgsize() + } + } + s += 5 + msgp.MapHeaderSize + if z.Tags != nil { + for za0002, za0003 := range z.Tags { + _ = za0003 + s += msgp.StringPrefixSize + len(za0002) + msgp.StringPrefixSize + len(za0003) + } + } + s += 13 + msgp.StringPrefixSize + len(z.AgentVersion) + 10 + msgp.Float64Size + 9 + msgp.Float64Size + 19 + msgp.BoolSize + return +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/agent_payload_vtproto.pb.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/agent_payload_vtproto.pb.go new file mode 100644 index 00000000..e4d4f171 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/agent_payload_vtproto.pb.go @@ -0,0 +1,523 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.4.0 +// source: datadog/trace/agent_payload.proto + +package trace + +import ( + binary "encoding/binary" + fmt "fmt" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + math "math" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *AgentPayload) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *AgentPayload) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AgentPayload) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.RareSamplerEnabled { + i-- + if m.RareSamplerEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if m.ErrorTPS != 0 { + i -= 8 + binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.ErrorTPS)))) + i-- + dAtA[i] = 0x49 + } + if m.TargetTPS != 0 { + i -= 8 + binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.TargetTPS)))) + i-- + dAtA[i] = 0x41 + } + if len(m.AgentVersion) > 0 { + i -= len(m.AgentVersion) + copy(dAtA[i:], m.AgentVersion) + i = encodeVarint(dAtA, i, uint64(len(m.AgentVersion))) + i-- + dAtA[i] = 0x3a + } + if len(m.Tags) > 0 { + for k := range m.Tags { + v := m.Tags[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x32 + } + } + if len(m.TracerPayloads) > 0 { + for iNdEx := len(m.TracerPayloads) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.TracerPayloads[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + } + if len(m.Env) > 0 { + i -= len(m.Env) + copy(dAtA[i:], m.Env) + i = encodeVarint(dAtA, i, uint64(len(m.Env))) + i-- + dAtA[i] = 0x12 + } + if len(m.HostName) > 0 { + i -= len(m.HostName) + copy(dAtA[i:], m.HostName) + i = encodeVarint(dAtA, i, uint64(len(m.HostName))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *AgentPayload) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.HostName) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Env) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if len(m.TracerPayloads) > 0 { + for _, e := range m.TracerPayloads { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if len(m.Tags) > 0 { + for k, v := range m.Tags { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) + n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + } + } + l = len(m.AgentVersion) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.TargetTPS != 0 { + n += 9 + } + if m.ErrorTPS != 0 { + n += 9 + } + if m.RareSamplerEnabled { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *AgentPayload) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: AgentPayload: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AgentPayload: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field HostName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.HostName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Env", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Env = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TracerPayloads", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TracerPayloads = append(m.TracerPayloads, &TracerPayload{}) + if err := m.TracerPayloads[len(m.TracerPayloads)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Tags", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Tags == nil { + m.Tags = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLength + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLength + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLength + } + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Tags[mapkey] = mapvalue + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AgentVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AgentVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 1 { + return fmt.Errorf("proto: wrong wireType = %d for field TargetTPS", wireType) + } + var v uint64 + if (iNdEx + 8) > l { + return io.ErrUnexpectedEOF + } + v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + iNdEx += 8 + m.TargetTPS = float64(math.Float64frombits(v)) + case 9: + if wireType != 1 { + return fmt.Errorf("proto: wrong wireType = %d for field ErrorTPS", wireType) + } + var v uint64 + if (iNdEx + 8) > l { + return io.ErrUnexpectedEOF + } + v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + iNdEx += 8 + m.ErrorTPS = float64(math.Float64frombits(v)) + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RareSamplerEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.RareSamplerEnabled = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/decoder_bytes.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/decoder_bytes.go new file mode 100644 index 00000000..d50cf8d7 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/decoder_bytes.go @@ -0,0 +1,275 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +// Package trace defines the types and functions to encode/decode traces. +package trace + +import ( + "bytes" + "errors" + "math" + "strings" + "unicode/utf8" + + "github.com/tinylib/msgp/msgp" +) + +// repairUTF8 ensures all characters in s are UTF-8 by replacing non-UTF-8 characters +// with the replacement char � +func repairUTF8(s string) string { + in := strings.NewReader(s) + var out bytes.Buffer + out.Grow(len(s)) + + for { + r, _, err := in.ReadRune() + if err != nil { + // note: by contract, if `in` contains non-valid utf-8, no error is returned. Rather the utf-8 replacement + // character is returned. Therefore, the only error should usually be io.EOF indicating end of string. + // If any other error is returned by chance, we quit as well, outputting whatever part of the string we + // had already constructed. + return out.String() + } + out.WriteRune(r) + } +} + +// parseStringBytes reads the next type in the msgpack payload and +// converts the BinType or the StrType in a valid string. +func parseStringBytes(bts []byte) (string, []byte, error) { + if msgp.IsNil(bts) { + bts, err := msgp.ReadNilBytes(bts) + return "", bts, err + } + // read the generic representation type without decoding + t := msgp.NextType(bts) + + var ( + err error + i []byte + ) + switch t { + case msgp.BinType: + i, bts, err = msgp.ReadBytesZC(bts) + case msgp.StrType: + i, bts, err = msgp.ReadStringZC(bts) + default: + return "", bts, msgp.TypeError{Encoded: t, Method: msgp.StrType} + } + if err != nil { + return "", bts, err + } + if utf8.Valid(i) { + return string(i), bts, nil + } + return repairUTF8(msgp.UnsafeString(i)), bts, nil +} + +// parseFloat64Bytes parses a float64 even if the sent value is an int64 or an uint64; +// this is required because the encoding library could remove bytes from the encoded +// payload to reduce the size, if they're not needed. +func parseFloat64Bytes(bts []byte) (float64, []byte, error) { + if msgp.IsNil(bts) { + bts, err := msgp.ReadNilBytes(bts) + return 0, bts, err + } + // read the generic representation type without decoding + t := msgp.NextType(bts) + + var err error + switch t { + case msgp.IntType: + var i int64 + i, bts, err = msgp.ReadInt64Bytes(bts) + if err != nil { + return 0, bts, err + } + + return float64(i), bts, nil + case msgp.UintType: + var i uint64 + i, bts, err = msgp.ReadUint64Bytes(bts) + if err != nil { + return 0, bts, err + } + + return float64(i), bts, nil + case msgp.Float64Type: + var f float64 + f, bts, err = msgp.ReadFloat64Bytes(bts) + if err != nil { + return 0, bts, err + } + + return f, bts, nil + default: + return 0, bts, msgp.TypeError{Encoded: t, Method: msgp.Float64Type} + } +} + +// cast to int64 values that are int64 but that are sent in uint64 +// over the wire. Set to 0 if they overflow the MaxInt64 size. This +// cast should be used ONLY while decoding int64 values that are +// sent as uint64 to reduce the payload size, otherwise the approach +// is not correct in the general sense. +func castInt64(v uint64) (int64, bool) { + if v > math.MaxInt64 { + return 0, false + } + return int64(v), true +} + +// parseInt64Bytes parses an int64 even if the sent value is an uint64; +// this is required because the encoding library could remove bytes from the encoded +// payload to reduce the size, if they're not needed. +func parseInt64Bytes(bts []byte) (int64, []byte, error) { + if msgp.IsNil(bts) { + bts, err := msgp.ReadNilBytes(bts) + return 0, bts, err + } + // read the generic representation type without decoding + t := msgp.NextType(bts) + + var ( + i int64 + u uint64 + err error + ) + switch t { + case msgp.IntType: + i, bts, err = msgp.ReadInt64Bytes(bts) + if err != nil { + return 0, bts, err + } + return i, bts, nil + case msgp.UintType: + u, bts, err = msgp.ReadUint64Bytes(bts) + if err != nil { + return 0, bts, err + } + + // force-cast + i, ok := castInt64(u) + if !ok { + return 0, bts, errors.New("found uint64, overflows int64") + } + return i, bts, nil + default: + return 0, bts, msgp.TypeError{Encoded: t, Method: msgp.IntType} + } +} + +// parseUint64Bytes parses an uint64 even if the sent value is an int64; +// this is required because the language used for the encoding library +// may not have unsigned types. An example is early version of Java +// (and so JRuby interpreter) that encodes uint64 as int64: +// http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html +func parseUint64Bytes(bts []byte) (uint64, []byte, error) { + if msgp.IsNil(bts) { + bts, err := msgp.ReadNilBytes(bts) + return 0, bts, err + } + // read the generic representation type without decoding + t := msgp.NextType(bts) + + var ( + i int64 + u uint64 + err error + ) + switch t { + case msgp.UintType: + u, bts, err = msgp.ReadUint64Bytes(bts) + if err != nil { + return 0, bts, err + } + return u, bts, err + case msgp.IntType: + i, bts, err = msgp.ReadInt64Bytes(bts) + if err != nil { + return 0, bts, err + } + return uint64(i), bts, nil + default: + return 0, bts, msgp.TypeError{Encoded: t, Method: msgp.IntType} + } +} + +// cast to int32 values that are int32 but that are sent in uint32 +// over the wire. Set to 0 if they overflow the MaxInt32 size. This +// cast should be used ONLY while decoding int32 values that are +// sent as uint32 to reduce the payload size, otherwise the approach +// is not correct in the general sense. +func castInt32(v uint32) (int32, bool) { + if v > math.MaxInt32 { + return 0, false + } + return int32(v), true +} + +// parseInt32Bytes parses an int32 even if the sent value is an uint32; +// this is required because the encoding library could remove bytes from the encoded +// payload to reduce the size, if they're not needed. +func parseInt32Bytes(bts []byte) (int32, []byte, error) { + if msgp.IsNil(bts) { + bts, err := msgp.ReadNilBytes(bts) + return 0, bts, err + } + // read the generic representation type without decoding + t := msgp.NextType(bts) + + var ( + i int32 + u uint32 + err error + ) + switch t { + case msgp.IntType: + i, bts, err = msgp.ReadInt32Bytes(bts) + if err != nil { + return 0, bts, err + } + return i, bts, nil + case msgp.UintType: + u, bts, err = msgp.ReadUint32Bytes(bts) + if err != nil { + return 0, bts, err + } + + // force-cast + i, ok := castInt32(u) + if !ok { + return 0, bts, errors.New("found uint32, overflows int32") + } + return i, bts, nil + default: + return 0, bts, msgp.TypeError{Encoded: t, Method: msgp.IntType} + } +} + +// parseBytes reads the next BinType in the msgpack payload. +// +//nolint:unused // potentially useful; was used with prior proto definitions +func parseBytes(bts []byte) ([]byte, []byte, error) { + if msgp.IsNil(bts) { + bts, err := msgp.ReadNilBytes(bts) + return nil, bts, err + } + // read the generic representation type without decoding + t := msgp.NextType(bts) + + switch t { + case msgp.BinType: + unsafeBytes, bts, err := msgp.ReadBytesZC(bts) + if err != nil { + return nil, bts, err + } + safeBytes := make([]byte, len(unsafeBytes)) + copy(safeBytes, unsafeBytes) + return safeBytes, bts, nil + default: + return nil, bts, msgp.TypeError{Encoded: t, Method: msgp.BinType} + } +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/decoder_v05.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/decoder_v05.go new file mode 100644 index 00000000..f88e6cc8 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/decoder_v05.go @@ -0,0 +1,223 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package trace + +import ( + "errors" + "fmt" + + "github.com/tinylib/msgp/msgp" +) + +// dictionaryString reads an int from decoder dc and returns the string +// at that index from dict. +func dictionaryString(bts []byte, dict []string) (string, []byte, error) { + var ( + ui uint32 + err error + ) + ui, bts, err = msgp.ReadUint32Bytes(bts) + if err != nil { + return "", bts, err + } + idx := int(ui) + if idx >= len(dict) { + return "", bts, fmt.Errorf("dictionary index %d out of range", idx) + } + return dict[idx], bts, nil +} + +// UnmarshalMsgDictionary decodes a trace using the specification from the v0.5 endpoint. +// For details, see the documentation for endpoint v0.5 in pkg/trace/api/version.go +func (t *Traces) UnmarshalMsgDictionary(bts []byte) error { + var err error + if _, bts, err = safeReadHeaderBytes(bts, msgp.ReadArrayHeaderBytes); err != nil { + return err + } + // read dictionary + var sz uint32 + if sz, bts, err = safeReadHeaderBytes(bts, msgp.ReadArrayHeaderBytes); err != nil { + return err + } + dict := make([]string, sz) + for i := range dict { + var str string + str, bts, err = parseStringBytes(bts) + if err != nil { + return err + } + dict[i] = str + } + // read traces + sz, bts, err = safeReadHeaderBytes(bts, msgp.ReadArrayHeaderBytes) + if err != nil { + return err + } + if cap(*t) >= int(sz) { + *t = (*t)[:sz] + } else { + *t = make(Traces, sz) + } + for i := range *t { + sz, bts, err = safeReadHeaderBytes(bts, msgp.ReadArrayHeaderBytes) + if err != nil { + return err + } + if cap((*t)[i]) >= int(sz) { + (*t)[i] = (*t)[i][:sz] + } else { + (*t)[i] = make(Trace, sz) + } + for j := range (*t)[i] { + if (*t)[i][j] == nil { + (*t)[i][j] = new(Span) + } + if bts, err = (*t)[i][j].UnmarshalMsgDictionary(bts, dict); err != nil { + return err + } + } + } + return nil +} + +// spanPropertyCount specifies the number of top-level properties that a span +// has. +const spanPropertyCount = 12 + +// UnmarshalMsgDictionary decodes a span from the given decoder dc, looking up strings +// in the given dictionary dict. For details, see the documentation for endpoint v0.5 +// in pkg/trace/api/version.go +func (z *Span) UnmarshalMsgDictionary(bts []byte, dict []string) ([]byte, error) { + var ( + sz uint32 + err error + ) + sz, bts, err = safeReadHeaderBytes(bts, msgp.ReadArrayHeaderBytes) + if err != nil { + return bts, err + } + if sz != spanPropertyCount { + return bts, errors.New("encoded span needs exactly 12 elements in array") + } + // Service (0) + z.Service, bts, err = dictionaryString(bts, dict) + if err != nil { + return bts, err + } + // Name (1) + z.Name, bts, err = dictionaryString(bts, dict) + if err != nil { + return bts, err + } + // Resource (2) + z.Resource, bts, err = dictionaryString(bts, dict) + if err != nil { + return bts, err + } + // TraceID (3) + z.TraceID, bts, err = parseUint64Bytes(bts) + if err != nil { + return bts, err + } + // SpanID (4) + z.SpanID, bts, err = parseUint64Bytes(bts) + if err != nil { + return bts, err + } + // ParentID (5) + z.ParentID, bts, err = parseUint64Bytes(bts) + if err != nil { + return bts, err + } + // Start (6) + z.Start, bts, err = parseInt64Bytes(bts) + if err != nil { + return bts, err + } + // Duration (7) + z.Duration, bts, err = parseInt64Bytes(bts) + if err != nil { + return bts, err + } + // Error (8) + z.Error, bts, err = parseInt32Bytes(bts) + if err != nil { + return bts, err + } + // Meta (9) + sz, bts, err = safeReadHeaderBytes(bts, msgp.ReadMapHeaderBytes) + if err != nil { + return bts, err + } + if z.Meta == nil && sz > 0 { + z.Meta = make(map[string]string, sz) + } else if len(z.Meta) > 0 { + for key := range z.Meta { + delete(z.Meta, key) + } + } + for sz > 0 { + sz-- + var key, val string + key, bts, err = dictionaryString(bts, dict) + if err != nil { + return bts, err + } + val, bts, err = dictionaryString(bts, dict) + if err != nil { + return bts, err + } + z.Meta[key] = val + } + // Metrics (10) + sz, bts, err = safeReadHeaderBytes(bts, msgp.ReadMapHeaderBytes) + if err != nil { + return bts, err + } + if z.Metrics == nil && sz > 0 { + z.Metrics = make(map[string]float64, sz) + } else if len(z.Metrics) > 0 { + for key := range z.Metrics { + delete(z.Metrics, key) + } + } + for sz > 0 { + sz-- + var ( + key string + val float64 + ) + key, bts, err = dictionaryString(bts, dict) + if err != nil { + return bts, err + } + val, bts, err = parseFloat64Bytes(bts) + if err != nil { + return bts, err + } + z.Metrics[key] = val + } + // Type (11) + z.Type, bts, err = dictionaryString(bts, dict) + if err != nil { + return bts, err + } + return bts, nil +} + +// safeReadHeaderBytes wraps msgp header readers (typically ReadArrayHeaderBytes and ReadMapHeaderBytes). +// It enforces the dictionary max size of 25MB and protects the caller from making unbounded allocations through `make(any, sz)`. +func safeReadHeaderBytes(b []byte, read func([]byte) (uint32, []byte, error)) (uint32, []byte, error) { + sz, bts, err := read(b) + if err != nil { + return 0, nil, err + } + if sz > 25*1e6 { + // Dictionary can't be larger than 25 MB + return 0, nil, errors.New("too long payload") + } + return sz, bts, err +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span.pb.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span.pb.go new file mode 100644 index 00000000..be7ee2bd --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span.pb.go @@ -0,0 +1,448 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.0 +// protoc v5.26.1 +// source: datadog/trace/span.proto + +package trace + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type SpanLink struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // @gotags: json:"trace_id" msg:"trace_id" + TraceID uint64 `protobuf:"varint,1,opt,name=traceID,proto3" json:"trace_id" msg:"trace_id"` // Required. + // @gotags: json:"trace_id_high" msg:"trace_id_high,omitempty" + TraceIDHigh uint64 `protobuf:"varint,2,opt,name=traceID_high,json=traceIDHigh,proto3" json:"trace_id_high" msg:"trace_id_high,omitempty"` // Optional. The high 64 bits of a referenced trace id. + // @gotags: json:"span_id" msg:"span_id" + SpanID uint64 `protobuf:"varint,3,opt,name=spanID,proto3" json:"span_id" msg:"span_id"` // Required. + // @gotags: msg:"attributes,omitempty" + Attributes map[string]string `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" msg:"attributes,omitempty"` // Optional. Simple mapping of keys to string values. + // @gotags: msg:"tracestate,omitempty" + Tracestate string `protobuf:"bytes,5,opt,name=tracestate,proto3" json:"tracestate,omitempty" msg:"tracestate,omitempty"` // Optional. W3C tracestate. + // @gotags: msg:"flags,omitempty" + Flags uint32 `protobuf:"varint,6,opt,name=flags,proto3" json:"flags,omitempty" msg:"flags,omitempty"` // Optional. W3C trace flags. If set, the high bit (bit 31) must be set. +} + +func (x *SpanLink) Reset() { + *x = SpanLink{} + if protoimpl.UnsafeEnabled { + mi := &file_datadog_trace_span_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpanLink) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpanLink) ProtoMessage() {} + +func (x *SpanLink) ProtoReflect() protoreflect.Message { + mi := &file_datadog_trace_span_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpanLink.ProtoReflect.Descriptor instead. +func (*SpanLink) Descriptor() ([]byte, []int) { + return file_datadog_trace_span_proto_rawDescGZIP(), []int{0} +} + +func (x *SpanLink) GetTraceID() uint64 { + if x != nil { + return x.TraceID + } + return 0 +} + +func (x *SpanLink) GetTraceIDHigh() uint64 { + if x != nil { + return x.TraceIDHigh + } + return 0 +} + +func (x *SpanLink) GetSpanID() uint64 { + if x != nil { + return x.SpanID + } + return 0 +} + +func (x *SpanLink) GetAttributes() map[string]string { + if x != nil { + return x.Attributes + } + return nil +} + +func (x *SpanLink) GetTracestate() string { + if x != nil { + return x.Tracestate + } + return "" +} + +func (x *SpanLink) GetFlags() uint32 { + if x != nil { + return x.Flags + } + return 0 +} + +type Span struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // service is the name of the service with which this span is associated. + // @gotags: json:"service" msg:"service" + Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service" msg:"service"` + // name is the operation name of this span. + // @gotags: json:"name" msg:"name" + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name" msg:"name"` + // resource is the resource name of this span, also sometimes called the endpoint (for web spans). + // @gotags: json:"resource" msg:"resource" + Resource string `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource" msg:"resource"` + // traceID is the ID of the trace to which this span belongs. + // @gotags: json:"trace_id" msg:"trace_id" + TraceID uint64 `protobuf:"varint,4,opt,name=traceID,proto3" json:"trace_id" msg:"trace_id"` + // spanID is the ID of this span. + // @gotags: json:"span_id" msg:"span_id" + SpanID uint64 `protobuf:"varint,5,opt,name=spanID,proto3" json:"span_id" msg:"span_id"` + // parentID is the ID of this span's parent, or zero if this span has no parent. + // @gotags: json:"parent_id" msg:"parent_id" + ParentID uint64 `protobuf:"varint,6,opt,name=parentID,proto3" json:"parent_id" msg:"parent_id"` + // start is the number of nanoseconds between the Unix epoch and the beginning of this span. + // @gotags: json:"start" msg:"start" + Start int64 `protobuf:"varint,7,opt,name=start,proto3" json:"start" msg:"start"` + // duration is the time length of this span in nanoseconds. + // @gotags: json:"duration" msg:"duration" + Duration int64 `protobuf:"varint,8,opt,name=duration,proto3" json:"duration" msg:"duration"` + // error is 1 if there is an error associated with this span, or 0 if there is not. + // @gotags: json:"error" msg:"error" + Error int32 `protobuf:"varint,9,opt,name=error,proto3" json:"error" msg:"error"` + // meta is a mapping from tag name to tag value for string-valued tags. + // @gotags: json:"meta,omitempty" msg:"meta,omitempty" + Meta map[string]string `protobuf:"bytes,10,rep,name=meta,proto3" json:"meta,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" msg:"meta,omitempty"` + // metrics is a mapping from tag name to tag value for numeric-valued tags. + // @gotags: json:"metrics,omitempty" msg:"metrics,omitempty" + Metrics map[string]float64 `protobuf:"bytes,11,rep,name=metrics,proto3" json:"metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3" msg:"metrics,omitempty"` + // type is the type of the service with which this span is associated. Example values: web, db, lambda. + // @gotags: json:"type" msg:"type" + Type string `protobuf:"bytes,12,opt,name=type,proto3" json:"type" msg:"type"` + // meta_struct is a registry of structured "other" data used by, e.g., AppSec. + // @gotags: json:"meta_struct,omitempty" msg:"meta_struct,omitempty" + MetaStruct map[string][]byte `protobuf:"bytes,13,rep,name=meta_struct,json=metaStruct,proto3" json:"meta_struct,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" msg:"meta_struct,omitempty"` + // span_links represents a collection of links, where each link defines a causal relationship between two spans. + // @gotags: json:"span_links,omitempty" msg:"span_links,omitempty" + SpanLinks []*SpanLink `protobuf:"bytes,14,rep,name=spanLinks,proto3" json:"span_links,omitempty" msg:"span_links,omitempty"` +} + +func (x *Span) Reset() { + *x = Span{} + if protoimpl.UnsafeEnabled { + mi := &file_datadog_trace_span_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Span) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Span) ProtoMessage() {} + +func (x *Span) ProtoReflect() protoreflect.Message { + mi := &file_datadog_trace_span_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Span.ProtoReflect.Descriptor instead. +func (*Span) Descriptor() ([]byte, []int) { + return file_datadog_trace_span_proto_rawDescGZIP(), []int{1} +} + +func (x *Span) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *Span) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Span) GetResource() string { + if x != nil { + return x.Resource + } + return "" +} + +func (x *Span) GetTraceID() uint64 { + if x != nil { + return x.TraceID + } + return 0 +} + +func (x *Span) GetSpanID() uint64 { + if x != nil { + return x.SpanID + } + return 0 +} + +func (x *Span) GetParentID() uint64 { + if x != nil { + return x.ParentID + } + return 0 +} + +func (x *Span) GetStart() int64 { + if x != nil { + return x.Start + } + return 0 +} + +func (x *Span) GetDuration() int64 { + if x != nil { + return x.Duration + } + return 0 +} + +func (x *Span) GetError() int32 { + if x != nil { + return x.Error + } + return 0 +} + +func (x *Span) GetMeta() map[string]string { + if x != nil { + return x.Meta + } + return nil +} + +func (x *Span) GetMetrics() map[string]float64 { + if x != nil { + return x.Metrics + } + return nil +} + +func (x *Span) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Span) GetMetaStruct() map[string][]byte { + if x != nil { + return x.MetaStruct + } + return nil +} + +func (x *Span) GetSpanLinks() []*SpanLink { + if x != nil { + return x.SpanLinks + } + return nil +} + +var File_datadog_trace_span_proto protoreflect.FileDescriptor + +var file_datadog_trace_span_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, + 0x73, 0x70, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x64, 0x61, 0x74, 0x61, + 0x64, 0x6f, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x22, 0x9d, 0x02, 0x0a, 0x08, 0x53, 0x70, + 0x61, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, + 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, + 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x5f, 0x68, 0x69, 0x67, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x48, + 0x69, 0x67, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x44, 0x12, 0x47, 0x0a, 0x0a, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, + 0x53, 0x70, 0x61, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9a, 0x05, 0x0a, 0x04, 0x53, 0x70, + 0x61, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, + 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x44, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x44, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, + 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, + 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x73, + 0x70, 0x61, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x53, + 0x70, 0x61, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x09, 0x73, 0x70, 0x61, 0x6e, 0x4c, 0x69, 0x6e, + 0x6b, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3a, 0x0a, 0x0c, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x61, 0x53, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x16, 0x5a, 0x14, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x70, 0x62, 0x67, 0x6f, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_datadog_trace_span_proto_rawDescOnce sync.Once + file_datadog_trace_span_proto_rawDescData = file_datadog_trace_span_proto_rawDesc +) + +func file_datadog_trace_span_proto_rawDescGZIP() []byte { + file_datadog_trace_span_proto_rawDescOnce.Do(func() { + file_datadog_trace_span_proto_rawDescData = protoimpl.X.CompressGZIP(file_datadog_trace_span_proto_rawDescData) + }) + return file_datadog_trace_span_proto_rawDescData +} + +var file_datadog_trace_span_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_datadog_trace_span_proto_goTypes = []interface{}{ + (*SpanLink)(nil), // 0: datadog.trace.SpanLink + (*Span)(nil), // 1: datadog.trace.Span + nil, // 2: datadog.trace.SpanLink.AttributesEntry + nil, // 3: datadog.trace.Span.MetaEntry + nil, // 4: datadog.trace.Span.MetricsEntry + nil, // 5: datadog.trace.Span.MetaStructEntry +} +var file_datadog_trace_span_proto_depIdxs = []int32{ + 2, // 0: datadog.trace.SpanLink.attributes:type_name -> datadog.trace.SpanLink.AttributesEntry + 3, // 1: datadog.trace.Span.meta:type_name -> datadog.trace.Span.MetaEntry + 4, // 2: datadog.trace.Span.metrics:type_name -> datadog.trace.Span.MetricsEntry + 5, // 3: datadog.trace.Span.meta_struct:type_name -> datadog.trace.Span.MetaStructEntry + 0, // 4: datadog.trace.Span.spanLinks:type_name -> datadog.trace.SpanLink + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_datadog_trace_span_proto_init() } +func file_datadog_trace_span_proto_init() { + if File_datadog_trace_span_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_datadog_trace_span_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpanLink); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_datadog_trace_span_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Span); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_datadog_trace_span_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_datadog_trace_span_proto_goTypes, + DependencyIndexes: file_datadog_trace_span_proto_depIdxs, + MessageInfos: file_datadog_trace_span_proto_msgTypes, + }.Build() + File_datadog_trace_span_proto = out.File + file_datadog_trace_span_proto_rawDesc = nil + file_datadog_trace_span_proto_goTypes = nil + file_datadog_trace_span_proto_depIdxs = nil +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span_gen.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span_gen.go new file mode 100644 index 00000000..c1b14871 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span_gen.go @@ -0,0 +1,577 @@ +package trace + +// Code generated by github.com/tinylib/msgp DO NOT EDIT. + +import ( + "github.com/tinylib/msgp/msgp" +) + +// MarshalMsg implements msgp.Marshaler +func (z *Span) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + // omitempty: check for empty values + zb0001Len := uint32(14) + var zb0001Mask uint16 /* 14 bits */ + if z.Meta == nil { + zb0001Len-- + zb0001Mask |= 0x200 + } + if z.Metrics == nil { + zb0001Len-- + zb0001Mask |= 0x400 + } + if z.MetaStruct == nil { + zb0001Len-- + zb0001Mask |= 0x1000 + } + if z.SpanLinks == nil { + zb0001Len-- + zb0001Mask |= 0x2000 + } + // variable map header, size zb0001Len + o = append(o, 0x80|uint8(zb0001Len)) + if zb0001Len == 0 { + return + } + // string "service" + o = append(o, 0xa7, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65) + o = msgp.AppendString(o, z.Service) + // string "name" + o = append(o, 0xa4, 0x6e, 0x61, 0x6d, 0x65) + o = msgp.AppendString(o, z.Name) + // string "resource" + o = append(o, 0xa8, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65) + o = msgp.AppendString(o, z.Resource) + // string "trace_id" + o = append(o, 0xa8, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64) + o = msgp.AppendUint64(o, z.TraceID) + // string "span_id" + o = append(o, 0xa7, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64) + o = msgp.AppendUint64(o, z.SpanID) + // string "parent_id" + o = append(o, 0xa9, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64) + o = msgp.AppendUint64(o, z.ParentID) + // string "start" + o = append(o, 0xa5, 0x73, 0x74, 0x61, 0x72, 0x74) + o = msgp.AppendInt64(o, z.Start) + // string "duration" + o = append(o, 0xa8, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e) + o = msgp.AppendInt64(o, z.Duration) + // string "error" + o = append(o, 0xa5, 0x65, 0x72, 0x72, 0x6f, 0x72) + o = msgp.AppendInt32(o, z.Error) + if (zb0001Mask & 0x200) == 0 { // if not empty + // string "meta" + o = append(o, 0xa4, 0x6d, 0x65, 0x74, 0x61) + o = msgp.AppendMapHeader(o, uint32(len(z.Meta))) + for za0001, za0002 := range z.Meta { + o = msgp.AppendString(o, za0001) + o = msgp.AppendString(o, za0002) + } + } + if (zb0001Mask & 0x400) == 0 { // if not empty + // string "metrics" + o = append(o, 0xa7, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73) + o = msgp.AppendMapHeader(o, uint32(len(z.Metrics))) + for za0003, za0004 := range z.Metrics { + o = msgp.AppendString(o, za0003) + o = msgp.AppendFloat64(o, za0004) + } + } + // string "type" + o = append(o, 0xa4, 0x74, 0x79, 0x70, 0x65) + o = msgp.AppendString(o, z.Type) + if (zb0001Mask & 0x1000) == 0 { // if not empty + // string "meta_struct" + o = append(o, 0xab, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74) + o = msgp.AppendMapHeader(o, uint32(len(z.MetaStruct))) + for za0005, za0006 := range z.MetaStruct { + o = msgp.AppendString(o, za0005) + o = msgp.AppendBytes(o, za0006) + } + } + if (zb0001Mask & 0x2000) == 0 { // if not empty + // string "span_links" + o = append(o, 0xaa, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73) + o = msgp.AppendArrayHeader(o, uint32(len(z.SpanLinks))) + for za0007 := range z.SpanLinks { + if z.SpanLinks[za0007] == nil { + o = msgp.AppendNil(o) + } else { + o, err = z.SpanLinks[za0007].MarshalMsg(o) + if err != nil { + err = msgp.WrapError(err, "SpanLinks", za0007) + return + } + } + } + } + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *Span) UnmarshalMsg(bts []byte) (o []byte, err error) { + var field []byte + _ = field + var zb0001 uint32 + zb0001, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + for zb0001 > 0 { + zb0001-- + field, bts, err = msgp.ReadMapKeyZC(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + switch msgp.UnsafeString(field) { + case "service": + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + z.Service = "" + break + } + z.Service, bts, err = parseStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Service") + return + } + case "name": + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + z.Name = "" + break + } + z.Name, bts, err = parseStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Service") + return + } + case "resource": + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + z.Resource = "" + break + } + z.Resource, bts, err = parseStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Service") + return + } + case "trace_id": + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + z.TraceID = 0 + break + } + z.TraceID, bts, err = parseUint64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "TraceID") + return + } + case "span_id": + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + z.SpanID = 0 + break + } + z.SpanID, bts, err = parseUint64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "SpanID") + return + } + case "parent_id": + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + z.ParentID = 0 + break + } + z.ParentID, bts, err = parseUint64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "ParentID") + return + } + case "start": + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + z.Start = 0 + break + } + z.Start, bts, err = parseInt64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "Start") + return + } + case "duration": + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + z.Duration = 0 + break + } + z.Duration, bts, err = parseInt64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "Duration") + return + } + case "error": + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + z.Error = 0 + break + } + z.Error, bts, err = parseInt32Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "Error") + return + } + case "meta": + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + z.Meta = nil + break + } + var zb0002 uint32 + zb0002, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Meta") + return + } + if z.Meta == nil && zb0002 > 0 { + z.Meta = make(map[string]string, zb0002) + } else if len(z.Meta) > 0 { + for key := range z.Meta { + delete(z.Meta, key) + } + } + for zb0002 > 0 { + var za0001 string + var za0002 string + zb0002-- + za0001, bts, err = parseStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Meta") + return + } + za0002, bts, err = parseStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Meta", za0001) + return + } + z.Meta[za0001] = za0002 + } + case "metrics": + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + z.Metrics = nil + break + } + var zb0003 uint32 + zb0003, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Metrics") + return + } + if z.Metrics == nil && zb0003 > 0 { + z.Metrics = make(map[string]float64, zb0003) + } else if len(z.Metrics) > 0 { + for key := range z.Metrics { + delete(z.Metrics, key) + } + } + for zb0003 > 0 { + var za0003 string + var za0004 float64 + zb0003-- + za0003, bts, err = parseStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Metrics") + return + } + za0004, bts, err = parseFloat64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "Metrics", za0003) + return + } + z.Metrics[za0003] = za0004 + } + case "type": + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + z.Type = "" + break + } + z.Type, bts, err = parseStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Type") + return + } + case "meta_struct": + var zb0004 uint32 + zb0004, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "MetaStruct") + return + } + if z.MetaStruct == nil { + z.MetaStruct = make(map[string][]byte, zb0004) + } else if len(z.MetaStruct) > 0 { + for key := range z.MetaStruct { + delete(z.MetaStruct, key) + } + } + for zb0004 > 0 { + var za0005 string + var za0006 []byte + zb0004-- + za0005, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "MetaStruct") + return + } + za0006, bts, err = msgp.ReadBytesBytes(bts, za0006) + if err != nil { + err = msgp.WrapError(err, "MetaStruct", za0005) + return + } + z.MetaStruct[za0005] = za0006 + } + case "span_links": + var zb0005 uint32 + zb0005, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "SpanLinks") + return + } + if cap(z.SpanLinks) >= int(zb0005) { + z.SpanLinks = (z.SpanLinks)[:zb0005] + } else { + z.SpanLinks = make([]*SpanLink, zb0005) + } + for za0007 := range z.SpanLinks { + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + if err != nil { + return + } + z.SpanLinks[za0007] = nil + } else { + if z.SpanLinks[za0007] == nil { + z.SpanLinks[za0007] = new(SpanLink) + } + bts, err = z.SpanLinks[za0007].UnmarshalMsg(bts) + if err != nil { + err = msgp.WrapError(err, "SpanLinks", za0007) + return + } + } + } + default: + bts, err = msgp.Skip(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + } + } + o = bts + return +} + +// Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message +func (z *Span) Msgsize() (s int) { + s = 1 + 8 + msgp.StringPrefixSize + len(z.Service) + 5 + msgp.StringPrefixSize + len(z.Name) + 9 + msgp.StringPrefixSize + len(z.Resource) + 9 + msgp.Uint64Size + 8 + msgp.Uint64Size + 10 + msgp.Uint64Size + 6 + msgp.Int64Size + 9 + msgp.Int64Size + 6 + msgp.Int32Size + 5 + msgp.MapHeaderSize + if z.Meta != nil { + for za0001, za0002 := range z.Meta { + _ = za0002 + s += msgp.StringPrefixSize + len(za0001) + msgp.StringPrefixSize + len(za0002) + } + } + s += 8 + msgp.MapHeaderSize + if z.Metrics != nil { + for za0003, za0004 := range z.Metrics { + _ = za0004 + s += msgp.StringPrefixSize + len(za0003) + msgp.Float64Size + } + } + s += 5 + msgp.StringPrefixSize + len(z.Type) + 12 + msgp.MapHeaderSize + if z.MetaStruct != nil { + for za0005, za0006 := range z.MetaStruct { + _ = za0006 + s += msgp.StringPrefixSize + len(za0005) + msgp.BytesPrefixSize + len(za0006) + } + } + s += 11 + msgp.ArrayHeaderSize + for za0007 := range z.SpanLinks { + if z.SpanLinks[za0007] == nil { + s += msgp.NilSize + } else { + s += z.SpanLinks[za0007].Msgsize() + } + } + return +} + +// MarshalMsg implements msgp.Marshaler +func (z *SpanLink) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + // omitempty: check for empty values + zb0001Len := uint32(6) + var zb0001Mask uint8 /* 6 bits */ + if z.TraceIDHigh == 0 { + zb0001Len-- + zb0001Mask |= 0x2 + } + if z.Attributes == nil { + zb0001Len-- + zb0001Mask |= 0x8 + } + if z.Tracestate == "" { + zb0001Len-- + zb0001Mask |= 0x10 + } + if z.Flags == 0 { + zb0001Len-- + zb0001Mask |= 0x20 + } + // variable map header, size zb0001Len + o = append(o, 0x80|uint8(zb0001Len)) + if zb0001Len == 0 { + return + } + // string "trace_id" + o = append(o, 0xa8, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64) + o = msgp.AppendUint64(o, z.TraceID) + if (zb0001Mask & 0x2) == 0 { // if not empty + // string "trace_id_high" + o = append(o, 0xad, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x68, 0x69, 0x67, 0x68) + o = msgp.AppendUint64(o, z.TraceIDHigh) + } + // string "span_id" + o = append(o, 0xa7, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64) + o = msgp.AppendUint64(o, z.SpanID) + if (zb0001Mask & 0x8) == 0 { // if not empty + // string "attributes" + o = append(o, 0xaa, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73) + o = msgp.AppendMapHeader(o, uint32(len(z.Attributes))) + for za0001, za0002 := range z.Attributes { + o = msgp.AppendString(o, za0001) + o = msgp.AppendString(o, za0002) + } + } + if (zb0001Mask & 0x10) == 0 { // if not empty + // string "tracestate" + o = append(o, 0xaa, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x74, 0x61, 0x74, 0x65) + o = msgp.AppendString(o, z.Tracestate) + } + if (zb0001Mask & 0x20) == 0 { // if not empty + // string "flags" + o = append(o, 0xa5, 0x66, 0x6c, 0x61, 0x67, 0x73) + o = msgp.AppendUint32(o, z.Flags) + } + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *SpanLink) UnmarshalMsg(bts []byte) (o []byte, err error) { + var field []byte + _ = field + var zb0001 uint32 + zb0001, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + for zb0001 > 0 { + zb0001-- + field, bts, err = msgp.ReadMapKeyZC(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + switch msgp.UnsafeString(field) { + case "trace_id": + z.TraceID, bts, err = msgp.ReadUint64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "TraceID") + return + } + case "trace_id_high": + z.TraceIDHigh, bts, err = msgp.ReadUint64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "TraceIDHigh") + return + } + case "span_id": + z.SpanID, bts, err = msgp.ReadUint64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "SpanID") + return + } + case "attributes": + var zb0002 uint32 + zb0002, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Attributes") + return + } + if z.Attributes == nil { + z.Attributes = make(map[string]string, zb0002) + } else if len(z.Attributes) > 0 { + for key := range z.Attributes { + delete(z.Attributes, key) + } + } + for zb0002 > 0 { + var za0001 string + var za0002 string + zb0002-- + za0001, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Attributes") + return + } + za0002, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Attributes", za0001) + return + } + z.Attributes[za0001] = za0002 + } + case "tracestate": + z.Tracestate, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Tracestate") + return + } + case "flags": + z.Flags, bts, err = msgp.ReadUint32Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "Flags") + return + } + default: + bts, err = msgp.Skip(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + } + } + o = bts + return +} + +// Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message +func (z *SpanLink) Msgsize() (s int) { + s = 1 + 9 + msgp.Uint64Size + 14 + msgp.Uint64Size + 8 + msgp.Uint64Size + 11 + msgp.MapHeaderSize + if z.Attributes != nil { + for za0001, za0002 := range z.Attributes { + _ = za0002 + s += msgp.StringPrefixSize + len(za0001) + msgp.StringPrefixSize + len(za0002) + } + } + s += 11 + msgp.StringPrefixSize + len(z.Tracestate) + 6 + msgp.Uint32Size + return +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span_utils.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span_utils.go new file mode 100644 index 00000000..7c4919a2 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span_utils.go @@ -0,0 +1,53 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package trace + +// spanCopiedFields records the fields that are copied in ShallowCopy. +// This should match exactly the fields set in (*Span).ShallowCopy. +// This is used by tests to enforce the correctness of ShallowCopy. +var spanCopiedFields = map[string]struct{}{ + "Service": {}, + "Name": {}, + "Resource": {}, + "TraceID": {}, + "SpanID": {}, + "ParentID": {}, + "Start": {}, + "Duration": {}, + "Error": {}, + "Meta": {}, + "Metrics": {}, + "Type": {}, + "MetaStruct": {}, + "SpanLinks": {}, +} + +// ShallowCopy returns a shallow copy of the copy-able portion of a Span. These are the +// public fields which will have a Get* method for them. The completeness of this +// method is enforced by the init function above. Instead of using pkg/proto/utils.ProtoCopier, +// which incurs heavy reflection cost for every copy at runtime, we use reflection once at +// startup to ensure our method is complete. +func (s *Span) ShallowCopy() *Span { + if s == nil { + return &Span{} + } + return &Span{ + Service: s.Service, + Name: s.Name, + Resource: s.Resource, + TraceID: s.TraceID, + SpanID: s.SpanID, + ParentID: s.ParentID, + Start: s.Start, + Duration: s.Duration, + Error: s.Error, + Meta: s.Meta, + Metrics: s.Metrics, + Type: s.Type, + MetaStruct: s.MetaStruct, + SpanLinks: s.SpanLinks, + } +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span_vtproto.pb.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span_vtproto.pb.go new file mode 100644 index 00000000..7b6a7a03 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/span_vtproto.pb.go @@ -0,0 +1,1445 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.4.0 +// source: datadog/trace/span.proto + +package trace + +import ( + binary "encoding/binary" + fmt "fmt" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + math "math" + bits "math/bits" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *SpanLink) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SpanLink) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *SpanLink) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Flags != 0 { + i = encodeVarint(dAtA, i, uint64(m.Flags)) + i-- + dAtA[i] = 0x30 + } + if len(m.Tracestate) > 0 { + i -= len(m.Tracestate) + copy(dAtA[i:], m.Tracestate) + i = encodeVarint(dAtA, i, uint64(len(m.Tracestate))) + i-- + dAtA[i] = 0x2a + } + if len(m.Attributes) > 0 { + for k := range m.Attributes { + v := m.Attributes[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x22 + } + } + if m.SpanID != 0 { + i = encodeVarint(dAtA, i, uint64(m.SpanID)) + i-- + dAtA[i] = 0x18 + } + if m.TraceIDHigh != 0 { + i = encodeVarint(dAtA, i, uint64(m.TraceIDHigh)) + i-- + dAtA[i] = 0x10 + } + if m.TraceID != 0 { + i = encodeVarint(dAtA, i, uint64(m.TraceID)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Span) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Span) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Span) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.SpanLinks) > 0 { + for iNdEx := len(m.SpanLinks) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.SpanLinks[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x72 + } + } + if len(m.MetaStruct) > 0 { + for k := range m.MetaStruct { + v := m.MetaStruct[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x6a + } + } + if len(m.Type) > 0 { + i -= len(m.Type) + copy(dAtA[i:], m.Type) + i = encodeVarint(dAtA, i, uint64(len(m.Type))) + i-- + dAtA[i] = 0x62 + } + if len(m.Metrics) > 0 { + for k := range m.Metrics { + v := m.Metrics[k] + baseI := i + i -= 8 + binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(v)))) + i-- + dAtA[i] = 0x11 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x5a + } + } + if len(m.Meta) > 0 { + for k := range m.Meta { + v := m.Meta[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x52 + } + } + if m.Error != 0 { + i = encodeVarint(dAtA, i, uint64(m.Error)) + i-- + dAtA[i] = 0x48 + } + if m.Duration != 0 { + i = encodeVarint(dAtA, i, uint64(m.Duration)) + i-- + dAtA[i] = 0x40 + } + if m.Start != 0 { + i = encodeVarint(dAtA, i, uint64(m.Start)) + i-- + dAtA[i] = 0x38 + } + if m.ParentID != 0 { + i = encodeVarint(dAtA, i, uint64(m.ParentID)) + i-- + dAtA[i] = 0x30 + } + if m.SpanID != 0 { + i = encodeVarint(dAtA, i, uint64(m.SpanID)) + i-- + dAtA[i] = 0x28 + } + if m.TraceID != 0 { + i = encodeVarint(dAtA, i, uint64(m.TraceID)) + i-- + dAtA[i] = 0x20 + } + if len(m.Resource) > 0 { + i -= len(m.Resource) + copy(dAtA[i:], m.Resource) + i = encodeVarint(dAtA, i, uint64(len(m.Resource))) + i-- + dAtA[i] = 0x1a + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x12 + } + if len(m.Service) > 0 { + i -= len(m.Service) + copy(dAtA[i:], m.Service) + i = encodeVarint(dAtA, i, uint64(len(m.Service))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarint(dAtA []byte, offset int, v uint64) int { + offset -= sov(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *SpanLink) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TraceID != 0 { + n += 1 + sov(uint64(m.TraceID)) + } + if m.TraceIDHigh != 0 { + n += 1 + sov(uint64(m.TraceIDHigh)) + } + if m.SpanID != 0 { + n += 1 + sov(uint64(m.SpanID)) + } + if len(m.Attributes) > 0 { + for k, v := range m.Attributes { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) + n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + } + } + l = len(m.Tracestate) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.Flags != 0 { + n += 1 + sov(uint64(m.Flags)) + } + n += len(m.unknownFields) + return n +} + +func (m *Span) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Service) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Resource) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.TraceID != 0 { + n += 1 + sov(uint64(m.TraceID)) + } + if m.SpanID != 0 { + n += 1 + sov(uint64(m.SpanID)) + } + if m.ParentID != 0 { + n += 1 + sov(uint64(m.ParentID)) + } + if m.Start != 0 { + n += 1 + sov(uint64(m.Start)) + } + if m.Duration != 0 { + n += 1 + sov(uint64(m.Duration)) + } + if m.Error != 0 { + n += 1 + sov(uint64(m.Error)) + } + if len(m.Meta) > 0 { + for k, v := range m.Meta { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) + n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + } + } + if len(m.Metrics) > 0 { + for k, v := range m.Metrics { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + 8 + n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + } + } + l = len(m.Type) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if len(m.MetaStruct) > 0 { + for k, v := range m.MetaStruct { + _ = k + _ = v + l = 1 + len(v) + sov(uint64(len(v))) + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l + n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + } + } + if len(m.SpanLinks) > 0 { + for _, e := range m.SpanLinks { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func sov(x uint64) (n int) { + return (bits.Len64(x|1) + 6) / 7 +} +func soz(x uint64) (n int) { + return sov(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *SpanLink) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SpanLink: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SpanLink: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TraceID", wireType) + } + m.TraceID = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TraceID |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TraceIDHigh", wireType) + } + m.TraceIDHigh = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TraceIDHigh |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SpanID", wireType) + } + m.SpanID = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SpanID |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Attributes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Attributes == nil { + m.Attributes = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLength + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLength + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLength + } + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Attributes[mapkey] = mapvalue + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Tracestate", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Tracestate = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Flags", wireType) + } + m.Flags = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Flags |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Span) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Span: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Span: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Service", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Service = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Resource = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TraceID", wireType) + } + m.TraceID = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TraceID |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SpanID", wireType) + } + m.SpanID = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SpanID |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentID", wireType) + } + m.ParentID = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ParentID |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Start", wireType) + } + m.Start = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Start |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Duration", wireType) + } + m.Duration = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Duration |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Error", wireType) + } + m.Error = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Error |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Meta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Meta == nil { + m.Meta = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLength + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLength + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLength + } + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Meta[mapkey] = mapvalue + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metrics", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Metrics == nil { + m.Metrics = make(map[string]float64) + } + var mapkey string + var mapvalue float64 + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLength + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var mapvaluetemp uint64 + if (iNdEx + 8) > l { + return io.ErrUnexpectedEOF + } + mapvaluetemp = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + iNdEx += 8 + mapvalue = math.Float64frombits(mapvaluetemp) + } else { + iNdEx = entryPreIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Metrics[mapkey] = mapvalue + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MetaStruct", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MetaStruct == nil { + m.MetaStruct = make(map[string][]byte) + } + var mapkey string + var mapvalue []byte + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLength + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var mapbyteLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapbyteLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intMapbyteLen := int(mapbyteLen) + if intMapbyteLen < 0 { + return ErrInvalidLength + } + postbytesIndex := iNdEx + intMapbyteLen + if postbytesIndex < 0 { + return ErrInvalidLength + } + if postbytesIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue = make([]byte, mapbyteLen) + copy(mapvalue, dAtA[iNdEx:postbytesIndex]) + iNdEx = postbytesIndex + } else { + iNdEx = entryPreIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.MetaStruct[mapkey] = mapvalue + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SpanLinks", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SpanLinks = append(m.SpanLinks, &SpanLink{}) + if err := m.SpanLinks[len(m.SpanLinks)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} + +func skip(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflow + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflow + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflow + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLength + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroup + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLength + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflow = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group") +) diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/stats.pb.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/stats.pb.go new file mode 100644 index 00000000..52d51fff --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/stats.pb.go @@ -0,0 +1,837 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.0 +// protoc v5.26.1 +// source: datadog/trace/stats.proto + +package trace + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Trilean is an expanded boolean type that is meant to differentiate between being unset and false. +type Trilean int32 + +const ( + Trilean_NOT_SET Trilean = 0 + Trilean_TRUE Trilean = 1 + Trilean_FALSE Trilean = 2 +) + +// Enum value maps for Trilean. +var ( + Trilean_name = map[int32]string{ + 0: "NOT_SET", + 1: "TRUE", + 2: "FALSE", + } + Trilean_value = map[string]int32{ + "NOT_SET": 0, + "TRUE": 1, + "FALSE": 2, + } +) + +func (x Trilean) Enum() *Trilean { + p := new(Trilean) + *p = x + return p +} + +func (x Trilean) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Trilean) Descriptor() protoreflect.EnumDescriptor { + return file_datadog_trace_stats_proto_enumTypes[0].Descriptor() +} + +func (Trilean) Type() protoreflect.EnumType { + return &file_datadog_trace_stats_proto_enumTypes[0] +} + +func (x Trilean) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Trilean.Descriptor instead. +func (Trilean) EnumDescriptor() ([]byte, []int) { + return file_datadog_trace_stats_proto_rawDescGZIP(), []int{0} +} + +type TraceRootFlag int32 + +const ( + TraceRootFlag_DEPRECATED_NOT_SET TraceRootFlag = 0 + TraceRootFlag_DEPRECATED_TRUE TraceRootFlag = 1 + TraceRootFlag_DEPRECATED_FALSE TraceRootFlag = 2 +) + +// Enum value maps for TraceRootFlag. +var ( + TraceRootFlag_name = map[int32]string{ + 0: "DEPRECATED_NOT_SET", + 1: "DEPRECATED_TRUE", + 2: "DEPRECATED_FALSE", + } + TraceRootFlag_value = map[string]int32{ + "DEPRECATED_NOT_SET": 0, + "DEPRECATED_TRUE": 1, + "DEPRECATED_FALSE": 2, + } +) + +func (x TraceRootFlag) Enum() *TraceRootFlag { + p := new(TraceRootFlag) + *p = x + return p +} + +func (x TraceRootFlag) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TraceRootFlag) Descriptor() protoreflect.EnumDescriptor { + return file_datadog_trace_stats_proto_enumTypes[1].Descriptor() +} + +func (TraceRootFlag) Type() protoreflect.EnumType { + return &file_datadog_trace_stats_proto_enumTypes[1] +} + +func (x TraceRootFlag) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TraceRootFlag.Descriptor instead. +func (TraceRootFlag) EnumDescriptor() ([]byte, []int) { + return file_datadog_trace_stats_proto_rawDescGZIP(), []int{1} +} + +// StatsPayload is the payload used to send stats from the agent to the backend. +type StatsPayload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AgentHostname string `protobuf:"bytes,1,opt,name=agentHostname,proto3" json:"agentHostname,omitempty"` + AgentEnv string `protobuf:"bytes,2,opt,name=agentEnv,proto3" json:"agentEnv,omitempty"` + // @gotags: json:"stats,omitempty" msg:"Stats,omitempty" + Stats []*ClientStatsPayload `protobuf:"bytes,3,rep,name=stats,proto3" json:"stats,omitempty" msg:"Stats,omitempty"` + AgentVersion string `protobuf:"bytes,4,opt,name=agentVersion,proto3" json:"agentVersion,omitempty"` + ClientComputed bool `protobuf:"varint,5,opt,name=clientComputed,proto3" json:"clientComputed,omitempty"` + // splitPayload indicates if the payload is actually one of several payloads split out from a larger payload. + // This field can be used in the backend to signal if re-aggregation is necessary. + SplitPayload bool `protobuf:"varint,6,opt,name=splitPayload,proto3" json:"splitPayload,omitempty"` +} + +func (x *StatsPayload) Reset() { + *x = StatsPayload{} + if protoimpl.UnsafeEnabled { + mi := &file_datadog_trace_stats_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatsPayload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatsPayload) ProtoMessage() {} + +func (x *StatsPayload) ProtoReflect() protoreflect.Message { + mi := &file_datadog_trace_stats_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatsPayload.ProtoReflect.Descriptor instead. +func (*StatsPayload) Descriptor() ([]byte, []int) { + return file_datadog_trace_stats_proto_rawDescGZIP(), []int{0} +} + +func (x *StatsPayload) GetAgentHostname() string { + if x != nil { + return x.AgentHostname + } + return "" +} + +func (x *StatsPayload) GetAgentEnv() string { + if x != nil { + return x.AgentEnv + } + return "" +} + +func (x *StatsPayload) GetStats() []*ClientStatsPayload { + if x != nil { + return x.Stats + } + return nil +} + +func (x *StatsPayload) GetAgentVersion() string { + if x != nil { + return x.AgentVersion + } + return "" +} + +func (x *StatsPayload) GetClientComputed() bool { + if x != nil { + return x.ClientComputed + } + return false +} + +func (x *StatsPayload) GetSplitPayload() bool { + if x != nil { + return x.SplitPayload + } + return false +} + +// ClientStatsPayload is the first layer of span stats aggregation. It is also +// the payload sent by tracers to the agent when stats in tracer are enabled. +type ClientStatsPayload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hostname is the tracer hostname. It's extracted from spans with "_dd.hostname" meta + // or set by tracer stats payload when hostname reporting is enabled. + Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` + Env string `protobuf:"bytes,2,opt,name=env,proto3" json:"env,omitempty"` // env tag set on spans or in the tracers, used for aggregation + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` // version tag set on spans or in the tracers, used for aggregation + // @gotags: json:"stats,omitempty" msg:"Stats,omitempty" + Stats []*ClientStatsBucket `protobuf:"bytes,4,rep,name=stats,proto3" json:"stats,omitempty" msg:"Stats,omitempty"` + Lang string `protobuf:"bytes,5,opt,name=lang,proto3" json:"lang,omitempty"` // informative field not used for aggregation + TracerVersion string `protobuf:"bytes,6,opt,name=tracerVersion,proto3" json:"tracerVersion,omitempty"` // informative field not used for aggregation + RuntimeID string `protobuf:"bytes,7,opt,name=runtimeID,proto3" json:"runtimeID,omitempty"` // used on stats payloads sent by the tracer to identify uniquely a message + Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` // used on stats payloads sent by the tracer to identify uniquely a message + // AgentAggregation is set by the agent on tracer payloads modified by the agent aggregation layer + // characterizes counts only and distributions only payloads + AgentAggregation string `protobuf:"bytes,9,opt,name=agentAggregation,proto3" json:"agentAggregation,omitempty"` + // Service is the main service of the tracer. + // It is part of unified tagging: https://docs.datadoghq.com/getting_started/tagging/unified_service_tagging + Service string `protobuf:"bytes,10,opt,name=service,proto3" json:"service,omitempty"` + // ContainerID specifies the origin container ID. It is meant to be populated by the client and may + // be enhanced by the agent to ensure it is unique. + ContainerID string `protobuf:"bytes,11,opt,name=containerID,proto3" json:"containerID,omitempty"` + // Tags specifies a set of tags obtained from the orchestrator (where applicable) using the specified containerID. + // This field should be left empty by the client. It only applies to some specific environment. + Tags []string `protobuf:"bytes,12,rep,name=tags,proto3" json:"tags,omitempty"` + // The git commit SHA is obtained from a trace, where it may be set through a tracer <-> source code integration. + GitCommitSha string `protobuf:"bytes,13,opt,name=git_commit_sha,json=gitCommitSha,proto3" json:"git_commit_sha,omitempty"` + // The image tag is obtained from a container's set of tags. + ImageTag string `protobuf:"bytes,14,opt,name=image_tag,json=imageTag,proto3" json:"image_tag,omitempty"` +} + +func (x *ClientStatsPayload) Reset() { + *x = ClientStatsPayload{} + if protoimpl.UnsafeEnabled { + mi := &file_datadog_trace_stats_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientStatsPayload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientStatsPayload) ProtoMessage() {} + +func (x *ClientStatsPayload) ProtoReflect() protoreflect.Message { + mi := &file_datadog_trace_stats_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientStatsPayload.ProtoReflect.Descriptor instead. +func (*ClientStatsPayload) Descriptor() ([]byte, []int) { + return file_datadog_trace_stats_proto_rawDescGZIP(), []int{1} +} + +func (x *ClientStatsPayload) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *ClientStatsPayload) GetEnv() string { + if x != nil { + return x.Env + } + return "" +} + +func (x *ClientStatsPayload) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *ClientStatsPayload) GetStats() []*ClientStatsBucket { + if x != nil { + return x.Stats + } + return nil +} + +func (x *ClientStatsPayload) GetLang() string { + if x != nil { + return x.Lang + } + return "" +} + +func (x *ClientStatsPayload) GetTracerVersion() string { + if x != nil { + return x.TracerVersion + } + return "" +} + +func (x *ClientStatsPayload) GetRuntimeID() string { + if x != nil { + return x.RuntimeID + } + return "" +} + +func (x *ClientStatsPayload) GetSequence() uint64 { + if x != nil { + return x.Sequence + } + return 0 +} + +func (x *ClientStatsPayload) GetAgentAggregation() string { + if x != nil { + return x.AgentAggregation + } + return "" +} + +func (x *ClientStatsPayload) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *ClientStatsPayload) GetContainerID() string { + if x != nil { + return x.ContainerID + } + return "" +} + +func (x *ClientStatsPayload) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *ClientStatsPayload) GetGitCommitSha() string { + if x != nil { + return x.GitCommitSha + } + return "" +} + +func (x *ClientStatsPayload) GetImageTag() string { + if x != nil { + return x.ImageTag + } + return "" +} + +// ClientStatsBucket is a time bucket containing aggregated stats. +type ClientStatsBucket struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start uint64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` // bucket start in nanoseconds + Duration uint64 `protobuf:"varint,2,opt,name=duration,proto3" json:"duration,omitempty"` // bucket duration in nanoseconds + // @gotags: json:"stats,omitempty" msg:"Stats,omitempty" + Stats []*ClientGroupedStats `protobuf:"bytes,3,rep,name=stats,proto3" json:"stats,omitempty" msg:"Stats,omitempty"` + // AgentTimeShift is the shift applied by the agent stats aggregator on bucket start + // when the received bucket start is outside of the agent aggregation window + AgentTimeShift int64 `protobuf:"varint,4,opt,name=agentTimeShift,proto3" json:"agentTimeShift,omitempty"` +} + +func (x *ClientStatsBucket) Reset() { + *x = ClientStatsBucket{} + if protoimpl.UnsafeEnabled { + mi := &file_datadog_trace_stats_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientStatsBucket) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientStatsBucket) ProtoMessage() {} + +func (x *ClientStatsBucket) ProtoReflect() protoreflect.Message { + mi := &file_datadog_trace_stats_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientStatsBucket.ProtoReflect.Descriptor instead. +func (*ClientStatsBucket) Descriptor() ([]byte, []int) { + return file_datadog_trace_stats_proto_rawDescGZIP(), []int{2} +} + +func (x *ClientStatsBucket) GetStart() uint64 { + if x != nil { + return x.Start + } + return 0 +} + +func (x *ClientStatsBucket) GetDuration() uint64 { + if x != nil { + return x.Duration + } + return 0 +} + +func (x *ClientStatsBucket) GetStats() []*ClientGroupedStats { + if x != nil { + return x.Stats + } + return nil +} + +func (x *ClientStatsBucket) GetAgentTimeShift() int64 { + if x != nil { + return x.AgentTimeShift + } + return 0 +} + +// ClientGroupedStats aggregate stats on spans grouped by service, name, resource, status_code, type +type ClientGroupedStats struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Resource string `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"` + HTTPStatusCode uint32 `protobuf:"varint,4,opt,name=HTTP_status_code,json=HTTPStatusCode,proto3" json:"HTTP_status_code,omitempty"` + Type string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"` + DBType string `protobuf:"bytes,6,opt,name=DB_type,json=DBType,proto3" json:"DB_type,omitempty"` // db_type might be used in the future to help in the obfuscation step + Hits uint64 `protobuf:"varint,7,opt,name=hits,proto3" json:"hits,omitempty"` // count of all spans aggregated in the groupedstats + Errors uint64 `protobuf:"varint,8,opt,name=errors,proto3" json:"errors,omitempty"` // count of error spans aggregated in the groupedstats + Duration uint64 `protobuf:"varint,9,opt,name=duration,proto3" json:"duration,omitempty"` // total duration in nanoseconds of spans aggregated in the bucket + OkSummary []byte `protobuf:"bytes,10,opt,name=okSummary,proto3" json:"okSummary,omitempty"` // ddsketch summary of ok spans latencies encoded in protobuf + ErrorSummary []byte `protobuf:"bytes,11,opt,name=errorSummary,proto3" json:"errorSummary,omitempty"` // ddsketch summary of error spans latencies encoded in protobuf + Synthetics bool `protobuf:"varint,12,opt,name=synthetics,proto3" json:"synthetics,omitempty"` // set to true on spans generated by synthetics traffic + TopLevelHits uint64 `protobuf:"varint,13,opt,name=topLevelHits,proto3" json:"topLevelHits,omitempty"` // count of top level spans aggregated in the groupedstats + SpanKind string `protobuf:"bytes,15,opt,name=span_kind,json=spanKind,proto3" json:"span_kind,omitempty"` // value of the span.kind tag on the span + // peer_tags are supplementary tags that further describe a peer entity + // E.g., `grpc.target` to describe the name of a gRPC peer, or `db.hostname` to describe the name of peer DB + PeerTags []string `protobuf:"bytes,16,rep,name=peer_tags,json=peerTags,proto3" json:"peer_tags,omitempty"` + IsTraceRoot Trilean `protobuf:"varint,17,opt,name=is_trace_root,json=isTraceRoot,proto3,enum=datadog.trace.Trilean" json:"is_trace_root,omitempty"` // this field's value is equal to span's ParentID == 0. +} + +func (x *ClientGroupedStats) Reset() { + *x = ClientGroupedStats{} + if protoimpl.UnsafeEnabled { + mi := &file_datadog_trace_stats_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientGroupedStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientGroupedStats) ProtoMessage() {} + +func (x *ClientGroupedStats) ProtoReflect() protoreflect.Message { + mi := &file_datadog_trace_stats_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientGroupedStats.ProtoReflect.Descriptor instead. +func (*ClientGroupedStats) Descriptor() ([]byte, []int) { + return file_datadog_trace_stats_proto_rawDescGZIP(), []int{3} +} + +func (x *ClientGroupedStats) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *ClientGroupedStats) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ClientGroupedStats) GetResource() string { + if x != nil { + return x.Resource + } + return "" +} + +func (x *ClientGroupedStats) GetHTTPStatusCode() uint32 { + if x != nil { + return x.HTTPStatusCode + } + return 0 +} + +func (x *ClientGroupedStats) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ClientGroupedStats) GetDBType() string { + if x != nil { + return x.DBType + } + return "" +} + +func (x *ClientGroupedStats) GetHits() uint64 { + if x != nil { + return x.Hits + } + return 0 +} + +func (x *ClientGroupedStats) GetErrors() uint64 { + if x != nil { + return x.Errors + } + return 0 +} + +func (x *ClientGroupedStats) GetDuration() uint64 { + if x != nil { + return x.Duration + } + return 0 +} + +func (x *ClientGroupedStats) GetOkSummary() []byte { + if x != nil { + return x.OkSummary + } + return nil +} + +func (x *ClientGroupedStats) GetErrorSummary() []byte { + if x != nil { + return x.ErrorSummary + } + return nil +} + +func (x *ClientGroupedStats) GetSynthetics() bool { + if x != nil { + return x.Synthetics + } + return false +} + +func (x *ClientGroupedStats) GetTopLevelHits() uint64 { + if x != nil { + return x.TopLevelHits + } + return 0 +} + +func (x *ClientGroupedStats) GetSpanKind() string { + if x != nil { + return x.SpanKind + } + return "" +} + +func (x *ClientGroupedStats) GetPeerTags() []string { + if x != nil { + return x.PeerTags + } + return nil +} + +func (x *ClientGroupedStats) GetIsTraceRoot() Trilean { + if x != nil { + return x.IsTraceRoot + } + return Trilean_NOT_SET +} + +var File_datadog_trace_stats_proto protoreflect.FileDescriptor + +var file_datadog_trace_stats_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, + 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x64, 0x61, 0x74, + 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x22, 0xf9, 0x01, 0x0a, 0x0c, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x12, 0x37, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xc7, 0x03, 0x0a, 0x12, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x74, + 0x72, 0x61, 0x63, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x61, 0x6e, + 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x24, 0x0a, + 0x0e, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x53, 0x68, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x67, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, + 0x22, 0xa6, 0x01, 0x0a, 0x11, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, + 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x68, + 0x69, 0x66, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x53, 0x68, 0x69, 0x66, 0x74, 0x22, 0xff, 0x03, 0x0a, 0x12, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x48, 0x54, + 0x54, 0x50, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x48, 0x54, 0x54, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x44, 0x42, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x04, 0x68, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x6b, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x6b, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x73, + 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0a, 0x73, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x74, + 0x6f, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x69, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0c, 0x74, 0x6f, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x69, 0x74, 0x73, 0x12, + 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x73, 0x70, 0x61, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x65, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x0d, 0x69, 0x73, 0x5f, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x16, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, + 0x2e, 0x54, 0x72, 0x69, 0x6c, 0x65, 0x61, 0x6e, 0x52, 0x0b, 0x69, 0x73, 0x54, 0x72, 0x61, 0x63, + 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x4a, 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x2a, 0x2b, 0x0a, 0x07, 0x54, + 0x72, 0x69, 0x6c, 0x65, 0x61, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, + 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x52, 0x55, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, + 0x05, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x02, 0x2a, 0x52, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x63, + 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x45, 0x50, + 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x10, + 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, + 0x54, 0x52, 0x55, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, + 0x41, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x02, 0x42, 0x16, 0x5a, 0x14, + 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x70, 0x62, 0x67, 0x6f, 0x2f, 0x74, + 0x72, 0x61, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_datadog_trace_stats_proto_rawDescOnce sync.Once + file_datadog_trace_stats_proto_rawDescData = file_datadog_trace_stats_proto_rawDesc +) + +func file_datadog_trace_stats_proto_rawDescGZIP() []byte { + file_datadog_trace_stats_proto_rawDescOnce.Do(func() { + file_datadog_trace_stats_proto_rawDescData = protoimpl.X.CompressGZIP(file_datadog_trace_stats_proto_rawDescData) + }) + return file_datadog_trace_stats_proto_rawDescData +} + +var file_datadog_trace_stats_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_datadog_trace_stats_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_datadog_trace_stats_proto_goTypes = []interface{}{ + (Trilean)(0), // 0: datadog.trace.Trilean + (TraceRootFlag)(0), // 1: datadog.trace.TraceRootFlag + (*StatsPayload)(nil), // 2: datadog.trace.StatsPayload + (*ClientStatsPayload)(nil), // 3: datadog.trace.ClientStatsPayload + (*ClientStatsBucket)(nil), // 4: datadog.trace.ClientStatsBucket + (*ClientGroupedStats)(nil), // 5: datadog.trace.ClientGroupedStats +} +var file_datadog_trace_stats_proto_depIdxs = []int32{ + 3, // 0: datadog.trace.StatsPayload.stats:type_name -> datadog.trace.ClientStatsPayload + 4, // 1: datadog.trace.ClientStatsPayload.stats:type_name -> datadog.trace.ClientStatsBucket + 5, // 2: datadog.trace.ClientStatsBucket.stats:type_name -> datadog.trace.ClientGroupedStats + 0, // 3: datadog.trace.ClientGroupedStats.is_trace_root:type_name -> datadog.trace.Trilean + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_datadog_trace_stats_proto_init() } +func file_datadog_trace_stats_proto_init() { + if File_datadog_trace_stats_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_datadog_trace_stats_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatsPayload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_datadog_trace_stats_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientStatsPayload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_datadog_trace_stats_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientStatsBucket); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_datadog_trace_stats_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientGroupedStats); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_datadog_trace_stats_proto_rawDesc, + NumEnums: 2, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_datadog_trace_stats_proto_goTypes, + DependencyIndexes: file_datadog_trace_stats_proto_depIdxs, + EnumInfos: file_datadog_trace_stats_proto_enumTypes, + MessageInfos: file_datadog_trace_stats_proto_msgTypes, + }.Build() + File_datadog_trace_stats_proto = out.File + file_datadog_trace_stats_proto_rawDesc = nil + file_datadog_trace_stats_proto_goTypes = nil + file_datadog_trace_stats_proto_depIdxs = nil +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/stats_gen.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/stats_gen.go new file mode 100644 index 00000000..0747621c --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/stats_gen.go @@ -0,0 +1,1844 @@ +package trace + +// Code generated by github.com/tinylib/msgp DO NOT EDIT. + +import ( + "github.com/tinylib/msgp/msgp" +) + +// DecodeMsg implements msgp.Decodable +func (z *ClientGroupedStats) DecodeMsg(dc *msgp.Reader) (err error) { + var field []byte + _ = field + var zb0001 uint32 + zb0001, err = dc.ReadMapHeader() + if err != nil { + err = msgp.WrapError(err) + return + } + for zb0001 > 0 { + zb0001-- + field, err = dc.ReadMapKeyPtr() + if err != nil { + err = msgp.WrapError(err) + return + } + switch msgp.UnsafeString(field) { + case "Service": + z.Service, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "Service") + return + } + case "Name": + z.Name, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "Name") + return + } + case "Resource": + z.Resource, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "Resource") + return + } + case "HTTPStatusCode": + z.HTTPStatusCode, err = dc.ReadUint32() + if err != nil { + err = msgp.WrapError(err, "HTTPStatusCode") + return + } + case "Type": + z.Type, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "Type") + return + } + case "DBType": + z.DBType, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "DBType") + return + } + case "Hits": + z.Hits, err = dc.ReadUint64() + if err != nil { + err = msgp.WrapError(err, "Hits") + return + } + case "Errors": + z.Errors, err = dc.ReadUint64() + if err != nil { + err = msgp.WrapError(err, "Errors") + return + } + case "Duration": + z.Duration, err = dc.ReadUint64() + if err != nil { + err = msgp.WrapError(err, "Duration") + return + } + case "OkSummary": + z.OkSummary, err = dc.ReadBytes(z.OkSummary) + if err != nil { + err = msgp.WrapError(err, "OkSummary") + return + } + case "ErrorSummary": + z.ErrorSummary, err = dc.ReadBytes(z.ErrorSummary) + if err != nil { + err = msgp.WrapError(err, "ErrorSummary") + return + } + case "Synthetics": + z.Synthetics, err = dc.ReadBool() + if err != nil { + err = msgp.WrapError(err, "Synthetics") + return + } + case "TopLevelHits": + z.TopLevelHits, err = dc.ReadUint64() + if err != nil { + err = msgp.WrapError(err, "TopLevelHits") + return + } + case "SpanKind": + z.SpanKind, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "SpanKind") + return + } + case "PeerTags": + var zb0002 uint32 + zb0002, err = dc.ReadArrayHeader() + if err != nil { + err = msgp.WrapError(err, "PeerTags") + return + } + if cap(z.PeerTags) >= int(zb0002) { + z.PeerTags = (z.PeerTags)[:zb0002] + } else { + z.PeerTags = make([]string, zb0002) + } + for za0001 := range z.PeerTags { + z.PeerTags[za0001], err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "PeerTags", za0001) + return + } + } + case "IsTraceRoot": + { + var zb0003 int32 + zb0003, err = dc.ReadInt32() + if err != nil { + err = msgp.WrapError(err, "IsTraceRoot") + return + } + z.IsTraceRoot = Trilean(zb0003) + } + default: + err = dc.Skip() + if err != nil { + err = msgp.WrapError(err) + return + } + } + } + return +} + +// EncodeMsg implements msgp.Encodable +func (z *ClientGroupedStats) EncodeMsg(en *msgp.Writer) (err error) { + // map header, size 16 + // write "Service" + err = en.Append(0xde, 0x0, 0x10, 0xa7, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65) + if err != nil { + return + } + err = en.WriteString(z.Service) + if err != nil { + err = msgp.WrapError(err, "Service") + return + } + // write "Name" + err = en.Append(0xa4, 0x4e, 0x61, 0x6d, 0x65) + if err != nil { + return + } + err = en.WriteString(z.Name) + if err != nil { + err = msgp.WrapError(err, "Name") + return + } + // write "Resource" + err = en.Append(0xa8, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65) + if err != nil { + return + } + err = en.WriteString(z.Resource) + if err != nil { + err = msgp.WrapError(err, "Resource") + return + } + // write "HTTPStatusCode" + err = en.Append(0xae, 0x48, 0x54, 0x54, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65) + if err != nil { + return + } + err = en.WriteUint32(z.HTTPStatusCode) + if err != nil { + err = msgp.WrapError(err, "HTTPStatusCode") + return + } + // write "Type" + err = en.Append(0xa4, 0x54, 0x79, 0x70, 0x65) + if err != nil { + return + } + err = en.WriteString(z.Type) + if err != nil { + err = msgp.WrapError(err, "Type") + return + } + // write "DBType" + err = en.Append(0xa6, 0x44, 0x42, 0x54, 0x79, 0x70, 0x65) + if err != nil { + return + } + err = en.WriteString(z.DBType) + if err != nil { + err = msgp.WrapError(err, "DBType") + return + } + // write "Hits" + err = en.Append(0xa4, 0x48, 0x69, 0x74, 0x73) + if err != nil { + return + } + err = en.WriteUint64(z.Hits) + if err != nil { + err = msgp.WrapError(err, "Hits") + return + } + // write "Errors" + err = en.Append(0xa6, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73) + if err != nil { + return + } + err = en.WriteUint64(z.Errors) + if err != nil { + err = msgp.WrapError(err, "Errors") + return + } + // write "Duration" + err = en.Append(0xa8, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e) + if err != nil { + return + } + err = en.WriteUint64(z.Duration) + if err != nil { + err = msgp.WrapError(err, "Duration") + return + } + // write "OkSummary" + err = en.Append(0xa9, 0x4f, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79) + if err != nil { + return + } + err = en.WriteBytes(z.OkSummary) + if err != nil { + err = msgp.WrapError(err, "OkSummary") + return + } + // write "ErrorSummary" + err = en.Append(0xac, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79) + if err != nil { + return + } + err = en.WriteBytes(z.ErrorSummary) + if err != nil { + err = msgp.WrapError(err, "ErrorSummary") + return + } + // write "Synthetics" + err = en.Append(0xaa, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x73) + if err != nil { + return + } + err = en.WriteBool(z.Synthetics) + if err != nil { + err = msgp.WrapError(err, "Synthetics") + return + } + // write "TopLevelHits" + err = en.Append(0xac, 0x54, 0x6f, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x69, 0x74, 0x73) + if err != nil { + return + } + err = en.WriteUint64(z.TopLevelHits) + if err != nil { + err = msgp.WrapError(err, "TopLevelHits") + return + } + // write "SpanKind" + err = en.Append(0xa8, 0x53, 0x70, 0x61, 0x6e, 0x4b, 0x69, 0x6e, 0x64) + if err != nil { + return + } + err = en.WriteString(z.SpanKind) + if err != nil { + err = msgp.WrapError(err, "SpanKind") + return + } + // write "PeerTags" + err = en.Append(0xa8, 0x50, 0x65, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73) + if err != nil { + return + } + err = en.WriteArrayHeader(uint32(len(z.PeerTags))) + if err != nil { + err = msgp.WrapError(err, "PeerTags") + return + } + for za0001 := range z.PeerTags { + err = en.WriteString(z.PeerTags[za0001]) + if err != nil { + err = msgp.WrapError(err, "PeerTags", za0001) + return + } + } + // write "IsTraceRoot" + err = en.Append(0xab, 0x49, 0x73, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x74) + if err != nil { + return + } + err = en.WriteInt32(int32(z.IsTraceRoot)) + if err != nil { + err = msgp.WrapError(err, "IsTraceRoot") + return + } + return +} + +// MarshalMsg implements msgp.Marshaler +func (z *ClientGroupedStats) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + // map header, size 16 + // string "Service" + o = append(o, 0xde, 0x0, 0x10, 0xa7, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65) + o = msgp.AppendString(o, z.Service) + // string "Name" + o = append(o, 0xa4, 0x4e, 0x61, 0x6d, 0x65) + o = msgp.AppendString(o, z.Name) + // string "Resource" + o = append(o, 0xa8, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65) + o = msgp.AppendString(o, z.Resource) + // string "HTTPStatusCode" + o = append(o, 0xae, 0x48, 0x54, 0x54, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65) + o = msgp.AppendUint32(o, z.HTTPStatusCode) + // string "Type" + o = append(o, 0xa4, 0x54, 0x79, 0x70, 0x65) + o = msgp.AppendString(o, z.Type) + // string "DBType" + o = append(o, 0xa6, 0x44, 0x42, 0x54, 0x79, 0x70, 0x65) + o = msgp.AppendString(o, z.DBType) + // string "Hits" + o = append(o, 0xa4, 0x48, 0x69, 0x74, 0x73) + o = msgp.AppendUint64(o, z.Hits) + // string "Errors" + o = append(o, 0xa6, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73) + o = msgp.AppendUint64(o, z.Errors) + // string "Duration" + o = append(o, 0xa8, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e) + o = msgp.AppendUint64(o, z.Duration) + // string "OkSummary" + o = append(o, 0xa9, 0x4f, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79) + o = msgp.AppendBytes(o, z.OkSummary) + // string "ErrorSummary" + o = append(o, 0xac, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79) + o = msgp.AppendBytes(o, z.ErrorSummary) + // string "Synthetics" + o = append(o, 0xaa, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x73) + o = msgp.AppendBool(o, z.Synthetics) + // string "TopLevelHits" + o = append(o, 0xac, 0x54, 0x6f, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x69, 0x74, 0x73) + o = msgp.AppendUint64(o, z.TopLevelHits) + // string "SpanKind" + o = append(o, 0xa8, 0x53, 0x70, 0x61, 0x6e, 0x4b, 0x69, 0x6e, 0x64) + o = msgp.AppendString(o, z.SpanKind) + // string "PeerTags" + o = append(o, 0xa8, 0x50, 0x65, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73) + o = msgp.AppendArrayHeader(o, uint32(len(z.PeerTags))) + for za0001 := range z.PeerTags { + o = msgp.AppendString(o, z.PeerTags[za0001]) + } + // string "IsTraceRoot" + o = append(o, 0xab, 0x49, 0x73, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x74) + o = msgp.AppendInt32(o, int32(z.IsTraceRoot)) + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *ClientGroupedStats) UnmarshalMsg(bts []byte) (o []byte, err error) { + var field []byte + _ = field + var zb0001 uint32 + zb0001, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + for zb0001 > 0 { + zb0001-- + field, bts, err = msgp.ReadMapKeyZC(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + switch msgp.UnsafeString(field) { + case "Service": + z.Service, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Service") + return + } + case "Name": + z.Name, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Name") + return + } + case "Resource": + z.Resource, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Resource") + return + } + case "HTTPStatusCode": + z.HTTPStatusCode, bts, err = msgp.ReadUint32Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "HTTPStatusCode") + return + } + case "Type": + z.Type, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Type") + return + } + case "DBType": + z.DBType, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "DBType") + return + } + case "Hits": + z.Hits, bts, err = msgp.ReadUint64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "Hits") + return + } + case "Errors": + z.Errors, bts, err = msgp.ReadUint64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "Errors") + return + } + case "Duration": + z.Duration, bts, err = msgp.ReadUint64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "Duration") + return + } + case "OkSummary": + z.OkSummary, bts, err = msgp.ReadBytesBytes(bts, z.OkSummary) + if err != nil { + err = msgp.WrapError(err, "OkSummary") + return + } + case "ErrorSummary": + z.ErrorSummary, bts, err = msgp.ReadBytesBytes(bts, z.ErrorSummary) + if err != nil { + err = msgp.WrapError(err, "ErrorSummary") + return + } + case "Synthetics": + z.Synthetics, bts, err = msgp.ReadBoolBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Synthetics") + return + } + case "TopLevelHits": + z.TopLevelHits, bts, err = msgp.ReadUint64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "TopLevelHits") + return + } + case "SpanKind": + z.SpanKind, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "SpanKind") + return + } + case "PeerTags": + var zb0002 uint32 + zb0002, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "PeerTags") + return + } + if cap(z.PeerTags) >= int(zb0002) { + z.PeerTags = (z.PeerTags)[:zb0002] + } else { + z.PeerTags = make([]string, zb0002) + } + for za0001 := range z.PeerTags { + z.PeerTags[za0001], bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "PeerTags", za0001) + return + } + } + case "IsTraceRoot": + { + var zb0003 int32 + zb0003, bts, err = msgp.ReadInt32Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "IsTraceRoot") + return + } + z.IsTraceRoot = Trilean(zb0003) + } + default: + bts, err = msgp.Skip(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + } + } + o = bts + return +} + +// Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message +func (z *ClientGroupedStats) Msgsize() (s int) { + s = 3 + 8 + msgp.StringPrefixSize + len(z.Service) + 5 + msgp.StringPrefixSize + len(z.Name) + 9 + msgp.StringPrefixSize + len(z.Resource) + 15 + msgp.Uint32Size + 5 + msgp.StringPrefixSize + len(z.Type) + 7 + msgp.StringPrefixSize + len(z.DBType) + 5 + msgp.Uint64Size + 7 + msgp.Uint64Size + 9 + msgp.Uint64Size + 10 + msgp.BytesPrefixSize + len(z.OkSummary) + 13 + msgp.BytesPrefixSize + len(z.ErrorSummary) + 11 + msgp.BoolSize + 13 + msgp.Uint64Size + 9 + msgp.StringPrefixSize + len(z.SpanKind) + 9 + msgp.ArrayHeaderSize + for za0001 := range z.PeerTags { + s += msgp.StringPrefixSize + len(z.PeerTags[za0001]) + } + s += 12 + msgp.Int32Size + return +} + +// DecodeMsg implements msgp.Decodable +func (z *ClientStatsBucket) DecodeMsg(dc *msgp.Reader) (err error) { + var field []byte + _ = field + var zb0001 uint32 + zb0001, err = dc.ReadMapHeader() + if err != nil { + err = msgp.WrapError(err) + return + } + for zb0001 > 0 { + zb0001-- + field, err = dc.ReadMapKeyPtr() + if err != nil { + err = msgp.WrapError(err) + return + } + switch msgp.UnsafeString(field) { + case "Start": + z.Start, err = dc.ReadUint64() + if err != nil { + err = msgp.WrapError(err, "Start") + return + } + case "Duration": + z.Duration, err = dc.ReadUint64() + if err != nil { + err = msgp.WrapError(err, "Duration") + return + } + case "Stats": + var zb0002 uint32 + zb0002, err = dc.ReadArrayHeader() + if err != nil { + err = msgp.WrapError(err, "Stats") + return + } + if cap(z.Stats) >= int(zb0002) { + z.Stats = (z.Stats)[:zb0002] + } else { + z.Stats = make([]*ClientGroupedStats, zb0002) + } + for za0001 := range z.Stats { + if dc.IsNil() { + err = dc.ReadNil() + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + z.Stats[za0001] = nil + } else { + if z.Stats[za0001] == nil { + z.Stats[za0001] = new(ClientGroupedStats) + } + err = z.Stats[za0001].DecodeMsg(dc) + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + } + } + case "AgentTimeShift": + z.AgentTimeShift, err = dc.ReadInt64() + if err != nil { + err = msgp.WrapError(err, "AgentTimeShift") + return + } + default: + err = dc.Skip() + if err != nil { + err = msgp.WrapError(err) + return + } + } + } + return +} + +// EncodeMsg implements msgp.Encodable +func (z *ClientStatsBucket) EncodeMsg(en *msgp.Writer) (err error) { + // omitempty: check for empty values + zb0001Len := uint32(4) + var zb0001Mask uint8 /* 4 bits */ + if z.Stats == nil { + zb0001Len-- + zb0001Mask |= 0x4 + } + // variable map header, size zb0001Len + err = en.Append(0x80 | uint8(zb0001Len)) + if err != nil { + return + } + if zb0001Len == 0 { + return + } + // write "Start" + err = en.Append(0xa5, 0x53, 0x74, 0x61, 0x72, 0x74) + if err != nil { + return + } + err = en.WriteUint64(z.Start) + if err != nil { + err = msgp.WrapError(err, "Start") + return + } + // write "Duration" + err = en.Append(0xa8, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e) + if err != nil { + return + } + err = en.WriteUint64(z.Duration) + if err != nil { + err = msgp.WrapError(err, "Duration") + return + } + if (zb0001Mask & 0x4) == 0 { // if not empty + // write "Stats" + err = en.Append(0xa5, 0x53, 0x74, 0x61, 0x74, 0x73) + if err != nil { + return + } + err = en.WriteArrayHeader(uint32(len(z.Stats))) + if err != nil { + err = msgp.WrapError(err, "Stats") + return + } + for za0001 := range z.Stats { + if z.Stats[za0001] == nil { + err = en.WriteNil() + if err != nil { + return + } + } else { + err = z.Stats[za0001].EncodeMsg(en) + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + } + } + } + // write "AgentTimeShift" + err = en.Append(0xae, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x68, 0x69, 0x66, 0x74) + if err != nil { + return + } + err = en.WriteInt64(z.AgentTimeShift) + if err != nil { + err = msgp.WrapError(err, "AgentTimeShift") + return + } + return +} + +// MarshalMsg implements msgp.Marshaler +func (z *ClientStatsBucket) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + // omitempty: check for empty values + zb0001Len := uint32(4) + var zb0001Mask uint8 /* 4 bits */ + if z.Stats == nil { + zb0001Len-- + zb0001Mask |= 0x4 + } + // variable map header, size zb0001Len + o = append(o, 0x80|uint8(zb0001Len)) + if zb0001Len == 0 { + return + } + // string "Start" + o = append(o, 0xa5, 0x53, 0x74, 0x61, 0x72, 0x74) + o = msgp.AppendUint64(o, z.Start) + // string "Duration" + o = append(o, 0xa8, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e) + o = msgp.AppendUint64(o, z.Duration) + if (zb0001Mask & 0x4) == 0 { // if not empty + // string "Stats" + o = append(o, 0xa5, 0x53, 0x74, 0x61, 0x74, 0x73) + o = msgp.AppendArrayHeader(o, uint32(len(z.Stats))) + for za0001 := range z.Stats { + if z.Stats[za0001] == nil { + o = msgp.AppendNil(o) + } else { + o, err = z.Stats[za0001].MarshalMsg(o) + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + } + } + } + // string "AgentTimeShift" + o = append(o, 0xae, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x68, 0x69, 0x66, 0x74) + o = msgp.AppendInt64(o, z.AgentTimeShift) + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *ClientStatsBucket) UnmarshalMsg(bts []byte) (o []byte, err error) { + var field []byte + _ = field + var zb0001 uint32 + zb0001, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + for zb0001 > 0 { + zb0001-- + field, bts, err = msgp.ReadMapKeyZC(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + switch msgp.UnsafeString(field) { + case "Start": + z.Start, bts, err = msgp.ReadUint64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "Start") + return + } + case "Duration": + z.Duration, bts, err = msgp.ReadUint64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "Duration") + return + } + case "Stats": + var zb0002 uint32 + zb0002, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Stats") + return + } + if cap(z.Stats) >= int(zb0002) { + z.Stats = (z.Stats)[:zb0002] + } else { + z.Stats = make([]*ClientGroupedStats, zb0002) + } + for za0001 := range z.Stats { + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + if err != nil { + return + } + z.Stats[za0001] = nil + } else { + if z.Stats[za0001] == nil { + z.Stats[za0001] = new(ClientGroupedStats) + } + bts, err = z.Stats[za0001].UnmarshalMsg(bts) + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + } + } + case "AgentTimeShift": + z.AgentTimeShift, bts, err = msgp.ReadInt64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "AgentTimeShift") + return + } + default: + bts, err = msgp.Skip(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + } + } + o = bts + return +} + +// Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message +func (z *ClientStatsBucket) Msgsize() (s int) { + s = 1 + 6 + msgp.Uint64Size + 9 + msgp.Uint64Size + 6 + msgp.ArrayHeaderSize + for za0001 := range z.Stats { + if z.Stats[za0001] == nil { + s += msgp.NilSize + } else { + s += z.Stats[za0001].Msgsize() + } + } + s += 15 + msgp.Int64Size + return +} + +// DecodeMsg implements msgp.Decodable +func (z *ClientStatsPayload) DecodeMsg(dc *msgp.Reader) (err error) { + var field []byte + _ = field + var zb0001 uint32 + zb0001, err = dc.ReadMapHeader() + if err != nil { + err = msgp.WrapError(err) + return + } + for zb0001 > 0 { + zb0001-- + field, err = dc.ReadMapKeyPtr() + if err != nil { + err = msgp.WrapError(err) + return + } + switch msgp.UnsafeString(field) { + case "Hostname": + z.Hostname, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "Hostname") + return + } + case "Env": + z.Env, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "Env") + return + } + case "Version": + z.Version, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "Version") + return + } + case "Stats": + var zb0002 uint32 + zb0002, err = dc.ReadArrayHeader() + if err != nil { + err = msgp.WrapError(err, "Stats") + return + } + if cap(z.Stats) >= int(zb0002) { + z.Stats = (z.Stats)[:zb0002] + } else { + z.Stats = make([]*ClientStatsBucket, zb0002) + } + for za0001 := range z.Stats { + if dc.IsNil() { + err = dc.ReadNil() + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + z.Stats[za0001] = nil + } else { + if z.Stats[za0001] == nil { + z.Stats[za0001] = new(ClientStatsBucket) + } + err = z.Stats[za0001].DecodeMsg(dc) + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + } + } + case "Lang": + z.Lang, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "Lang") + return + } + case "TracerVersion": + z.TracerVersion, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "TracerVersion") + return + } + case "RuntimeID": + z.RuntimeID, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "RuntimeID") + return + } + case "Sequence": + z.Sequence, err = dc.ReadUint64() + if err != nil { + err = msgp.WrapError(err, "Sequence") + return + } + case "AgentAggregation": + z.AgentAggregation, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "AgentAggregation") + return + } + case "Service": + z.Service, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "Service") + return + } + case "ContainerID": + z.ContainerID, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "ContainerID") + return + } + case "Tags": + var zb0003 uint32 + zb0003, err = dc.ReadArrayHeader() + if err != nil { + err = msgp.WrapError(err, "Tags") + return + } + if cap(z.Tags) >= int(zb0003) { + z.Tags = (z.Tags)[:zb0003] + } else { + z.Tags = make([]string, zb0003) + } + for za0002 := range z.Tags { + z.Tags[za0002], err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "Tags", za0002) + return + } + } + case "GitCommitSha": + z.GitCommitSha, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "GitCommitSha") + return + } + case "ImageTag": + z.ImageTag, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "ImageTag") + return + } + default: + err = dc.Skip() + if err != nil { + err = msgp.WrapError(err) + return + } + } + } + return +} + +// EncodeMsg implements msgp.Encodable +func (z *ClientStatsPayload) EncodeMsg(en *msgp.Writer) (err error) { + // omitempty: check for empty values + zb0001Len := uint32(14) + var zb0001Mask uint16 /* 14 bits */ + if z.Stats == nil { + zb0001Len-- + zb0001Mask |= 0x8 + } + // variable map header, size zb0001Len + err = en.Append(0x80 | uint8(zb0001Len)) + if err != nil { + return + } + if zb0001Len == 0 { + return + } + // write "Hostname" + err = en.Append(0xa8, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65) + if err != nil { + return + } + err = en.WriteString(z.Hostname) + if err != nil { + err = msgp.WrapError(err, "Hostname") + return + } + // write "Env" + err = en.Append(0xa3, 0x45, 0x6e, 0x76) + if err != nil { + return + } + err = en.WriteString(z.Env) + if err != nil { + err = msgp.WrapError(err, "Env") + return + } + // write "Version" + err = en.Append(0xa7, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e) + if err != nil { + return + } + err = en.WriteString(z.Version) + if err != nil { + err = msgp.WrapError(err, "Version") + return + } + if (zb0001Mask & 0x8) == 0 { // if not empty + // write "Stats" + err = en.Append(0xa5, 0x53, 0x74, 0x61, 0x74, 0x73) + if err != nil { + return + } + err = en.WriteArrayHeader(uint32(len(z.Stats))) + if err != nil { + err = msgp.WrapError(err, "Stats") + return + } + for za0001 := range z.Stats { + if z.Stats[za0001] == nil { + err = en.WriteNil() + if err != nil { + return + } + } else { + err = z.Stats[za0001].EncodeMsg(en) + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + } + } + } + // write "Lang" + err = en.Append(0xa4, 0x4c, 0x61, 0x6e, 0x67) + if err != nil { + return + } + err = en.WriteString(z.Lang) + if err != nil { + err = msgp.WrapError(err, "Lang") + return + } + // write "TracerVersion" + err = en.Append(0xad, 0x54, 0x72, 0x61, 0x63, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e) + if err != nil { + return + } + err = en.WriteString(z.TracerVersion) + if err != nil { + err = msgp.WrapError(err, "TracerVersion") + return + } + // write "RuntimeID" + err = en.Append(0xa9, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x44) + if err != nil { + return + } + err = en.WriteString(z.RuntimeID) + if err != nil { + err = msgp.WrapError(err, "RuntimeID") + return + } + // write "Sequence" + err = en.Append(0xa8, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65) + if err != nil { + return + } + err = en.WriteUint64(z.Sequence) + if err != nil { + err = msgp.WrapError(err, "Sequence") + return + } + // write "AgentAggregation" + err = en.Append(0xb0, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e) + if err != nil { + return + } + err = en.WriteString(z.AgentAggregation) + if err != nil { + err = msgp.WrapError(err, "AgentAggregation") + return + } + // write "Service" + err = en.Append(0xa7, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65) + if err != nil { + return + } + err = en.WriteString(z.Service) + if err != nil { + err = msgp.WrapError(err, "Service") + return + } + // write "ContainerID" + err = en.Append(0xab, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44) + if err != nil { + return + } + err = en.WriteString(z.ContainerID) + if err != nil { + err = msgp.WrapError(err, "ContainerID") + return + } + // write "Tags" + err = en.Append(0xa4, 0x54, 0x61, 0x67, 0x73) + if err != nil { + return + } + err = en.WriteArrayHeader(uint32(len(z.Tags))) + if err != nil { + err = msgp.WrapError(err, "Tags") + return + } + for za0002 := range z.Tags { + err = en.WriteString(z.Tags[za0002]) + if err != nil { + err = msgp.WrapError(err, "Tags", za0002) + return + } + } + // write "GitCommitSha" + err = en.Append(0xac, 0x47, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x61) + if err != nil { + return + } + err = en.WriteString(z.GitCommitSha) + if err != nil { + err = msgp.WrapError(err, "GitCommitSha") + return + } + // write "ImageTag" + err = en.Append(0xa8, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67) + if err != nil { + return + } + err = en.WriteString(z.ImageTag) + if err != nil { + err = msgp.WrapError(err, "ImageTag") + return + } + return +} + +// MarshalMsg implements msgp.Marshaler +func (z *ClientStatsPayload) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + // omitempty: check for empty values + zb0001Len := uint32(14) + var zb0001Mask uint16 /* 14 bits */ + if z.Stats == nil { + zb0001Len-- + zb0001Mask |= 0x8 + } + // variable map header, size zb0001Len + o = append(o, 0x80|uint8(zb0001Len)) + if zb0001Len == 0 { + return + } + // string "Hostname" + o = append(o, 0xa8, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65) + o = msgp.AppendString(o, z.Hostname) + // string "Env" + o = append(o, 0xa3, 0x45, 0x6e, 0x76) + o = msgp.AppendString(o, z.Env) + // string "Version" + o = append(o, 0xa7, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e) + o = msgp.AppendString(o, z.Version) + if (zb0001Mask & 0x8) == 0 { // if not empty + // string "Stats" + o = append(o, 0xa5, 0x53, 0x74, 0x61, 0x74, 0x73) + o = msgp.AppendArrayHeader(o, uint32(len(z.Stats))) + for za0001 := range z.Stats { + if z.Stats[za0001] == nil { + o = msgp.AppendNil(o) + } else { + o, err = z.Stats[za0001].MarshalMsg(o) + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + } + } + } + // string "Lang" + o = append(o, 0xa4, 0x4c, 0x61, 0x6e, 0x67) + o = msgp.AppendString(o, z.Lang) + // string "TracerVersion" + o = append(o, 0xad, 0x54, 0x72, 0x61, 0x63, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e) + o = msgp.AppendString(o, z.TracerVersion) + // string "RuntimeID" + o = append(o, 0xa9, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x44) + o = msgp.AppendString(o, z.RuntimeID) + // string "Sequence" + o = append(o, 0xa8, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65) + o = msgp.AppendUint64(o, z.Sequence) + // string "AgentAggregation" + o = append(o, 0xb0, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e) + o = msgp.AppendString(o, z.AgentAggregation) + // string "Service" + o = append(o, 0xa7, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65) + o = msgp.AppendString(o, z.Service) + // string "ContainerID" + o = append(o, 0xab, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44) + o = msgp.AppendString(o, z.ContainerID) + // string "Tags" + o = append(o, 0xa4, 0x54, 0x61, 0x67, 0x73) + o = msgp.AppendArrayHeader(o, uint32(len(z.Tags))) + for za0002 := range z.Tags { + o = msgp.AppendString(o, z.Tags[za0002]) + } + // string "GitCommitSha" + o = append(o, 0xac, 0x47, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x61) + o = msgp.AppendString(o, z.GitCommitSha) + // string "ImageTag" + o = append(o, 0xa8, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67) + o = msgp.AppendString(o, z.ImageTag) + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *ClientStatsPayload) UnmarshalMsg(bts []byte) (o []byte, err error) { + var field []byte + _ = field + var zb0001 uint32 + zb0001, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + for zb0001 > 0 { + zb0001-- + field, bts, err = msgp.ReadMapKeyZC(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + switch msgp.UnsafeString(field) { + case "Hostname": + z.Hostname, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Hostname") + return + } + case "Env": + z.Env, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Env") + return + } + case "Version": + z.Version, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Version") + return + } + case "Stats": + var zb0002 uint32 + zb0002, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Stats") + return + } + if cap(z.Stats) >= int(zb0002) { + z.Stats = (z.Stats)[:zb0002] + } else { + z.Stats = make([]*ClientStatsBucket, zb0002) + } + for za0001 := range z.Stats { + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + if err != nil { + return + } + z.Stats[za0001] = nil + } else { + if z.Stats[za0001] == nil { + z.Stats[za0001] = new(ClientStatsBucket) + } + bts, err = z.Stats[za0001].UnmarshalMsg(bts) + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + } + } + case "Lang": + z.Lang, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Lang") + return + } + case "TracerVersion": + z.TracerVersion, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "TracerVersion") + return + } + case "RuntimeID": + z.RuntimeID, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "RuntimeID") + return + } + case "Sequence": + z.Sequence, bts, err = msgp.ReadUint64Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "Sequence") + return + } + case "AgentAggregation": + z.AgentAggregation, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "AgentAggregation") + return + } + case "Service": + z.Service, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Service") + return + } + case "ContainerID": + z.ContainerID, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "ContainerID") + return + } + case "Tags": + var zb0003 uint32 + zb0003, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Tags") + return + } + if cap(z.Tags) >= int(zb0003) { + z.Tags = (z.Tags)[:zb0003] + } else { + z.Tags = make([]string, zb0003) + } + for za0002 := range z.Tags { + z.Tags[za0002], bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Tags", za0002) + return + } + } + case "GitCommitSha": + z.GitCommitSha, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "GitCommitSha") + return + } + case "ImageTag": + z.ImageTag, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "ImageTag") + return + } + default: + bts, err = msgp.Skip(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + } + } + o = bts + return +} + +// Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message +func (z *ClientStatsPayload) Msgsize() (s int) { + s = 1 + 9 + msgp.StringPrefixSize + len(z.Hostname) + 4 + msgp.StringPrefixSize + len(z.Env) + 8 + msgp.StringPrefixSize + len(z.Version) + 6 + msgp.ArrayHeaderSize + for za0001 := range z.Stats { + if z.Stats[za0001] == nil { + s += msgp.NilSize + } else { + s += z.Stats[za0001].Msgsize() + } + } + s += 5 + msgp.StringPrefixSize + len(z.Lang) + 14 + msgp.StringPrefixSize + len(z.TracerVersion) + 10 + msgp.StringPrefixSize + len(z.RuntimeID) + 9 + msgp.Uint64Size + 17 + msgp.StringPrefixSize + len(z.AgentAggregation) + 8 + msgp.StringPrefixSize + len(z.Service) + 12 + msgp.StringPrefixSize + len(z.ContainerID) + 5 + msgp.ArrayHeaderSize + for za0002 := range z.Tags { + s += msgp.StringPrefixSize + len(z.Tags[za0002]) + } + s += 13 + msgp.StringPrefixSize + len(z.GitCommitSha) + 9 + msgp.StringPrefixSize + len(z.ImageTag) + return +} + +// DecodeMsg implements msgp.Decodable +func (z *StatsPayload) DecodeMsg(dc *msgp.Reader) (err error) { + var field []byte + _ = field + var zb0001 uint32 + zb0001, err = dc.ReadMapHeader() + if err != nil { + err = msgp.WrapError(err) + return + } + for zb0001 > 0 { + zb0001-- + field, err = dc.ReadMapKeyPtr() + if err != nil { + err = msgp.WrapError(err) + return + } + switch msgp.UnsafeString(field) { + case "AgentHostname": + z.AgentHostname, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "AgentHostname") + return + } + case "AgentEnv": + z.AgentEnv, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "AgentEnv") + return + } + case "Stats": + var zb0002 uint32 + zb0002, err = dc.ReadArrayHeader() + if err != nil { + err = msgp.WrapError(err, "Stats") + return + } + if cap(z.Stats) >= int(zb0002) { + z.Stats = (z.Stats)[:zb0002] + } else { + z.Stats = make([]*ClientStatsPayload, zb0002) + } + for za0001 := range z.Stats { + if dc.IsNil() { + err = dc.ReadNil() + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + z.Stats[za0001] = nil + } else { + if z.Stats[za0001] == nil { + z.Stats[za0001] = new(ClientStatsPayload) + } + err = z.Stats[za0001].DecodeMsg(dc) + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + } + } + case "AgentVersion": + z.AgentVersion, err = dc.ReadString() + if err != nil { + err = msgp.WrapError(err, "AgentVersion") + return + } + case "ClientComputed": + z.ClientComputed, err = dc.ReadBool() + if err != nil { + err = msgp.WrapError(err, "ClientComputed") + return + } + case "SplitPayload": + z.SplitPayload, err = dc.ReadBool() + if err != nil { + err = msgp.WrapError(err, "SplitPayload") + return + } + default: + err = dc.Skip() + if err != nil { + err = msgp.WrapError(err) + return + } + } + } + return +} + +// EncodeMsg implements msgp.Encodable +func (z *StatsPayload) EncodeMsg(en *msgp.Writer) (err error) { + // omitempty: check for empty values + zb0001Len := uint32(6) + var zb0001Mask uint8 /* 6 bits */ + if z.Stats == nil { + zb0001Len-- + zb0001Mask |= 0x4 + } + // variable map header, size zb0001Len + err = en.Append(0x80 | uint8(zb0001Len)) + if err != nil { + return + } + if zb0001Len == 0 { + return + } + // write "AgentHostname" + err = en.Append(0xad, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65) + if err != nil { + return + } + err = en.WriteString(z.AgentHostname) + if err != nil { + err = msgp.WrapError(err, "AgentHostname") + return + } + // write "AgentEnv" + err = en.Append(0xa8, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76) + if err != nil { + return + } + err = en.WriteString(z.AgentEnv) + if err != nil { + err = msgp.WrapError(err, "AgentEnv") + return + } + if (zb0001Mask & 0x4) == 0 { // if not empty + // write "Stats" + err = en.Append(0xa5, 0x53, 0x74, 0x61, 0x74, 0x73) + if err != nil { + return + } + err = en.WriteArrayHeader(uint32(len(z.Stats))) + if err != nil { + err = msgp.WrapError(err, "Stats") + return + } + for za0001 := range z.Stats { + if z.Stats[za0001] == nil { + err = en.WriteNil() + if err != nil { + return + } + } else { + err = z.Stats[za0001].EncodeMsg(en) + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + } + } + } + // write "AgentVersion" + err = en.Append(0xac, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e) + if err != nil { + return + } + err = en.WriteString(z.AgentVersion) + if err != nil { + err = msgp.WrapError(err, "AgentVersion") + return + } + // write "ClientComputed" + err = en.Append(0xae, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64) + if err != nil { + return + } + err = en.WriteBool(z.ClientComputed) + if err != nil { + err = msgp.WrapError(err, "ClientComputed") + return + } + // write "SplitPayload" + err = en.Append(0xac, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64) + if err != nil { + return + } + err = en.WriteBool(z.SplitPayload) + if err != nil { + err = msgp.WrapError(err, "SplitPayload") + return + } + return +} + +// MarshalMsg implements msgp.Marshaler +func (z *StatsPayload) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + // omitempty: check for empty values + zb0001Len := uint32(6) + var zb0001Mask uint8 /* 6 bits */ + if z.Stats == nil { + zb0001Len-- + zb0001Mask |= 0x4 + } + // variable map header, size zb0001Len + o = append(o, 0x80|uint8(zb0001Len)) + if zb0001Len == 0 { + return + } + // string "AgentHostname" + o = append(o, 0xad, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65) + o = msgp.AppendString(o, z.AgentHostname) + // string "AgentEnv" + o = append(o, 0xa8, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76) + o = msgp.AppendString(o, z.AgentEnv) + if (zb0001Mask & 0x4) == 0 { // if not empty + // string "Stats" + o = append(o, 0xa5, 0x53, 0x74, 0x61, 0x74, 0x73) + o = msgp.AppendArrayHeader(o, uint32(len(z.Stats))) + for za0001 := range z.Stats { + if z.Stats[za0001] == nil { + o = msgp.AppendNil(o) + } else { + o, err = z.Stats[za0001].MarshalMsg(o) + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + } + } + } + // string "AgentVersion" + o = append(o, 0xac, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e) + o = msgp.AppendString(o, z.AgentVersion) + // string "ClientComputed" + o = append(o, 0xae, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64) + o = msgp.AppendBool(o, z.ClientComputed) + // string "SplitPayload" + o = append(o, 0xac, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64) + o = msgp.AppendBool(o, z.SplitPayload) + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *StatsPayload) UnmarshalMsg(bts []byte) (o []byte, err error) { + var field []byte + _ = field + var zb0001 uint32 + zb0001, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + for zb0001 > 0 { + zb0001-- + field, bts, err = msgp.ReadMapKeyZC(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + switch msgp.UnsafeString(field) { + case "AgentHostname": + z.AgentHostname, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "AgentHostname") + return + } + case "AgentEnv": + z.AgentEnv, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "AgentEnv") + return + } + case "Stats": + var zb0002 uint32 + zb0002, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Stats") + return + } + if cap(z.Stats) >= int(zb0002) { + z.Stats = (z.Stats)[:zb0002] + } else { + z.Stats = make([]*ClientStatsPayload, zb0002) + } + for za0001 := range z.Stats { + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + if err != nil { + return + } + z.Stats[za0001] = nil + } else { + if z.Stats[za0001] == nil { + z.Stats[za0001] = new(ClientStatsPayload) + } + bts, err = z.Stats[za0001].UnmarshalMsg(bts) + if err != nil { + err = msgp.WrapError(err, "Stats", za0001) + return + } + } + } + case "AgentVersion": + z.AgentVersion, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "AgentVersion") + return + } + case "ClientComputed": + z.ClientComputed, bts, err = msgp.ReadBoolBytes(bts) + if err != nil { + err = msgp.WrapError(err, "ClientComputed") + return + } + case "SplitPayload": + z.SplitPayload, bts, err = msgp.ReadBoolBytes(bts) + if err != nil { + err = msgp.WrapError(err, "SplitPayload") + return + } + default: + bts, err = msgp.Skip(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + } + } + o = bts + return +} + +// Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message +func (z *StatsPayload) Msgsize() (s int) { + s = 1 + 14 + msgp.StringPrefixSize + len(z.AgentHostname) + 9 + msgp.StringPrefixSize + len(z.AgentEnv) + 6 + msgp.ArrayHeaderSize + for za0001 := range z.Stats { + if z.Stats[za0001] == nil { + s += msgp.NilSize + } else { + s += z.Stats[za0001].Msgsize() + } + } + s += 13 + msgp.StringPrefixSize + len(z.AgentVersion) + 15 + msgp.BoolSize + 13 + msgp.BoolSize + return +} + +// DecodeMsg implements msgp.Decodable +func (z *TraceRootFlag) DecodeMsg(dc *msgp.Reader) (err error) { + { + var zb0001 int32 + zb0001, err = dc.ReadInt32() + if err != nil { + err = msgp.WrapError(err) + return + } + (*z) = TraceRootFlag(zb0001) + } + return +} + +// EncodeMsg implements msgp.Encodable +func (z TraceRootFlag) EncodeMsg(en *msgp.Writer) (err error) { + err = en.WriteInt32(int32(z)) + if err != nil { + err = msgp.WrapError(err) + return + } + return +} + +// MarshalMsg implements msgp.Marshaler +func (z TraceRootFlag) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + o = msgp.AppendInt32(o, int32(z)) + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *TraceRootFlag) UnmarshalMsg(bts []byte) (o []byte, err error) { + { + var zb0001 int32 + zb0001, bts, err = msgp.ReadInt32Bytes(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + (*z) = TraceRootFlag(zb0001) + } + o = bts + return +} + +// Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message +func (z TraceRootFlag) Msgsize() (s int) { + s = msgp.Int32Size + return +} + +// DecodeMsg implements msgp.Decodable +func (z *Trilean) DecodeMsg(dc *msgp.Reader) (err error) { + { + var zb0001 int32 + zb0001, err = dc.ReadInt32() + if err != nil { + err = msgp.WrapError(err) + return + } + (*z) = Trilean(zb0001) + } + return +} + +// EncodeMsg implements msgp.Encodable +func (z Trilean) EncodeMsg(en *msgp.Writer) (err error) { + err = en.WriteInt32(int32(z)) + if err != nil { + err = msgp.WrapError(err) + return + } + return +} + +// MarshalMsg implements msgp.Marshaler +func (z Trilean) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + o = msgp.AppendInt32(o, int32(z)) + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *Trilean) UnmarshalMsg(bts []byte) (o []byte, err error) { + { + var zb0001 int32 + zb0001, bts, err = msgp.ReadInt32Bytes(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + (*z) = Trilean(zb0001) + } + o = bts + return +} + +// Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message +func (z Trilean) Msgsize() (s int) { + s = msgp.Int32Size + return +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/stats_vtproto.pb.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/stats_vtproto.pb.go new file mode 100644 index 00000000..002bfad3 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/stats_vtproto.pb.go @@ -0,0 +1,1968 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.4.0 +// source: datadog/trace/stats.proto + +package trace + +import ( + fmt "fmt" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *StatsPayload) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *StatsPayload) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *StatsPayload) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.SplitPayload { + i-- + if m.SplitPayload { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.ClientComputed { + i-- + if m.ClientComputed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if len(m.AgentVersion) > 0 { + i -= len(m.AgentVersion) + copy(dAtA[i:], m.AgentVersion) + i = encodeVarint(dAtA, i, uint64(len(m.AgentVersion))) + i-- + dAtA[i] = 0x22 + } + if len(m.Stats) > 0 { + for iNdEx := len(m.Stats) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Stats[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + } + if len(m.AgentEnv) > 0 { + i -= len(m.AgentEnv) + copy(dAtA[i:], m.AgentEnv) + i = encodeVarint(dAtA, i, uint64(len(m.AgentEnv))) + i-- + dAtA[i] = 0x12 + } + if len(m.AgentHostname) > 0 { + i -= len(m.AgentHostname) + copy(dAtA[i:], m.AgentHostname) + i = encodeVarint(dAtA, i, uint64(len(m.AgentHostname))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ClientStatsPayload) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientStatsPayload) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientStatsPayload) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.ImageTag) > 0 { + i -= len(m.ImageTag) + copy(dAtA[i:], m.ImageTag) + i = encodeVarint(dAtA, i, uint64(len(m.ImageTag))) + i-- + dAtA[i] = 0x72 + } + if len(m.GitCommitSha) > 0 { + i -= len(m.GitCommitSha) + copy(dAtA[i:], m.GitCommitSha) + i = encodeVarint(dAtA, i, uint64(len(m.GitCommitSha))) + i-- + dAtA[i] = 0x6a + } + if len(m.Tags) > 0 { + for iNdEx := len(m.Tags) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Tags[iNdEx]) + copy(dAtA[i:], m.Tags[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Tags[iNdEx]))) + i-- + dAtA[i] = 0x62 + } + } + if len(m.ContainerID) > 0 { + i -= len(m.ContainerID) + copy(dAtA[i:], m.ContainerID) + i = encodeVarint(dAtA, i, uint64(len(m.ContainerID))) + i-- + dAtA[i] = 0x5a + } + if len(m.Service) > 0 { + i -= len(m.Service) + copy(dAtA[i:], m.Service) + i = encodeVarint(dAtA, i, uint64(len(m.Service))) + i-- + dAtA[i] = 0x52 + } + if len(m.AgentAggregation) > 0 { + i -= len(m.AgentAggregation) + copy(dAtA[i:], m.AgentAggregation) + i = encodeVarint(dAtA, i, uint64(len(m.AgentAggregation))) + i-- + dAtA[i] = 0x4a + } + if m.Sequence != 0 { + i = encodeVarint(dAtA, i, uint64(m.Sequence)) + i-- + dAtA[i] = 0x40 + } + if len(m.RuntimeID) > 0 { + i -= len(m.RuntimeID) + copy(dAtA[i:], m.RuntimeID) + i = encodeVarint(dAtA, i, uint64(len(m.RuntimeID))) + i-- + dAtA[i] = 0x3a + } + if len(m.TracerVersion) > 0 { + i -= len(m.TracerVersion) + copy(dAtA[i:], m.TracerVersion) + i = encodeVarint(dAtA, i, uint64(len(m.TracerVersion))) + i-- + dAtA[i] = 0x32 + } + if len(m.Lang) > 0 { + i -= len(m.Lang) + copy(dAtA[i:], m.Lang) + i = encodeVarint(dAtA, i, uint64(len(m.Lang))) + i-- + dAtA[i] = 0x2a + } + if len(m.Stats) > 0 { + for iNdEx := len(m.Stats) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Stats[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + } + if len(m.Version) > 0 { + i -= len(m.Version) + copy(dAtA[i:], m.Version) + i = encodeVarint(dAtA, i, uint64(len(m.Version))) + i-- + dAtA[i] = 0x1a + } + if len(m.Env) > 0 { + i -= len(m.Env) + copy(dAtA[i:], m.Env) + i = encodeVarint(dAtA, i, uint64(len(m.Env))) + i-- + dAtA[i] = 0x12 + } + if len(m.Hostname) > 0 { + i -= len(m.Hostname) + copy(dAtA[i:], m.Hostname) + i = encodeVarint(dAtA, i, uint64(len(m.Hostname))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ClientStatsBucket) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientStatsBucket) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientStatsBucket) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.AgentTimeShift != 0 { + i = encodeVarint(dAtA, i, uint64(m.AgentTimeShift)) + i-- + dAtA[i] = 0x20 + } + if len(m.Stats) > 0 { + for iNdEx := len(m.Stats) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Stats[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + } + if m.Duration != 0 { + i = encodeVarint(dAtA, i, uint64(m.Duration)) + i-- + dAtA[i] = 0x10 + } + if m.Start != 0 { + i = encodeVarint(dAtA, i, uint64(m.Start)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ClientGroupedStats) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientGroupedStats) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientGroupedStats) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.IsTraceRoot != 0 { + i = encodeVarint(dAtA, i, uint64(m.IsTraceRoot)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 + } + if len(m.PeerTags) > 0 { + for iNdEx := len(m.PeerTags) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.PeerTags[iNdEx]) + copy(dAtA[i:], m.PeerTags[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.PeerTags[iNdEx]))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + } + if len(m.SpanKind) > 0 { + i -= len(m.SpanKind) + copy(dAtA[i:], m.SpanKind) + i = encodeVarint(dAtA, i, uint64(len(m.SpanKind))) + i-- + dAtA[i] = 0x7a + } + if m.TopLevelHits != 0 { + i = encodeVarint(dAtA, i, uint64(m.TopLevelHits)) + i-- + dAtA[i] = 0x68 + } + if m.Synthetics { + i-- + if m.Synthetics { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x60 + } + if len(m.ErrorSummary) > 0 { + i -= len(m.ErrorSummary) + copy(dAtA[i:], m.ErrorSummary) + i = encodeVarint(dAtA, i, uint64(len(m.ErrorSummary))) + i-- + dAtA[i] = 0x5a + } + if len(m.OkSummary) > 0 { + i -= len(m.OkSummary) + copy(dAtA[i:], m.OkSummary) + i = encodeVarint(dAtA, i, uint64(len(m.OkSummary))) + i-- + dAtA[i] = 0x52 + } + if m.Duration != 0 { + i = encodeVarint(dAtA, i, uint64(m.Duration)) + i-- + dAtA[i] = 0x48 + } + if m.Errors != 0 { + i = encodeVarint(dAtA, i, uint64(m.Errors)) + i-- + dAtA[i] = 0x40 + } + if m.Hits != 0 { + i = encodeVarint(dAtA, i, uint64(m.Hits)) + i-- + dAtA[i] = 0x38 + } + if len(m.DBType) > 0 { + i -= len(m.DBType) + copy(dAtA[i:], m.DBType) + i = encodeVarint(dAtA, i, uint64(len(m.DBType))) + i-- + dAtA[i] = 0x32 + } + if len(m.Type) > 0 { + i -= len(m.Type) + copy(dAtA[i:], m.Type) + i = encodeVarint(dAtA, i, uint64(len(m.Type))) + i-- + dAtA[i] = 0x2a + } + if m.HTTPStatusCode != 0 { + i = encodeVarint(dAtA, i, uint64(m.HTTPStatusCode)) + i-- + dAtA[i] = 0x20 + } + if len(m.Resource) > 0 { + i -= len(m.Resource) + copy(dAtA[i:], m.Resource) + i = encodeVarint(dAtA, i, uint64(len(m.Resource))) + i-- + dAtA[i] = 0x1a + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x12 + } + if len(m.Service) > 0 { + i -= len(m.Service) + copy(dAtA[i:], m.Service) + i = encodeVarint(dAtA, i, uint64(len(m.Service))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *StatsPayload) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.AgentHostname) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.AgentEnv) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if len(m.Stats) > 0 { + for _, e := range m.Stats { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + l = len(m.AgentVersion) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.ClientComputed { + n += 2 + } + if m.SplitPayload { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *ClientStatsPayload) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Hostname) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Env) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Version) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if len(m.Stats) > 0 { + for _, e := range m.Stats { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + l = len(m.Lang) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.TracerVersion) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.RuntimeID) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.Sequence != 0 { + n += 1 + sov(uint64(m.Sequence)) + } + l = len(m.AgentAggregation) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Service) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.ContainerID) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if len(m.Tags) > 0 { + for _, s := range m.Tags { + l = len(s) + n += 1 + l + sov(uint64(l)) + } + } + l = len(m.GitCommitSha) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.ImageTag) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ClientStatsBucket) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Start != 0 { + n += 1 + sov(uint64(m.Start)) + } + if m.Duration != 0 { + n += 1 + sov(uint64(m.Duration)) + } + if len(m.Stats) > 0 { + for _, e := range m.Stats { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if m.AgentTimeShift != 0 { + n += 1 + sov(uint64(m.AgentTimeShift)) + } + n += len(m.unknownFields) + return n +} + +func (m *ClientGroupedStats) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Service) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Resource) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.HTTPStatusCode != 0 { + n += 1 + sov(uint64(m.HTTPStatusCode)) + } + l = len(m.Type) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.DBType) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.Hits != 0 { + n += 1 + sov(uint64(m.Hits)) + } + if m.Errors != 0 { + n += 1 + sov(uint64(m.Errors)) + } + if m.Duration != 0 { + n += 1 + sov(uint64(m.Duration)) + } + l = len(m.OkSummary) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.ErrorSummary) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.Synthetics { + n += 2 + } + if m.TopLevelHits != 0 { + n += 1 + sov(uint64(m.TopLevelHits)) + } + l = len(m.SpanKind) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if len(m.PeerTags) > 0 { + for _, s := range m.PeerTags { + l = len(s) + n += 2 + l + sov(uint64(l)) + } + } + if m.IsTraceRoot != 0 { + n += 2 + sov(uint64(m.IsTraceRoot)) + } + n += len(m.unknownFields) + return n +} + +func (m *StatsPayload) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: StatsPayload: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StatsPayload: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AgentHostname", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AgentHostname = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AgentEnv", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AgentEnv = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Stats", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Stats = append(m.Stats, &ClientStatsPayload{}) + if err := m.Stats[len(m.Stats)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AgentVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AgentVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ClientComputed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ClientComputed = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SplitPayload", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SplitPayload = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientStatsPayload) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientStatsPayload: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientStatsPayload: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hostname", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Hostname = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Env", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Env = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Version = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Stats", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Stats = append(m.Stats, &ClientStatsBucket{}) + if err := m.Stats[len(m.Stats)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Lang", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Lang = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TracerVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TracerVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RuntimeID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RuntimeID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Sequence", wireType) + } + m.Sequence = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Sequence |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AgentAggregation", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AgentAggregation = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Service", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Service = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContainerID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContainerID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Tags", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Tags = append(m.Tags, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GitCommitSha", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GitCommitSha = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImageTag", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ImageTag = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientStatsBucket) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientStatsBucket: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientStatsBucket: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Start", wireType) + } + m.Start = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Start |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Duration", wireType) + } + m.Duration = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Duration |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Stats", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Stats = append(m.Stats, &ClientGroupedStats{}) + if err := m.Stats[len(m.Stats)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AgentTimeShift", wireType) + } + m.AgentTimeShift = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AgentTimeShift |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientGroupedStats) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientGroupedStats: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientGroupedStats: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Service", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Service = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Resource = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HTTPStatusCode", wireType) + } + m.HTTPStatusCode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HTTPStatusCode |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DBType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DBType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Hits", wireType) + } + m.Hits = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Hits |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Errors", wireType) + } + m.Errors = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Errors |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Duration", wireType) + } + m.Duration = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Duration |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OkSummary", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OkSummary = append(m.OkSummary[:0], dAtA[iNdEx:postIndex]...) + if m.OkSummary == nil { + m.OkSummary = []byte{} + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ErrorSummary", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ErrorSummary = append(m.ErrorSummary[:0], dAtA[iNdEx:postIndex]...) + if m.ErrorSummary == nil { + m.ErrorSummary = []byte{} + } + iNdEx = postIndex + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Synthetics", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Synthetics = bool(v != 0) + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TopLevelHits", wireType) + } + m.TopLevelHits = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TopLevelHits |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SpanKind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SpanKind = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PeerTags", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PeerTags = append(m.PeerTags, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 17: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsTraceRoot", wireType) + } + m.IsTraceRoot = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.IsTraceRoot |= Trilean(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/trace.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/trace.go new file mode 100644 index 00000000..94fd0eda --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/trace.go @@ -0,0 +1,52 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package trace + +//go:generate go run github.com/tinylib/msgp -file=span.pb.go -o span_gen.go -io=false +//go:generate go run github.com/tinylib/msgp -file=tracer_payload.pb.go -o tracer_payload_gen.go -io=false +//go:generate go run github.com/tinylib/msgp -io=false + +// Trace is a collection of spans with the same trace ID +type Trace []*Span + +// Traces is a list of traces. This model matters as this is what we unpack from msgp. +type Traces []Trace + +// RemoveChunk removes a chunk by its index. +func (p *TracerPayload) RemoveChunk(i int) { + if i < 0 || i >= len(p.Chunks) { + return + } + p.Chunks[i] = p.Chunks[len(p.Chunks)-1] + p.Chunks = p.Chunks[:len(p.Chunks)-1] +} + +// Cut cuts off a new tracer payload from the `p` with [0, i-1] chunks +// and keeps [i, n-1] chunks in the original payload `p`. +func (p *TracerPayload) Cut(i int) *TracerPayload { + if i < 0 { + i = 0 + } + if i > len(p.Chunks) { + i = len(p.Chunks) + } + newPayload := TracerPayload{ + ContainerID: p.GetContainerID(), + LanguageName: p.GetLanguageName(), + LanguageVersion: p.GetLanguageVersion(), + TracerVersion: p.GetTracerVersion(), + RuntimeID: p.GetRuntimeID(), + Env: p.GetEnv(), + Hostname: p.GetHostname(), + AppVersion: p.GetAppVersion(), + Tags: p.GetTags(), + } + + newPayload.Chunks = p.Chunks[:i] + p.Chunks = p.Chunks[i:] + + return &newPayload +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/trace_gen.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/trace_gen.go new file mode 100644 index 00000000..2a2865f3 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/trace_gen.go @@ -0,0 +1,158 @@ +package trace + +// Code generated by github.com/tinylib/msgp DO NOT EDIT. + +import ( + "github.com/tinylib/msgp/msgp" +) + +// MarshalMsg implements msgp.Marshaler +func (z Trace) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + o = msgp.AppendArrayHeader(o, uint32(len(z))) + for za0001 := range z { + if z[za0001] == nil { + o = msgp.AppendNil(o) + } else { + o, err = z[za0001].MarshalMsg(o) + if err != nil { + err = msgp.WrapError(err, za0001) + return + } + } + } + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *Trace) UnmarshalMsg(bts []byte) (o []byte, err error) { + var zb0002 uint32 + zb0002, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + if cap((*z)) >= int(zb0002) { + (*z) = (*z)[:zb0002] + } else { + (*z) = make(Trace, zb0002) + } + for zb0001 := range *z { + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + if err != nil { + return + } + (*z)[zb0001] = nil + } else { + if (*z)[zb0001] == nil { + (*z)[zb0001] = new(Span) + } + bts, err = (*z)[zb0001].UnmarshalMsg(bts) + if err != nil { + err = msgp.WrapError(err, zb0001) + return + } + } + } + o = bts + return +} + +// Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message +func (z Trace) Msgsize() (s int) { + s = msgp.ArrayHeaderSize + for zb0003 := range z { + if z[zb0003] == nil { + s += msgp.NilSize + } else { + s += z[zb0003].Msgsize() + } + } + return +} + +// MarshalMsg implements msgp.Marshaler +func (z Traces) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + o = msgp.AppendArrayHeader(o, uint32(len(z))) + for za0001 := range z { + o = msgp.AppendArrayHeader(o, uint32(len(z[za0001]))) + for za0002 := range z[za0001] { + if z[za0001][za0002] == nil { + o = msgp.AppendNil(o) + } else { + o, err = z[za0001][za0002].MarshalMsg(o) + if err != nil { + err = msgp.WrapError(err, za0001, za0002) + return + } + } + } + } + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *Traces) UnmarshalMsg(bts []byte) (o []byte, err error) { + var zb0003 uint32 + zb0003, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + if cap((*z)) >= int(zb0003) { + (*z) = (*z)[:zb0003] + } else { + (*z) = make(Traces, zb0003) + } + for zb0001 := range *z { + var zb0004 uint32 + zb0004, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, zb0001) + return + } + if cap((*z)[zb0001]) >= int(zb0004) { + (*z)[zb0001] = ((*z)[zb0001])[:zb0004] + } else { + (*z)[zb0001] = make(Trace, zb0004) + } + for zb0002 := range (*z)[zb0001] { + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + if err != nil { + return + } + (*z)[zb0001][zb0002] = nil + } else { + if (*z)[zb0001][zb0002] == nil { + (*z)[zb0001][zb0002] = new(Span) + } + bts, err = (*z)[zb0001][zb0002].UnmarshalMsg(bts) + if err != nil { + err = msgp.WrapError(err, zb0001, zb0002) + return + } + } + } + } + o = bts + return +} + +// Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message +func (z Traces) Msgsize() (s int) { + s = msgp.ArrayHeaderSize + for zb0005 := range z { + s += msgp.ArrayHeaderSize + for zb0006 := range z[zb0005] { + if z[zb0005][zb0006] == nil { + s += msgp.NilSize + } else { + s += z[zb0005][zb0006].Msgsize() + } + } + } + return +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload.pb.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload.pb.go new file mode 100644 index 00000000..7e7e2b0c --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload.pb.go @@ -0,0 +1,391 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.0 +// protoc v5.26.1 +// source: datadog/trace/tracer_payload.proto + +package trace + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// TraceChunk represents a list of spans with the same trace ID. In other words, a chunk of a trace. +type TraceChunk struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // priority specifies sampling priority of the trace. + // @gotags: json:"priority" msg:"priority" + Priority int32 `protobuf:"varint,1,opt,name=priority,proto3" json:"priority" msg:"priority"` + // origin specifies origin product ("lambda", "rum", etc.) of the trace. + // @gotags: json:"origin" msg:"origin" + Origin string `protobuf:"bytes,2,opt,name=origin,proto3" json:"origin" msg:"origin"` + // spans specifies list of containing spans. + // @gotags: json:"spans" msg:"spans" + Spans []*Span `protobuf:"bytes,3,rep,name=spans,proto3" json:"spans" msg:"spans"` + // tags specifies tags common in all `spans`. + // @gotags: json:"tags" msg:"tags" + Tags map[string]string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" msg:"tags"` + // droppedTrace specifies whether the trace was dropped by samplers or not. + // @gotags: json:"dropped_trace" msg:"dropped_trace" + DroppedTrace bool `protobuf:"varint,5,opt,name=droppedTrace,proto3" json:"dropped_trace" msg:"dropped_trace"` +} + +func (x *TraceChunk) Reset() { + *x = TraceChunk{} + if protoimpl.UnsafeEnabled { + mi := &file_datadog_trace_tracer_payload_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TraceChunk) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TraceChunk) ProtoMessage() {} + +func (x *TraceChunk) ProtoReflect() protoreflect.Message { + mi := &file_datadog_trace_tracer_payload_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TraceChunk.ProtoReflect.Descriptor instead. +func (*TraceChunk) Descriptor() ([]byte, []int) { + return file_datadog_trace_tracer_payload_proto_rawDescGZIP(), []int{0} +} + +func (x *TraceChunk) GetPriority() int32 { + if x != nil { + return x.Priority + } + return 0 +} + +func (x *TraceChunk) GetOrigin() string { + if x != nil { + return x.Origin + } + return "" +} + +func (x *TraceChunk) GetSpans() []*Span { + if x != nil { + return x.Spans + } + return nil +} + +func (x *TraceChunk) GetTags() map[string]string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *TraceChunk) GetDroppedTrace() bool { + if x != nil { + return x.DroppedTrace + } + return false +} + +// TracerPayload represents a payload the trace agent receives from tracers. +type TracerPayload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // containerID specifies the ID of the container where the tracer is running on. + // @gotags: json:"container_id" msg:"container_id" + ContainerID string `protobuf:"bytes,1,opt,name=containerID,proto3" json:"container_id" msg:"container_id"` + // languageName specifies language of the tracer. + // @gotags: json:"language_name" msg:"language_name" + LanguageName string `protobuf:"bytes,2,opt,name=languageName,proto3" json:"language_name" msg:"language_name"` + // languageVersion specifies language version of the tracer. + // @gotags: json:"language_version" msg:"language_version" + LanguageVersion string `protobuf:"bytes,3,opt,name=languageVersion,proto3" json:"language_version" msg:"language_version"` + // tracerVersion specifies version of the tracer. + // @gotags: json:"tracer_version" msg:"tracer_version" + TracerVersion string `protobuf:"bytes,4,opt,name=tracerVersion,proto3" json:"tracer_version" msg:"tracer_version"` + // runtimeID specifies V4 UUID representation of a tracer session. + // @gotags: json:"runtime_id" msg:"runtime_id" + RuntimeID string `protobuf:"bytes,5,opt,name=runtimeID,proto3" json:"runtime_id" msg:"runtime_id"` + // chunks specifies list of containing trace chunks. + // @gotags: json:"chunks" msg:"chunks" + Chunks []*TraceChunk `protobuf:"bytes,6,rep,name=chunks,proto3" json:"chunks" msg:"chunks"` + // tags specifies tags common in all `chunks`. + // @gotags: json:"tags" msg:"tags" + Tags map[string]string `protobuf:"bytes,7,rep,name=tags,proto3" json:"tags" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" msg:"tags"` + // env specifies `env` tag that set with the tracer. + // @gotags: json:"env" msg:"env" + Env string `protobuf:"bytes,8,opt,name=env,proto3" json:"env" msg:"env"` + // hostname specifies hostname of where the tracer is running. + // @gotags: json:"hostname" msg:"hostname" + Hostname string `protobuf:"bytes,9,opt,name=hostname,proto3" json:"hostname" msg:"hostname"` + // version specifies `version` tag that set with the tracer. + // @gotags: json:"app_version" msg:"app_version" + AppVersion string `protobuf:"bytes,10,opt,name=appVersion,proto3" json:"app_version" msg:"app_version"` +} + +func (x *TracerPayload) Reset() { + *x = TracerPayload{} + if protoimpl.UnsafeEnabled { + mi := &file_datadog_trace_tracer_payload_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TracerPayload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TracerPayload) ProtoMessage() {} + +func (x *TracerPayload) ProtoReflect() protoreflect.Message { + mi := &file_datadog_trace_tracer_payload_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TracerPayload.ProtoReflect.Descriptor instead. +func (*TracerPayload) Descriptor() ([]byte, []int) { + return file_datadog_trace_tracer_payload_proto_rawDescGZIP(), []int{1} +} + +func (x *TracerPayload) GetContainerID() string { + if x != nil { + return x.ContainerID + } + return "" +} + +func (x *TracerPayload) GetLanguageName() string { + if x != nil { + return x.LanguageName + } + return "" +} + +func (x *TracerPayload) GetLanguageVersion() string { + if x != nil { + return x.LanguageVersion + } + return "" +} + +func (x *TracerPayload) GetTracerVersion() string { + if x != nil { + return x.TracerVersion + } + return "" +} + +func (x *TracerPayload) GetRuntimeID() string { + if x != nil { + return x.RuntimeID + } + return "" +} + +func (x *TracerPayload) GetChunks() []*TraceChunk { + if x != nil { + return x.Chunks + } + return nil +} + +func (x *TracerPayload) GetTags() map[string]string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *TracerPayload) GetEnv() string { + if x != nil { + return x.Env + } + return "" +} + +func (x *TracerPayload) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *TracerPayload) GetAppVersion() string { + if x != nil { + return x.AppVersion + } + return "" +} + +var File_datadog_trace_tracer_payload_proto protoreflect.FileDescriptor + +var file_datadog_trace_tracer_payload_proto_rawDesc = []byte{ + 0x0a, 0x22, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x74, 0x72, + 0x61, 0x63, 0x65, 0x1a, 0x18, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2f, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x02, + 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x12, 0x29, 0x0a, 0x05, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, + 0x53, 0x70, 0x61, 0x6e, 0x52, 0x05, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x04, 0x74, + 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x64, 0x6f, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, + 0x68, 0x75, 0x6e, 0x6b, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, + 0x74, 0x61, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x54, + 0x72, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, + 0x70, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0xb9, 0x03, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x63, + 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, + 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x68, 0x75, + 0x6e, 0x6b, 0x52, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, + 0x6f, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x72, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x16, 0x5a, + 0x14, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x70, 0x62, 0x67, 0x6f, 0x2f, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_datadog_trace_tracer_payload_proto_rawDescOnce sync.Once + file_datadog_trace_tracer_payload_proto_rawDescData = file_datadog_trace_tracer_payload_proto_rawDesc +) + +func file_datadog_trace_tracer_payload_proto_rawDescGZIP() []byte { + file_datadog_trace_tracer_payload_proto_rawDescOnce.Do(func() { + file_datadog_trace_tracer_payload_proto_rawDescData = protoimpl.X.CompressGZIP(file_datadog_trace_tracer_payload_proto_rawDescData) + }) + return file_datadog_trace_tracer_payload_proto_rawDescData +} + +var file_datadog_trace_tracer_payload_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_datadog_trace_tracer_payload_proto_goTypes = []interface{}{ + (*TraceChunk)(nil), // 0: datadog.trace.TraceChunk + (*TracerPayload)(nil), // 1: datadog.trace.TracerPayload + nil, // 2: datadog.trace.TraceChunk.TagsEntry + nil, // 3: datadog.trace.TracerPayload.TagsEntry + (*Span)(nil), // 4: datadog.trace.Span +} +var file_datadog_trace_tracer_payload_proto_depIdxs = []int32{ + 4, // 0: datadog.trace.TraceChunk.spans:type_name -> datadog.trace.Span + 2, // 1: datadog.trace.TraceChunk.tags:type_name -> datadog.trace.TraceChunk.TagsEntry + 0, // 2: datadog.trace.TracerPayload.chunks:type_name -> datadog.trace.TraceChunk + 3, // 3: datadog.trace.TracerPayload.tags:type_name -> datadog.trace.TracerPayload.TagsEntry + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_datadog_trace_tracer_payload_proto_init() } +func file_datadog_trace_tracer_payload_proto_init() { + if File_datadog_trace_tracer_payload_proto != nil { + return + } + file_datadog_trace_span_proto_init() + if !protoimpl.UnsafeEnabled { + file_datadog_trace_tracer_payload_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TraceChunk); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_datadog_trace_tracer_payload_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TracerPayload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_datadog_trace_tracer_payload_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_datadog_trace_tracer_payload_proto_goTypes, + DependencyIndexes: file_datadog_trace_tracer_payload_proto_depIdxs, + MessageInfos: file_datadog_trace_tracer_payload_proto_msgTypes, + }.Build() + File_datadog_trace_tracer_payload_proto = out.File + file_datadog_trace_tracer_payload_proto_rawDesc = nil + file_datadog_trace_tracer_payload_proto_goTypes = nil + file_datadog_trace_tracer_payload_proto_depIdxs = nil +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload_gen.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload_gen.go new file mode 100644 index 00000000..cd2b3925 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload_gen.go @@ -0,0 +1,384 @@ +package trace + +// Code generated by github.com/tinylib/msgp DO NOT EDIT. + +import ( + "github.com/tinylib/msgp/msgp" +) + +// MarshalMsg implements msgp.Marshaler +func (z *TraceChunk) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + // map header, size 5 + // string "priority" + o = append(o, 0x85, 0xa8, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79) + o = msgp.AppendInt32(o, z.Priority) + // string "origin" + o = append(o, 0xa6, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e) + o = msgp.AppendString(o, z.Origin) + // string "spans" + o = append(o, 0xa5, 0x73, 0x70, 0x61, 0x6e, 0x73) + o = msgp.AppendArrayHeader(o, uint32(len(z.Spans))) + for za0001 := range z.Spans { + if z.Spans[za0001] == nil { + o = msgp.AppendNil(o) + } else { + o, err = z.Spans[za0001].MarshalMsg(o) + if err != nil { + err = msgp.WrapError(err, "Spans", za0001) + return + } + } + } + // string "tags" + o = append(o, 0xa4, 0x74, 0x61, 0x67, 0x73) + o = msgp.AppendMapHeader(o, uint32(len(z.Tags))) + for za0002, za0003 := range z.Tags { + o = msgp.AppendString(o, za0002) + o = msgp.AppendString(o, za0003) + } + // string "dropped_trace" + o = append(o, 0xad, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65) + o = msgp.AppendBool(o, z.DroppedTrace) + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *TraceChunk) UnmarshalMsg(bts []byte) (o []byte, err error) { + var field []byte + _ = field + var zb0001 uint32 + zb0001, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + for zb0001 > 0 { + zb0001-- + field, bts, err = msgp.ReadMapKeyZC(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + switch msgp.UnsafeString(field) { + case "priority": + z.Priority, bts, err = msgp.ReadInt32Bytes(bts) + if err != nil { + err = msgp.WrapError(err, "Priority") + return + } + case "origin": + z.Origin, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Origin") + return + } + case "spans": + var zb0002 uint32 + zb0002, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Spans") + return + } + if cap(z.Spans) >= int(zb0002) { + z.Spans = (z.Spans)[:zb0002] + } else { + z.Spans = make([]*Span, zb0002) + } + for za0001 := range z.Spans { + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + if err != nil { + return + } + z.Spans[za0001] = nil + } else { + if z.Spans[za0001] == nil { + z.Spans[za0001] = new(Span) + } + bts, err = z.Spans[za0001].UnmarshalMsg(bts) + if err != nil { + err = msgp.WrapError(err, "Spans", za0001) + return + } + } + } + case "tags": + var zb0003 uint32 + zb0003, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Tags") + return + } + if z.Tags == nil { + z.Tags = make(map[string]string, zb0003) + } else if len(z.Tags) > 0 { + for key := range z.Tags { + delete(z.Tags, key) + } + } + for zb0003 > 0 { + var za0002 string + var za0003 string + zb0003-- + za0002, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Tags") + return + } + za0003, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Tags", za0002) + return + } + z.Tags[za0002] = za0003 + } + case "dropped_trace": + z.DroppedTrace, bts, err = msgp.ReadBoolBytes(bts) + if err != nil { + err = msgp.WrapError(err, "DroppedTrace") + return + } + default: + bts, err = msgp.Skip(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + } + } + o = bts + return +} + +// Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message +func (z *TraceChunk) Msgsize() (s int) { + s = 1 + 9 + msgp.Int32Size + 7 + msgp.StringPrefixSize + len(z.Origin) + 6 + msgp.ArrayHeaderSize + for za0001 := range z.Spans { + if z.Spans[za0001] == nil { + s += msgp.NilSize + } else { + s += z.Spans[za0001].Msgsize() + } + } + s += 5 + msgp.MapHeaderSize + if z.Tags != nil { + for za0002, za0003 := range z.Tags { + _ = za0003 + s += msgp.StringPrefixSize + len(za0002) + msgp.StringPrefixSize + len(za0003) + } + } + s += 14 + msgp.BoolSize + return +} + +// MarshalMsg implements msgp.Marshaler +func (z *TracerPayload) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + // map header, size 10 + // string "container_id" + o = append(o, 0x8a, 0xac, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64) + o = msgp.AppendString(o, z.ContainerID) + // string "language_name" + o = append(o, 0xad, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65) + o = msgp.AppendString(o, z.LanguageName) + // string "language_version" + o = append(o, 0xb0, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e) + o = msgp.AppendString(o, z.LanguageVersion) + // string "tracer_version" + o = append(o, 0xae, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e) + o = msgp.AppendString(o, z.TracerVersion) + // string "runtime_id" + o = append(o, 0xaa, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, 0x64) + o = msgp.AppendString(o, z.RuntimeID) + // string "chunks" + o = append(o, 0xa6, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73) + o = msgp.AppendArrayHeader(o, uint32(len(z.Chunks))) + for za0001 := range z.Chunks { + if z.Chunks[za0001] == nil { + o = msgp.AppendNil(o) + } else { + o, err = z.Chunks[za0001].MarshalMsg(o) + if err != nil { + err = msgp.WrapError(err, "Chunks", za0001) + return + } + } + } + // string "tags" + o = append(o, 0xa4, 0x74, 0x61, 0x67, 0x73) + o = msgp.AppendMapHeader(o, uint32(len(z.Tags))) + for za0002, za0003 := range z.Tags { + o = msgp.AppendString(o, za0002) + o = msgp.AppendString(o, za0003) + } + // string "env" + o = append(o, 0xa3, 0x65, 0x6e, 0x76) + o = msgp.AppendString(o, z.Env) + // string "hostname" + o = append(o, 0xa8, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65) + o = msgp.AppendString(o, z.Hostname) + // string "app_version" + o = append(o, 0xab, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e) + o = msgp.AppendString(o, z.AppVersion) + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *TracerPayload) UnmarshalMsg(bts []byte) (o []byte, err error) { + var field []byte + _ = field + var zb0001 uint32 + zb0001, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + for zb0001 > 0 { + zb0001-- + field, bts, err = msgp.ReadMapKeyZC(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + switch msgp.UnsafeString(field) { + case "container_id": + z.ContainerID, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "ContainerID") + return + } + case "language_name": + z.LanguageName, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "LanguageName") + return + } + case "language_version": + z.LanguageVersion, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "LanguageVersion") + return + } + case "tracer_version": + z.TracerVersion, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "TracerVersion") + return + } + case "runtime_id": + z.RuntimeID, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "RuntimeID") + return + } + case "chunks": + var zb0002 uint32 + zb0002, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Chunks") + return + } + if cap(z.Chunks) >= int(zb0002) { + z.Chunks = (z.Chunks)[:zb0002] + } else { + z.Chunks = make([]*TraceChunk, zb0002) + } + for za0001 := range z.Chunks { + if msgp.IsNil(bts) { + bts, err = msgp.ReadNilBytes(bts) + if err != nil { + return + } + z.Chunks[za0001] = nil + } else { + if z.Chunks[za0001] == nil { + z.Chunks[za0001] = new(TraceChunk) + } + bts, err = z.Chunks[za0001].UnmarshalMsg(bts) + if err != nil { + err = msgp.WrapError(err, "Chunks", za0001) + return + } + } + } + case "tags": + var zb0003 uint32 + zb0003, bts, err = msgp.ReadMapHeaderBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Tags") + return + } + if z.Tags == nil { + z.Tags = make(map[string]string, zb0003) + } else if len(z.Tags) > 0 { + for key := range z.Tags { + delete(z.Tags, key) + } + } + for zb0003 > 0 { + var za0002 string + var za0003 string + zb0003-- + za0002, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Tags") + return + } + za0003, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Tags", za0002) + return + } + z.Tags[za0002] = za0003 + } + case "env": + z.Env, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Env") + return + } + case "hostname": + z.Hostname, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "Hostname") + return + } + case "app_version": + z.AppVersion, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + err = msgp.WrapError(err, "AppVersion") + return + } + default: + bts, err = msgp.Skip(bts) + if err != nil { + err = msgp.WrapError(err) + return + } + } + } + o = bts + return +} + +// Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message +func (z *TracerPayload) Msgsize() (s int) { + s = 1 + 13 + msgp.StringPrefixSize + len(z.ContainerID) + 14 + msgp.StringPrefixSize + len(z.LanguageName) + 17 + msgp.StringPrefixSize + len(z.LanguageVersion) + 15 + msgp.StringPrefixSize + len(z.TracerVersion) + 11 + msgp.StringPrefixSize + len(z.RuntimeID) + 7 + msgp.ArrayHeaderSize + for za0001 := range z.Chunks { + if z.Chunks[za0001] == nil { + s += msgp.NilSize + } else { + s += z.Chunks[za0001].Msgsize() + } + } + s += 5 + msgp.MapHeaderSize + if z.Tags != nil { + for za0002, za0003 := range z.Tags { + _ = za0003 + s += msgp.StringPrefixSize + len(za0002) + msgp.StringPrefixSize + len(za0003) + } + } + s += 4 + msgp.StringPrefixSize + len(z.Env) + 9 + msgp.StringPrefixSize + len(z.Hostname) + 12 + msgp.StringPrefixSize + len(z.AppVersion) + return +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload_utils.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload_utils.go new file mode 100644 index 00000000..9f7fabba --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload_utils.go @@ -0,0 +1,35 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package trace + +// traceChunkCopiedFields records the fields that are copied in ShallowCopy. +// This should match exactly the fields set in (*TraceChunk).ShallowCopy. +// This is used by tests to enforce the correctness of ShallowCopy. +var traceChunkCopiedFields = map[string]struct{}{ + "Priority": {}, + "Origin": {}, + "Spans": {}, + "Tags": {}, + "DroppedTrace": {}, +} + +// ShallowCopy returns a shallow copy of the copy-able portion of a TraceChunk. These are the +// public fields which will have a Get* method for them. The completeness of this +// method is enforced by the init function above. Instead of using pkg/proto/utils.ProtoCopier, +// which incurs heavy reflection cost for every copy at runtime, we use reflection once at +// startup to ensure our method is complete. +func (t *TraceChunk) ShallowCopy() *TraceChunk { + if t == nil { + return nil + } + return &TraceChunk{ + Priority: t.Priority, + Origin: t.Origin, + Spans: t.Spans, + Tags: t.Tags, + DroppedTrace: t.DroppedTrace, + } +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload_vtproto.pb.go b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload_vtproto.pb.go new file mode 100644 index 00000000..b1544fa2 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/tracer_payload_vtproto.pb.go @@ -0,0 +1,1066 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.4.0 +// source: datadog/trace/tracer_payload.proto + +package trace + +import ( + fmt "fmt" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *TraceChunk) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TraceChunk) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *TraceChunk) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.DroppedTrace { + i-- + if m.DroppedTrace { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if len(m.Tags) > 0 { + for k := range m.Tags { + v := m.Tags[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x22 + } + } + if len(m.Spans) > 0 { + for iNdEx := len(m.Spans) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Spans[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + } + if len(m.Origin) > 0 { + i -= len(m.Origin) + copy(dAtA[i:], m.Origin) + i = encodeVarint(dAtA, i, uint64(len(m.Origin))) + i-- + dAtA[i] = 0x12 + } + if m.Priority != 0 { + i = encodeVarint(dAtA, i, uint64(m.Priority)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *TracerPayload) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TracerPayload) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *TracerPayload) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.AppVersion) > 0 { + i -= len(m.AppVersion) + copy(dAtA[i:], m.AppVersion) + i = encodeVarint(dAtA, i, uint64(len(m.AppVersion))) + i-- + dAtA[i] = 0x52 + } + if len(m.Hostname) > 0 { + i -= len(m.Hostname) + copy(dAtA[i:], m.Hostname) + i = encodeVarint(dAtA, i, uint64(len(m.Hostname))) + i-- + dAtA[i] = 0x4a + } + if len(m.Env) > 0 { + i -= len(m.Env) + copy(dAtA[i:], m.Env) + i = encodeVarint(dAtA, i, uint64(len(m.Env))) + i-- + dAtA[i] = 0x42 + } + if len(m.Tags) > 0 { + for k := range m.Tags { + v := m.Tags[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x3a + } + } + if len(m.Chunks) > 0 { + for iNdEx := len(m.Chunks) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Chunks[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + } + if len(m.RuntimeID) > 0 { + i -= len(m.RuntimeID) + copy(dAtA[i:], m.RuntimeID) + i = encodeVarint(dAtA, i, uint64(len(m.RuntimeID))) + i-- + dAtA[i] = 0x2a + } + if len(m.TracerVersion) > 0 { + i -= len(m.TracerVersion) + copy(dAtA[i:], m.TracerVersion) + i = encodeVarint(dAtA, i, uint64(len(m.TracerVersion))) + i-- + dAtA[i] = 0x22 + } + if len(m.LanguageVersion) > 0 { + i -= len(m.LanguageVersion) + copy(dAtA[i:], m.LanguageVersion) + i = encodeVarint(dAtA, i, uint64(len(m.LanguageVersion))) + i-- + dAtA[i] = 0x1a + } + if len(m.LanguageName) > 0 { + i -= len(m.LanguageName) + copy(dAtA[i:], m.LanguageName) + i = encodeVarint(dAtA, i, uint64(len(m.LanguageName))) + i-- + dAtA[i] = 0x12 + } + if len(m.ContainerID) > 0 { + i -= len(m.ContainerID) + copy(dAtA[i:], m.ContainerID) + i = encodeVarint(dAtA, i, uint64(len(m.ContainerID))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *TraceChunk) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Priority != 0 { + n += 1 + sov(uint64(m.Priority)) + } + l = len(m.Origin) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if len(m.Spans) > 0 { + for _, e := range m.Spans { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if len(m.Tags) > 0 { + for k, v := range m.Tags { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) + n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + } + } + if m.DroppedTrace { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *TracerPayload) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ContainerID) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.LanguageName) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.LanguageVersion) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.TracerVersion) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.RuntimeID) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if len(m.Chunks) > 0 { + for _, e := range m.Chunks { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if len(m.Tags) > 0 { + for k, v := range m.Tags { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) + n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + } + } + l = len(m.Env) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Hostname) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.AppVersion) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *TraceChunk) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: TraceChunk: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TraceChunk: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType) + } + m.Priority = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Priority |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Origin", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Origin = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spans", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Spans = append(m.Spans, &Span{}) + if err := m.Spans[len(m.Spans)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Tags", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Tags == nil { + m.Tags = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLength + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLength + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLength + } + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Tags[mapkey] = mapvalue + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DroppedTrace", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.DroppedTrace = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TracerPayload) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: TracerPayload: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TracerPayload: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContainerID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContainerID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LanguageName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LanguageName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LanguageVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LanguageVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TracerVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TracerVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RuntimeID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RuntimeID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Chunks", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Chunks = append(m.Chunks, &TraceChunk{}) + if err := m.Chunks[len(m.Chunks)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Tags", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Tags == nil { + m.Tags = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLength + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLength + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLength + } + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Tags[mapkey] = mapvalue + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Env", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Env = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hostname", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Hostname = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AppVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AppVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/remoteconfig/state/products.go b/vendor/github.com/DataDog/datadog-agent/pkg/remoteconfig/state/products.go index f6e29072..35974c5e 100644 --- a/vendor/github.com/DataDog/datadog-agent/pkg/remoteconfig/state/products.go +++ b/vendor/github.com/DataDog/datadog-agent/pkg/remoteconfig/state/products.go @@ -6,25 +6,30 @@ package state var validProducts = map[string]struct{}{ - ProductUpdaterCatalogDD: {}, - ProductUpdaterAgent: {}, - ProductUpdaterTask: {}, - ProductAgentConfig: {}, - ProductAgentFailover: {}, - ProductAgentTask: {}, - ProductAgentIntegrations: {}, - ProductAPMSampling: {}, - ProductCWSDD: {}, - ProductCWSCustom: {}, - ProductCWSProfiles: {}, - ProductASM: {}, - ProductASMFeatures: {}, - ProductASMDD: {}, - ProductASMData: {}, - ProductAPMTracing: {}, - ProductLiveDebugging: {}, - ProductTesting1: {}, - ProductTesting2: {}, + ProductUpdaterCatalogDD: {}, + ProductUpdaterAgent: {}, + ProductUpdaterTask: {}, + ProductAgentConfig: {}, + ProductAgentFailover: {}, + ProductAgentTask: {}, + ProductAgentIntegrations: {}, + ProductAPMSampling: {}, + ProductCWSDD: {}, + ProductCWSCustom: {}, + ProductCWSProfiles: {}, + ProductCSMSideScanning: {}, + ProductASM: {}, + ProductASMFeatures: {}, + ProductASMDD: {}, + ProductASMData: {}, + ProductAPMTracing: {}, + ProductSDSRules: {}, + ProductSDSAgentConfig: {}, + ProductLiveDebugging: {}, + ProductContainerAutoscalingSettings: {}, + ProductContainerAutoscalingValues: {}, + ProductTesting1: {}, + ProductTesting2: {}, } const ( @@ -50,6 +55,8 @@ const ( ProductCWSCustom = "CWS_CUSTOM" // ProductCWSProfiles is the cloud workload security profile product ProductCWSProfiles = "CWS_SECURITY_PROFILES" + // ProductCSMSideScanning is the side scanning product + ProductCSMSideScanning = "CSM_SIDE_SCANNING" // ProductASM is the ASM product used by customers to issue rules configurations ProductASM = "ASM" // ProductASMFeatures is the ASM product used form ASM activation through remote config @@ -60,8 +67,16 @@ const ( ProductASMData = "ASM_DATA" // ProductAPMTracing is the apm tracing product ProductAPMTracing = "APM_TRACING" + // ProductSDSRules is the SDS definitions product + ProductSDSRules = "SDS_RULES_DD" + // ProductSDSAgentConfig is the user SDS configurations product. + ProductSDSAgentConfig = "SDS_AGENT_CONFIG" // ProductLiveDebugging is the dynamic instrumentation product ProductLiveDebugging = "LIVE_DEBUGGING" + // ProductContainerAutoscalingSettings receives definition of container autoscaling + ProductContainerAutoscalingSettings = "CONTAINER_AUTOSCALING_SETTINGS" + // ProductContainerAutoscalingValues receives values for container autoscaling + ProductContainerAutoscalingValues = "CONTAINER_AUTOSCALING_VALUES" // ProductTesting1 is a product used for testing remote config ProductTesting1 = "TESTING1" // ProductTesting2 is a product used for testing remote config diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/LICENSE b/vendor/github.com/DataDog/datadog-agent/pkg/trace/LICENSE new file mode 100644 index 00000000..b370545b --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/LICENSE @@ -0,0 +1,200 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2016-present Datadog, Inc. + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/config/client.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/config/client.go new file mode 100644 index 00000000..b46de4fa --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/config/client.go @@ -0,0 +1,70 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +// Package config contains the configuration for the trace-agent. +package config + +import ( + "net/http" + "sync" + "time" +) + +// TODO(gbbr): Perhaps this is not the best place for this structure. + +// ResetClient wraps (http.Client).Do and resets the underlying connections at the +// configured interval +type ResetClient struct { + httpClientFactory func() *http.Client + resetInterval time.Duration + + mu sync.RWMutex + httpClient *http.Client + lastReset time.Time +} + +// NewResetClient returns an initialized Client resetting connections at the passed resetInterval ("0" +// means that no reset is performed). +// The underlying http.Client used will be created using the passed http client factory. +func NewResetClient(resetInterval time.Duration, httpClientFactory func() *http.Client) *ResetClient { + return &ResetClient{ + httpClientFactory: httpClientFactory, + resetInterval: resetInterval, + httpClient: httpClientFactory(), + lastReset: time.Now(), + } +} + +// Do wraps (http.Client).Do. Thread safe. +func (c *ResetClient) Do(req *http.Request) (*http.Response, error) { + c.checkReset() + + c.mu.RLock() + httpClient := c.httpClient + c.mu.RUnlock() + + return httpClient.Do(req) +} + +// checkReset checks whether a client reset should be performed, and performs it +// if so +func (c *ResetClient) checkReset() { + if c.resetInterval == 0 { + return + } + + c.mu.Lock() + defer c.mu.Unlock() + if time.Since(c.lastReset) < c.resetInterval { + return + } + + c.lastReset = time.Now() + // Close idle connections on underlying client. Safe to do while other goroutines use the client. + // This is a best effort: if other goroutine(s) are currently using the client, + // the related open connection(s) will remain open until the client is GC'ed + c.httpClient.CloseIdleConnections() + c.httpClient = c.httpClientFactory() +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/config/config.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/config/config.go new file mode 100644 index 00000000..2ada0ea2 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/config/config.go @@ -0,0 +1,621 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package config + +import ( + "crypto/tls" + "errors" + "net" + "net/http" + "net/url" + "os" + "regexp" + "time" + + "github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes" + + "github.com/DataDog/datadog-agent/pkg/obfuscate" + "github.com/DataDog/datadog-agent/pkg/remoteconfig/state" + "github.com/DataDog/datadog-agent/pkg/trace/log" + "github.com/DataDog/datadog-agent/pkg/trace/traceutil" +) + +// ServiceName specifies the service name used in the operating system. +const ServiceName = "datadog-trace-agent" + +// ErrMissingAPIKey is returned when the config could not be validated due to missing API key. +var ErrMissingAPIKey = errors.New("you must specify an API Key, either via a configuration file or the DD_API_KEY env var") + +// Endpoint specifies an endpoint that the trace agent will write data (traces, stats & services) to. +type Endpoint struct { + APIKey string `json:"-"` // never marshal this + Host string + + // NoProxy will be set to true when the proxy setting for the trace API endpoint + // needs to be ignored (e.g. it is part of the "no_proxy" list in the yaml settings). + NoProxy bool +} + +// TelemetryEndpointPrefix specifies the prefix of the telemetry endpoint URL. +const TelemetryEndpointPrefix = "https://instrumentation-telemetry-intake." + +// OTLP holds the configuration for the OpenTelemetry receiver. +type OTLP struct { + // BindHost specifies the host to bind the receiver to. + BindHost string `mapstructure:"-"` + + // GRPCPort specifies the port to use for the plain HTTP receiver. + // If unset (or 0), the receiver will be off. + GRPCPort int `mapstructure:"grpc_port"` + + // SpanNameRemappings is the map of datadog span names and preferred name to map to. This can be used to + // automatically map Datadog Span Operation Names to an updated value. All entries should be key/value pairs. + SpanNameRemappings map[string]string `mapstructure:"span_name_remappings"` + + // SpanNameAsResourceName specifies whether the OpenTelemetry span's name should be + // used as the Datadog span's operation name. By default (when this is false), the + // operation name is deduced from a combination between the instrumentation scope + // name and the span kind. + // + // For context, the OpenTelemetry 'Span Name' is equivalent to the Datadog 'resource name'. + // The Datadog Span's Operation Name equivalent in OpenTelemetry does not exist, but the span's + // kind comes close. + SpanNameAsResourceName bool `mapstructure:"span_name_as_resource_name"` + + // MaxRequestBytes specifies the maximum number of bytes that will be read + // from an incoming HTTP request. + MaxRequestBytes int64 `mapstructure:"-"` + + // ProbabilisticSampling specifies the percentage of traces to ingest. Exceptions are made for errors + // and rare traces (outliers) if "RareSamplerEnabled" is true. Invalid values are equivalent to 100. + // If spans have the "sampling.priority" attribute set, probabilistic sampling is skipped and the user's + // decision is followed. + ProbabilisticSampling float64 + + // AttributesTranslator specifies an OTLP to Datadog attributes translator. + AttributesTranslator *attributes.Translator `mapstructure:"-"` +} + +// ObfuscationConfig holds the configuration for obfuscating sensitive data +// for various span types. +type ObfuscationConfig struct { + // ES holds the obfuscation configuration for ElasticSearch bodies. + ES obfuscate.JSONConfig `mapstructure:"elasticsearch"` + + // OpenSearch holds the obfuscation configuration for OpenSearch bodies. + OpenSearch obfuscate.JSONConfig `mapstructure:"opensearch"` + + // Mongo holds the obfuscation configuration for MongoDB queries. + Mongo obfuscate.JSONConfig `mapstructure:"mongodb"` + + // SQLExecPlan holds the obfuscation configuration for SQL Exec Plans. This is strictly for safety related obfuscation, + // not normalization. Normalization of exec plans is configured in SQLExecPlanNormalize. + SQLExecPlan obfuscate.JSONConfig `mapstructure:"sql_exec_plan"` + + // SQLExecPlanNormalize holds the normalization configuration for SQL Exec Plans. + SQLExecPlanNormalize obfuscate.JSONConfig `mapstructure:"sql_exec_plan_normalize"` + + // HTTP holds the obfuscation settings for HTTP URLs. + HTTP obfuscate.HTTPConfig `mapstructure:"http"` + + // RemoveStackTraces specifies whether stack traces should be removed. + // More specifically "error.stack" tag values will be cleared. + RemoveStackTraces bool `mapstructure:"remove_stack_traces"` + + // Redis holds the configuration for obfuscating the "redis.raw_command" tag + // for spans of type "redis". + Redis obfuscate.RedisConfig `mapstructure:"redis"` + + // Memcached holds the configuration for obfuscating the "memcached.command" tag + // for spans of type "memcached". + Memcached obfuscate.MemcachedConfig `mapstructure:"memcached"` + + // CreditCards holds the configuration for obfuscating credit cards. + CreditCards obfuscate.CreditCardsConfig `mapstructure:"credit_cards"` +} + +// Export returns an obfuscate.Config matching o. +func (o *ObfuscationConfig) Export(conf *AgentConfig) obfuscate.Config { + return obfuscate.Config{ + SQL: obfuscate.SQLConfig{ + TableNames: conf.HasFeature("table_names"), + ReplaceDigits: conf.HasFeature("quantize_sql_tables") || conf.HasFeature("replace_sql_digits"), + KeepSQLAlias: conf.HasFeature("keep_sql_alias"), + DollarQuotedFunc: conf.HasFeature("dollar_quoted_func"), + Cache: conf.HasFeature("sql_cache"), + }, + ES: o.ES, + OpenSearch: o.OpenSearch, + Mongo: o.Mongo, + SQLExecPlan: o.SQLExecPlan, + SQLExecPlanNormalize: o.SQLExecPlanNormalize, + HTTP: o.HTTP, + Redis: o.Redis, + Memcached: o.Memcached, + CreditCard: o.CreditCards, + Logger: new(debugLogger), + } +} + +type debugLogger struct{} + +func (debugLogger) Debugf(format string, params ...interface{}) { + log.Debugf(format, params...) +} + +// Enablable can represent any option that has an "enabled" boolean sub-field. +type Enablable struct { + Enabled bool `mapstructure:"enabled"` +} + +// TelemetryConfig holds Instrumentation telemetry Endpoints information +type TelemetryConfig struct { + Enabled bool `mapstructure:"enabled"` + Endpoints []*Endpoint +} + +// ReplaceRule specifies a replace rule. +type ReplaceRule struct { + // Name specifies the name of the tag that the replace rule addresses. However, + // some exceptions apply such as: + // • "resource.name" will target the resource + // • "*" will target all tags and the resource + Name string `mapstructure:"name"` + + // Pattern specifies the regexp pattern to be used when replacing. It must compile. + Pattern string `mapstructure:"pattern"` + + // Re holds the compiled Pattern and is only used internally. + Re *regexp.Regexp `mapstructure:"-"` + + // Repl specifies the replacement string to be used when Pattern matches. + Repl string `mapstructure:"repl"` +} + +// WriterConfig specifies configuration for an API writer. +type WriterConfig struct { + // ConnectionLimit specifies the maximum number of concurrent outgoing + // connections allowed for the sender. + ConnectionLimit int `mapstructure:"connection_limit"` + + // QueueSize specifies the maximum number or payloads allowed to be queued + // in the sender. + QueueSize int `mapstructure:"queue_size"` + + // FlushPeriodSeconds specifies the frequency at which the writer's buffer + // will be flushed to the sender, in seconds. Fractions are permitted. + FlushPeriodSeconds float64 `mapstructure:"flush_period_seconds"` +} + +// FargateOrchestratorName is a Fargate orchestrator name. +type FargateOrchestratorName string + +const ( + // OrchestratorECS represents AWS ECS + OrchestratorECS FargateOrchestratorName = "ECS" + // OrchestratorEKS represents AWS EKS + OrchestratorEKS FargateOrchestratorName = "EKS" + // OrchestratorUnknown is used when we cannot retrieve the orchestrator + OrchestratorUnknown FargateOrchestratorName = "Unknown" +) + +// ProfilingProxyConfig ... +type ProfilingProxyConfig struct { + // DDURL ... + DDURL string + // AdditionalEndpoints ... + AdditionalEndpoints map[string][]string +} + +// EVPProxy contains the settings for the EVPProxy proxy. +type EVPProxy struct { + // Enabled reports whether EVPProxy is enabled (true by default). + Enabled bool + // DDURL is the Datadog site to forward payloads to (defaults to the Site setting if not set). + DDURL string + // APIKey is the main API Key (defaults to the main API key). + APIKey string `json:"-"` // Never marshal this field + // ApplicationKey to be used for requests with the X-Datadog-NeedsAppKey set (defaults to the top-level Application Key). + ApplicationKey string `json:"-"` // Never marshal this field + // AdditionalEndpoints is a map of additional Datadog sites to API keys. + AdditionalEndpoints map[string][]string + // MaxPayloadSize indicates the size at which payloads will be rejected, in bytes. + MaxPayloadSize int64 + // ReceiverTimeout indicates the maximum time an EVPProxy request can take. Value in seconds. + ReceiverTimeout int +} + +// InstallSignatureConfig contains the information on how the agent was installed +// and a unique identifier that distinguishes this agent from others. +type InstallSignatureConfig struct { + Found bool `json:"-"` + InstallID string `json:"install_id"` + InstallType string `json:"install_type"` + InstallTime int64 `json:"install_time"` +} + +// DebuggerProxyConfig ... +type DebuggerProxyConfig struct { + // DDURL ... + DDURL string + // APIKey ... + APIKey string `json:"-"` // Never marshal this field + // AdditionalEndpoints is a map of additional Datadog sites to API keys. + AdditionalEndpoints map[string][]string `json:"-"` // Never marshal this field +} + +// SymDBProxyConfig ... +type SymDBProxyConfig struct { + // DDURL ... + DDURL string + // APIKey ... + APIKey string `json:"-"` // Never marshal this field + // AdditionalEndpoints is a map of additional Datadog endpoints to API keys. + AdditionalEndpoints map[string][]string `json:"-"` // Never marshal this field +} + +// AgentConfig handles the interpretation of the configuration (with default +// behaviors) in one place. It is also a simple structure to share across all +// the Agent components, with 100% safe and reliable values. +// It is exposed with expvar, so make sure to exclude any sensible field +// from JSON encoding. Use New() to create an instance. +type AgentConfig struct { + Features map[string]struct{} + + Enabled bool + AgentVersion string + GitCommit string + Site string // the intake site to use (e.g. "datadoghq.com") + + // FargateOrchestrator specifies the name of the Fargate orchestrator. e.g. "ECS", "EKS", "Unknown" + FargateOrchestrator FargateOrchestratorName + + // Global + Hostname string + DefaultEnv string // the traces will default to this environment + ConfigPath string // the source of this config, if any + + // Endpoints specifies the set of hosts and API keys where traces and stats + // will be uploaded to. The first endpoint is the main configuration endpoint; + // any following ones are read from the 'additional_endpoints' parts of the + // configuration file, if present. + Endpoints []*Endpoint + + // Concentrator + BucketInterval time.Duration // the size of our pre-aggregation per bucket + ExtraAggregators []string // DEPRECATED + PeerTagsAggregation bool // enables/disables stats aggregation for peer entity tags, used by Concentrator and ClientStatsAggregator + ComputeStatsBySpanKind bool // enables/disables the computing of stats based on a span's `span.kind` field + PeerTags []string // additional tags to use for peer entity stats aggregation + + // Sampler configuration + ExtraSampleRate float64 + TargetTPS float64 + ErrorTPS float64 + MaxEPS float64 + MaxRemoteTPS float64 + + // Rare Sampler configuration + RareSamplerEnabled bool + RareSamplerTPS int + RareSamplerCooldownPeriod time.Duration + RareSamplerCardinality int + + // Probabilistic Sampler configuration + ProbabilisticSamplerEnabled bool + ProbabilisticSamplerHashSeed uint32 + ProbabilisticSamplerSamplingPercentage float32 + + // Receiver + ReceiverEnabled bool // specifies whether Receiver listeners are enabled. Unless OTLPReceiver is used, this should always be true. + ReceiverHost string + ReceiverPort int + ReceiverSocket string // if not empty, UDS will be enabled on unix:// + ConnectionLimit int // for rate-limiting, how many unique connections to allow in a lease period (30s) + ReceiverTimeout int + MaxRequestBytes int64 // specifies the maximum allowed request size for incoming trace payloads + TraceBuffer int // specifies the number of traces to buffer before blocking. + Decoders int // specifies the number of traces that can be concurrently decoded. + MaxConnections int // specifies the maximum number of concurrent incoming connections allowed. + DecoderTimeout int // specifies the maximum time in milliseconds that the decoders will wait for a turn to accept a payload before returning 429 + + WindowsPipeName string + PipeBufferSize int + PipeSecurityDescriptor string + + GUIPort string // the port of the Datadog Agent GUI (for control access) + + // Writers + SynchronousFlushing bool // Mode where traces are only submitted when FlushAsync is called, used for Serverless Extension + StatsWriter *WriterConfig + TraceWriter *WriterConfig + ConnectionResetInterval time.Duration // frequency at which outgoing connections are reset. 0 means no reset is performed + // MaxSenderRetries is the maximum number of retries that a sender will perform + // before giving up. Note that the sender may not perform all MaxSenderRetries if + // the agent is under load and the outgoing payload queue is full. In that + // case, the sender will drop failed payloads when it is unable to enqueue + // them for another retry. + MaxSenderRetries int + // HTTP client used in writer connections. If nil, default client values will be used. + HTTPClientFunc func() *http.Client `json:"-"` + + // internal telemetry + StatsdEnabled bool + StatsdHost string + StatsdPort int + StatsdPipeName string // for Windows Pipes + StatsdSocket string // for UDS Sockets + + // logging + LogFilePath string + + // watchdog + MaxMemory float64 // MaxMemory is the threshold (bytes allocated) above which program panics and exits, to be restarted + MaxCPU float64 // MaxCPU is the max UserAvg CPU the program should consume + WatchdogInterval time.Duration // WatchdogInterval is the delay between 2 watchdog checks + + // http/s proxying + ProxyURL *url.URL + SkipSSLValidation bool + + // filtering + Ignore map[string][]string + + // ReplaceTags is used to filter out sensitive information from tag values. + // It maps tag keys to a set of replacements. Only supported in A6. + ReplaceTags []*ReplaceRule + + // GlobalTags list metadata that will be added to all spans + GlobalTags map[string]string + + // transaction analytics + AnalyzedRateByServiceLegacy map[string]float64 + AnalyzedSpansByService map[string]map[string]float64 + + // infrastructure agent binary + DDAgentBin string + + // Obfuscation holds sensitive data obufscator's configuration. + Obfuscation *ObfuscationConfig + + // MaxResourceLen the maximum length the resource can have + MaxResourceLen int + + // RequireTags specifies a list of tags which must be present on the root span in order for a trace to be accepted. + RequireTags []*Tag + + // RejectTags specifies a list of tags which must be absent on the root span in order for a trace to be accepted. + RejectTags []*Tag + + // RequireTagsRegex specifies a list of regexp for tags which must be present on the root span in order for a trace to be accepted. + RequireTagsRegex []*TagRegex + + // RejectTagsRegex specifies a list of regexp for tags which must be absent on the root span in order for a trace to be accepted. + RejectTagsRegex []*TagRegex + + // OTLPReceiver holds the configuration for OpenTelemetry receiver. + OTLPReceiver *OTLP + + // ProfilingProxy specifies settings for the profiling proxy. + ProfilingProxy ProfilingProxyConfig + + // Telemetry settings + TelemetryConfig *TelemetryConfig + + // EVPProxy contains the settings for the EVPProxy proxy. + EVPProxy EVPProxy + + // DebuggerProxy contains the settings for the Live Debugger proxy. + DebuggerProxy DebuggerProxyConfig + + // DebuggerDiagnosticsProxy contains the settings for the Live Debugger diagnostics proxy. + DebuggerDiagnosticsProxy DebuggerProxyConfig + + // SymDBProxy contains the settings for the Symbol Database proxy. + SymDBProxy SymDBProxyConfig + + // Proxy specifies a function to return a proxy for a given Request. + // See (net/http.Transport).Proxy for more details. + Proxy func(*http.Request) (*url.URL, error) `json:"-"` + + // MaxCatalogEntries specifies the maximum number of services to be added to the priority sampler's + // catalog. If not set (0) it will default to 5000. + MaxCatalogEntries int + + // RemoteConfigClient retrieves sampling updates from the remote config backend + RemoteConfigClient RemoteClient `json:"-"` + + // ContainerTags ... + ContainerTags func(cid string) ([]string, error) `json:"-"` + + // ContainerProcRoot is the root dir for `proc` info + ContainerProcRoot string + + // DebugServerPort defines the port used by the debug server + DebugServerPort int + + // Install Signature + InstallSignature InstallSignatureConfig + + // Lambda function name + LambdaFunctionName string +} + +// RemoteClient client is used to APM Sampling Updates from a remote source. +// This is an interface around the client provided by pkg/config/remote to allow for easier testing. +type RemoteClient interface { + Close() + Start() + Subscribe(string, func(update map[string]state.RawConfig, applyStateCallback func(string, state.ApplyStatus))) + UpdateApplyStatus(cfgPath string, status state.ApplyStatus) +} + +// Tag represents a key/value pair. +type Tag struct { + K, V string +} + +// TagRegex represents a key/value regex pattern pair. +type TagRegex struct { + K string + V *regexp.Regexp +} + +// New returns a configuration with the default values. +func New() *AgentConfig { + return &AgentConfig{ + Enabled: true, + DefaultEnv: "none", + Endpoints: []*Endpoint{{Host: "https://trace.agent.datadoghq.com"}}, + FargateOrchestrator: OrchestratorUnknown, + Site: "datadoghq.com", + MaxCatalogEntries: 5000, + + BucketInterval: time.Duration(10) * time.Second, + + ExtraSampleRate: 1.0, + TargetTPS: 10, + ErrorTPS: 10, + MaxEPS: 200, + MaxRemoteTPS: 100, + + RareSamplerEnabled: false, + RareSamplerTPS: 5, + RareSamplerCooldownPeriod: 5 * time.Minute, + RareSamplerCardinality: 200, + + ReceiverEnabled: true, + ReceiverHost: "localhost", + ReceiverPort: 8126, + MaxRequestBytes: 25 * 1024 * 1024, // 25MB + PipeBufferSize: 1_000_000, + PipeSecurityDescriptor: "D:AI(A;;GA;;;WD)", + GUIPort: "5002", + + StatsWriter: new(WriterConfig), + TraceWriter: new(WriterConfig), + ConnectionResetInterval: 0, // disabled + MaxSenderRetries: 4, + + StatsdHost: "localhost", + StatsdPort: 8125, + StatsdEnabled: true, + + LambdaFunctionName: os.Getenv("AWS_LAMBDA_FUNCTION_NAME"), + + MaxMemory: 5e8, // 500 Mb, should rarely go above 50 Mb + MaxCPU: 0.5, // 50%, well behaving agents keep below 5% + WatchdogInterval: 10 * time.Second, + + Ignore: make(map[string][]string), + AnalyzedRateByServiceLegacy: make(map[string]float64), + AnalyzedSpansByService: make(map[string]map[string]float64), + Obfuscation: &ObfuscationConfig{}, + MaxResourceLen: 5000, + + GlobalTags: computeGlobalTags(), + + Proxy: http.ProxyFromEnvironment, + OTLPReceiver: &OTLP{}, + ContainerTags: noopContainerTagsFunc, + TelemetryConfig: &TelemetryConfig{ + Endpoints: []*Endpoint{{Host: TelemetryEndpointPrefix + "datadoghq.com"}}, + }, + EVPProxy: EVPProxy{ + Enabled: true, + MaxPayloadSize: 5 * 1024 * 1024, + }, + + Features: make(map[string]struct{}), + } +} + +func computeGlobalTags() map[string]string { + if inAzureAppServices() { + return traceutil.GetAppServicesTags() + } + return make(map[string]string) +} + +// ErrContainerTagsFuncNotDefined is returned when the containerTags function is not defined. +var ErrContainerTagsFuncNotDefined = errors.New("containerTags function not defined") + +func noopContainerTagsFunc(_ string) ([]string, error) { + return nil, ErrContainerTagsFuncNotDefined +} + +// APIKey returns the first (main) endpoint's API key. +func (c *AgentConfig) APIKey() string { + if len(c.Endpoints) == 0 { + return "" + } + return c.Endpoints[0].APIKey +} + +// NewHTTPClient returns a new http.Client to be used for outgoing connections to the +// Datadog API. +func (c *AgentConfig) NewHTTPClient() *ResetClient { + // If a custom HTTPClientFunc been set, use it. Otherwise use default client values + if c.HTTPClientFunc != nil { + return NewResetClient(c.ConnectionResetInterval, c.HTTPClientFunc) + } + return NewResetClient(c.ConnectionResetInterval, func() *http.Client { + return &http.Client{ + Timeout: 10 * time.Second, + Transport: c.NewHTTPTransport(), + } + }) +} + +// NewHTTPTransport returns a new http.Transport to be used for outgoing connections to +// the Datadog API. +func (c *AgentConfig) NewHTTPTransport() *http.Transport { + transport := &http.Transport{ + TLSClientConfig: &tls.Config{InsecureSkipVerify: c.SkipSSLValidation}, + // below field values are from http.DefaultTransport (go1.12) + Proxy: c.Proxy, + DialContext: (&net.Dialer{ + Timeout: 30 * time.Second, + KeepAlive: 30 * time.Second, + DualStack: true, + }).DialContext, + MaxIdleConns: 100, + IdleConnTimeout: 30 * time.Second, + TLSHandshakeTimeout: 10 * time.Second, + ExpectContinueTimeout: 1 * time.Second, + } + return transport +} + +// HasFeature returns true if the agent has the given feature flag. +func (c *AgentConfig) HasFeature(feat string) bool { + _, ok := c.Features[feat] + return ok +} + +// AllFeatures returns a slice of all the feature flags the agent has. +func (c *AgentConfig) AllFeatures() []string { + feats := []string{} + for feat := range c.Features { + feats = append(feats, feat) + } + return feats +} + +// ConfiguredPeerTags returns the set of peer tags that should be used +// for aggregation based on the various config values and the base set of tags. +func (c *AgentConfig) ConfiguredPeerTags() []string { + if !c.PeerTagsAggregation { + return nil + } + return preparePeerTags(append(basePeerTags, c.PeerTags...)) +} + +func inAzureAppServices() bool { + _, existsLinux := os.LookupEnv("WEBSITE_STACK") + _, existsWin := os.LookupEnv("WEBSITE_APPSERVICEAPPLOGS_TRACE_ENABLED") + return existsLinux || existsWin +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/config/peer_tags.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/config/peer_tags.go new file mode 100644 index 00000000..6b2a58c9 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/config/peer_tags.go @@ -0,0 +1,55 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package config + +import ( + _ "embed" //nolint:revive + "sort" + "strings" + + "github.com/DataDog/datadog-agent/pkg/util/log" + "gopkg.in/ini.v1" +) + +//go:embed peer_tags.ini +var peerTagFile []byte + +// basePeerTags is the base set of peer tag precursors (tags from which peer tags +// are derived) we aggregate on when peer tag aggregation is enabled. +var basePeerTags = func() []string { + var precursors []string = []string{"_dd.base_service"} + + cfg, err := ini.Load(peerTagFile) + if err != nil { + log.Error("Error loading file for peer tags: ", err) + return precursors + } + peerTags := cfg.Section("dd.apm.peer.tags").Keys() + + for _, t := range peerTags { + ps := strings.Split(t.Value(), ",") + precursors = append(precursors, ps...) + } + sort.Strings(precursors) + + return precursors +}() + +func preparePeerTags(tags []string) []string { + if len(tags) == 0 { + return nil + } + var deduped []string + seen := make(map[string]struct{}) + for _, t := range tags { + if _, ok := seen[t]; !ok { + seen[t] = struct{}{} + deduped = append(deduped, t) + } + } + sort.Strings(deduped) + return deduped +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/config/peer_tags.ini b/vendor/github.com/DataDog/datadog-agent/pkg/trace/config/peer_tags.ini new file mode 100644 index 00000000..34badd12 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/config/peer_tags.ini @@ -0,0 +1,18 @@ +# Generated - DO NOT EDIT +# Source: https://github.com/DataDog/semantic-core/ +[dd.apm.peer.tags] +peer.aws.dynamodb.table = "tablename" +peer.aws.kinesis.stream = "streamname" +peer.aws.s3.bucket = "bucketname,aws.s3.bucket" +peer.aws.sqs.queue = "queuename" +peer.cassandra.contact.points = "db.cassandra.contact.points" +peer.couchbase.seed.nodes = "db.couchbase.seed.nodes" +peer.db.name = "db.name,mongodb.db,db.instance,cassandra.keyspace,db.namespace" +peer.db.system = "db.system" +peer.hostname = "peer.hostname,hostname,net.peer.name,db.hostname,network.destination.name,grpc.host,http.host,server.address,http.server_name,out.host,dns.hostname" +peer.kafka.bootstrap.servers = "messaging.kafka.bootstrap.servers" +peer.messaging.destination = "topicname,messaging.destination,messaging.destination.name,messaging.rabbitmq.exchange,amqp.destination,amqp.queue,amqp.exchange,msmq.queue.path,aws.queue.name" +peer.messaging.system = "messaging.system" +peer.rpc.service = "rpc.service" +peer.rpc.system = "rpc.system" +peer.service = "peer.service" diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/log/buflogger.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/log/buflogger.go new file mode 100644 index 00000000..90672147 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/log/buflogger.go @@ -0,0 +1,97 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +//go:build test + +package log + +import ( + "bytes" + "fmt" + "sync" +) + +var _ Logger = (*buflogger)(nil) + +// NewBufferLogger creates a new Logger which outputs everything to the given buffer. +// It is synchronised for concurrent use; as such, it is not optimal for use outside +// testing environments. +func NewBufferLogger(out *bytes.Buffer) Logger { + return &buflogger{buf: out} +} + +type buflogger struct { + mu sync.Mutex + buf *bytes.Buffer +} + +func (b *buflogger) logWithLevel(lvl string, msg string) { + b.mu.Lock() + defer b.mu.Unlock() + b.buf.WriteString(fmt.Sprintf("[%s] %s", lvl, msg)) +} + +// Trace implements Logger. +func (b *buflogger) Trace(v ...interface{}) { b.logWithLevel("TRACE", fmt.Sprint(v...)) } + +// Tracef implements Logger. +func (b *buflogger) Tracef(format string, params ...interface{}) { + b.logWithLevel("TRACE", fmt.Sprintf(format, params...)) +} + +// Debug implements Logger. +func (b *buflogger) Debug(v ...interface{}) { b.logWithLevel("DEBUG", fmt.Sprint(v...)) } + +// Debugf implements Logger. +func (b *buflogger) Debugf(format string, params ...interface{}) { + b.logWithLevel("DEBUG", fmt.Sprintf(format, params...)) +} + +// Info implements Logger. +func (b *buflogger) Info(v ...interface{}) { b.logWithLevel("INFO", fmt.Sprint(v...)) } + +// Infof implements Logger. +func (b *buflogger) Infof(format string, params ...interface{}) { + b.logWithLevel("INFO", fmt.Sprintf(format, params...)) +} + +// Warn implements Logger. +func (b *buflogger) Warn(v ...interface{}) error { + b.logWithLevel("WARN", fmt.Sprint(v...)) + return nil +} + +// Warnf implements Logger. +func (b *buflogger) Warnf(format string, params ...interface{}) error { + b.logWithLevel("WARN", fmt.Sprintf(format, params...)) + return nil +} + +// Error implements Logger. +func (b *buflogger) Error(v ...interface{}) error { + b.logWithLevel("ERROR", fmt.Sprint(v...)) + return nil +} + +// Errorf implements Logger. +func (b *buflogger) Errorf(format string, params ...interface{}) error { + b.logWithLevel("ERROR", fmt.Sprintf(format, params...)) + return nil +} + +// Critical implements Logger. +func (b *buflogger) Critical(v ...interface{}) error { + b.logWithLevel("CRITICAL", fmt.Sprint(v...)) + return nil +} + +// Criticalf implements Logger. +func (b *buflogger) Criticalf(format string, params ...interface{}) error { + b.logWithLevel("CRITICAL", fmt.Sprintf(format, params...)) + return nil +} + +// Flush implements Logger. +func (b *buflogger) Flush() {} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/log/logger.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/log/logger.go new file mode 100644 index 00000000..552eeaa0 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/log/logger.go @@ -0,0 +1,196 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +// Package log implements the trace-agent logger. +package log + +import ( + "sync" +) + +var ( + mu sync.RWMutex + logger Logger = NoopLogger +) + +// SetLogger sets l as the default Logger and returns the old logger. +func SetLogger(l Logger) Logger { + mu.Lock() + oldlogger := logger + logger = l + mu.Unlock() + return oldlogger +} + +// IsSet returns whether the logger has been set up. +func IsSet() bool { + mu.Lock() + defer mu.Unlock() + return logger != NoopLogger +} + +// Logger implements the core logger interface. +type Logger interface { + Trace(v ...interface{}) + Tracef(format string, params ...interface{}) + Debug(v ...interface{}) + Debugf(format string, params ...interface{}) + Info(v ...interface{}) + Infof(format string, params ...interface{}) + Warn(v ...interface{}) error + Warnf(format string, params ...interface{}) error + Error(v ...interface{}) error + Errorf(format string, params ...interface{}) error + Critical(v ...interface{}) error + Criticalf(format string, params ...interface{}) error + Flush() +} + +// Trace formats message using the default formats for its operands +// and writes to log with level = Trace +func Trace(v ...interface{}) { + mu.RLock() + logger.Trace(v...) + mu.RUnlock() +} + +// Tracef formats message according to format specifier +// and writes to log with level = Trace. +func Tracef(format string, params ...interface{}) { + mu.RLock() + logger.Tracef(format, params...) + mu.RUnlock() +} + +// Debug formats message using the default formats for its operands +// and writes to log with level = Debug +func Debug(v ...interface{}) { + mu.RLock() + logger.Debug(v...) + mu.RUnlock() +} + +// Debugf formats message according to format specifier +// and writes to log with level = Debug. +func Debugf(format string, params ...interface{}) { + mu.RLock() + logger.Debugf(format, params...) + mu.RUnlock() +} + +// Info formats message using the default formats for its operands +// and writes to log with level = Info +func Info(v ...interface{}) { + mu.RLock() + logger.Info(v...) + mu.RUnlock() +} + +// Infof formats message according to format specifier +// and writes to log with level = Info. +func Infof(format string, params ...interface{}) { + mu.RLock() + logger.Infof(format, params...) + mu.RUnlock() +} + +// Warn formats message using the default formats for its operands +// and writes to log with level = Warn +func Warn(v ...interface{}) { + mu.RLock() + logger.Warn(v...) //nolint:errcheck + mu.RUnlock() +} + +// Warnf formats message according to format specifier +// and writes to log with level = Warn. +func Warnf(format string, params ...interface{}) { + mu.RLock() + logger.Warnf(format, params...) //nolint:errcheck + mu.RUnlock() +} + +// Error formats message using the default formats for its operands +// and writes to log with level = Error +func Error(v ...interface{}) { + mu.RLock() + logger.Error(v...) //nolint:errcheck + mu.RUnlock() +} + +// Errorf formats message according to format specifier +// and writes to log with level = Error. +func Errorf(format string, params ...interface{}) { + mu.RLock() + logger.Errorf(format, params...) //nolint:errcheck + mu.RUnlock() +} + +// Critical formats message using the default formats for its operands +// and writes to log with level = Critical +func Critical(v ...interface{}) { + mu.RLock() + logger.Critical(v...) //nolint:errcheck + mu.RUnlock() +} + +// Criticalf formats message according to format specifier +// and writes to log with level = Critical. +func Criticalf(format string, params ...interface{}) { + mu.RLock() + logger.Criticalf(format, params...) //nolint:errcheck + mu.RUnlock() +} + +// Flush flushes all the messages in the logger. +func Flush() { + mu.RLock() + logger.Flush() + mu.RUnlock() +} + +// NoopLogger is a logger which has no effect upon calling. +var NoopLogger = noopLogger{} + +type noopLogger struct{} + +// Trace implements Logger. +func (noopLogger) Trace(_ ...interface{}) {} + +// Tracef implements Logger. +func (noopLogger) Tracef(_ string, _ ...interface{}) {} + +// Debug implements Logger. +func (noopLogger) Debug(_ ...interface{}) {} + +// Debugf implements Logger. +func (noopLogger) Debugf(_ string, _ ...interface{}) {} + +// Info implements Logger. +func (noopLogger) Info(_ ...interface{}) {} + +// Infof implements Logger. +func (noopLogger) Infof(_ string, _ ...interface{}) {} + +// Warn implements Logger. +func (noopLogger) Warn(_ ...interface{}) error { return nil } + +// Warnf implements Logger. +func (noopLogger) Warnf(_ string, _ ...interface{}) error { return nil } + +// Error implements Logger. +func (noopLogger) Error(_ ...interface{}) error { return nil } + +// Errorf implements Logger. +func (noopLogger) Errorf(_ string, _ ...interface{}) error { return nil } + +// Critical implements Logger. +func (noopLogger) Critical(_ ...interface{}) error { return nil } + +// Criticalf implements Logger. +func (noopLogger) Criticalf(_ string, _ ...interface{}) error { return nil } + +// Flush implements Logger. +func (noopLogger) Flush() {} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/log/throttled.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/log/throttled.go new file mode 100644 index 00000000..3b81cee4 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/log/throttled.go @@ -0,0 +1,63 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package log + +import ( + "time" + + "go.uber.org/atomic" +) + +// NewThrottled returns a new throttled logger. The returned logger will allow up to n calls in +// a time period of length d. +func NewThrottled(n int, d time.Duration) *ThrottledLogger { + return &ThrottledLogger{ + n: uint64(n), + c: atomic.NewUint64(0), + d: d, + } +} + +// ThrottledLogger limits the number of log calls during a time window. To create a new logger +// use NewThrottled. +type ThrottledLogger struct { + n uint64 // number of log calls allowed during interval d + c *atomic.Uint64 // number of log calls performed during an interval d + d time.Duration +} + +type loggerFunc func(format string, params ...interface{}) + +func (tl *ThrottledLogger) log(logFunc loggerFunc, format string, params ...interface{}) { + c := tl.c.Inc() - 1 + if c == 0 { + // first call, trigger the reset + time.AfterFunc(tl.d, func() { tl.c.Store(0) }) + } + if c >= tl.n { + if c == tl.n { + logFunc("Too many similar messages, pausing up to %s...", tl.d) + } + return + } + logFunc(format, params...) +} + +// Error logs the message at the error level. +func (tl *ThrottledLogger) Error(format string, params ...interface{}) { + tl.log(Errorf, format, params...) +} + +// Warn logs the message at the warning level. +func (tl *ThrottledLogger) Warn(format string, params ...interface{}) { + tl.log(Warnf, format, params...) +} + +// Write implements io.Writer. +func (tl *ThrottledLogger) Write(p []byte) (n int, err error) { + tl.Error(string(p)) + return len(p), nil +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/aggregation.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/aggregation.go new file mode 100644 index 00000000..fcaf5017 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/aggregation.go @@ -0,0 +1,130 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +// Package stats contains the logic to process APM stats. +package stats + +import ( + "hash/fnv" + "sort" + "strconv" + "strings" + + pb "github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace" + "github.com/DataDog/datadog-agent/pkg/trace/log" +) + +const ( + tagStatusCode = "http.status_code" + tagSynthetics = "synthetics" + tagSpanKind = "span.kind" + tagBaseService = "_dd.base_service" +) + +// Aggregation contains all the dimension on which we aggregate statistics. +type Aggregation struct { + BucketsAggregationKey + PayloadAggregationKey +} + +// BucketsAggregationKey specifies the key by which a bucket is aggregated. +type BucketsAggregationKey struct { + Service string + Name string + Resource string + Type string + SpanKind string + StatusCode uint32 + Synthetics bool + PeerTagsHash uint64 + IsTraceRoot pb.Trilean +} + +// PayloadAggregationKey specifies the key by which a payload is aggregated. +type PayloadAggregationKey struct { + Env string + Hostname string + Version string + ContainerID string + GitCommitSha string + ImageTag string +} + +func getStatusCode(meta map[string]string, metrics map[string]float64) uint32 { + code, ok := metrics[tagStatusCode] + if ok { + // only 7.39.0+, for lesser versions, always use Meta + return uint32(code) + } + strC := meta[tagStatusCode] + if strC == "" { + return 0 + } + c, err := strconv.ParseUint(strC, 10, 32) + if err != nil { + log.Debugf("Invalid status code %s. Using 0.", strC) + return 0 + } + return uint32(c) +} + +// NewAggregationFromSpan creates a new aggregation from the provided span and env +func NewAggregationFromSpan(s *StatSpan, origin string, aggKey PayloadAggregationKey) Aggregation { + synthetics := strings.HasPrefix(origin, tagSynthetics) + var isTraceRoot pb.Trilean + if s.parentID == 0 { + isTraceRoot = pb.Trilean_TRUE + } else { + isTraceRoot = pb.Trilean_FALSE + } + agg := Aggregation{ + PayloadAggregationKey: aggKey, + BucketsAggregationKey: BucketsAggregationKey{ + Resource: s.resource, + Service: s.service, + Name: s.name, + SpanKind: s.spanKind, + Type: s.typ, + StatusCode: s.statusCode, + Synthetics: synthetics, + IsTraceRoot: isTraceRoot, + PeerTagsHash: peerTagsHash(s.matchingPeerTags), + }, + } + return agg +} + +func peerTagsHash(tags []string) uint64 { + if len(tags) == 0 { + return 0 + } + if !sort.StringsAreSorted(tags) { + sort.Strings(tags) + } + h := fnv.New64a() + for i, t := range tags { + if i > 0 { + h.Write([]byte{0}) + } + h.Write([]byte(t)) + } + return h.Sum64() +} + +// NewAggregationFromGroup gets the Aggregation key of grouped stats. +func NewAggregationFromGroup(g *pb.ClientGroupedStats) Aggregation { + return Aggregation{ + BucketsAggregationKey: BucketsAggregationKey{ + Resource: g.Resource, + Service: g.Service, + Name: g.Name, + SpanKind: g.SpanKind, + StatusCode: g.HTTPStatusCode, + Synthetics: g.Synthetics, + PeerTagsHash: peerTagsHash(g.PeerTags), + IsTraceRoot: g.IsTraceRoot, + }, + } +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/client_stats_aggregator.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/client_stats_aggregator.go new file mode 100644 index 00000000..0c3e8fef --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/client_stats_aggregator.go @@ -0,0 +1,438 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package stats + +import ( + "time" + + "github.com/DataDog/datadog-agent/pkg/trace/version" + "github.com/DataDog/sketches-go/ddsketch" + "github.com/DataDog/sketches-go/ddsketch/mapping" + "github.com/DataDog/sketches-go/ddsketch/pb/sketchpb" + "github.com/DataDog/sketches-go/ddsketch/store" + + pb "github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace" + "github.com/DataDog/datadog-agent/pkg/trace/config" + "github.com/DataDog/datadog-agent/pkg/trace/log" + "github.com/DataDog/datadog-agent/pkg/trace/watchdog" + + "github.com/DataDog/datadog-go/v5/statsd" + + "google.golang.org/protobuf/proto" +) + +const ( + bucketDuration = 2 * time.Second + clientBucketDuration = 10 * time.Second + oldestBucketStart = 20 * time.Second +) + +var ( + ddsketchMapping, _ = mapping.NewLogarithmicMapping(relativeAccuracy) +) + +// ClientStatsAggregator aggregates client stats payloads on buckets of bucketDuration +// If a single payload is received on a bucket, this Aggregator is a passthrough. +// If two or more payloads collide, their counts will be aggregated into one bucket. +// Multiple payloads will be sent: +// - Original payloads with their distributions will be sent with counts zeroed. +// - A single payload with the bucket aggregated counts will be sent. +// This and the aggregator timestamp alignment ensure that all counts will have at most one point per second per agent for a specific granularity. +// While distributions are not tied to the agent. +type ClientStatsAggregator struct { + In chan *pb.ClientStatsPayload + writer Writer + buckets map[int64]*bucket // buckets used to aggregate client stats + conf *config.AgentConfig + + flushTicker *time.Ticker + oldestTs time.Time + agentEnv string + agentHostname string + agentVersion string + + exit chan struct{} + done chan struct{} + + statsd statsd.ClientInterface +} + +// NewClientStatsAggregator initializes a new aggregator ready to be started +func NewClientStatsAggregator(conf *config.AgentConfig, writer Writer, statsd statsd.ClientInterface) *ClientStatsAggregator { + c := &ClientStatsAggregator{ + flushTicker: time.NewTicker(time.Second), + In: make(chan *pb.ClientStatsPayload, 10), + buckets: make(map[int64]*bucket, 20), + conf: conf, + writer: writer, + agentEnv: conf.DefaultEnv, + agentHostname: conf.Hostname, + agentVersion: conf.AgentVersion, + oldestTs: alignAggTs(time.Now().Add(bucketDuration - oldestBucketStart)), + exit: make(chan struct{}), + done: make(chan struct{}), + statsd: statsd, + } + return c +} + +// Start starts the aggregator. +func (a *ClientStatsAggregator) Start() { + go func() { + defer watchdog.LogOnPanic(a.statsd) + for { + select { + case t := <-a.flushTicker.C: + a.flushOnTime(t) + case input := <-a.In: + a.add(time.Now(), input) + case <-a.exit: + a.flushAll() + close(a.done) + return + } + } + }() +} + +// Stop stops the aggregator. Calling Stop twice will panic. +func (a *ClientStatsAggregator) Stop() { + close(a.exit) + a.flushTicker.Stop() + <-a.done +} + +// flushOnTime flushes all buckets up to flushTs, except the last one. +func (a *ClientStatsAggregator) flushOnTime(now time.Time) { + flushTs := alignAggTs(now.Add(bucketDuration - oldestBucketStart)) + for t := a.oldestTs; t.Before(flushTs); t = t.Add(bucketDuration) { + if b, ok := a.buckets[t.Unix()]; ok { + a.flush(b.aggregationToPayloads()) + delete(a.buckets, t.Unix()) + } + } + a.oldestTs = flushTs +} + +func (a *ClientStatsAggregator) flushAll() { + for _, b := range a.buckets { + a.flush(b.aggregationToPayloads()) + } +} + +// getAggregationBucketTime returns unix time at which we aggregate the bucket. +// We timeshift payloads older than a.oldestTs to a.oldestTs. +// Payloads in the future are timeshifted to the latest bucket. +func (a *ClientStatsAggregator) getAggregationBucketTime(now, bs time.Time) time.Time { + if bs.Before(a.oldestTs) { + return a.oldestTs + } + if bs.After(now) { + return alignAggTs(now) + } + return alignAggTs(bs) +} + +// add takes a new ClientStatsPayload and aggregates its stats in the internal buckets. +func (a *ClientStatsAggregator) add(now time.Time, p *pb.ClientStatsPayload) { + // populate container tags data on the payload + a.setVersionDataFromContainerTags(p) + // compute the PayloadAggregationKey, common for all buckets within the payload + payloadAggKey := newPayloadAggregationKey(p.Env, p.Hostname, p.Version, p.ContainerID, p.GitCommitSha, p.ImageTag) + + for _, clientBucket := range p.Stats { + clientBucketStart := time.Unix(0, int64(clientBucket.Start)) + ts := a.getAggregationBucketTime(now, clientBucketStart) + b, ok := a.buckets[ts.Unix()] + if !ok { + b = &bucket{ + ts: ts, + agg: make(map[PayloadAggregationKey]map[BucketsAggregationKey]*aggregatedStats), + } + a.buckets[ts.Unix()] = b + } + b.aggregateStatsBucket(clientBucket, payloadAggKey) + } +} + +func (a *ClientStatsAggregator) flush(p []*pb.ClientStatsPayload) { + if len(p) == 0 { + return + } + + a.writer.Write(&pb.StatsPayload{ + Stats: p, + AgentEnv: a.agentEnv, + AgentHostname: a.agentHostname, + AgentVersion: a.agentVersion, + ClientComputed: true, + }) +} + +func (a *ClientStatsAggregator) setVersionDataFromContainerTags(p *pb.ClientStatsPayload) { + // No need to go any further if we already have the information in the payload. + if p.ImageTag != "" && p.GitCommitSha != "" { + return + } + if p.ContainerID != "" { + gitCommitSha, imageTag, err := version.GetVersionDataFromContainerTags(p.ContainerID, a.conf) + if err != nil { + log.Error("Client stats aggregator is unable to resolve container ID (%s) to container tags: %v", p.ContainerID, err) + } else { + // Only override if the payload's original values were empty strings. + if p.ImageTag == "" { + p.ImageTag = imageTag + } + if p.GitCommitSha == "" { + p.GitCommitSha = gitCommitSha + } + } + } +} + +// alignAggTs aligns time to the aggregator timestamps. +// Timestamps from the aggregator are never aligned with concentrator timestamps. +// This ensures that all counts sent by a same agent host are never on the same second. +// aggregator timestamps: 2ks+1s (1s, 3s, 5s, 7s, 9s, 11s) +// concentrator timestamps: 10ks (0s, 10s, 20s ..) +func alignAggTs(t time.Time) time.Time { + return t.Truncate(bucketDuration).Add(time.Second) +} + +type bucket struct { + // ts is the timestamp attached to the payload + ts time.Time + // agg contains the aggregated Hits/Errors/Duration counts + agg map[PayloadAggregationKey]map[BucketsAggregationKey]*aggregatedStats +} + +// aggregateStatsBucket takes a ClientStatsBucket and a PayloadAggregationKey, and aggregates all counts +// and distributions from the ClientGroupedStats inside the bucket. +func (b *bucket) aggregateStatsBucket(sb *pb.ClientStatsBucket, payloadAggKey PayloadAggregationKey) { + payloadAgg, ok := b.agg[payloadAggKey] + if !ok { + payloadAgg = make(map[BucketsAggregationKey]*aggregatedStats, len(sb.Stats)) + b.agg[payloadAggKey] = payloadAgg + } + for _, gs := range sb.Stats { + if gs == nil { + continue + } + aggKey := newBucketAggregationKey(gs) + agg, ok := payloadAgg[aggKey] + if !ok { + agg = &aggregatedStats{ + hits: gs.Hits, + topLevelHits: gs.TopLevelHits, + errors: gs.Errors, + duration: gs.Duration, + peerTags: gs.PeerTags, + okDistributionRaw: gs.OkSummary, // store encoded version only + errDistributionRaw: gs.ErrorSummary, // store encoded version only + } + payloadAgg[aggKey] = agg + continue + } + + // aggregate counts + agg.hits += gs.Hits + agg.topLevelHits += gs.TopLevelHits + agg.errors += gs.Errors + agg.duration += gs.Duration + + // Decode, if needed, the raw ddsketches from the first payload that reached the bucket + if agg.okDistributionRaw != nil { + sketch, err := decodeSketch(agg.okDistributionRaw) + if err != nil { + log.Error("Unable to decode OK distribution ddsketch: %v", err) + } else { + agg.okDistribution = normalizeSketch(sketch) + } + agg.okDistributionRaw = nil + } + if agg.errDistributionRaw != nil { + sketch, err := decodeSketch(agg.errDistributionRaw) + if err != nil { + log.Error("Unable to decode Error distribution ddsketch: %v", err) + } else { + agg.errDistribution = normalizeSketch(sketch) + } + agg.errDistributionRaw = nil + } + + // aggregate distributions + if sketch, err := mergeSketch(agg.okDistribution, gs.OkSummary); err == nil { + agg.okDistribution = sketch + } else { + log.Error("Unable to merge OK distribution ddsketch: %v", err) + } + + if sketch, err := mergeSketch(agg.errDistribution, gs.ErrorSummary); err == nil { + agg.errDistribution = sketch + } else { + log.Error("Unable to merge Error distribution ddsketch: %v", err) + } + } +} + +// aggregationToPayloads converts the contents of the bucket into ClientStatsPayloads +func (b *bucket) aggregationToPayloads() []*pb.ClientStatsPayload { + res := make([]*pb.ClientStatsPayload, 0, len(b.agg)) + for payloadKey, aggrStats := range b.agg { + groupedStats := make([]*pb.ClientGroupedStats, 0, len(aggrStats)) + for aggrKey, stats := range aggrStats { + gs, err := exporGroupedStats(aggrKey, stats) + if err != nil { + log.Errorf("Dropping stats bucket due to encoding error: %v.", err) + continue + } + groupedStats = append(groupedStats, gs) + } + clientBuckets := []*pb.ClientStatsBucket{ + { + Start: uint64(b.ts.UnixNano()), + Duration: uint64(clientBucketDuration.Nanoseconds()), + Stats: groupedStats, + }} + res = append(res, &pb.ClientStatsPayload{ + Hostname: payloadKey.Hostname, + Env: payloadKey.Env, + Version: payloadKey.Version, + ImageTag: payloadKey.ImageTag, + GitCommitSha: payloadKey.GitCommitSha, + Stats: clientBuckets, + }) + } + return res +} + +func exporGroupedStats(aggrKey BucketsAggregationKey, stats *aggregatedStats) (*pb.ClientGroupedStats, error) { + // if the raw sketches are still present (only one payload received), we use them directly. + // Otherwise the aggregated DDSketches are serialized. + okSummary := stats.okDistributionRaw + errSummary := stats.errDistributionRaw + + var err error + if stats.okDistribution != nil { + msg := stats.okDistribution.ToProto() + okSummary, err = proto.Marshal(msg) + if err != nil { + return &pb.ClientGroupedStats{}, err + } + } + if stats.errDistribution != nil { + msg := stats.errDistribution.ToProto() + errSummary, err = proto.Marshal(msg) + if err != nil { + return &pb.ClientGroupedStats{}, err + } + } + return &pb.ClientGroupedStats{ + Service: aggrKey.Service, + Name: aggrKey.Name, + SpanKind: aggrKey.SpanKind, + Resource: aggrKey.Resource, + HTTPStatusCode: aggrKey.StatusCode, + Type: aggrKey.Type, + Synthetics: aggrKey.Synthetics, + IsTraceRoot: aggrKey.IsTraceRoot, + PeerTags: stats.peerTags, + TopLevelHits: stats.topLevelHits, + Hits: stats.hits, + Errors: stats.errors, + Duration: stats.duration, + OkSummary: okSummary, + ErrorSummary: errSummary, + }, nil +} + +func newPayloadAggregationKey(env, hostname, version, cid string, gitCommitSha string, imageTag string) PayloadAggregationKey { + return PayloadAggregationKey{ + Env: env, + Hostname: hostname, + Version: version, + ContainerID: cid, + GitCommitSha: gitCommitSha, + ImageTag: imageTag, + } +} + +func newBucketAggregationKey(b *pb.ClientGroupedStats) BucketsAggregationKey { + k := BucketsAggregationKey{ + Service: b.Service, + Name: b.Name, + SpanKind: b.SpanKind, + Resource: b.Resource, + Type: b.Type, + Synthetics: b.Synthetics, + StatusCode: b.HTTPStatusCode, + IsTraceRoot: b.IsTraceRoot, + } + if tags := b.GetPeerTags(); len(tags) > 0 { + k.PeerTagsHash = peerTagsHash(tags) + } + return k +} + +// aggregatedStats holds aggregated counts and distributions +type aggregatedStats struct { + // aggregated counts + hits, topLevelHits, errors, duration uint64 + peerTags []string + + // aggregated DDSketches + okDistribution, errDistribution *ddsketch.DDSketch + + // raw (encoded) DDSketches. Only present if a single payload is received on the active bucket, + // allowing the bucket to not decode the sketch. If a second payload matches the bucket, + // sketches will be decoded and stored in the okDistribution and errDistribution fields. + okDistributionRaw, errDistributionRaw []byte +} + +// mergeSketch take an existing DDSketch, and merges a second one, decoding its contents +func mergeSketch(s1 *ddsketch.DDSketch, raw []byte) (*ddsketch.DDSketch, error) { + if raw == nil { + return s1, nil + } + + s2, err := decodeSketch(raw) + if err != nil { + return s1, err + } + s2 = normalizeSketch(s2) + + if s1 == nil { + return s2, nil + } + + if err = s1.MergeWith(s2); err != nil { + return nil, err + } + return s1, nil +} + +func normalizeSketch(s *ddsketch.DDSketch) *ddsketch.DDSketch { + if s.IndexMapping.Equals(ddsketchMapping) { + // already normalized + return s + } + + return s.ChangeMapping(ddsketchMapping, store.NewCollapsingLowestDenseStore(maxNumBins), store.NewCollapsingLowestDenseStore(maxNumBins), 1) +} + +func decodeSketch(data []byte) (*ddsketch.DDSketch, error) { + if len(data) == 0 { + return nil, nil + } + + var sketch sketchpb.DDSketch + err := proto.Unmarshal(data, &sketch) + if err != nil { + return nil, err + } + + return ddsketch.FromProto(&sketch) +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/concentrator.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/concentrator.go new file mode 100644 index 00000000..1cb5a7b3 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/concentrator.go @@ -0,0 +1,182 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package stats + +import ( + "sync" + "time" + + pb "github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace" + "github.com/DataDog/datadog-agent/pkg/trace/config" + "github.com/DataDog/datadog-agent/pkg/trace/log" + "github.com/DataDog/datadog-agent/pkg/trace/traceutil" + "github.com/DataDog/datadog-agent/pkg/trace/watchdog" + + "github.com/DataDog/datadog-go/v5/statsd" +) + +// defaultBufferLen represents the default buffer length; the number of bucket size +// units used by the concentrator. +const defaultBufferLen = 2 + +// Writer is an interface for something that can Write Stats Payloads +type Writer interface { + // Write this payload + Write(*pb.StatsPayload) +} + +// Concentrator produces time bucketed statistics from a stream of raw traces. +// https://en.wikipedia.org/wiki/Knelson_concentrator +// Gets an imperial shitton of traces, and outputs pre-computed data structures +// allowing to find the gold (stats) amongst the traces. +type Concentrator struct { + Writer Writer + + spanConcentrator *SpanConcentrator + // bucket duration in nanoseconds + bsize int64 + exit chan struct{} + exitWG sync.WaitGroup + agentEnv string + agentHostname string + agentVersion string + statsd statsd.ClientInterface + peerTagKeys []string +} + +// NewConcentrator initializes a new concentrator ready to be started +func NewConcentrator(conf *config.AgentConfig, writer Writer, now time.Time, statsd statsd.ClientInterface) *Concentrator { + bsize := conf.BucketInterval.Nanoseconds() + sc := NewSpanConcentrator(&SpanConcentratorConfig{ + ComputeStatsBySpanKind: conf.ComputeStatsBySpanKind, + BucketInterval: bsize, + }, now) + c := Concentrator{ + spanConcentrator: sc, + Writer: writer, + exit: make(chan struct{}), + agentEnv: conf.DefaultEnv, + agentHostname: conf.Hostname, + agentVersion: conf.AgentVersion, + statsd: statsd, + bsize: bsize, + peerTagKeys: conf.ConfiguredPeerTags(), + } + return &c +} + +// Start starts the concentrator. +func (c *Concentrator) Start() { + c.exitWG.Add(1) + go func() { + defer watchdog.LogOnPanic(c.statsd) + defer c.exitWG.Done() + c.Run() + }() +} + +// Run runs the main loop of the concentrator goroutine. Traces are received +// through `Add`, this loop only deals with flushing. +func (c *Concentrator) Run() { + // flush with the same period as stats buckets + flushTicker := time.NewTicker(time.Duration(c.bsize) * time.Nanosecond) + defer flushTicker.Stop() + + log.Debug("Starting concentrator") + + for { + select { + case <-flushTicker.C: + c.Writer.Write(c.Flush(false)) + case <-c.exit: + log.Info("Exiting concentrator, computing remaining stats") + c.Writer.Write(c.Flush(true)) + return + } + } +} + +// Stop stops the main Run loop. +func (c *Concentrator) Stop() { + close(c.exit) + c.exitWG.Wait() +} + +// Input specifies a set of traces originating from a certain payload. +type Input struct { + Traces []traceutil.ProcessedTrace + ContainerID string + ContainerTags []string +} + +// NewStatsInput allocates a stats input for an incoming trace payload +func NewStatsInput(numChunks int, containerID string, clientComputedStats bool, conf *config.AgentConfig) Input { + if clientComputedStats { + return Input{} + } + in := Input{Traces: make([]traceutil.ProcessedTrace, 0, numChunks)} + _, enabledCIDStats := conf.Features["enable_cid_stats"] + _, disabledCIDStats := conf.Features["disable_cid_stats"] + enableContainers := enabledCIDStats || (conf.FargateOrchestrator != config.OrchestratorUnknown) + if enableContainers && !disabledCIDStats { + // only allow the ContainerID stats dimension if we're in a Fargate instance or it's + // been explicitly enabled and it's not prohibited by the disable_cid_stats feature flag. + in.ContainerID = containerID + } + return in +} + +// Add applies the given input to the concentrator. +func (c *Concentrator) Add(t Input) { + for _, trace := range t.Traces { + c.addNow(&trace, t.ContainerID, t.ContainerTags) + } +} + +// addNow adds the given input into the concentrator. +// Callers must guard! +func (c *Concentrator) addNow(pt *traceutil.ProcessedTrace, containerID string, containerTags []string) { + hostname := pt.TracerHostname + if hostname == "" { + hostname = c.agentHostname + } + env := pt.TracerEnv + if env == "" { + env = c.agentEnv + } + weight := weight(pt.Root) + aggKey := PayloadAggregationKey{ + Env: env, + Hostname: hostname, + Version: pt.AppVersion, + ContainerID: containerID, + GitCommitSha: pt.GitCommitSha, + ImageTag: pt.ImageTag, + } + for _, s := range pt.TraceChunk.Spans { + statSpan, ok := c.spanConcentrator.NewStatSpanFromPB(s, c.peerTagKeys) + if ok { + c.spanConcentrator.addSpan(statSpan, aggKey, containerID, containerTags, pt.TraceChunk.Origin, weight) + } + } +} + +// Flush deletes and returns complete statistic buckets. +// The force boolean guarantees flushing all buckets if set to true. +func (c *Concentrator) Flush(force bool) *pb.StatsPayload { + return c.flushNow(time.Now().UnixNano(), force) +} + +func (c *Concentrator) flushNow(now int64, force bool) *pb.StatsPayload { + sb := c.spanConcentrator.Flush(now, force) + return &pb.StatsPayload{Stats: sb, AgentHostname: c.agentHostname, AgentEnv: c.agentEnv, AgentVersion: c.agentVersion} +} + +// alignTs returns the provided timestamp truncated to the bucket size. +// It gives us the start time of the time bucket in which such timestamp falls. +func alignTs(ts int64, bsize int64) int64 { + return ts - ts%bsize +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/otel_util.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/otel_util.go new file mode 100644 index 00000000..1c72b6fa --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/otel_util.go @@ -0,0 +1,149 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package stats + +import ( + "slices" + + "go.opentelemetry.io/collector/pdata/pcommon" + "go.opentelemetry.io/collector/pdata/ptrace" + semconv "go.opentelemetry.io/collector/semconv/v1.17.0" + + pb "github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace" + "github.com/DataDog/datadog-agent/pkg/trace/config" + "github.com/DataDog/datadog-agent/pkg/trace/traceutil" +) + +// chunkKey is used to group TraceChunks +type chunkKey struct { + traceIDUInt64 uint64 + env string + version string + hostname string + cid string +} + +// OTLPTracesToConcentratorInputs converts eligible OTLP spans to Concentrator.Input. +// The converted Inputs only have the minimal number of fields for APM stats calculation and are only meant +// to be used in Concentrator.Add(). Do not use them for other purposes. +func OTLPTracesToConcentratorInputs( + traces ptrace.Traces, + conf *config.AgentConfig, + containerTagKeys []string, + peerTagKeys []string, +) []Input { + spanByID, resByID, scopeByID := traceutil.IndexOTelSpans(traces) + topLevelByKind := conf.HasFeature("enable_otlp_compute_top_level_by_span_kind") + topLevelSpans := traceutil.GetTopLevelOTelSpans(spanByID, resByID, topLevelByKind) + ignoreResNames := make(map[string]struct{}) + for _, resName := range conf.Ignore["resource"] { + ignoreResNames[resName] = struct{}{} + } + chunks := make(map[chunkKey]*pb.TraceChunk) + containerTagsByID := make(map[string][]string) + for spanID, otelspan := range spanByID { + otelres := resByID[spanID] + if _, exists := ignoreResNames[traceutil.GetOTelResource(otelspan, otelres)]; exists { + continue + } + // TODO(songy23): use AttributeDeploymentEnvironmentName once collector version upgrade is unblocked + env := traceutil.GetOTelAttrValInResAndSpanAttrs(otelspan, otelres, true, "deployment.environment.name", semconv.AttributeDeploymentEnvironment) + hostname := traceutil.GetOTelHostname(otelspan, otelres, conf.OTLPReceiver.AttributesTranslator, conf.Hostname) + version := traceutil.GetOTelAttrValInResAndSpanAttrs(otelspan, otelres, true, semconv.AttributeServiceVersion) + cid := traceutil.GetOTelAttrValInResAndSpanAttrs(otelspan, otelres, true, semconv.AttributeContainerID, semconv.AttributeK8SPodUID) + var ctags []string + if cid != "" { + ctags = traceutil.GetOTelContainerTags(otelres.Attributes(), containerTagKeys) + if ctags != nil { + // Make sure container tags are sorted per APM stats intake requirement + if !slices.IsSorted(ctags) { + slices.Sort(ctags) + } + containerTagsByID[cid] = ctags + } + } + ckey := chunkKey{ + traceIDUInt64: traceutil.OTelTraceIDToUint64(otelspan.TraceID()), + env: env, + version: version, + hostname: hostname, + cid: cid, + } + chunk, ok := chunks[ckey] + if !ok { + chunk = &pb.TraceChunk{} + chunks[ckey] = chunk + } + _, isTop := topLevelSpans[spanID] + chunk.Spans = append(chunk.Spans, otelSpanToDDSpan(otelspan, otelres, scopeByID[spanID], isTop, topLevelByKind, conf, peerTagKeys)) + } + + inputs := make([]Input, 0, len(chunks)) + for ckey, chunk := range chunks { + pt := traceutil.ProcessedTrace{ + TraceChunk: chunk, + Root: traceutil.GetRoot(chunk.Spans), + TracerEnv: ckey.env, + AppVersion: ckey.version, + TracerHostname: ckey.hostname, + } + inputs = append(inputs, Input{ + Traces: []traceutil.ProcessedTrace{pt}, + ContainerID: ckey.cid, + ContainerTags: containerTagsByID[ckey.cid], + }) + } + return inputs +} + +// otelSpanToDDSpan converts an OTel span to a DD span. +// The converted DD span only has the minimal number of fields for APM stats calculation and is only meant +// to be used in OTLPTracesToConcentratorInputs. Do not use them for other purposes. +// TODO(OTEL-1726): use the same function here and in pkg/trace/api/otlp.go +func otelSpanToDDSpan( + otelspan ptrace.Span, + otelres pcommon.Resource, + lib pcommon.InstrumentationScope, + isTopLevel, topLevelByKind bool, + conf *config.AgentConfig, + peerTagKeys []string, +) *pb.Span { + ddspan := &pb.Span{ + Service: traceutil.GetOTelService(otelspan, otelres, true), + Name: traceutil.GetOTelOperationName(otelspan, otelres, lib, conf.OTLPReceiver.SpanNameAsResourceName, conf.OTLPReceiver.SpanNameRemappings, true), + Resource: traceutil.GetOTelResource(otelspan, otelres), + TraceID: traceutil.OTelTraceIDToUint64(otelspan.TraceID()), + SpanID: traceutil.OTelSpanIDToUint64(otelspan.SpanID()), + ParentID: traceutil.OTelSpanIDToUint64(otelspan.ParentSpanID()), + Start: int64(otelspan.StartTimestamp()), + Duration: int64(otelspan.EndTimestamp()) - int64(otelspan.StartTimestamp()), + Type: traceutil.GetOTelSpanType(otelspan, otelres), + } + spanKind := otelspan.Kind() + traceutil.SetMeta(ddspan, "span.kind", traceutil.OTelSpanKindName(spanKind)) + code := traceutil.GetOTelStatusCode(otelspan) + if code != 0 { + traceutil.SetMetric(ddspan, tagStatusCode, float64(code)) + } + if otelspan.Status().Code() == ptrace.StatusCodeError { + ddspan.Error = 1 + } + if isTopLevel { + traceutil.SetTopLevel(ddspan, true) + } + if isMeasured := traceutil.GetOTelAttrVal(otelspan.Attributes(), false, "_dd.measured"); isMeasured == "1" { + traceutil.SetMeasured(ddspan, true) + } else if topLevelByKind && (spanKind == ptrace.SpanKindClient || spanKind == ptrace.SpanKindProducer) { + // When enable_otlp_compute_top_level_by_span_kind is true, compute stats for client-side spans + traceutil.SetMeasured(ddspan, true) + } + for _, peerTagKey := range peerTagKeys { + if peerTagVal := traceutil.GetOTelAttrValInResAndSpanAttrs(otelspan, otelres, false, peerTagKey); peerTagVal != "" { + traceutil.SetMeta(ddspan, peerTagKey, peerTagVal) + } + } + return ddspan +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/span_concentrator.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/span_concentrator.go new file mode 100644 index 00000000..e48f937f --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/span_concentrator.go @@ -0,0 +1,253 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package stats + +import ( + "slices" + "strings" + "sync" + "time" + + "github.com/DataDog/datadog-agent/pkg/obfuscate" + pb "github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace" + "github.com/DataDog/datadog-agent/pkg/trace/log" + "github.com/DataDog/datadog-agent/pkg/trace/traceutil" +) + +// SpanConcentratorConfig exposes configuration options for a SpanConcentrator +type SpanConcentratorConfig struct { + // ComputeStatsBySpanKind enables/disables the computing of stats based on a span's `span.kind` field + ComputeStatsBySpanKind bool + // BucketInterval the size of our pre-aggregation per bucket + BucketInterval int64 +} + +// StatSpan holds all the required fields from a span needed to calculate stats +type StatSpan struct { + service string + resource string + name string + typ string + error int32 + parentID uint64 + start int64 + duration int64 + + //Fields below this are derived on creation + + spanKind string + statusCode uint32 + isTopLevel bool + matchingPeerTags []string +} + +func matchingPeerTags(meta map[string]string, peerTagKeys []string) []string { + if len(peerTagKeys) == 0 { + return nil + } + var pt []string + for _, t := range peerTagKeysToAggregateForSpan(meta[tagSpanKind], meta[tagBaseService], peerTagKeys) { + if v, ok := meta[t]; ok && v != "" { + v = obfuscate.QuantizePeerIPAddresses(v) + pt = append(pt, t+":"+v) + } + } + return pt +} + +// peerTagKeysToAggregateForSpan returns the set of peerTagKeys to use for stats aggregation for the given +// span.kind and _dd.base_service +func peerTagKeysToAggregateForSpan(spanKind string, baseService string, peerTagKeys []string) []string { + if len(peerTagKeys) == 0 { + return nil + } + spanKind = strings.ToLower(spanKind) + if (spanKind == "" || spanKind == "internal") && baseService != "" { + // it's a service override on an internal span so it comes from custom instrumentation and does not represent + // a client|producer|consumer span which is talking to a peer entity + // in this case only the base service tag is relevant for stats aggregation + return []string{tagBaseService} + } + if spanKind == "client" || spanKind == "producer" || spanKind == "consumer" { + return peerTagKeys + } + return nil +} + +// SpanConcentrator produces time bucketed statistics from a stream of raw spans. +type SpanConcentrator struct { + computeStatsBySpanKind bool + // bucket duration in nanoseconds + bsize int64 + // Timestamp of the oldest time bucket for which we allow data. + // Any ingested stats older than it get added to this bucket. + oldestTs int64 + // bufferLen is the number of 10s stats bucket we keep in memory before flushing them. + // It means that we can compute stats only for the last `bufferLen * bsize` and that we + // wait such time before flushing the stats. + // This only applies to past buckets. Stats buckets in the future are allowed with no restriction. + bufferLen int + + // mu protects the buckets field + mu sync.Mutex + buckets map[int64]*RawBucket +} + +// NewSpanConcentrator builds a new SpanConcentrator object +func NewSpanConcentrator(cfg *SpanConcentratorConfig, now time.Time) *SpanConcentrator { + sc := &SpanConcentrator{ + computeStatsBySpanKind: cfg.ComputeStatsBySpanKind, + bsize: cfg.BucketInterval, + oldestTs: alignTs(now.UnixNano(), cfg.BucketInterval), + bufferLen: defaultBufferLen, + mu: sync.Mutex{}, + buckets: make(map[int64]*RawBucket), + } + return sc +} + +// NewStatSpanFromPB is a helper version of NewStatSpan that builds a StatSpan from a pb.Span. +func (sc *SpanConcentrator) NewStatSpanFromPB(s *pb.Span, peerTags []string) (statSpan *StatSpan, ok bool) { + return sc.NewStatSpan(s.Service, s.Resource, s.Name, s.Type, s.ParentID, s.Start, s.Duration, s.Error, s.Meta, s.Metrics, peerTags) +} + +// NewStatSpan builds a StatSpan from the required fields for stats calculation +// peerTags is the configured list of peer tags to look for +// returns (nil,false) if the provided fields indicate a span should not have stats calculated +func (sc *SpanConcentrator) NewStatSpan( + service, resource, name string, + typ string, + parentID uint64, + start, duration int64, + error int32, + meta map[string]string, + metrics map[string]float64, + peerTags []string, +) (statSpan *StatSpan, ok bool) { + if meta == nil { + meta = make(map[string]string) + } + if metrics == nil { + metrics = make(map[string]float64) + } + eligibleSpanKind := sc.computeStatsBySpanKind && computeStatsForSpanKind(meta["span.kind"]) + isTopLevel := traceutil.HasTopLevelMetrics(metrics) + if !(isTopLevel || traceutil.IsMeasuredMetrics(metrics) || eligibleSpanKind) { + return nil, false + } + if traceutil.IsPartialSnapshotMetrics(metrics) { + return nil, false + } + return &StatSpan{ + service: service, + resource: resource, + name: name, + typ: typ, + error: error, + parentID: parentID, + start: start, + duration: duration, + spanKind: meta[tagSpanKind], + statusCode: getStatusCode(meta, metrics), + isTopLevel: isTopLevel, + matchingPeerTags: matchingPeerTags(meta, peerTags), + }, true +} + +// computeStatsForSpanKind returns true if the span.kind value makes the span eligible for stats computation. +func computeStatsForSpanKind(kind string) bool { + k := strings.ToLower(kind) + return slices.Contains(KindsComputed, k) +} + +// KindsComputed is the list of span kinds that will have stats computed on them +// when computeStatsByKind is enabled in the concentrator. +var KindsComputed = []string{ + "server", + "consumer", + "client", + "producer", +} + +func (sc *SpanConcentrator) addSpan(s *StatSpan, aggKey PayloadAggregationKey, containerID string, containerTags []string, origin string, weight float64) { + sc.mu.Lock() + defer sc.mu.Unlock() + end := s.start + s.duration + btime := end - end%sc.bsize + + // If too far in the past, count in the oldest-allowed time bucket instead. + if btime < sc.oldestTs { + btime = sc.oldestTs + } + + b, ok := sc.buckets[btime] + if !ok { + b = NewRawBucket(uint64(btime), uint64(sc.bsize)) + if containerID != "" && len(containerTags) > 0 { + b.containerTagsByID[containerID] = containerTags + } + sc.buckets[btime] = b + } + b.HandleSpan(s, weight, origin, aggKey) +} + +// AddSpan to the SpanConcentrator, appending the new data to the appropriate internal bucket. +func (sc *SpanConcentrator) AddSpan(s *StatSpan, aggKey PayloadAggregationKey, containerID string, containerTags []string, origin string) { + sc.addSpan(s, aggKey, containerID, containerTags, origin, 1) +} + +// Flush deletes and returns complete ClientStatsPayloads. +// The force boolean guarantees flushing all buckets if set to true. +func (sc *SpanConcentrator) Flush(now int64, force bool) []*pb.ClientStatsPayload { + m := make(map[PayloadAggregationKey][]*pb.ClientStatsBucket) + containerTagsByID := make(map[string][]string) + + sc.mu.Lock() + for ts, srb := range sc.buckets { + // Always keep `bufferLen` buckets (default is 2: current + previous one). + // This is a trade-off: we accept slightly late traces (clock skew and stuff) + // but we delay flushing by at most `bufferLen` buckets. + // + // This delay might result in not flushing stats payload (data loss) + // if the agent stops while the latest buckets aren't old enough to be flushed. + // The "force" boolean skips the delay and flushes all buckets, typically on agent shutdown. + if !force && ts > now-int64(sc.bufferLen)*sc.bsize { + log.Tracef("Bucket %d is not old enough to be flushed, keeping it", ts) + continue + } + log.Debugf("Flushing bucket %d", ts) + for k, b := range srb.Export() { + m[k] = append(m[k], b) + if ctags, ok := srb.containerTagsByID[k.ContainerID]; ok { + containerTagsByID[k.ContainerID] = ctags + } + } + delete(sc.buckets, ts) + } + // After flushing, update the oldest timestamp allowed to prevent having stats for + // an already-flushed bucket. + newOldestTs := alignTs(now, sc.bsize) - int64(sc.bufferLen-1)*sc.bsize + if newOldestTs > sc.oldestTs { + log.Debugf("Update oldestTs to %d", newOldestTs) + sc.oldestTs = newOldestTs + } + sc.mu.Unlock() + sb := make([]*pb.ClientStatsPayload, 0, len(m)) + for k, s := range m { + p := &pb.ClientStatsPayload{ + Env: k.Env, + Hostname: k.Hostname, + ContainerID: k.ContainerID, + Version: k.Version, + GitCommitSha: k.GitCommitSha, + ImageTag: k.ImageTag, + Stats: s, + Tags: containerTagsByID[k.ContainerID], + } + sb = append(sb, p) + } + return sb +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/statsraw.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/statsraw.go new file mode 100644 index 00000000..a1b97826 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/statsraw.go @@ -0,0 +1,206 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package stats + +import ( + "math" + "math/rand" + + pb "github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace" + "github.com/DataDog/datadog-agent/pkg/trace/log" + + "github.com/golang/protobuf/proto" + + "github.com/DataDog/sketches-go/ddsketch" +) + +const ( + // relativeAccuracy is the value accuracy we have on the percentiles. For example, we can + // say that p99 is 100ms +- 1ms + relativeAccuracy = 0.01 + // maxNumBins is the maximum number of bins of the ddSketch we use to store percentiles. + // It can affect relative accuracy, but in practice, 2048 bins is enough to have 1% relative accuracy from + // 80 micro second to 1 year: http://www.vldb.org/pvldb/vol12/p2195-masson.pdf + maxNumBins = 2048 +) + +// Most "algorithm" stuff here is tested with stats_test.go as what is important +// is that the final data, the one with send after a call to Export(), is correct. + +type groupedStats struct { + // using float64 here to avoid the accumulation of rounding issues. + hits float64 + topLevelHits float64 + errors float64 + duration float64 + okDistribution *ddsketch.DDSketch + errDistribution *ddsketch.DDSketch + peerTags []string +} + +// round a float to an int, uniformly choosing +// between the lower and upper approximations. +func round(f float64) uint64 { + i := uint64(f) + if rand.Float64() < f-float64(i) { + i++ + } + return i +} + +func (s *groupedStats) export(a Aggregation) (*pb.ClientGroupedStats, error) { + msg := s.okDistribution.ToProto() + okSummary, err := proto.Marshal(msg) + if err != nil { + return &pb.ClientGroupedStats{}, err + } + msg = s.errDistribution.ToProto() + errSummary, err := proto.Marshal(msg) + if err != nil { + return &pb.ClientGroupedStats{}, err + } + return &pb.ClientGroupedStats{ + Service: a.Service, + Name: a.Name, + Resource: a.Resource, + HTTPStatusCode: a.StatusCode, + Type: a.Type, + Hits: round(s.hits), + Errors: round(s.errors), + Duration: round(s.duration), + TopLevelHits: round(s.topLevelHits), + OkSummary: okSummary, + ErrorSummary: errSummary, + Synthetics: a.Synthetics, + SpanKind: a.SpanKind, + PeerTags: s.peerTags, + IsTraceRoot: a.IsTraceRoot, + }, nil +} + +func newGroupedStats() *groupedStats { + okSketch, err := ddsketch.LogCollapsingLowestDenseDDSketch(relativeAccuracy, maxNumBins) + if err != nil { + log.Errorf("Error when creating ddsketch: %v", err) + } + errSketch, err := ddsketch.LogCollapsingLowestDenseDDSketch(relativeAccuracy, maxNumBins) + if err != nil { + log.Errorf("Error when creating ddsketch: %v", err) + } + return &groupedStats{ + okDistribution: okSketch, + errDistribution: errSketch, + } +} + +// RawBucket is used to compute span data and aggregate it +// within a time-framed bucket. This should not be used outside +// the agent, use ClientStatsBucket for this. +type RawBucket struct { + // This should really have no public fields. At all. + + start uint64 // timestamp of start in our format + duration uint64 // duration of a bucket in nanoseconds + + // this should really remain private as it's subject to refactoring + data map[Aggregation]*groupedStats + + containerTagsByID map[string][]string // a map from container ID to container tags +} + +// NewRawBucket opens a new calculation bucket for time ts and initializes it properly +func NewRawBucket(ts, d uint64) *RawBucket { + // The only non-initialized value is the Duration which should be set by whoever closes that bucket + return &RawBucket{ + start: ts, + duration: d, + data: make(map[Aggregation]*groupedStats), + containerTagsByID: make(map[string][]string), + } +} + +// Export transforms a RawBucket into a ClientStatsBucket, typically used +// before communicating data to the API, as RawBucket is the internal +// type while ClientStatsBucket is the public, shared one. +func (sb *RawBucket) Export() map[PayloadAggregationKey]*pb.ClientStatsBucket { + m := make(map[PayloadAggregationKey]*pb.ClientStatsBucket) + for k, v := range sb.data { + b, err := v.export(k) + if err != nil { + log.Errorf("Dropping stats bucket due to encoding error: %v.", err) + continue + } + key := PayloadAggregationKey{ + Hostname: k.Hostname, + Version: k.Version, + Env: k.Env, + ContainerID: k.ContainerID, + GitCommitSha: k.GitCommitSha, + ImageTag: k.ImageTag, + } + s, ok := m[key] + if !ok { + s = &pb.ClientStatsBucket{ + Start: sb.start, + Duration: sb.duration, + } + } + s.Stats = append(s.Stats, b) + m[key] = s + } + return m +} + +// HandleSpan adds the span to this bucket stats, aggregated with the finest grain matching given aggregators +func (sb *RawBucket) HandleSpan(s *StatSpan, weight float64, origin string, aggKey PayloadAggregationKey) { + if aggKey.Env == "" { + panic("env should never be empty") + } + aggr := NewAggregationFromSpan(s, origin, aggKey) + sb.add(s, weight, aggr) +} + +func (sb *RawBucket) add(s *StatSpan, weight float64, aggr Aggregation) { + var gs *groupedStats + var ok bool + + if gs, ok = sb.data[aggr]; !ok { + gs = newGroupedStats() + gs.peerTags = s.matchingPeerTags + sb.data[aggr] = gs + } + if s.isTopLevel { + gs.topLevelHits += weight + } + gs.hits += weight + if s.error != 0 { + gs.errors += weight + } + gs.duration += float64(s.duration) * weight + // alter resolution of duration distro + trundur := nsTimestampToFloat(s.duration) + if s.error != 0 { + if err := gs.errDistribution.Add(trundur); err != nil { + log.Debugf("Error adding error distribution stats: %v", err) + } + } else { + if err := gs.okDistribution.Add(trundur); err != nil { + log.Debugf("Error adding distribution stats: %v", err) + } + } +} + +// nsTimestampToFloat converts a nanosec timestamp into a float nanosecond timestamp truncated to a fixed precision +func nsTimestampToFloat(ns int64) float64 { + b := math.Float64bits(float64(ns)) + // IEEE-754 + // the mask include 1 bit sign 11 bits exponent (0xfff) + // then we filter the mantissa to 10bits (0xff8) (9 bits as it has implicit value of 1) + // 10 bits precision (any value will be +/- 1/1024) + // https://en.wikipedia.org/wiki/Double-precision_floating-point_format + b &= 0xfffff80000000000 + return math.Float64frombits(b) +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/weight.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/weight.go new file mode 100644 index 00000000..d28ca5e4 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/stats/weight.go @@ -0,0 +1,24 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package stats + +import pb "github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace" + +// keySamplingRateGlobal is a metric key holding the global sampling rate. +const keySamplingRateGlobal = "_sample_rate" + +// weight returns the weight of the span as defined for sampling, i.e. the +// inverse of the sampling rate. +func weight(s *pb.Span) float64 { + if s == nil { + return 1 + } + sampleRate, ok := s.Metrics[keySamplingRateGlobal] + if !ok || sampleRate <= 0.0 || sampleRate > 1.0 { + return 1 + } + return 1.0 / sampleRate +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/azure.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/azure.go new file mode 100644 index 00000000..111ecc66 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/azure.go @@ -0,0 +1,166 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package traceutil + +import ( + "fmt" + "os" + "runtime" + "strings" +) + +const ( + aasInstanceID = "aas.environment.instance_id" + aasInstanceName = "aas.environment.instance_name" + aasOperatingSystem = "aas.environment.os" + aasRuntime = "aas.environment.runtime" + aasExtensionVersion = "aas.environment.extension_version" + aasFunctionRuntime = "aas.environment.function_runtime" + aasResourceGroup = "aas.resource.group" + aasResourceID = "aas.resource.id" + aasSiteKind = "aas.site.kind" + aasSiteName = "aas.site.name" + aasSiteType = "aas.site.type" + aasSubscriptionID = "aas.subscription.id" + + dotnetFramework = ".NET" + nodeFramework = "Node.js" + javaFramework = "Java" + pythonFramework = "Python" + phpFramework = "PHP" + goFramework = "Go" + containerFramework = "Container" + unknown = "unknown" + + appService = "app" +) + +// GetAppServicesTags returns the env vars pulled from the Azure App Service instance. +// In some cases we will need to add extra tags for function apps. +func GetAppServicesTags() map[string]string { + siteName := os.Getenv("WEBSITE_SITE_NAME") + ownerName := os.Getenv("WEBSITE_OWNER_NAME") + resourceGroup := os.Getenv("WEBSITE_RESOURCE_GROUP") + instanceID := getEnvOrUnknown("WEBSITE_INSTANCE_ID") + computerName := getEnvOrUnknown("COMPUTERNAME") + extensionVersion := os.Getenv("DD_AAS_EXTENSION_VERSION") + + // Windows and linux environments provide the OS differently + // We should grab it from GO's builtin runtime pkg + websiteOS := runtime.GOOS + + currentRuntime := getRuntime(websiteOS) + subscriptionID := parseAzureSubscriptionID(ownerName) + resourceID := compileAzureResourceID(subscriptionID, resourceGroup, siteName) + + tags := map[string]string{ + aasInstanceID: instanceID, + aasInstanceName: computerName, + aasOperatingSystem: websiteOS, + aasRuntime: currentRuntime, + aasResourceGroup: resourceGroup, + aasResourceID: resourceID, + aasSiteKind: appService, + aasSiteName: siteName, + aasSiteType: appService, + aasSubscriptionID: subscriptionID, + } + + // Remove the Java and .NET logic once non-universal extensions are deprecated + if websiteOS == "windows" { + if extensionVersion != "" { + tags[aasExtensionVersion] = extensionVersion + } else if val := os.Getenv("DD_AAS_JAVA_EXTENSION_VERSION"); val != "" { + tags[aasExtensionVersion] = val + } else if val := os.Getenv("DD_AAS_DOTNET_EXTENSION_VERSION"); val != "" { + tags[aasExtensionVersion] = val + } + } + + // Function Apps require a different runtime and kind + if rt, ok := os.LookupEnv("FUNCTIONS_WORKER_RUNTIME"); ok { + tags[aasRuntime] = rt + tags[aasFunctionRuntime] = os.Getenv("FUNCTIONS_EXTENSION_VERSION") + tags[aasSiteKind] = "functionapp" + } + + return tags +} + +func getEnvOrUnknown(env string) string { + if val, ok := os.LookupEnv(env); ok { + return val + } + return unknown +} + +func getRuntime(websiteOS string) (rt string) { + switch websiteOS { + case "windows": + rt = getWindowsRuntime() + case "linux", "darwin": + rt = getLinuxRuntime() + default: + rt = unknown + } + + return rt +} + +func getWindowsRuntime() (rt string) { + if os.Getenv("WEBSITE_STACK") == "JAVA" { + rt = javaFramework + } else if val := os.Getenv("WEBSITE_NODE_DEFAULT_VERSION"); val != "" { + rt = nodeFramework + } else { + // FIXME: Windows AAS only supports Java, Node, and .NET so we can infer this + // Needs to be inferred because no other env vars give us context on the runtime + rt = dotnetFramework + } + + return rt +} + +func getLinuxRuntime() (rt string) { + rt = unknown + + switch os.Getenv("WEBSITE_STACK") { + case "DOCKER": + rt = containerFramework + case "": + if val := os.Getenv("DOCKER_SERVER_VERSION"); val != "" { + rt = containerFramework + } + case "NODE": + rt = nodeFramework + case "PYTHON": + rt = pythonFramework + case "JAVA", "TOMCAT": + rt = javaFramework + case "DOTNETCORE": + rt = dotnetFramework + case "PHP": + rt = phpFramework + } + + return rt +} + +func parseAzureSubscriptionID(subID string) (id string) { + parsedSubID := strings.SplitN(subID, "+", 2) + if len(parsedSubID) > 1 { + id = parsedSubID[0] + } + return +} + +func compileAzureResourceID(subID, resourceGroup, siteName string) (id string) { + if len(subID) > 0 && len(resourceGroup) > 0 && len(siteName) > 0 { + id = fmt.Sprintf("/subscriptions/%s/resourcegroups/%s/providers/microsoft.web/sites/%s", + subID, resourceGroup, siteName) + } + return +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/doc.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/doc.go new file mode 100644 index 00000000..ac2de89f --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/doc.go @@ -0,0 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +// Package traceutil contains functions for extracting and processing traces. It should +// only import payload and nothing else. +package traceutil diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/normalize.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/normalize.go new file mode 100644 index 00000000..78636cbc --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/normalize.go @@ -0,0 +1,356 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package traceutil + +import ( + "errors" + "strings" + "sync" + "unicode" + "unicode/utf8" +) + +const ( + // DefaultSpanName is the default name we assign a span if it's missing and we have no reasonable fallback + DefaultSpanName = "unnamed_operation" + // DefaultServiceName is the default name we assign a service if it's missing and we have no reasonable fallback + DefaultServiceName = "unnamed-service" +) + +const ( + // MaxNameLen the maximum length a name can have + MaxNameLen = 100 + // MaxServiceLen the maximum length a service can have + MaxServiceLen = 100 + // MaxResourceLen the maximum length a resource can have + MaxResourceLen = 5000 +) + +var ( + // ErrEmpty specifies that the passed input was empty. + ErrEmpty = errors.New("empty") + // ErrTooLong signifies that the input was too long. + ErrTooLong = errors.New("too long") + // ErrInvalid signifies that the input was invalid. + ErrInvalid = errors.New("invalid") +) + +// NormalizeName normalizes a span name and returns an error describing the reason +// (if any) why the name was modified. +func NormalizeName(name string) (string, error) { + if name == "" { + return DefaultSpanName, ErrEmpty + } + var err error + if len(name) > MaxNameLen { + name = TruncateUTF8(name, MaxNameLen) + err = ErrTooLong + } + name, ok := normMetricNameParse(name) + if !ok { + return DefaultSpanName, ErrInvalid + } + return name, err +} + +// NormalizeService normalizes a span service and returns an error describing the reason +// (if any) why the name was modified. +func NormalizeService(svc string, lang string) (string, error) { + if svc == "" { + return fallbackService(lang), ErrEmpty + } + var err error + if len(svc) > MaxServiceLen { + svc = TruncateUTF8(svc, MaxServiceLen) + err = ErrTooLong + } + // We are normalizing just the tag value. + s := NormalizeTagValue(svc) + if s == "" { + return fallbackService(lang), ErrInvalid + } + return s, err +} + +// NormalizePeerService normalizes a span's peer.service and returns an error describing the reason +// (if any) why the name was modified. +func NormalizePeerService(svc string) (string, error) { + if svc == "" { + return "", nil + } + var err error + if len(svc) > MaxServiceLen { + svc = TruncateUTF8(svc, MaxServiceLen) + err = ErrTooLong + } + // We are normalizing just the tag value. + s := NormalizeTagValue(svc) + if s == "" { + return "", ErrInvalid + } + return s, err +} + +// fallbackServiceNames is a cache of default service names to use +// when the span's service is unset or invalid. +var fallbackServiceNames sync.Map + +// fallbackService returns the fallback service name for a service +// belonging to language lang. +func fallbackService(lang string) string { + if lang == "" { + return DefaultServiceName + } + if v, ok := fallbackServiceNames.Load(lang); ok { + return v.(string) + } + var str strings.Builder + str.WriteString("unnamed-") + str.WriteString(lang) + str.WriteString("-service") + fallbackServiceNames.Store(lang, str.String()) + return str.String() +} + +const maxTagLength = 200 + +// NormalizeTag applies some normalization to ensure the full tag_key:tag_value string matches the backend requirements. +func NormalizeTag(v string) string { + return normalize(v, true) +} + +// NormalizeTagValue applies some normalization to ensure the tag value matches the backend requirements. +// It should be used for cases where we have just the tag_value as the input (instead of tag_key:tag_value). +func NormalizeTagValue(v string) string { + return normalize(v, false) +} + +func normalize(v string, allowDigitStartChar bool) string { + // Fast path: Check if the tag is valid and only contains ASCII characters, + // if yes return it as-is right away. For most use-cases this reduces CPU usage. + if isNormalizedASCIITag(v, allowDigitStartChar) { + return v + } + // the algorithm works by creating a set of cuts marking start and end offsets in v + // that have to be replaced with underscore (_) + if len(v) == 0 { + return "" + } + var ( + trim int // start character (if trimming) + cuts [][2]int // sections to discard: (start, end) pairs + chars int // number of characters processed + ) + var ( + i int // current byte + r rune // current rune + jump int // tracks how many bytes the for range advances on its next iteration + ) + tag := []byte(v) + for i, r = range v { + jump = utf8.RuneLen(r) // next i will be i+jump + if r == utf8.RuneError { + // On invalid UTF-8, the for range advances only 1 byte (see: https://golang.org/ref/spec#For_range (point 2)). + // However, utf8.RuneError is equivalent to unicode.ReplacementChar so we should rely on utf8.DecodeRune to tell + // us whether this is an actual error or just a unicode.ReplacementChar that was present in the string. + _, width := utf8.DecodeRune(tag[i:]) + jump = width + } + // fast path; all letters (and colons) are ok + switch { + case r >= 'a' && r <= 'z' || r == ':': + chars++ + goto end + case r >= 'A' && r <= 'Z': + // lower-case + tag[i] += 'a' - 'A' + chars++ + goto end + } + if unicode.IsUpper(r) { + // lowercase this character + if low := unicode.ToLower(r); utf8.RuneLen(r) == utf8.RuneLen(low) { + // but only if the width of the lowercased character is the same; + // there are some rare edge-cases where this is not the case, such + // as \u017F (ſ) + utf8.EncodeRune(tag[i:], low) + r = low + } + } + switch { + case unicode.IsLetter(r): + chars++ + // If it's not a unicode letter, and it's the first char, and digits are allowed for the start char, + // we should goto end because the remaining cases are not valid for a start char. + case allowDigitStartChar && chars == 0: + trim = i + jump + goto end + case unicode.IsDigit(r) || r == '.' || r == '/' || r == '-': + chars++ + default: + // illegal character + chars++ + if n := len(cuts); n > 0 && cuts[n-1][1] >= i { + // merge intersecting cuts + cuts[n-1][1] += jump + } else { + // start a new cut + cuts = append(cuts, [2]int{i, i + jump}) + } + } + end: + if i+jump >= 2*maxTagLength { + // bail early if the tag contains a lot of non-letter/digit characters. + // If a tag is test🍣🍣[...]🍣, then it's unlikely to be a properly formatted tag + break + } + if chars >= maxTagLength { + // we've reached the maximum + break + } + } + + tag = tag[trim : i+jump] // trim start and end + if len(cuts) == 0 { + // tag was ok, return it as it is + return string(tag) + } + delta := trim // cut offsets delta + for _, cut := range cuts { + // start and end of cut, including delta from previous cuts: + start, end := cut[0]-delta, cut[1]-delta + + if end >= len(tag) { + // this cut includes the end of the string; discard it + // completely and finish the loop. + tag = tag[:start] + break + } + // replace the beginning of the cut with '_' + tag[start] = '_' + if end-start == 1 { + // nothing to discard + continue + } + // discard remaining characters in the cut + copy(tag[start+1:], tag[end:]) + + // shorten the slice + tag = tag[:len(tag)-(end-start)+1] + + // count the new delta for future cuts + delta += cut[1] - cut[0] - 1 + } + return string(tag) +} + +// This code is borrowed from dd-go metric normalization + +// fast isAlpha for ascii +func isAlpha(b byte) bool { + return (b >= 'a' && b <= 'z') || (b >= 'A' && b <= 'Z') +} + +// fast isAlphaNumeric for ascii +func isAlphaNum(b byte) bool { + return isAlpha(b) || (b >= '0' && b <= '9') +} + +// normMetricNameParse normalizes metric names with a parser instead of using +// garbage-creating string replacement routines. +func normMetricNameParse(name string) (string, bool) { + if name == "" || len(name) > MaxNameLen { + return name, false + } + + var i, ptr int + var resa [MaxNameLen]byte + res := resa[:0] + + // skip non-alphabetic characters + for ; i < len(name) && !isAlpha(name[i]); i++ { + continue + } + + // if there were no alphabetic characters it wasn't valid + if i == len(name) { + return "", false + } + + for ; i < len(name); i++ { + switch { + case isAlphaNum(name[i]): + res = append(res, name[i]) + ptr++ + case name[i] == '.': + // we skipped all non-alpha chars up front so we have seen at least one + switch res[ptr-1] { + // overwrite underscores that happen before periods + case '_': + res[ptr-1] = '.' + default: + res = append(res, '.') + ptr++ + } + default: + // we skipped all non-alpha chars up front so we have seen at least one + switch res[ptr-1] { + // no double underscores, no underscores after periods + case '.', '_': + default: + res = append(res, '_') + ptr++ + } + } + } + + if res[ptr-1] == '_' { + res = res[:ptr-1] + } + + return string(res), true +} + +func isNormalizedASCIITag(tag string, checkValidStartChar bool) bool { + if len(tag) == 0 { + return true + } + if len(tag) > maxTagLength { + return false + } + i := 0 + if checkValidStartChar { + if !isValidASCIIStartChar(tag[0]) { + return false + } + i++ + } + for ; i < len(tag); i++ { + b := tag[i] + // TODO: Attempt to optimize this check using SIMD/vectorization. + if isValidASCIITagChar(b) { + continue + } + if b == '_' { + // an underscore is only okay if followed by a valid non-underscore character + i++ + if i == len(tag) || !isValidASCIITagChar(tag[i]) { + return false + } + } else { + return false + } + } + return true +} + +func isValidASCIIStartChar(c byte) bool { + return ('a' <= c && c <= 'z') || c == ':' +} + +func isValidASCIITagChar(c byte) bool { + return isValidASCIIStartChar(c) || ('0' <= c && c <= '9') || c == '.' || c == '/' || c == '-' +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/otel_util.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/otel_util.go new file mode 100644 index 00000000..1be778af --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/otel_util.go @@ -0,0 +1,329 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package traceutil + +import ( + "context" + "encoding/binary" + "strings" + + "github.com/DataDog/datadog-agent/pkg/trace/log" + "github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes" + "github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes/source" + "go.opentelemetry.io/collector/pdata/pcommon" + "go.opentelemetry.io/collector/pdata/ptrace" + semconv117 "go.opentelemetry.io/collector/semconv/v1.17.0" + semconv "go.opentelemetry.io/collector/semconv/v1.6.1" + "go.opentelemetry.io/otel/attribute" +) + +// Util functions for converting OTel semantics to DD semantics. +// TODO(OTEL-1726): reuse the same mapping code for ReceiveResourceSpans and Concentrator + +var ( + // SignalTypeSet is the OTel attribute set for traces. + SignalTypeSet = attribute.NewSet(attribute.String("signal", "traces")) +) + +// IndexOTelSpans iterates over the input OTel spans and returns 3 maps: +// OTel spans indexed by span ID, OTel resources indexed by span ID, OTel instrumentation scopes indexed by span ID. +// Skips spans with invalid trace ID or span ID. If there are multiple spans with the same (non-zero) span ID, the last one wins. +func IndexOTelSpans(traces ptrace.Traces) (map[pcommon.SpanID]ptrace.Span, map[pcommon.SpanID]pcommon.Resource, map[pcommon.SpanID]pcommon.InstrumentationScope) { + spanByID := make(map[pcommon.SpanID]ptrace.Span) + resByID := make(map[pcommon.SpanID]pcommon.Resource) + scopeByID := make(map[pcommon.SpanID]pcommon.InstrumentationScope) + rspanss := traces.ResourceSpans() + for i := 0; i < rspanss.Len(); i++ { + rspans := rspanss.At(i) + res := rspans.Resource() + for j := 0; j < rspans.ScopeSpans().Len(); j++ { + libspans := rspans.ScopeSpans().At(j) + for k := 0; k < libspans.Spans().Len(); k++ { + span := libspans.Spans().At(k) + if span.TraceID().IsEmpty() || span.SpanID().IsEmpty() { + continue + } + spanByID[span.SpanID()] = span + resByID[span.SpanID()] = res + scopeByID[span.SpanID()] = libspans.Scope() + } + } + } + return spanByID, resByID, scopeByID +} + +// GetTopLevelOTelSpans returns the span IDs of the top level OTel spans. +func GetTopLevelOTelSpans(spanByID map[pcommon.SpanID]ptrace.Span, resByID map[pcommon.SpanID]pcommon.Resource, topLevelByKind bool) map[pcommon.SpanID]struct{} { + topLevelSpans := make(map[pcommon.SpanID]struct{}) + for spanID, span := range spanByID { + if span.ParentSpanID().IsEmpty() { + // case 1: root span + topLevelSpans[spanID] = struct{}{} + continue + } + + if topLevelByKind { + // New behavior for computing top level OTel spans, see computeTopLevelAndMeasured in pkg/trace/api/otlp.go + spanKind := span.Kind() + if spanKind == ptrace.SpanKindServer || spanKind == ptrace.SpanKindConsumer { + // span is a server-side span, mark as top level + topLevelSpans[spanID] = struct{}{} + } + continue + } + + // Otherwise, fall back to old behavior in ComputeTopLevel + parentSpan, ok := spanByID[span.ParentSpanID()] + if !ok { + // case 2: parent span not in the same chunk, presumably it belongs to another service + topLevelSpans[spanID] = struct{}{} + continue + } + + svc := GetOTelService(span, resByID[spanID], true) + parentSvc := GetOTelService(parentSpan, resByID[parentSpan.SpanID()], true) + if svc != parentSvc { + // case 3: parent is not in the same service + topLevelSpans[spanID] = struct{}{} + } + } + return topLevelSpans +} + +// GetOTelAttrVal returns the matched value as a string in the input map with the given keys. +// If there are multiple keys present, the first matched one is returned. +// If normalize is true, normalize the return value with NormalizeTagValue. +func GetOTelAttrVal(attrs pcommon.Map, normalize bool, keys ...string) string { + val := "" + for _, key := range keys { + attrval, exists := attrs.Get(key) + if exists { + val = attrval.AsString() + } + } + + if normalize { + val = NormalizeTagValue(val) + } + + return val +} + +// GetOTelAttrValInResAndSpanAttrs returns the matched value as a string in the OTel resource attributes and span attributes with the given keys. +// If there are multiple keys present, the first matched one is returned. +// If the key is present in both resource attributes and span attributes, resource attributes take precedence. +// If normalize is true, normalize the return value with NormalizeTagValue. +func GetOTelAttrValInResAndSpanAttrs(span ptrace.Span, res pcommon.Resource, normalize bool, keys ...string) string { + if val := GetOTelAttrVal(res.Attributes(), normalize, keys...); val != "" { + return val + } + return GetOTelAttrVal(span.Attributes(), normalize, keys...) +} + +// GetOTelSpanType returns the DD span type based on OTel span kind and attributes. +func GetOTelSpanType(span ptrace.Span, res pcommon.Resource) string { + typ := GetOTelAttrValInResAndSpanAttrs(span, res, false, "span.type") + if typ != "" { + return typ + } + switch span.Kind() { + case ptrace.SpanKindServer: + typ = "web" + case ptrace.SpanKindClient: + db := GetOTelAttrValInResAndSpanAttrs(span, res, true, semconv.AttributeDBSystem) + if db == "redis" || db == "memcached" { + typ = "cache" + } else if db != "" { + typ = "db" + } else { + typ = "http" + } + default: + typ = "custom" + } + return typ +} + +// GetOTelService returns the DD service name based on OTel span and resource attributes. +func GetOTelService(span ptrace.Span, res pcommon.Resource, normalize bool) string { + // No need to normalize with NormalizeTagValue since we will do NormalizeService later + svc := GetOTelAttrValInResAndSpanAttrs(span, res, false, semconv.AttributeServiceName) + if svc == "" { + svc = "otlpresourcenoservicename" + } + if normalize { + newsvc, err := NormalizeService(svc, "") + switch err { + case ErrTooLong: + log.Debugf("Fixing malformed trace. Service is too long (reason:service_truncate), truncating span.service to length=%d: %s", MaxServiceLen, svc) + case ErrInvalid: + log.Debugf("Fixing malformed trace. Service is invalid (reason:service_invalid), replacing invalid span.service=%s with fallback span.service=%s", svc, newsvc) + } + svc = newsvc + } + return svc +} + +// GetOTelResource returns the DD resource name based on OTel span and resource attributes. +func GetOTelResource(span ptrace.Span, res pcommon.Resource) (resName string) { + resName = GetOTelAttrValInResAndSpanAttrs(span, res, false, "resource.name") + if resName == "" { + if m := GetOTelAttrValInResAndSpanAttrs(span, res, false, "http.request.method", semconv.AttributeHTTPMethod); m != "" { + // use the HTTP method + route (if available) + resName = m + if route := GetOTelAttrValInResAndSpanAttrs(span, res, false, semconv.AttributeHTTPRoute); route != "" { + resName = resName + " " + route + } + } else if m := GetOTelAttrValInResAndSpanAttrs(span, res, false, semconv.AttributeMessagingOperation); m != "" { + resName = m + // use the messaging operation + if dest := GetOTelAttrValInResAndSpanAttrs(span, res, false, semconv.AttributeMessagingDestination, semconv117.AttributeMessagingDestinationName); dest != "" { + resName = resName + " " + dest + } + } else if m := GetOTelAttrValInResAndSpanAttrs(span, res, false, semconv.AttributeRPCMethod); m != "" { + resName = m + // use the RPC method + if svc := GetOTelAttrValInResAndSpanAttrs(span, res, false, semconv.AttributeRPCService); m != "" { + // ...and service if available + resName = resName + " " + svc + } + } else { + resName = span.Name() + } + } + if len(resName) > MaxResourceLen { + resName = resName[:MaxResourceLen] + } + return +} + +// GetOTelOperationName returns the DD operation name based on OTel span and resource attributes and given configs. +func GetOTelOperationName( + span ptrace.Span, + res pcommon.Resource, + lib pcommon.InstrumentationScope, + spanNameAsResourceName bool, + spanNameRemappings map[string]string, + normalize bool) string { + // No need to normalize with NormalizeTagValue since we will do NormalizeName later + name := GetOTelAttrValInResAndSpanAttrs(span, res, false, "operation.name") + if name == "" { + if spanNameAsResourceName { + name = span.Name() + } else { + name = strings.ToLower(span.Kind().String()) + if lib.Name() != "" { + name = lib.Name() + "." + name + } else { + name = "opentelemetry." + name + } + } + } + if v, ok := spanNameRemappings[name]; ok { + name = v + } + + if normalize { + normalizeName, err := NormalizeName(name) + switch err { + case ErrEmpty: + log.Debugf("Fixing malformed trace. Name is empty (reason:span_name_empty), setting span.name=%s", normalizeName) + case ErrTooLong: + log.Debugf("Fixing malformed trace. Name is too long (reason:span_name_truncate), truncating span.name to length=%d", MaxServiceLen) + case ErrInvalid: + log.Debugf("Fixing malformed trace. Name is invalid (reason:span_name_invalid), setting span.name=%s", normalizeName) + } + name = normalizeName + } + + return name +} + +// GetOTelHostname returns the DD hostname based on OTel span and resource attributes. +func GetOTelHostname(span ptrace.Span, res pcommon.Resource, tr *attributes.Translator, fallbackHost string) string { + ctx := context.Background() + src, srcok := tr.ResourceToSource(ctx, res, SignalTypeSet) + if !srcok { + if v := GetOTelAttrValInResAndSpanAttrs(span, res, false, "_dd.hostname"); v != "" { + src = source.Source{Kind: source.HostnameKind, Identifier: v} + srcok = true + } + } + if srcok { + switch src.Kind { + case source.HostnameKind: + return src.Identifier + default: + // We are not on a hostname (serverless), hence the hostname is empty + return "" + } + } else { + // fallback hostname from Agent conf.Hostname + return fallbackHost + } +} + +// GetOTelStatusCode returns the DD status code of the OTel span. +func GetOTelStatusCode(span ptrace.Span) uint32 { + if code, ok := span.Attributes().Get("http.response.status_code"); ok { + return uint32(code.Int()) + } + if code, ok := span.Attributes().Get(semconv.AttributeHTTPStatusCode); ok { + return uint32(code.Int()) + } + return 0 +} + +// GetOTelContainerTags returns a list of DD container tags in the OTel resource attributes. +// Tags are always normalized. +func GetOTelContainerTags(rattrs pcommon.Map, tagKeys []string) []string { + var containerTags []string + containerTagsMap := attributes.ContainerTagsFromResourceAttributes(rattrs) + for _, key := range tagKeys { + if mappedKey, ok := attributes.ContainerMappings[key]; ok { + // If the key has a mapping in ContainerMappings, use the mapped key + if val, ok := containerTagsMap[mappedKey]; ok { + t := NormalizeTag(mappedKey + ":" + val) + containerTags = append(containerTags, t) + } + } else { + // Otherwise populate as additional container tags + if val := GetOTelAttrVal(rattrs, false, key); val != "" { + t := NormalizeTag(key + ":" + val) + containerTags = append(containerTags, t) + } + } + } + return containerTags +} + +// OTelTraceIDToUint64 converts an OTel trace ID to an uint64 +func OTelTraceIDToUint64(b [16]byte) uint64 { + return binary.BigEndian.Uint64(b[len(b)-8:]) +} + +// OTelSpanIDToUint64 converts an OTel span ID to an uint64 +func OTelSpanIDToUint64(b [8]byte) uint64 { + return binary.BigEndian.Uint64(b[:]) +} + +var spanKindNames = map[ptrace.SpanKind]string{ + ptrace.SpanKindUnspecified: "unspecified", + ptrace.SpanKindInternal: "internal", + ptrace.SpanKindServer: "server", + ptrace.SpanKindClient: "client", + ptrace.SpanKindProducer: "producer", + ptrace.SpanKindConsumer: "consumer", +} + +// OTelSpanKindName converts the given SpanKind to a valid Datadog span kind name. +func OTelSpanKindName(k ptrace.SpanKind) string { + name, ok := spanKindNames[k] + if !ok { + return "unspecified" + } + return name +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/processed_trace.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/processed_trace.go new file mode 100644 index 00000000..913e4127 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/processed_trace.go @@ -0,0 +1,53 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package traceutil + +import ( + pb "github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace" +) + +// ProcessedTrace represents a trace being processed in the agent. +type ProcessedTrace struct { + TraceChunk *pb.TraceChunk + Root *pb.Span + TracerEnv string + AppVersion string + TracerHostname string + ClientDroppedP0sWeight float64 + GitCommitSha string + ImageTag string +} + +// Clone creates a copy of ProcessedTrace, cloning p, p.TraceChunk, and p.Root. This means it is +// safe to modify the returned ProcessedTrace's (pt's) fields along with fields in +// pt.TraceChunk and fields in pt.Root. +// +// The most important consequence of this is that the TraceChunk's Spans field can be assigned, +// *BUT* the Spans value itself should not be modified. i.e. This is ok: +// +// pt2 := pt.Clone() +// pt2.TraceChunk.Spans = make([]*pb.Span) +// +// but this is NOT ok: +// +// pt2 := pt.Clone() +// pt2.TraceChunk.Spans[0] = &pb.Span{} // This will be visible in pt. +func (pt *ProcessedTrace) Clone() *ProcessedTrace { + if pt == nil { + return nil + } + ptClone := new(ProcessedTrace) + *ptClone = *pt + if pt.TraceChunk != nil { + c := pt.TraceChunk.ShallowCopy() + ptClone.TraceChunk = c + } + if pt.Root != nil { + r := pt.Root.ShallowCopy() + ptClone.Root = r + } + return ptClone +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/span.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/span.go new file mode 100644 index 00000000..2b416531 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/span.go @@ -0,0 +1,175 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package traceutil + +import ( + "bytes" + + "github.com/tinylib/msgp/msgp" + + pb "github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace" +) + +const ( + // topLevelKey is a special metric, it's 1 if the span is top-level, 0 if not, this is kept for backwards + // compatibility but will eventually be replaced with just using the preferred tracerTopLevelKey + topLevelKey = "_top_level" + // measuredKey is a special metric flag that marks a span for trace metrics calculation. + measuredKey = "_dd.measured" + // tracerTopLevelKey is a metric flag set by tracers on top_level spans + tracerTopLevelKey = "_dd.top_level" + // partialVersionKey is a metric carrying the snapshot seq number in the case the span is a partial snapshot + partialVersionKey = "_dd.partial_version" +) + +// HasTopLevel returns true if span is top-level. +func HasTopLevel(s *pb.Span) bool { + return HasTopLevelMetrics(s.Metrics) +} + +// HasTopLevelMetrics returns true if the provided metrics map indicates the span is top-level. +func HasTopLevelMetrics(metrics map[string]float64) bool { + return metrics[topLevelKey] == 1 || metrics[tracerTopLevelKey] == 1 +} + +// UpdateTracerTopLevel sets _top_level tag on spans flagged by the tracer +func UpdateTracerTopLevel(s *pb.Span) { + if s.Metrics[tracerTopLevelKey] == 1 { + SetMetric(s, topLevelKey, 1) + } +} + +// IsMeasured returns true if a span should be measured (i.e., it should get trace metrics calculated). +func IsMeasured(s *pb.Span) bool { + return IsMeasuredMetrics(s.Metrics) +} + +// IsMeasuredMetrics returns true if a span should be measured (i.e., it should get trace metrics calculated). +func IsMeasuredMetrics(metrics map[string]float64) bool { + return metrics[measuredKey] == 1 +} + +// IsPartialSnapshot returns true if the span is a partial snapshot. +// This kind of spans are partial images of long-running spans. +// When incomplete, a partial snapshot has a metric _dd.partial_version which is a positive integer. +// The metric usually increases each time a new version of the same span is sent by the tracer +func IsPartialSnapshot(s *pb.Span) bool { + return IsPartialSnapshotMetrics(s.Metrics) +} + +// IsPartialSnapshotMetrics returns true if the span is a partial snapshot. +// These kinds of spans are partial images of long-running spans. +// When incomplete, a partial snapshot has a metric _dd.partial_version which is a positive integer. +// The metric usually increases each time a new version of the same span is sent by the tracer +func IsPartialSnapshotMetrics(metrics map[string]float64) bool { + v, ok := metrics[partialVersionKey] + return ok && v >= 0 +} + +// SetTopLevel sets the top-level attribute of the span. +func SetTopLevel(s *pb.Span, topLevel bool) { + if !topLevel { + if s.Metrics == nil { + return + } + delete(s.Metrics, topLevelKey) + return + } + // Setting the metrics value, so that code downstream in the pipeline + // can identify this as top-level without recomputing everything. + SetMetric(s, topLevelKey, 1) +} + +// SetMeasured sets the measured attribute of the span. +func SetMeasured(s *pb.Span, measured bool) { + if !measured { + if s.Metrics == nil { + return + } + delete(s.Metrics, measuredKey) + return + } + // Setting the metrics value, so that code downstream in the pipeline + // can identify this as top-level without recomputing everything. + SetMetric(s, measuredKey, 1) +} + +// SetMetric sets the metric at key to the val on the span s. +func SetMetric(s *pb.Span, key string, val float64) { + if s.Metrics == nil { + s.Metrics = make(map[string]float64) + } + s.Metrics[key] = val +} + +// SetMeta sets the metadata at key to the val on the span s. +func SetMeta(s *pb.Span, key, val string) { + if s.Meta == nil { + s.Meta = make(map[string]string) + } + s.Meta[key] = val +} + +// GetMeta gets the metadata value in the span Meta map. +func GetMeta(s *pb.Span, key string) (string, bool) { + if s.Meta == nil { + return "", false + } + val, ok := s.Meta[key] + return val, ok +} + +// GetMetaDefault gets the metadata value in the span Meta map and fallbacks to fallback. +func GetMetaDefault(s *pb.Span, key, fallback string) string { + if s.Meta == nil { + return fallback + } + if val, ok := s.Meta[key]; ok { + return val + } + return fallback +} + +// SetMetaStruct sets the structured metadata at key to the val on the span s. +func SetMetaStruct(s *pb.Span, key string, val interface{}) error { + var b bytes.Buffer + + if s.MetaStruct == nil { + s.MetaStruct = make(map[string][]byte) + } + writer := msgp.NewWriter(&b) + err := writer.WriteIntf(val) + if err != nil { + return err + } + writer.Flush() + s.MetaStruct[key] = b.Bytes() + return nil +} + +// GetMetaStruct gets the structured metadata value in the span MetaStruct map. +func GetMetaStruct(s *pb.Span, key string) (interface{}, bool) { + if s.MetaStruct == nil { + return nil, false + } + if rawVal, ok := s.MetaStruct[key]; ok { + val, _, err := msgp.ReadIntfBytes(rawVal) + if err != nil { + ok = false + } + return val, ok + } + return nil, false +} + +// GetMetric gets the metadata value in the span Metrics map. +func GetMetric(s *pb.Span, key string) (float64, bool) { + if s.Metrics == nil { + return 0, false + } + val, ok := s.Metrics[key] + return val, ok +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/trace.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/trace.go new file mode 100644 index 00000000..ef8a0f29 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/trace.go @@ -0,0 +1,119 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package traceutil + +import ( + pb "github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace" + "github.com/DataDog/datadog-agent/pkg/trace/log" +) + +const ( + envKey = "env" +) + +// GetEnv returns the first "env" tag found in trace t. +// Search starts by root +func GetEnv(root *pb.Span, t *pb.TraceChunk) string { + if v, ok := root.Meta[envKey]; ok { + return v + } + for _, s := range t.Spans { + if s.SpanID == root.SpanID { + continue + } + if v, ok := s.Meta[envKey]; ok { + return v + } + } + return "" +} + +// GetRoot extracts the root span from a trace +func GetRoot(t pb.Trace) *pb.Span { + // That should be caught beforehand + if len(t) == 0 { + return nil + } + // General case: go over all spans and check for one which matching parent + parentIDToChild := map[uint64]*pb.Span{} + + for i := range t { + // Common case optimization: check for span with ParentID == 0, starting from the end, + // since some clients report the root last + j := len(t) - 1 - i + if t[j].ParentID == 0 { + return t[j] + } + parentIDToChild[t[j].ParentID] = t[j] + } + + for i := range t { + delete(parentIDToChild, t[i].SpanID) + } + + // Here, if the trace is valid, we should have len(parentIDToChild) == 1 + if len(parentIDToChild) != 1 { + log.Debugf("Didn't reliably find the root span for traceID:%v", t[0].TraceID) + } + + // Have a safe behavior if that's not the case + // Pick the first span without its parent + for parentID := range parentIDToChild { + return parentIDToChild[parentID] + } + + // Gracefully fail with the last span of the trace + return t[len(t)-1] +} + +// ChildrenMap returns a map containing for each span id the list of its +// direct children. +func ChildrenMap(t pb.Trace) map[uint64][]*pb.Span { + childrenMap := make(map[uint64][]*pb.Span) + + for i := range t { + span := t[i] + if span.ParentID == 0 { + continue + } + childrenMap[span.ParentID] = append(childrenMap[span.ParentID], span) + } + + return childrenMap +} + +// ComputeTopLevel updates all the spans top-level attribute. +// +// A span is considered top-level if: +// - it's a root span +// - OR its parent is unknown (other part of the code, distributed trace) +// - OR its parent belongs to another service (in that case it's a "local root" +// being the highest ancestor of other spans belonging to this service and +// attached to it). +func ComputeTopLevel(trace pb.Trace) { + spanIDToIndex := make(map[uint64]int, len(trace)) + for i, span := range trace { + spanIDToIndex[span.SpanID] = i + } + for _, span := range trace { + if span.ParentID == 0 { + // span is a root span + SetTopLevel(span, true) + continue + } + parentIndex, ok := spanIDToIndex[span.ParentID] + if !ok { + // span has no parent in chunk + SetTopLevel(span, true) + continue + } + if trace[parentIndex].Service != span.Service { + // parent is not in the same service + SetTopLevel(span, true) + continue + } + } +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/truncate.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/truncate.go new file mode 100644 index 00000000..88d34d93 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/traceutil/truncate.go @@ -0,0 +1,37 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package traceutil + +import "unicode/utf8" + +// TruncateUTF8 truncates the given string to make sure it uses less than limit bytes. +// If the last character is an utf8 character that would be splitten, it removes it +// entirely to make sure the resulting string is not broken. +func TruncateUTF8(s string, limit int) string { + if len(s) <= limit { + return s + } + s = s[:limit] + // The max length of a valid code point is 4 bytes, therefore if we see all valid + // code points in the last 4 bytes we know we have a fully valid utf-8 string + // If not we can truncate one byte at a time until the end of the string is valid utf-8 + for len(s) >= 1 { + if len(s) >= 4 && utf8.Valid([]byte(s[len(s)-4:])) { + break + } + if len(s) >= 3 && utf8.Valid([]byte(s[len(s)-3:])) { + break + } + if len(s) >= 2 && utf8.Valid([]byte(s[len(s)-2:])) { + break + } + if len(s) >= 1 && utf8.Valid([]byte(s[len(s)-1:])) { + break + } + s = s[:len(s)-1] + } + return s +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/version/version.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/version/version.go new file mode 100644 index 00000000..4a93fd59 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/version/version.go @@ -0,0 +1,78 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +// Package version comprises functions that are used to retrieve *app* version data from incoming traces. +package version + +import ( + "errors" + "strings" + + "github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace" + "github.com/DataDog/datadog-agent/pkg/trace/config" +) + +const ( + versionField = "version" + gitCommitShaField = "_dd.git.commit.sha" + gitCommitShaTagPrefix = "git.commit.sha:" + imageTagPrefix = "image_tag:" +) + +// GetVersionDataFromContainerTags will return the git commit sha and image tag from container tags, if present. +func GetVersionDataFromContainerTags(containerID string, conf *config.AgentConfig) (gitCommitSha, imageTag string, err error) { + if conf == nil || conf.ContainerTags == nil { + return "", "", nil + } + cTags, err := conf.ContainerTags(containerID) + if err != nil { + if errors.Is(err, config.ErrContainerTagsFuncNotDefined) { + return "", "", nil + } + return "", "", err + } + for _, t := range cTags { + if gitCommitSha == "" { + if sha, ok := strings.CutPrefix(t, gitCommitShaTagPrefix); ok { + gitCommitSha = sha + } + } + if imageTag == "" { + if image, ok := strings.CutPrefix(t, imageTagPrefix); ok { + imageTag = image + } + } + if gitCommitSha != "" && imageTag != "" { + break + } + } + return gitCommitSha, imageTag, nil +} + +// GetGitCommitShaFromTrace returns the first "git_commit_sha" tag found in trace t. +func GetGitCommitShaFromTrace(root *trace.Span, t *trace.TraceChunk) string { + return searchTraceForField(root, t, gitCommitShaField) +} + +// GetAppVersionFromTrace returns the first "version" tag found in trace t. +// Search starts by root +func GetAppVersionFromTrace(root *trace.Span, t *trace.TraceChunk) string { + return searchTraceForField(root, t, versionField) +} + +func searchTraceForField(root *trace.Span, t *trace.TraceChunk, field string) string { + if v, ok := root.Meta[field]; ok { + return v + } + for _, s := range t.Spans { + if s.SpanID == root.SpanID { + continue + } + if v, ok := s.Meta[field]; ok { + return v + } + } + return "" +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/cpu.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/cpu.go new file mode 100644 index 00000000..a1799701 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/cpu.go @@ -0,0 +1,51 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +//go:build !windows && !aix + +// Package watchdog monitors the trace-agent resource usage. +package watchdog + +import ( + "os" + "path/filepath" + "strconv" + + "github.com/DataDog/datadog-agent/pkg/trace/log" + "github.com/shirou/gopsutil/v3/process" +) + +func getpid() int { + // Based on gopsutil's HostProc https://github.com/shirou/gopsutil/blob/672e2518f2ce365ab8504c9f1a8038dc3ad09cf6/internal/common/common.go#L343-L345 + // This PID needs to match the one in the procfs that gopsutil is going to look in. + p := os.Getenv("HOST_PROC") + if p == "" { + p = "/proc" + } + self := filepath.Join(p, "self") + pidf, err := os.Readlink(self) + if err != nil { + log.Warnf("Failed to read pid from %s: %s. Falling back to os.Getpid", self, err) + return os.Getpid() + } + pid, err := strconv.Atoi(filepath.Base(pidf)) + if err != nil { + log.Warnf("Failed to parse pid from %s: %s. Falling back to os.Getpid", pidf, err) + return os.Getpid() + } + return pid +} + +func cpuTimeUser(pid int32) (float64, error) { + p, err := process.NewProcess(pid) + if err != nil { + return 0, err + } + times, err := p.Times() + if err != nil { + return 0, err + } + return times.User, nil +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/cpu_aix.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/cpu_aix.go new file mode 100644 index 00000000..318f098d --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/cpu_aix.go @@ -0,0 +1,111 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-2020 Datadog, Inc. + +package watchdog + +import ( + "encoding/binary" + "fmt" + "os" + "time" +) + +// From proc(5) on AIX 7.2 +// status +// Contains state information about the process and one of its +// representative thread. The file is formatted as a struct pstatus +// type containing the following members: +// +// uint32_t pr_flag; /* process flags from proc struct p_flag */ +// uint32_t pr_flag2; /* process flags from proc struct p_flag2 */ +// uint32_t pr_flags; /* /proc flags */ +// uint32_t pr_nlwp; /* number of threads in the process */ +// char pr_stat; /* process state from proc p_stat */ +// char pr_dmodel; /* data model for the process */ +// char pr__pad1[6]; /* reserved for future use */ +// pr_sigset_t pr_sigpend; /* set of process pending signals */ +// prptr64_t pr_brkbase; /* address of the process heap */ +// uint64_t pr_brksize; /* size of the process heap, in bytes */ +// prptr64_t pr_stkbase; /* address of the process stack */ +// uint64_t pr_stksize; /* size of the process stack, in bytes */ +// pid64_t pr_pid; /* process id */ +// pid64_t pr_ppid; /* parent process id */ +// pid64_t pr_pgid; /* process group id */ +// pid64_t pr_sid; /* session id */ +// struct pr_timestruc64_t pr_utime; /* process user cpu time */ +// struct pr_timestruc64_t pr_stime; /* process system cpu time */ +// struct pr_timestruc64_t pr_cutime; /* sum of children's user times */ +// struct pr_timestruc64_t pr_cstime; /* sum of children's system times */ +// pr_sigset_t pr_sigtrace; /* mask of traced signals */ +// fltset_t pr_flttrace; /* mask of traced hardware faults */ +// uint32_t pr_sysentry_offset; /* offset into pstatus file of sysset_t +// * identifying system calls traced on +// +// * entry. If 0, then no entry syscalls +// * are being traced. */ +// uint32_t pr_sysexit_offset; /* offset into pstatus file of sysset_t +// * identifying system calls traced on +// * exit. If 0, then no exit syscalls +// * are being traced. */ +// uint64_t pr__pad[8]; /* reserved for future use */ +// lwpstatus_t pr_lwp; /* "representative" thread status */ +// +// From /usr/include/sys/procfs.h +// typedef struct pr_sigset +// { +// uint64_t ss_set[4]; /* signal set */ +// } pr_sigset_t; +// +// typedef struct pr_timestruc64 +// { +// int64_t tv_sec; /* 64 bit time_t value */ +// int32_t tv_nsec; /* 32 bit suseconds_t value */ +// uint32_t __pad; /* reserved for future use */ +// } pr_timestruc64_t; +// +// typedef void * prptr64_t; +// +// The fields before the user cpu time (pr_utime) are: +// uint32_t pr_flag; 4 4 +// uint32_t pr_flag2; 4 8 +// uint32_t pr_flags; 4 12 +// uint32_t pr_nlwp; 4 16 +// char pr_stat; 1 17 +// char pr_dmodel; 1 18 +// char pr__pad1[6]; 6 24 +// pr_sigset_t pr_sigpend; (4 * 8) = 32 56 +// prptr64_t pr_brkbase; 8 64 +// uint64_t pr_brksize; 8 72 +// prptr64_t pr_stkbase; 8 80 +// uint64_t pr_stksize; 8 88 +// pid64_t pr_pid; 8 96 +// pid64_t pr_ppid; 8 104 +// pid64_t pr_pgid; 8 112 +// pid64_t pr_sid; 8 120 +// total: 120 +// followed by: +// struct pr_timestruc64_t pr_utime; /* process user cpu time */ + +func cpuTimeUser(pid int32) (float64, error) { + f, err := os.Open(fmt.Sprintf("/proc/%d/status", pid)) + if err != nil { + return 0, err + } + defer f.Close() + // As explained above, we will skip 120 bytes into the status file to locate the user CPU time. + f.Seek(120, os.SEEK_SET) + var ( + userSecs int64 + userNsecs int32 + ) + binary.Read(f, binary.BigEndian, &userSecs) + binary.Read(f, binary.BigEndian, &userNsecs) + time := float64(userSecs) + (float64(userNsecs) / float64(time.Second)) + return time, nil +} + +func getpid() int { + return os.Getpid() +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/cpu_windows.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/cpu_windows.go new file mode 100644 index 00000000..6613e30c --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/cpu_windows.go @@ -0,0 +1,56 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +// Package watchdog monitors the trace-agent resource usage. +package watchdog + +import ( + "os" + + "golang.org/x/sys/windows" +) + +func getpid() int { + return os.Getpid() +} + +// this code was copied over from shirou/gopsutil/process because we can't import this package on Windows, +// due to its "wmi" dependency. + +func cpuTimeUser(pid int32) (float64, error) { + t, err := getProcessCPUTimes(pid) + if err != nil { + return 0, err + } + return float64(t.UserTime.HighDateTime)*429.4967296 + float64(t.UserTime.LowDateTime)*1e-7, nil +} + +type systemTimes struct { + CreateTime windows.Filetime + ExitTime windows.Filetime + KernelTime windows.Filetime + UserTime windows.Filetime +} + +func getProcessCPUTimes(pid int32) (systemTimes, error) { + var times systemTimes + + // PROCESS_QUERY_LIMITED_INFORMATION is 0x1000 + h, err := windows.OpenProcess(0x1000, false, uint32(pid)) + if err != nil { + return times, err + } + defer windows.CloseHandle(h) + + err = windows.GetProcessTimes( + windows.Handle(h), + ×.CreateTime, + ×.ExitTime, + ×.KernelTime, + ×.UserTime, + ) + + return times, err +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/info.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/info.go new file mode 100644 index 00000000..5522df7f --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/info.go @@ -0,0 +1,99 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package watchdog + +import ( + "runtime" + "sync" + "time" +) + +const ( + // cacheDelay should be long enough so that we don't poll the info + // too often and waste resources doing it, and also long enough + // so that it's not jittering (CPU can be volatile). + // OTOH it should be short enough to get up-to-date recent info. + cacheDelay = 20 * time.Second +) + +// CPUInfo contains basic CPU info +type CPUInfo struct { + // UserAvg is the average of the user CPU usage since last time + // it was polled. 0 means "not used at all" and 1 means "1 CPU was + // totally full for that period". So it might be greater than 1 if + // the process is monopolizing several cores. + UserAvg float64 +} + +// MemInfo contains basic memory info +type MemInfo struct { + // Alloc is the number of bytes allocated and not yet freed + // as described in runtime.MemStats.Alloc + Alloc uint64 +} + +// Info contains all the watchdog infos, to be published by expvar +type Info struct { + // CPU contains basic CPU info + CPU CPUInfo + // Mem contains basic Mem info + Mem MemInfo +} + +// CurrentInfo is used to query CPU and Mem info, it keeps data from +// the previous calls to calculate averages. It is not thread safe. +type CurrentInfo struct { + pid int32 + mu sync.Mutex + cacheDelay time.Duration + + lastCPUTime time.Time + lastCPUUser float64 + lastCPU CPUInfo +} + +// NewCurrentInfo creates a new CurrentInfo referring to the current running program. +func NewCurrentInfo() *CurrentInfo { + return &CurrentInfo{ + pid: int32(getpid()), + cacheDelay: cacheDelay, + } +} + +// CPU returns basic CPU info, or the previous valid CPU info and an error. +func (pi *CurrentInfo) CPU(now time.Time) (CPUInfo, error) { + pi.mu.Lock() + defer pi.mu.Unlock() + + dt := now.Sub(pi.lastCPUTime) + if dt <= pi.cacheDelay { + return pi.lastCPU, nil // don't query too often, cache a little bit + } + pi.lastCPUTime = now + + userTime, err := cpuTimeUser(pi.pid) + if err != nil { + return pi.lastCPU, err + } + + dua := userTime - pi.lastCPUUser + pi.lastCPUUser = userTime + if dua <= 0 { + pi.lastCPU.UserAvg = 0 // shouldn't happen, but make sure result is always > 0 + } else { + pi.lastCPU.UserAvg = float64(time.Second) * dua / float64(dt) + pi.lastCPUUser = userTime + } + + return pi.lastCPU, nil +} + +// Mem returns basic memory info. +func (pi *CurrentInfo) Mem() MemInfo { + var ms runtime.MemStats + runtime.ReadMemStats(&ms) + return MemInfo{Alloc: ms.Alloc} +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/logonpanic.go b/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/logonpanic.go new file mode 100644 index 00000000..a69934a5 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/trace/watchdog/logonpanic.go @@ -0,0 +1,49 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package watchdog + +import ( + "fmt" + "runtime" + + "github.com/DataDog/datadog-agent/pkg/trace/log" + + "github.com/DataDog/datadog-go/v5/statsd" +) + +const shortErrMsgLen = 17 // 20 char max with tailing "..." + +// shortMsg shortens the length of error message to avoid having high +// cardinality on "err:" tags +func shortErrMsg(msg string) string { + if len(msg) <= shortErrMsgLen { + return msg + } + return msg[:shortErrMsgLen] + "..." +} + +// LogOnPanic catches panics and logs them on the fly. It also flushes +// the log file, ensuring the message appears. Then it propagates the panic +// so that the program flow remains unchanged. +func LogOnPanic(statsd statsd.ClientInterface) { + if err := recover(); err != nil { + // Full print of the trace in the logs + buf := make([]byte, 4096) + length := runtime.Stack(buf, false) + stacktrace := string(buf[:length]) + errMsg := fmt.Sprintf("%v", err) + logMsg := "Unexpected panic: " + errMsg + "\n" + stacktrace + + _ = statsd.Gauge("datadog.trace_agent.panic", 1, []string{ + "err:" + shortErrMsg(errMsg), + }, 1) + + log.Error(logMsg) + log.Flush() + + panic(err) + } +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/util/log/LICENSE b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/LICENSE new file mode 100644 index 00000000..b370545b --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/LICENSE @@ -0,0 +1,200 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2016-present Datadog, Inc. + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/util/log/klog_redirect.go b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/klog_redirect.go new file mode 100644 index 00000000..fad01af4 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/klog_redirect.go @@ -0,0 +1,59 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package log + +import "strings" + +// KlogRedirectLogger is used to redirect klog logs to datadog logs. klog is +// client-go's logger, logging to STDERR by default, which makes all severities +// into ERROR, along with the formatting just being off. To make the +// conversion, we set a KlogRedirectLogger as klog's output, and parse the severity +// and log message out of every log line. +// NOTE: on klog v2 this parsing is no longer necessary, as it allows us to use +// kSetLogger() instead of kSetOutputBySeverity(). unfortunately we +// still have some dependencies stuck on v1, so we keep the parsing. +type KlogRedirectLogger struct { + stackDepth int +} + +// NewKlogRedirectLogger creates a new KlogRedirectLogger with provided stack depth +func NewKlogRedirectLogger(stackDepth int) KlogRedirectLogger { + return KlogRedirectLogger{ + stackDepth: stackDepth, + } +} + +func (l KlogRedirectLogger) Write(b []byte) (int, error) { + // klog log lines have the following format: + // Lmmdd hh:mm:ss.uuuuuu threadid file:line] msg... + // so we parse L to decide in which level to log, and we try to find + // the ']' character, to ignore anything up to that point, as we don't + // care about the header outside of the log level. + + msg := string(b) + + i := strings.IndexByte(msg, ']') + if i >= 0 { + // if we find a ']', we ignore anything 2 positions from it + // (itself, plus a blank space) + msg = msg[i+2:] + } + + switch b[0] { + case 'I': + InfoStackDepth(l.stackDepth, msg) + case 'W': + _ = WarnStackDepth(l.stackDepth, msg) + case 'E': + _ = ErrorStackDepth(l.stackDepth, msg) + case 'F': + _ = CriticalStackDepth(l.stackDepth, msg) + default: + InfoStackDepth(l.stackDepth, msg) + } + + return 0, nil +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/util/log/log.go b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/log.go new file mode 100644 index 00000000..0e1ecaa2 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/log.go @@ -0,0 +1,1046 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +// Package log implements logging for the datadog agent. It wraps seelog, and +// supports logging to multiple destinations, buffering messages logged before +// setup, and scrubbing secrets from log messages. +// +// # Compatibility +// +// This module is exported and can be used outside of the datadog-agent +// repository, but is not designed as a general-purpose logging system. Its +// API may change incompatibly. +package log + +import ( + "bytes" + "errors" + "fmt" + "os" + "strings" + "sync" + + "github.com/cihub/seelog" + "go.uber.org/atomic" + + "github.com/DataDog/datadog-agent/pkg/util/scrubber" +) + +type loggerPointer struct { + atomic.Pointer[DatadogLogger] +} + +var ( + // Logger is the main DatadogLogger + logger loggerPointer + jmxLogger loggerPointer + + // This buffer holds log lines sent to the logger before its + // initialization. Even if initializing the logger is one of the first + // things the agent does, we still: load the conf, resolve secrets inside, + // compute the final proxy settings, ... + // + // This buffer should be very short lived. + logsBuffer = []func(){} + bufferMutex sync.Mutex + defaultStackDepth = 3 + + // for testing purposes + scrubBytesFunc = scrubber.ScrubBytes +) + +// DatadogLogger wrapper structure for seelog +type DatadogLogger struct { + inner seelog.LoggerInterface + level seelog.LogLevel + extra map[string]seelog.LoggerInterface + l sync.RWMutex +} + +/* +* Setup and initialization of the logger + */ + +// SetupLogger setup agent wide logger +func SetupLogger(i seelog.LoggerInterface, level string) { + logger.Store(setupCommonLogger(i, level)) + + // Flush the log entries logged before initialization now that the logger is initialized + bufferMutex.Lock() + defer bufferMutex.Unlock() + for _, logLine := range logsBuffer { + logLine() + } + logsBuffer = []func(){} +} + +func setupCommonLogger(i seelog.LoggerInterface, level string) *DatadogLogger { + l := &DatadogLogger{ + inner: i, + extra: make(map[string]seelog.LoggerInterface), + } + + lvl, ok := seelog.LogLevelFromString(level) + if !ok { + lvl = seelog.InfoLvl + } + l.level = lvl + + // We're not going to call DatadogLogger directly, but using the + // exported functions, that will give us two frames in the stack + // trace that should be skipped to get to the original caller. + // + // The fact we need a constant "additional depth" means some + // theoretical refactor to avoid duplication in the functions + // below cannot be performed. + l.inner.SetAdditionalStackDepth(defaultStackDepth) //nolint:errcheck + + return l +} + +func addLogToBuffer(logHandle func()) { + bufferMutex.Lock() + defer bufferMutex.Unlock() + + logsBuffer = append(logsBuffer, logHandle) +} + +func (sw *DatadogLogger) scrub(s string) string { + if scrubbed, err := scrubBytesFunc([]byte(s)); err == nil { + return string(scrubbed) + } + return s +} + +/* +* Operation on the **logger level** + */ + +// ChangeLogLevel changes the current log level, valid levels are trace, debug, +// info, warn, error, critical and off, it requires a new seelog logger because +// an existing one cannot be updated +func ChangeLogLevel(li seelog.LoggerInterface, level string) error { + if err := logger.changeLogLevel(level); err != nil { + return err + } + + // See detailed explanation in SetupLogger(...) + if err := li.SetAdditionalStackDepth(defaultStackDepth); err != nil { + return err + } + + logger.replaceInnerLogger(li) + return nil + + // need to return something, just set to Info (expected default) +} +func (sw *loggerPointer) changeLogLevel(level string) error { + l := sw.Load() + if l == nil { + return errors.New("cannot change loglevel: logger not initialized") + } + + l.l.Lock() + defer l.l.Unlock() + + if l.inner == nil { + return errors.New("cannot change loglevel: logger is initialized however logger.inner is nil") + } + + lvl, ok := seelog.LogLevelFromString(strings.ToLower(level)) + if !ok { + return errors.New("bad log level") + } + l.level = lvl + return nil +} + +// GetLogLevel returns a seelog native representation of the current log level +func GetLogLevel() (seelog.LogLevel, error) { + return logger.getLogLevel() +} +func (sw *loggerPointer) getLogLevel() (seelog.LogLevel, error) { + l := sw.Load() + if l == nil { + return seelog.InfoLvl, errors.New("cannot get loglevel: logger not initialized") + } + + l.l.RLock() + defer l.l.RUnlock() + + if l.inner == nil { + return seelog.InfoLvl, errors.New("cannot get loglevel: logger not initialized") + } + + return l.level, nil +} + +// ShouldLog returns whether a given log level should be logged by the default logger +func ShouldLog(lvl seelog.LogLevel) bool { + // The lock stay in the exported function due to the use of `shouldLog` in function that already hold the lock + l := logger.Load() + if l != nil { + l.l.RLock() + defer l.l.RUnlock() + return l.shouldLog(lvl) + } + return false +} + +// This function should be called with `sw.l` held +func (sw *DatadogLogger) shouldLog(level seelog.LogLevel) bool { + return level >= sw.level +} + +// ValidateLogLevel validates the given log level and returns the corresponding Seelog log level. +// If the log level is "warning", it is converted to "warn" to handle a common gotcha when used with agent5. +// If the log level is not recognized, an error is returned. +func ValidateLogLevel(logLevel string) (string, error) { + seelogLogLevel := strings.ToLower(logLevel) + if seelogLogLevel == "warning" { // Common gotcha when used to agent5 + seelogLogLevel = "warn" + } + + if _, found := seelog.LogLevelFromString(seelogLogLevel); !found { + return "", fmt.Errorf("unknown log level: %s", seelogLogLevel) + } + return seelogLogLevel, nil +} + +/* +* Operation on the **logger** + */ + +// RegisterAdditionalLogger registers an additional logger for logging +func RegisterAdditionalLogger(n string, li seelog.LoggerInterface) error { + return logger.registerAdditionalLogger(n, li) +} +func (sw *loggerPointer) registerAdditionalLogger(n string, li seelog.LoggerInterface) error { + l := sw.Load() + if l == nil { + return errors.New("cannot register: logger not initialized") + } + + l.l.Lock() + defer l.l.Unlock() + + if l.inner == nil { + return errors.New("cannot register: logger not initialized") + } + + if l.extra == nil { + + return errors.New("logger not fully initialized, additional logging unavailable") + } + + if _, ok := l.extra[n]; ok { + return errors.New("logger already registered with that name") + } + l.extra[n] = li + + return nil +} + +// ReplaceLogger allows replacing the internal logger, returns old logger +func ReplaceLogger(li seelog.LoggerInterface) seelog.LoggerInterface { + return logger.replaceInnerLogger(li) +} +func (sw *loggerPointer) replaceInnerLogger(li seelog.LoggerInterface) seelog.LoggerInterface { + l := sw.Load() + if l == nil { + return nil // Return nil if logger is not initialized + } + + l.l.Lock() + defer l.l.Unlock() + + if l.inner == nil { + return nil // Return nil if logger.inner is not initialized + } + + old := l.inner + l.inner = li + + return old +} + +// Flush flushes the underlying inner log +func Flush() { + logger.flush() + jmxLogger.flush() +} +func (sw *loggerPointer) flush() { + l := sw.Load() + if l == nil { + return + } + + l.l.Lock() + defer l.l.Unlock() + + if l.inner != nil { + l.inner.Flush() + } +} + +/* +* log functions + */ + +// log logs a message at the given level, using either bufferFunc (if logging is not yet set up) or +// scrubAndLogFunc, and treating the variadic args as the message. +func log(logLevel seelog.LogLevel, bufferFunc func(), scrubAndLogFunc func(string), v ...interface{}) { + l := logger.Load() + + if l == nil { + addLogToBuffer(bufferFunc) + return + } + + l.l.Lock() + defer l.l.Unlock() + + if l.inner == nil { + addLogToBuffer(bufferFunc) + } else if l.shouldLog(logLevel) { + s := BuildLogEntry(v...) + scrubAndLogFunc(s) + } + +} +func logWithError(logLevel seelog.LogLevel, bufferFunc func(), scrubAndLogFunc func(string) error, fallbackStderr bool, v ...interface{}) error { + l := logger.Load() + + if l == nil { + addLogToBuffer(bufferFunc) + err := formatError(v...) + if fallbackStderr { + fmt.Fprintf(os.Stderr, "%s: %s\n", logLevel.String(), err.Error()) + } + return err + } + + l.l.Lock() + + isInnerNil := l.inner == nil + + if isInnerNil { + if !fallbackStderr { + addLogToBuffer(bufferFunc) + } + } else if l.shouldLog(logLevel) { + defer l.l.Unlock() + s := BuildLogEntry(v...) + return scrubAndLogFunc(s) + } + + l.l.Unlock() + + err := formatError(v...) + // Originally (PR 6436) fallbackStderr check had been added to handle a small window + // where error messages had been lost before Logger had been initialized. Adjusting + // just for that case because if the error log should not be logged - because it has + // been suppressed then it should be taken into account. + if fallbackStderr && isInnerNil { + fmt.Fprintf(os.Stderr, "%s: %s\n", logLevel.String(), err.Error()) + } + return err +} + +/* +* logFormat functions + */ + +func logFormat(logLevel seelog.LogLevel, bufferFunc func(), scrubAndLogFunc func(string, ...interface{}), format string, params ...interface{}) { + l := logger.Load() + + if l == nil { + addLogToBuffer(bufferFunc) + return + } + + l.l.Lock() + defer l.l.Unlock() + + if l.inner == nil { + addLogToBuffer(bufferFunc) + } else if l.shouldLog(logLevel) { + scrubAndLogFunc(format, params...) + } +} +func logFormatWithError(logLevel seelog.LogLevel, bufferFunc func(), scrubAndLogFunc func(string, ...interface{}) error, format string, fallbackStderr bool, params ...interface{}) error { + l := logger.Load() + + if l == nil { + addLogToBuffer(bufferFunc) + err := formatErrorf(format, params...) + if fallbackStderr { + fmt.Fprintf(os.Stderr, "%s: %s\n", logLevel.String(), err.Error()) + } + return err + } + + l.l.Lock() + + isInnerNil := l.inner == nil + + if isInnerNil { + if !fallbackStderr { + addLogToBuffer(bufferFunc) + } + } else if l.shouldLog(logLevel) { + defer l.l.Unlock() + return scrubAndLogFunc(format, params...) + } + + l.l.Unlock() + + err := formatErrorf(format, params...) + // Originally (PR 6436) fallbackStderr check had been added to handle a small window + // where error messages had been lost before Logger had been initialized. Adjusting + // just for that case because if the error log should not be logged - because it has + // been suppressed then it should be taken into account. + if fallbackStderr && isInnerNil { + fmt.Fprintf(os.Stderr, "%s: %s\n", logLevel.String(), err.Error()) + } + return err +} + +/* +* logContext functions + */ + +func logContext(logLevel seelog.LogLevel, bufferFunc func(), scrubAndLogFunc func(string), message string, depth int, context ...interface{}) { + l := logger.Load() + + if l == nil { + addLogToBuffer(bufferFunc) + return + } + + l.l.Lock() + defer l.l.Unlock() + + if l.inner == nil { + addLogToBuffer(bufferFunc) + } else if l.shouldLog(logLevel) { + l.inner.SetContext(context) + l.inner.SetAdditionalStackDepth(defaultStackDepth + depth) //nolint:errcheck + scrubAndLogFunc(message) + l.inner.SetContext(nil) + l.inner.SetAdditionalStackDepth(defaultStackDepth) //nolint:errcheck + } +} +func logContextWithError(logLevel seelog.LogLevel, bufferFunc func(), scrubAndLogFunc func(string) error, message string, fallbackStderr bool, depth int, context ...interface{}) error { + l := logger.Load() + + if l == nil { + addLogToBuffer(bufferFunc) + err := formatErrorc(message, context...) + if fallbackStderr { + fmt.Fprintf(os.Stderr, "%s: %s\n", logLevel.String(), err.Error()) + } + return err + } + + l.l.Lock() + + isInnerNil := l.inner == nil + + if isInnerNil { + if !fallbackStderr { + addLogToBuffer(bufferFunc) + } + } else if l.shouldLog(logLevel) { + l.inner.SetContext(context) + l.inner.SetAdditionalStackDepth(defaultStackDepth + depth) //nolint:errcheck + err := scrubAndLogFunc(message) + l.inner.SetContext(nil) + l.inner.SetAdditionalStackDepth(defaultStackDepth) //nolint:errcheck + defer l.l.Unlock() + return err + } + + l.l.Unlock() + + err := formatErrorc(message, context...) + if fallbackStderr && isInnerNil { + fmt.Fprintf(os.Stderr, "%s: %s\n", logLevel.String(), err.Error()) + } + return err +} + +// trace logs at the trace level, called with sw.l held +func (sw *loggerPointer) trace(s string) { + l := sw.Load() + + if l == nil { + return + } + + scrubbed := l.scrub(s) + l.inner.Trace(scrubbed) + + for _, l := range l.extra { + l.Trace(scrubbed) + } +} + +// trace logs at the trace level and the current stack depth plus the +// additional given one, called with sw.l held +func (sw *loggerPointer) traceStackDepth(s string, depth int) { + l := sw.Load() + scrubbed := l.scrub(s) + + l.inner.SetAdditionalStackDepth(defaultStackDepth + depth) //nolint:errcheck + l.inner.Trace(scrubbed) + l.inner.SetAdditionalStackDepth(defaultStackDepth) //nolint:errcheck + + for _, l := range l.extra { + l.Trace(scrubbed) + } +} + +// debug logs at the debug level, called with sw.l held +func (sw *loggerPointer) debug(s string) { + l := sw.Load() + scrubbed := l.scrub(s) + l.inner.Debug(scrubbed) + + for _, l := range l.extra { + l.Debug(scrubbed) + } +} + +// debug logs at the debug level and the current stack depth plus the additional given one, called with sw.l held +func (sw *loggerPointer) debugStackDepth(s string, depth int) { + l := sw.Load() + scrubbed := l.scrub(s) + l.inner.SetAdditionalStackDepth(defaultStackDepth + depth) //nolint:errcheck + l.inner.Debug(scrubbed) + l.inner.SetAdditionalStackDepth(defaultStackDepth) //nolint:errcheck + + for _, l := range l.extra { + l.Debug(scrubbed) //nolint:errcheck + } +} + +// info logs at the info level, called with sw.l held +func (sw *loggerPointer) info(s string) { + l := sw.Load() + scrubbed := l.scrub(s) + l.inner.Info(scrubbed) + for _, l := range l.extra { + l.Info(scrubbed) + } +} + +// info logs at the info level and the current stack depth plus the additional given one, called with sw.l held +func (sw *loggerPointer) infoStackDepth(s string, depth int) { + l := sw.Load() + scrubbed := l.scrub(s) + l.inner.SetAdditionalStackDepth(defaultStackDepth + depth) //nolint:errcheck + l.inner.Info(scrubbed) + l.inner.SetAdditionalStackDepth(defaultStackDepth) //nolint:errcheck + + for _, l := range l.extra { + l.Info(scrubbed) //nolint:errcheck + } +} + +// warn logs at the warn level, called with sw.l held +func (sw *loggerPointer) warn(s string) error { + l := sw.Load() + scrubbed := l.scrub(s) + err := l.inner.Warn(scrubbed) + + for _, l := range l.extra { + l.Warn(scrubbed) //nolint:errcheck + } + + return err +} + +// error logs at the error level and the current stack depth plus the additional given one, called with sw.l held +func (sw *loggerPointer) warnStackDepth(s string, depth int) error { + l := sw.Load() + scrubbed := l.scrub(s) + l.inner.SetAdditionalStackDepth(defaultStackDepth + depth) //nolint:errcheck + err := l.inner.Warn(scrubbed) + l.inner.SetAdditionalStackDepth(defaultStackDepth) //nolint:errcheck + + for _, l := range l.extra { + l.Warn(scrubbed) //nolint:errcheck + } + + return err +} + +// error logs at the error level, called with sw.l held +func (sw *loggerPointer) error(s string) error { + l := sw.Load() + scrubbed := l.scrub(s) + err := l.inner.Error(scrubbed) + + for _, l := range l.extra { + l.Error(scrubbed) //nolint:errcheck + } + + return err +} + +// error logs at the error level and the current stack depth plus the additional given one, called with sw.l held +func (sw *loggerPointer) errorStackDepth(s string, depth int) error { + l := sw.Load() + scrubbed := l.scrub(s) + l.inner.SetAdditionalStackDepth(defaultStackDepth + depth) //nolint:errcheck + err := l.inner.Error(scrubbed) + l.inner.SetAdditionalStackDepth(defaultStackDepth) //nolint:errcheck + + for _, l := range l.extra { + l.Error(scrubbed) //nolint:errcheck + } + + return err +} + +// critical logs at the critical level, called with sw.l held +func (sw *loggerPointer) critical(s string) error { + l := sw.Load() + scrubbed := l.scrub(s) + err := l.inner.Critical(scrubbed) + + for _, l := range l.extra { + l.Critical(scrubbed) //nolint:errcheck + } + + return err +} + +// critical logs at the critical level and the current stack depth plus the additional given one, called with sw.l held +func (sw *loggerPointer) criticalStackDepth(s string, depth int) error { + l := sw.Load() + scrubbed := l.scrub(s) + l.inner.SetAdditionalStackDepth(defaultStackDepth + depth) //nolint:errcheck + err := l.inner.Critical(scrubbed) + l.inner.SetAdditionalStackDepth(defaultStackDepth) //nolint:errcheck + + for _, l := range l.extra { + l.Critical(scrubbed) //nolint:errcheck + } + + return err +} + +// tracef logs with format at the trace level, called with sw.l held +func (sw *loggerPointer) tracef(format string, params ...interface{}) { + l := sw.Load() + scrubbed := l.scrub(fmt.Sprintf(format, params...)) + l.inner.Trace(scrubbed) + + for _, l := range l.extra { + l.Trace(scrubbed) + } +} + +// debugf logs with format at the debug level, called with sw.l held +func (sw *loggerPointer) debugf(format string, params ...interface{}) { + l := sw.Load() + scrubbed := l.scrub(fmt.Sprintf(format, params...)) + l.inner.Debug(scrubbed) + + for _, l := range l.extra { + l.Debug(scrubbed) + } +} + +// infof logs with format at the info level, called with sw.l held +func (sw *loggerPointer) infof(format string, params ...interface{}) { + l := sw.Load() + scrubbed := l.scrub(fmt.Sprintf(format, params...)) + l.inner.Info(scrubbed) + + for _, l := range l.extra { + l.Info(scrubbed) + } +} + +// warnf logs with format at the warn level, called with sw.l held +func (sw *loggerPointer) warnf(format string, params ...interface{}) error { + l := sw.Load() + scrubbed := l.scrub(fmt.Sprintf(format, params...)) + err := l.inner.Warn(scrubbed) + + for _, l := range l.extra { + l.Warn(scrubbed) //nolint:errcheck + } + + return err +} + +// errorf logs with format at the error level, called with sw.l held +func (sw *loggerPointer) errorf(format string, params ...interface{}) error { + l := sw.Load() + scrubbed := l.scrub(fmt.Sprintf(format, params...)) + err := l.inner.Error(scrubbed) + + for _, l := range l.extra { + l.Error(scrubbed) //nolint:errcheck + } + + return err +} + +// criticalf logs with format at the critical level, called with sw.l held +func (sw *loggerPointer) criticalf(format string, params ...interface{}) error { + l := sw.Load() + scrubbed := l.scrub(fmt.Sprintf(format, params...)) + err := l.inner.Critical(scrubbed) + + for _, l := range l.extra { + l.Critical(scrubbed) //nolint:errcheck + } + + return err +} + +// BuildLogEntry concatenates all inputs with spaces +func BuildLogEntry(v ...interface{}) string { + var fmtBuffer bytes.Buffer + + for i := 0; i < len(v)-1; i++ { + fmtBuffer.WriteString("%v ") + } + fmtBuffer.WriteString("%v") + + return fmt.Sprintf(fmtBuffer.String(), v...) +} + +func scrubMessage(message string) string { + msgScrubbed, err := scrubBytesFunc([]byte(message)) + if err == nil { + return string(msgScrubbed) + } + return "[REDACTED] - failure to clean the message" +} + +func formatErrorf(format string, params ...interface{}) error { + msg := scrubMessage(fmt.Sprintf(format, params...)) + return errors.New(msg) +} + +func formatError(v ...interface{}) error { + msg := scrubMessage(fmt.Sprint(v...)) + return errors.New(msg) +} + +func formatErrorc(message string, context ...interface{}) error { + // Build a format string like this: + // message (%s:%v, %s:%v, ... %s:%v) + var fmtBuffer bytes.Buffer + fmtBuffer.WriteString(message) + if len(context) > 0 && len(context)%2 == 0 { + fmtBuffer.WriteString(" (") + for i := 0; i < len(context); i += 2 { + fmtBuffer.WriteString("%s:%v") + if i != len(context)-2 { + fmtBuffer.WriteString(", ") + } + } + fmtBuffer.WriteString(")") + } + + msg := fmt.Sprintf(fmtBuffer.String(), context...) + return errors.New(scrubMessage(msg)) +} + +// Trace logs at the trace level +func Trace(v ...interface{}) { + log(seelog.TraceLvl, func() { Trace(v...) }, logger.trace, v...) +} + +// Tracef logs with format at the trace level +func Tracef(format string, params ...interface{}) { + logFormat(seelog.TraceLvl, func() { Tracef(format, params...) }, logger.tracef, format, params...) +} + +// TracefStackDepth logs with format at the trace level and the current stack depth plus the given depth +func TracefStackDepth(depth int, format string, params ...interface{}) { + currentLevel, _ := GetLogLevel() + if currentLevel > seelog.TraceLvl { + return + } + msg := fmt.Sprintf(format, params...) + log(seelog.TraceLvl, func() { TraceStackDepth(depth, msg) }, func(s string) { + logger.traceStackDepth(s, depth) + }, msg) +} + +// TracecStackDepth logs at the trace level with context and the current stack depth plus the additional given one +func TracecStackDepth(message string, depth int, context ...interface{}) { + logContext(seelog.TraceLvl, func() { Tracec(message, context...) }, logger.trace, message, depth, context...) +} + +// Tracec logs at the trace level with context +func Tracec(message string, context ...interface{}) { + TracecStackDepth(message, 1, context...) +} + +// TraceFunc calls and logs the result of 'logFunc' if and only if Trace (or more verbose) logs are enabled +func TraceFunc(logFunc func() string) { + currentLevel, _ := GetLogLevel() + if currentLevel <= seelog.TraceLvl { + TraceStackDepth(2, logFunc()) + } +} + +// Debug logs at the debug level +func Debug(v ...interface{}) { + log(seelog.DebugLvl, func() { Debug(v...) }, logger.debug, v...) +} + +// Debugf logs with format at the debug level +func Debugf(format string, params ...interface{}) { + logFormat(seelog.DebugLvl, func() { Debugf(format, params...) }, logger.debugf, format, params...) +} + +// DebugfStackDepth logs with format at the debug level and the current stack depth plus the given depth +func DebugfStackDepth(depth int, format string, params ...interface{}) { + currentLevel, _ := GetLogLevel() + if currentLevel > seelog.DebugLvl { + return + } + msg := fmt.Sprintf(format, params...) + log(seelog.DebugLvl, func() { DebugStackDepth(depth, msg) }, func(s string) { + logger.debugStackDepth(s, depth) + }, msg) +} + +// DebugcStackDepth logs at the debug level with context and the current stack depth plus the additional given one +func DebugcStackDepth(message string, depth int, context ...interface{}) { + logContext(seelog.DebugLvl, func() { Debugc(message, context...) }, logger.debug, message, depth, context...) +} + +// Debugc logs at the debug level with context +func Debugc(message string, context ...interface{}) { + DebugcStackDepth(message, 1, context...) +} + +// DebugFunc calls and logs the result of 'logFunc' if and only if Debug (or more verbose) logs are enabled +func DebugFunc(logFunc func() string) { + currentLevel, _ := GetLogLevel() + if currentLevel <= seelog.DebugLvl { + DebugStackDepth(2, logFunc()) + } +} + +// Info logs at the info level +func Info(v ...interface{}) { + log(seelog.InfoLvl, func() { Info(v...) }, logger.info, v...) +} + +// Infof logs with format at the info level +func Infof(format string, params ...interface{}) { + logFormat(seelog.InfoLvl, func() { Infof(format, params...) }, logger.infof, format, params...) +} + +// InfofStackDepth logs with format at the info level and the current stack depth plus the given depth +func InfofStackDepth(depth int, format string, params ...interface{}) { + currentLevel, _ := GetLogLevel() + if currentLevel > seelog.InfoLvl { + return + } + msg := fmt.Sprintf(format, params...) + log(seelog.InfoLvl, func() { InfoStackDepth(depth, msg) }, func(s string) { + logger.infoStackDepth(s, depth) + }, msg) +} + +// InfocStackDepth logs at the info level with context and the current stack depth plus the additional given one +func InfocStackDepth(message string, depth int, context ...interface{}) { + logContext(seelog.InfoLvl, func() { Infoc(message, context...) }, logger.info, message, depth, context...) +} + +// Infoc logs at the info level with context +func Infoc(message string, context ...interface{}) { + InfocStackDepth(message, 1, context...) +} + +// InfoFunc calls and logs the result of 'logFunc' if and only if Info (or more verbose) logs are enabled +func InfoFunc(logFunc func() string) { + currentLevel, _ := GetLogLevel() + if currentLevel <= seelog.InfoLvl { + InfoStackDepth(2, logFunc()) + } +} + +// Warn logs at the warn level and returns an error containing the formated log message +func Warn(v ...interface{}) error { + return logWithError(seelog.WarnLvl, func() { _ = Warn(v...) }, logger.warn, false, v...) +} + +// Warnf logs with format at the warn level and returns an error containing the formated log message +func Warnf(format string, params ...interface{}) error { + return logFormatWithError(seelog.WarnLvl, func() { _ = Warnf(format, params...) }, logger.warnf, format, false, params...) +} + +// WarnfStackDepth logs with format at the warn level and the current stack depth plus the given depth +func WarnfStackDepth(depth int, format string, params ...interface{}) error { + msg := fmt.Sprintf(format, params...) + return logWithError(seelog.WarnLvl, func() { _ = WarnStackDepth(depth, msg) }, func(s string) error { + return logger.warnStackDepth(s, depth) + }, false, msg) +} + +// WarncStackDepth logs at the warn level with context and the current stack depth plus the additional given one and returns an error containing the formated log message +func WarncStackDepth(message string, depth int, context ...interface{}) error { + return logContextWithError(seelog.WarnLvl, func() { _ = Warnc(message, context...) }, logger.warn, message, false, depth, context...) +} + +// Warnc logs at the warn level with context and returns an error containing the formated log message +func Warnc(message string, context ...interface{}) error { + return WarncStackDepth(message, 1, context...) +} + +// WarnFunc calls and logs the result of 'logFunc' if and only if Warn (or more verbose) logs are enabled +func WarnFunc(logFunc func() string) { + currentLevel, _ := GetLogLevel() + if currentLevel <= seelog.WarnLvl { + _ = WarnStackDepth(2, logFunc()) + } +} + +// Error logs at the error level and returns an error containing the formated log message +func Error(v ...interface{}) error { + return logWithError(seelog.ErrorLvl, func() { _ = Error(v...) }, logger.error, true, v...) +} + +// Errorf logs with format at the error level and returns an error containing the formated log message +func Errorf(format string, params ...interface{}) error { + return logFormatWithError(seelog.ErrorLvl, func() { _ = Errorf(format, params...) }, logger.errorf, format, true, params...) +} + +// ErrorfStackDepth logs with format at the error level and the current stack depth plus the given depth +func ErrorfStackDepth(depth int, format string, params ...interface{}) error { + msg := fmt.Sprintf(format, params...) + return logWithError(seelog.ErrorLvl, func() { _ = ErrorStackDepth(depth, msg) }, func(s string) error { + return logger.errorStackDepth(s, depth) + }, true, msg) +} + +// ErrorcStackDepth logs at the error level with context and the current stack depth plus the additional given one and returns an error containing the formated log message +func ErrorcStackDepth(message string, depth int, context ...interface{}) error { + return logContextWithError(seelog.ErrorLvl, func() { _ = Errorc(message, context...) }, logger.error, message, true, depth, context...) +} + +// Errorc logs at the error level with context and returns an error containing the formated log message +func Errorc(message string, context ...interface{}) error { + return ErrorcStackDepth(message, 1, context...) +} + +// ErrorFunc calls and logs the result of 'logFunc' if and only if Error (or more verbose) logs are enabled +func ErrorFunc(logFunc func() string) { + currentLevel, _ := GetLogLevel() + if currentLevel <= seelog.ErrorLvl { + _ = ErrorStackDepth(2, logFunc()) + } +} + +// Critical logs at the critical level and returns an error containing the formated log message +func Critical(v ...interface{}) error { + return logWithError(seelog.CriticalLvl, func() { _ = Critical(v...) }, logger.critical, true, v...) +} + +// Criticalf logs with format at the critical level and returns an error containing the formated log message +func Criticalf(format string, params ...interface{}) error { + return logFormatWithError(seelog.CriticalLvl, func() { _ = Criticalf(format, params...) }, logger.criticalf, format, true, params...) +} + +// CriticalfStackDepth logs with format at the critical level and the current stack depth plus the given depth +func CriticalfStackDepth(depth int, format string, params ...interface{}) error { + msg := fmt.Sprintf(format, params...) + return logWithError(seelog.CriticalLvl, func() { _ = CriticalStackDepth(depth, msg) }, func(s string) error { + return logger.criticalStackDepth(s, depth) + }, false, msg) +} + +// CriticalcStackDepth logs at the critical level with context and the current stack depth plus the additional given one and returns an error containing the formated log message +func CriticalcStackDepth(message string, depth int, context ...interface{}) error { + return logContextWithError(seelog.CriticalLvl, func() { _ = Criticalc(message, context...) }, logger.critical, message, true, depth, context...) +} + +// Criticalc logs at the critical level with context and returns an error containing the formated log message +func Criticalc(message string, context ...interface{}) error { + return CriticalcStackDepth(message, 1, context...) +} + +// CriticalFunc calls and logs the result of 'logFunc' if and only if Critical (or more verbose) logs are enabled +func CriticalFunc(logFunc func() string) { + currentLevel, _ := GetLogLevel() + if currentLevel <= seelog.CriticalLvl { + _ = CriticalStackDepth(2, logFunc()) + } +} + +// InfoStackDepth logs at the info level and the current stack depth plus the additional given one +func InfoStackDepth(depth int, v ...interface{}) { + log(seelog.InfoLvl, func() { InfoStackDepth(depth, v...) }, func(s string) { + logger.infoStackDepth(s, depth) + }, v...) +} + +// WarnStackDepth logs at the warn level and the current stack depth plus the additional given one and returns an error containing the formated log message +func WarnStackDepth(depth int, v ...interface{}) error { + return logWithError(seelog.WarnLvl, func() { _ = WarnStackDepth(depth, v...) }, func(s string) error { + return logger.warnStackDepth(s, depth) + }, false, v...) +} + +// DebugStackDepth logs at the debug level and the current stack depth plus the additional given one and returns an error containing the formated log message +func DebugStackDepth(depth int, v ...interface{}) { + log(seelog.DebugLvl, func() { DebugStackDepth(depth, v...) }, func(s string) { + logger.debugStackDepth(s, depth) + }, v...) +} + +// TraceStackDepth logs at the trace level and the current stack depth plus the additional given one and returns an error containing the formated log message +func TraceStackDepth(depth int, v ...interface{}) { + log(seelog.TraceLvl, func() { TraceStackDepth(depth, v...) }, func(s string) { + logger.traceStackDepth(s, depth) + }, v...) +} + +// ErrorStackDepth logs at the error level and the current stack depth plus the additional given one and returns an error containing the formated log message +func ErrorStackDepth(depth int, v ...interface{}) error { + return logWithError(seelog.ErrorLvl, func() { _ = ErrorStackDepth(depth, v...) }, func(s string) error { + return logger.errorStackDepth(s, depth) + }, true, v...) +} + +// CriticalStackDepth logs at the critical level and the current stack depth plus the additional given one and returns an error containing the formated log message +func CriticalStackDepth(depth int, v ...interface{}) error { + return logWithError(seelog.CriticalLvl, func() { _ = CriticalStackDepth(depth, v...) }, func(s string) error { + return logger.criticalStackDepth(s, depth) + }, true, v...) +} + +/* +* JMX Logger Section + */ + +// JMXError Logs for JMX check +func JMXError(v ...interface{}) error { + return logWithError(seelog.ErrorLvl, func() { _ = JMXError(v...) }, jmxLogger.error, true, v...) +} + +// JMXInfo Logs +func JMXInfo(v ...interface{}) { + log(seelog.InfoLvl, func() { JMXInfo(v...) }, jmxLogger.info, v...) +} + +// SetupJMXLogger setup JMXfetch specific logger +func SetupJMXLogger(i seelog.LoggerInterface, level string) { + jmxLogger.Store(setupCommonLogger(i, level)) +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_limit.go b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_limit.go new file mode 100644 index 00000000..290382f3 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_limit.go @@ -0,0 +1,74 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package log + +import ( + "time" + + "go.uber.org/atomic" +) + +// Limit is a utility that can be used to avoid logging noisily +type Limit struct { + // n is the times remaining that the Limit will return true for ShouldLog. + // we repeatedly subtract 1 from it, if it is nonzero. + n *atomic.Int32 + + // exit and ticker must be different channels + // because Stopping a ticker will not close the ticker channel, + // and we will otherwise leak memory + ticker *time.Ticker + exit chan struct{} +} + +// NewLogLimit creates a Limit where shouldLog will return +// true the first N times it is called, and will return true once every +// interval thereafter. +func NewLogLimit(n int, interval time.Duration) *Limit { + l := &Limit{ + n: atomic.NewInt32(int32(n)), + ticker: time.NewTicker(interval), + exit: make(chan struct{}), + } + + go l.resetLoop() + return l +} + +// ShouldLog returns true if the caller should log +func (l *Limit) ShouldLog() bool { + n := l.n.Load() + if n > 0 { + // try to decrement n, doing nothing on concurrent attempts + l.n.CompareAndSwap(n, n-1) + return true + } + + return false +} + +// Close will stop the underlying ticker +func (l *Limit) Close() { + l.ticker.Stop() + close(l.exit) +} + +func (l *Limit) resetLoop() { + for { + select { + case <-l.ticker.C: + l.resetCounter() + case <-l.exit: + return + } + } +} + +func (l *Limit) resetCounter() { + // c.n == 0, it means we have gotten through the first few logs, and after ticker.T we should + // do another log + l.n.CompareAndSwap(0, 1) +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_not_serverless.go b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_not_serverless.go new file mode 100644 index 00000000..8b7d7688 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_not_serverless.go @@ -0,0 +1,18 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +//go:build !serverless + +package log + +// DebugServerless logs at the debug level only in a serverless context +// no-op in a non serverless context +func DebugServerless(_ ...interface{}) { +} + +// DebugfServerless logs with format at the debug level only in a serverless context +// no-op in a non serverless context +func DebugfServerless(_ string, _ ...interface{}) { +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_serverless.go b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_serverless.go new file mode 100644 index 00000000..9ad3aa42 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_serverless.go @@ -0,0 +1,18 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +//go:build serverless + +package log + +// DebugServerless logs at the debug level only in a serverless context +func DebugServerless(v ...interface{}) { + Debug(v...) +} + +// DebugfServerless logs with format at the debug level only in a serverless context +func DebugfServerless(format string, params ...interface{}) { + Debugf(format, params...) +} diff --git a/vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/httpsec/init.go b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_test_init.go similarity index 52% rename from vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/httpsec/init.go rename to vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_test_init.go index 9f4db28f..7dd6bcd7 100644 --- a/vendor/gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/httpsec/init.go +++ b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/log_test_init.go @@ -1,15 +1,22 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2016 Datadog, Inc. +// Copyright 2016-present Datadog, Inc. -package httpsec +//go:build test + +package log import ( - "gopkg.in/DataDog/dd-trace-go.v1/internal/appsec" - "gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/listener/httpsec" + "os" + + "github.com/cihub/seelog" ) func init() { - appsec.AddWAFEventListener(httpsec.Install) + level := os.Getenv("DD_LOG_LEVEL") + if level == "" { + level = "debug" + } + SetupLogger(seelog.Default, level) } diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/util/log/wrapper.go b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/wrapper.go new file mode 100644 index 00000000..52ff4c08 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/util/log/wrapper.go @@ -0,0 +1,77 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package log + +// Wrapper wraps all the logger function on a struct. This is meant to be used by the comp/core/log component to expose +// the logger functionnality to components. This should only be use by the log component. +type Wrapper struct { + stackDepth int +} + +// NewWrapper returns a new Wrapper. This should only be use by the log component. +func NewWrapper(stackDepth int) *Wrapper { + return &Wrapper{stackDepth: stackDepth} +} + +// Until the log migration to component is done, we use *StackDepth to pkglog. The log component add 1 layer to the call +// stack and *StackDepth add another. +// +// We check the current log level to avoid calling Sprintf when it's not needed (Sprintf from Tracef uses a lot a CPU) + +// Trace implements Component#Trace. +func (l *Wrapper) Trace(v ...interface{}) { TraceStackDepth(l.stackDepth, v...) } + +// Tracef implements Component#Tracef. +func (l *Wrapper) Tracef(format string, params ...interface{}) { + TracefStackDepth(l.stackDepth, format, params...) +} + +// Debug implements Component#Debug. +func (l *Wrapper) Debug(v ...interface{}) { DebugStackDepth(l.stackDepth, v...) } + +// Debugf implements Component#Debugf. +func (l *Wrapper) Debugf(format string, params ...interface{}) { + DebugfStackDepth(l.stackDepth, format, params...) +} + +// Info implements Component#Info. +func (l *Wrapper) Info(v ...interface{}) { InfoStackDepth(l.stackDepth, v...) } + +// Infof implements Component#Infof. +func (l *Wrapper) Infof(format string, params ...interface{}) { + InfofStackDepth(l.stackDepth, format, params...) +} + +// Warn implements Component#Warn. +func (l *Wrapper) Warn(v ...interface{}) error { return WarnStackDepth(l.stackDepth, v...) } + +// Warnf implements Component#Warnf. +func (l *Wrapper) Warnf(format string, params ...interface{}) error { + return WarnfStackDepth(l.stackDepth, format, params...) +} + +// Error implements Component#Error. +func (l *Wrapper) Error(v ...interface{}) error { return ErrorStackDepth(l.stackDepth, v...) } + +// Errorf implements Component#Errorf. +func (l *Wrapper) Errorf(format string, params ...interface{}) error { + return ErrorfStackDepth(l.stackDepth, format, params...) +} + +// Critical implements Component#Critical. +func (l *Wrapper) Critical(v ...interface{}) error { + return CriticalStackDepth(l.stackDepth, v...) +} + +// Criticalf implements Component#Criticalf. +func (l *Wrapper) Criticalf(format string, params ...interface{}) error { + return CriticalfStackDepth(l.stackDepth, format, params...) +} + +// Flush implements Component#Flush. +func (l *Wrapper) Flush() { + Flush() +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/LICENSE b/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/LICENSE new file mode 100644 index 00000000..b370545b --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/LICENSE @@ -0,0 +1,200 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2016-present Datadog, Inc. + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/default.go b/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/default.go new file mode 100644 index 00000000..290592dd --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/default.go @@ -0,0 +1,378 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package scrubber + +import ( + "fmt" + "regexp" + "slices" + "strings" + "sync" +) + +var ( + // DefaultScrubber is the scrubber used by the package-level cleaning functions. + // + // It includes a set of agent-specific replacers. It can scrub DataDog App + // and API keys, passwords from URLs, and multi-line PEM-formatted TLS keys and + // certificates. It contains special handling for YAML-like content (with + // lines of the form "key: value") and can scrub passwords, tokens, and SNMP + // community strings in such content. + // + // See default.go for details of these replacers. + DefaultScrubber = &Scrubber{} + + defaultReplacement = "********" + + // dynamicReplacers are replacers added at runtime. New Replacer can be added through configuration or by the + // secrets package for example. + dynamicReplacers = []Replacer{} + dynamicReplacersMutex = sync.Mutex{} +) + +func init() { + AddDefaultReplacers(DefaultScrubber) +} + +// AddDefaultReplacers to a scrubber. This is called automatically for +// DefaultScrubber, but can be used to initialize other, custom scrubbers with +// the default replacers. +func AddDefaultReplacers(scrubber *Scrubber) { + hintedAPIKeyReplacer := Replacer{ + // If hinted, mask the value regardless if it doesn't match 32-char hexadecimal string + Regex: regexp.MustCompile(`(api_?key=)\b[a-zA-Z0-9]+([a-zA-Z0-9]{5})\b`), + Hints: []string{"api_key", "apikey"}, + Repl: []byte(`$1***************************$2`), + } + hintedAPPKeyReplacer := Replacer{ + // If hinted, mask the value regardless if it doesn't match 40-char hexadecimal string + Regex: regexp.MustCompile(`(ap(?:p|plication)_?key=)\b[a-zA-Z0-9]+([a-zA-Z0-9]{5})\b`), + Hints: []string{"app_key", "appkey", "application_key"}, + Repl: []byte(`$1***********************************$2`), + } + + // replacers are check one by one in order. We first try to scrub 64 bytes token, keeping the last 5 digit. If + // the token has a different size we scrub it entirely. + hintedBearerReplacer := Replacer{ + Regex: regexp.MustCompile(`\bBearer [a-fA-F0-9]{59}([a-fA-F0-9]{5})\b`), + Hints: []string{"Bearer"}, + Repl: []byte(`Bearer ***********************************************************$1`), + } + // For this one we match any characters + hintedBearerInvalidReplacer := Replacer{ + Regex: regexp.MustCompile(`\bBearer\s+[^*]+\b`), + Hints: []string{"Bearer"}, + Repl: []byte("Bearer " + defaultReplacement), + } + + apiKeyReplacerYAML := Replacer{ + Regex: regexp.MustCompile(`(\-|\:|,|\[|\{)(\s+)?\b[a-fA-F0-9]{27}([a-fA-F0-9]{5})\b`), + Repl: []byte(`$1$2"***************************$3"`), + } + apiKeyReplacer := Replacer{ + Regex: regexp.MustCompile(`\b[a-fA-F0-9]{27}([a-fA-F0-9]{5})\b`), + Repl: []byte(`***************************$1`), + } + appKeyReplacerYAML := Replacer{ + Regex: regexp.MustCompile(`(\-|\:|,|\[|\{)(\s+)?\b[a-fA-F0-9]{35}([a-fA-F0-9]{5})\b`), + Repl: []byte(`$1$2"***********************************$3"`), + } + appKeyReplacer := Replacer{ + Regex: regexp.MustCompile(`\b[a-fA-F0-9]{35}([a-fA-F0-9]{5})\b`), + Repl: []byte(`***********************************$1`), + } + rcAppKeyReplacer := Replacer{ + Regex: regexp.MustCompile(`\bDDRCM_[A-Z0-9]+([A-Z0-9]{5})\b`), + Repl: []byte(`***********************************$1`), + } + // URI Generic Syntax + // https://tools.ietf.org/html/rfc3986 + uriPasswordReplacer := Replacer{ + Regex: regexp.MustCompile(`(?i)([a-z][a-z0-9+-.]+://|\b)([^:]+):([^\s|"]+)@`), + Repl: []byte(`$1$2:********@`), + } + yamlPasswordReplacer := matchYAMLKeyPart( + `(pass(word)?|pwd)`, + []string{"pass", "pwd"}, + []byte(`$1 "********"`), + ) + passwordReplacer := Replacer{ + // this regex has three parts: + // * key: case-insensitive, optionally quoted (pass | password | pswd | pwd), not anchored to match on args like --mysql_password= etc. + // * separator: (= or :) with optional opening quote we don't want to match as part of the password + // * password string: alphanum + special chars except quotes and semicolon + Regex: regexp.MustCompile(`(?i)(\"?(?:pass(?:word)?|pswd|pwd)\"?)((?:=| = |: )\"?)([0-9A-Za-z#!$%&()*+,\-./:<=>?@[\\\]^_{|}~]+)`), + // replace the 3rd capture group (password string) with ******** + Repl: []byte(`$1$2********`), + } + tokenReplacer := matchYAMLKeyEnding( + `token`, + []string{"token"}, + []byte(`$1 "********"`), + ) + snmpReplacer := matchYAMLKey( + `(community_string|authKey|privKey|community|authentication_key|privacy_key|Authorization|authorization)`, + []string{"community_string", "authKey", "privKey", "community", "authentication_key", "privacy_key", "Authorization", "authorization"}, + []byte(`$1 "********"`), + ) + snmpMultilineReplacer := matchYAMLKeyWithListValue( + "(community_strings)", + "community_strings", + []byte(`$1 "********"`), + ) + certReplacer := Replacer{ + /* + Try to match as accurately as possible. RFC 7468's ABNF + Backreferences are not available in go, so we cannot verify + here that the BEGIN label is the same as the END label. + */ + Regex: regexp.MustCompile(`-----BEGIN (?:.*)-----[A-Za-z0-9=\+\/\s]*-----END (?:.*)-----`), + Hints: []string{"BEGIN"}, + Repl: []byte(`********`), + } + + // The following replacers works on YAML object only + + apiKeyYaml := matchYAMLOnly( + `api_key`, + func(data interface{}) interface{} { + if apiKey, ok := data.(string); ok { + apiKey := strings.TrimSpace(apiKey) + if apiKey == "" { + return "" + } + if len(apiKey) == 32 { + return HideKeyExceptLastFiveChars(apiKey) + } + } + return defaultReplacement + }, + ) + + appKeyYaml := matchYAMLOnly( + `ap(?:p|plication)_?key`, + func(data interface{}) interface{} { + if appKey, ok := data.(string); ok { + appKey := strings.TrimSpace(appKey) + if appKey == "" { + return "" + } + if len(appKey) == 40 { + return HideKeyExceptLastFiveChars(appKey) + } + } + return defaultReplacement + }, + ) + + scrubber.AddReplacer(SingleLine, hintedAPIKeyReplacer) + scrubber.AddReplacer(SingleLine, hintedAPPKeyReplacer) + scrubber.AddReplacer(SingleLine, hintedBearerReplacer) + scrubber.AddReplacer(SingleLine, hintedBearerInvalidReplacer) + scrubber.AddReplacer(SingleLine, apiKeyReplacerYAML) + scrubber.AddReplacer(SingleLine, apiKeyReplacer) + scrubber.AddReplacer(SingleLine, appKeyReplacerYAML) + scrubber.AddReplacer(SingleLine, appKeyReplacer) + scrubber.AddReplacer(SingleLine, rcAppKeyReplacer) + scrubber.AddReplacer(SingleLine, uriPasswordReplacer) + scrubber.AddReplacer(SingleLine, yamlPasswordReplacer) + scrubber.AddReplacer(SingleLine, passwordReplacer) + scrubber.AddReplacer(SingleLine, tokenReplacer) + scrubber.AddReplacer(SingleLine, snmpReplacer) + + scrubber.AddReplacer(SingleLine, apiKeyYaml) + scrubber.AddReplacer(SingleLine, appKeyYaml) + + scrubber.AddReplacer(MultiLine, snmpMultilineReplacer) + scrubber.AddReplacer(MultiLine, certReplacer) + + dynamicReplacersMutex.Lock() + for _, r := range dynamicReplacers { + scrubber.AddReplacer(SingleLine, r) + } + dynamicReplacersMutex.Unlock() +} + +// Yaml helpers produce replacers that work on both a yaml object (aka map[interface{}]interface{}) and on a serialized +// YAML string. + +func matchYAMLKeyPart(part string, hints []string, repl []byte) Replacer { + return Replacer{ + Regex: regexp.MustCompile(fmt.Sprintf(`(\s*(\w|_)*%s(\w|_)*\s*:).+`, part)), + YAMLKeyRegex: regexp.MustCompile(part), + Hints: hints, + Repl: repl, + } +} + +func matchYAMLKey(key string, hints []string, repl []byte) Replacer { + return Replacer{ + Regex: regexp.MustCompile(fmt.Sprintf(`(\s*%s\s*:).+`, key)), + YAMLKeyRegex: regexp.MustCompile(fmt.Sprintf(`^%s$`, key)), + Hints: hints, + Repl: repl, + } +} + +func matchYAMLKeyEnding(ending string, hints []string, repl []byte) Replacer { + return Replacer{ + Regex: regexp.MustCompile(fmt.Sprintf(`(^\s*(\w|_)*%s\s*:).+`, ending)), + YAMLKeyRegex: regexp.MustCompile(fmt.Sprintf(`^.*%s$`, ending)), + Hints: hints, + Repl: repl, + } +} + +// This only works on a YAML object not on serialized YAML data +func matchYAMLOnly(key string, cb func(interface{}) interface{}) Replacer { + return Replacer{ + YAMLKeyRegex: regexp.MustCompile(key), + ProcessValue: cb, + } +} + +// matchYAMLKeyWithListValue matches YAML keys with array values. +// caveat: doesn't work if the array contain nested arrays. +// +// Example: +// +// key: [ +// [a, b, c], +// def] +func matchYAMLKeyWithListValue(key string, hints string, repl []byte) Replacer { + /* + Example 1: + network_devices: + snmp_traps: + community_strings: + - 'pass1' + - 'pass2' + + Example 2: + network_devices: + snmp_traps: + community_strings: ['pass1', 'pass2'] + + Example 3: + network_devices: + snmp_traps: + community_strings: [ + 'pass1', + 'pass2'] + */ + return Replacer{ + Regex: regexp.MustCompile(fmt.Sprintf(`(\s*%s\s*:)\s*(?:\n(?:\s+-\s+.*)*|\[(?:\n?.*?)*?\])`, key)), + /* ----------- --------------- ------------- + match key(s) | | + match multiple match anything + lines starting enclosed between `[` and `]` + with `-` + */ + YAMLKeyRegex: regexp.MustCompile(key), + Hints: []string{hints}, + Repl: repl, + } +} + +// ScrubFile scrubs credentials from the given file, using the +// default scrubber. +func ScrubFile(filePath string) ([]byte, error) { + return DefaultScrubber.ScrubFile(filePath) +} + +// ScrubBytes scrubs credentials from the given slice of bytes, +// using the default scrubber. +func ScrubBytes(file []byte) ([]byte, error) { + return DefaultScrubber.ScrubBytes(file) +} + +// ScrubYaml scrubs credentials from the given YAML by loading the data and scrubbing the object instead of the +// serialized string, using the default scrubber. +func ScrubYaml(data []byte) ([]byte, error) { + return DefaultScrubber.ScrubYaml(data) +} + +// ScrubYamlString scrubs credentials from the given YAML string by loading the data and scrubbing the object instead of +// the serialized string, using the default scrubber. +func ScrubYamlString(data string) (string, error) { + res, err := DefaultScrubber.ScrubYaml([]byte(data)) + if err != nil { + return "", err + } + return string(res), nil +} + +// ScrubJSON scrubs credentials from the given JSON by loading the data and scrubbing the object instead of the +// serialized string, using the default scrubber. +func ScrubJSON(data []byte) ([]byte, error) { + return DefaultScrubber.ScrubJSON(data) +} + +// ScrubJSONString scrubs credentials from the given JSON string by loading the data and scrubbing the object instead of +// the serialized string, using the default scrubber. +func ScrubJSONString(data string) (string, error) { + res, err := ScrubJSON([]byte(data)) + if err != nil { + return "", err + } + return string(res), nil +} + +// ScrubString scrubs credentials from the given string, using the default scrubber. +func ScrubString(data string) (string, error) { + res, err := DefaultScrubber.ScrubBytes([]byte(data)) + if err != nil { + return "", err + } + return string(res), nil +} + +// ScrubLine scrubs credentials from a single line of text, using the default +// scrubber. It can be safely applied to URLs or to strings containing URLs. +// It does not run multi-line replacers, and should not be used on multi-line +// inputs. +func ScrubLine(url string) string { + return DefaultScrubber.ScrubLine(url) +} + +// ScrubDataObj scrubs credentials from the data interface by recursively walking over all the nodes +func ScrubDataObj(data *interface{}) { + DefaultScrubber.ScrubDataObj(data) +} + +// HideKeyExceptLastFiveChars replaces all characters in the key with "*", except +// for the last 5 characters. If the key is an unrecognized length, replace +// all of it with the default string of "*"s instead. +func HideKeyExceptLastFiveChars(key string) string { + if len(key) != 32 && len(key) != 40 { + return defaultReplacement + } + return strings.Repeat("*", len(key)-5) + key[len(key)-5:] +} + +// AddStrippedKeys adds to the set of YAML keys that will be recognized and have their values stripped. This modifies +// the DefaultScrubber directly and be added to any created scrubbers. +func AddStrippedKeys(strippedKeys []string) { + // API and APP keys are already handled by default rules + strippedKeys = slices.Clone(strippedKeys) + strippedKeys = slices.DeleteFunc(strippedKeys, func(s string) bool { + return s == "api_key" || s == "app_key" + }) + + if len(strippedKeys) > 0 { + replacer := matchYAMLKey( + fmt.Sprintf("(%s)", strings.Join(strippedKeys, "|")), + strippedKeys, + []byte(`$1 "********"`), + ) + // We add the new replacer to the default scrubber and to the list of dynamicReplacers so any new + // scubber will inherit it. + DefaultScrubber.AddReplacer(SingleLine, replacer) + dynamicReplacersMutex.Lock() + dynamicReplacers = append(dynamicReplacers, replacer) + dynamicReplacersMutex.Unlock() + } +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/json_scrubber.go b/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/json_scrubber.go new file mode 100644 index 00000000..34c65dd3 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/json_scrubber.go @@ -0,0 +1,33 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package scrubber + +import ( + "fmt" + "os" + + "encoding/json" +) + +// ScrubJSON scrubs credentials from the given json by loading the data and scrubbing the +// object instead of the serialized string. +func (c *Scrubber) ScrubJSON(input []byte) ([]byte, error) { + var data *interface{} + err := json.Unmarshal(input, &data) + + // if we can't load the json run the default scrubber on the input + if len(input) != 0 && err == nil { + c.ScrubDataObj(data) + + newInput, err := json.Marshal(data) + if err == nil { + return newInput, nil + } + // Since the scrubber is a dependency of the logger we can't use it here. + fmt.Fprintf(os.Stderr, "error scrubbing json, falling back on text scrubber: %s\n", err) + } + return c.ScrubBytes(input) +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/scrubber.go b/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/scrubber.go new file mode 100644 index 00000000..1aaad14c --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/scrubber.go @@ -0,0 +1,196 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +// Package scrubber implements support for cleaning sensitive information out of strings +// and files. +// +// # Compatibility +// +// This module's API is not yet stable, and may change incompatibly from version to version. +package scrubber + +import ( + "bufio" + "bytes" + "io" + "os" + "regexp" +) + +// Replacer represents a replacement of sensitive information with a "clean" version. +type Replacer struct { + // Regex must match the sensitive information + Regex *regexp.Regexp + // YAMLKeyRegex matches the key of sensitive information in a dict/map. This is used when iterating over a + // map[string]interface{} to scrub data for all matching key before being serialized. + YAMLKeyRegex *regexp.Regexp + // ProcessValue is a callback to be executed when YAMLKeyRegex matches the key of a map/dict in a YAML object. The + // value is passed to the function and replaced by the returned interface. This is useful to produce custom + // scrubbing. Example: keeping the last 5 digit of an api key. + ProcessValue func(data interface{}) interface{} + // Hints, if given, are strings which must also be present in the text for the regexp to match. + // Especially in single-line replacers, this can be used to limit the contexts where an otherwise + // very broad Regex is actually replaced. + Hints []string + // Repl is the text to replace the substring matching Regex. It can use the regexp package's + // replacement characters ($1, etc.) (see regexp#Regexp.ReplaceAll). + Repl []byte + // ReplFunc, if set, is called with the matched bytes (see regexp#Regexp.ReplaceAllFunc). Only + // one of Repl and ReplFunc should be set. + ReplFunc func(b []byte) []byte +} + +// ReplacerKind modifies how a Replacer is applied +type ReplacerKind int + +const ( + // SingleLine indicates to Cleaner#AddReplacer that the replacer applies to + // single lines. + SingleLine ReplacerKind = iota + // MultiLine indicates to Cleaner#AddReplacer that the replacer applies to + // entire multiline text values. + MultiLine +) + +var commentRegex = regexp.MustCompile(`^\s*#.*$`) +var blankRegex = regexp.MustCompile(`^\s*$`) + +// Scrubber implements support for cleaning sensitive information out of strings +// and files. Its intended use is to "clean" data before it is logged or +// transmitted to a remote system, so that the meaning of the data remains +// clear without disclosing any sensitive information. +// +// Scrubber works by applying a set of replacers, in order. It first applies +// all SingleLine replacers to each non-comment, non-blank line of the input. +// +// Comments and blank lines are omitted. Comments are considered to begin with `#`. +// +// It then applies all MultiLine replacers to the entire text of the input. +type Scrubber struct { + singleLineReplacers []Replacer + multiLineReplacers []Replacer +} + +// New creates a new scrubber with no replacers installed. +func New() *Scrubber { + return &Scrubber{ + singleLineReplacers: make([]Replacer, 0), + multiLineReplacers: make([]Replacer, 0), + } +} + +// NewWithDefaults creates a new scrubber with the default replacers installed. +func NewWithDefaults() *Scrubber { + s := New() + AddDefaultReplacers(s) + return s +} + +// AddReplacer adds a replacer of the given kind to the scrubber. +func (c *Scrubber) AddReplacer(kind ReplacerKind, replacer Replacer) { + switch kind { + case SingleLine: + c.singleLineReplacers = append(c.singleLineReplacers, replacer) + case MultiLine: + c.multiLineReplacers = append(c.multiLineReplacers, replacer) + } +} + +// ScrubFile scrubs credentials from file given by pathname +func (c *Scrubber) ScrubFile(filePath string) ([]byte, error) { + file, err := os.Open(filePath) + if err != nil { + return nil, err + } + defer file.Close() + + var sizeHint int + stats, err := file.Stat() + if err == nil { + sizeHint = int(stats.Size()) + } + + return c.scrubReader(file, sizeHint) +} + +// ScrubBytes scrubs credentials from slice of bytes +func (c *Scrubber) ScrubBytes(data []byte) ([]byte, error) { + r := bytes.NewReader(data) + return c.scrubReader(r, r.Len()) +} + +// ScrubLine scrubs credentials from a single line of text. It can be safely +// applied to URLs or to strings containing URLs. It does not run multi-line +// replacers, and should not be used on multi-line inputs. +func (c *Scrubber) ScrubLine(message string) string { + return string(c.scrub([]byte(message), c.singleLineReplacers)) +} + +// scrubReader applies the cleaning algorithm to a Reader +func (c *Scrubber) scrubReader(file io.Reader, sizeHint int) ([]byte, error) { + var cleanedBuffer bytes.Buffer + if sizeHint > 0 { + cleanedBuffer.Grow(sizeHint) + } + + scanner := bufio.NewScanner(file) + if sizeHint+1 > bufio.MaxScanTokenSize { + buffer := make([]byte, 0, sizeHint+1) + scanner.Buffer(buffer, sizeHint+1) + } + + // First, we go through the file line by line, applying any + // single-line replacer that matches the line. + first := true + for scanner.Scan() { + b := scanner.Bytes() + if blankRegex.Match(b) { + cleanedBuffer.WriteRune('\n') + } else if !commentRegex.Match(b) { + b = c.scrub(b, c.singleLineReplacers) + if !first { + cleanedBuffer.WriteRune('\n') + } + + cleanedBuffer.Write(b) + first = false + } + } + + if err := scanner.Err(); err != nil { + return nil, err + } + + // Then we apply multiline replacers on the cleaned file + cleanedFile := c.scrub(cleanedBuffer.Bytes(), c.multiLineReplacers) + + return cleanedFile, nil +} + +// scrub applies the given replacers to the given data. +func (c *Scrubber) scrub(data []byte, replacers []Replacer) []byte { + for _, repl := range replacers { + if repl.Regex == nil { + // ignoring YAML only replacers + continue + } + + containsHint := false + for _, hint := range repl.Hints { + if bytes.Contains(data, []byte(hint)) { + containsHint = true + break + } + } + if len(repl.Hints) == 0 || containsHint { + if repl.ReplFunc != nil { + data = repl.Regex.ReplaceAllFunc(data, repl.ReplFunc) + } else { + data = repl.Regex.ReplaceAll(data, repl.Repl) + } + } + } + return data +} diff --git a/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/yaml_scrubber.go b/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/yaml_scrubber.go new file mode 100644 index 00000000..74016778 --- /dev/null +++ b/vendor/github.com/DataDog/datadog-agent/pkg/util/scrubber/yaml_scrubber.go @@ -0,0 +1,117 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +package scrubber + +import ( + "fmt" + "os" + + "gopkg.in/yaml.v2" +) + +type scrubCallback = func(string, interface{}) (bool, interface{}) + +func walkSlice(data []interface{}, callback scrubCallback) { + for _, k := range data { + switch v := k.(type) { + case map[interface{}]interface{}: + walkHash(v, callback) + case []interface{}: + walkSlice(v, callback) + case map[string]interface{}: + walkStringMap(v, callback) + } + } +} + +func walkHash(data map[interface{}]interface{}, callback scrubCallback) { + for k, v := range data { + if keyString, ok := k.(string); ok { + if match, newValue := callback(keyString, v); match { + data[keyString] = newValue + continue + } + } + + switch v := data[k].(type) { + case map[interface{}]interface{}: + walkHash(v, callback) + case []interface{}: + walkSlice(v, callback) + } + } +} + +func walkStringMap(data map[string]interface{}, callback scrubCallback) { + for k, v := range data { + if match, newValue := callback(k, v); match { + data[k] = newValue + continue + } + switch v := data[k].(type) { + case map[string]interface{}: + walkStringMap(v, callback) + case []interface{}: + walkSlice(v, callback) + } + + } +} + +// walk will go through loaded data and call callback on every strings allowing +// the callback to overwrite the string value +func walk(data *interface{}, callback scrubCallback) { + if data == nil { + return + } + + switch v := (*data).(type) { + case map[interface{}]interface{}: + walkHash(v, callback) + case []interface{}: + walkSlice(v, callback) + case map[string]interface{}: + walkStringMap(v, callback) + } +} + +// ScrubDataObj scrubs credentials from the data interface by recursively walking over all the nodes +func (c *Scrubber) ScrubDataObj(data *interface{}) { + walk(data, func(key string, value interface{}) (bool, interface{}) { + for _, replacer := range c.singleLineReplacers { + if replacer.YAMLKeyRegex == nil { + continue + } + if replacer.YAMLKeyRegex.Match([]byte(key)) { + if replacer.ProcessValue != nil { + return true, replacer.ProcessValue(value) + } + return true, defaultReplacement + } + } + return false, "" + }) +} + +// ScrubYaml scrubs credentials from the given YAML by loading the data and scrubbing the object instead of the +// serialized string. +func (c *Scrubber) ScrubYaml(input []byte) ([]byte, error) { + var data *interface{} + err := yaml.Unmarshal(input, &data) + + // if we can't load the yaml run the default scrubber on the input + if len(input) != 0 && err == nil { + c.ScrubDataObj(data) + newInput, err := yaml.Marshal(data) + if err == nil { + input = newInput + } else { + // Since the scrubber is a dependency of the logger we can use it here. + fmt.Fprintf(os.Stderr, "error scrubbing YAML, falling back on text scrubber: %s\n", err) + } + } + return c.ScrubBytes(input) +} diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/README.md b/vendor/github.com/DataDog/go-libddwaf/v3/README.md index 56607916..013b663b 100644 --- a/vendor/github.com/DataDog/go-libddwaf/v3/README.md +++ b/vendor/github.com/DataDog/go-libddwaf/v3/README.md @@ -129,13 +129,14 @@ Here is an example of the flow of operations on a simple call to Run(): This library uses [purego](https://github.com/ebitengine/purego) to implement C bindings without requiring use of CGO at compilation time. The high-level workflow is to embed the C shared library using `go:embed`, dump it into a file, open the library using `dlopen`, load the -symbols using `dlsym`, and finally call them. +symbols using `dlsym`, and finally call them. On Linux systems, using `memfd_create(2)` enables the library to be loaded without +writing to the filesystem. -> :warning: Keep in mind that **purego only works on linux/darwin for amd64/arm64 and so does go-libddwaf.** - -Another requirement of `libddwaf` is to have a FHS filesystem on your machine and, for linux, to provide `libc.so.6`, +Another requirement of `libddwaf` is to have a FHS filesystem on your machine and, for Linux, to provide `libc.so.6`, `libpthread.so.0`, and `libdl.so.2` as dynamic libraries. +> :warning: Keep in mind that **purego only works on linux/darwin for amd64/arm64 and so does go-libddwaf.** + ## Contributing pitfalls - Cannot dlopen twice in the app lifetime on OSX. It messes with Thread Local Storage and usually finishes with a `std::bad_alloc()` diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/context.go b/vendor/github.com/DataDog/go-libddwaf/v3/context.go index a6dc7677..509f7f0c 100644 --- a/vendor/github.com/DataDog/go-libddwaf/v3/context.go +++ b/vendor/github.com/DataDog/go-libddwaf/v3/context.go @@ -7,14 +7,13 @@ package waf import ( "sync" + "sync/atomic" "time" "github.com/DataDog/go-libddwaf/v3/errors" "github.com/DataDog/go-libddwaf/v3/internal/bindings" "github.com/DataDog/go-libddwaf/v3/internal/unsafe" "github.com/DataDog/go-libddwaf/v3/timer" - - "sync/atomic" ) // Context is a WAF execution context. It allows running the WAF incrementally @@ -26,9 +25,10 @@ type Context struct { cgoRefs cgoRefPool // Used to retain go data referenced by WAF Objects the context holds cContext bindings.WafContext // The C ddwaf_context pointer - timeoutCount atomic.Uint64 // Cumulative timeout count for this context. + // timeoutCount count all calls which have timeout'ed by scope. Keys are fixed at creation time. + timeoutCount map[Scope]*atomic.Uint64 - // Mutex protecting the use of cContext which is not thread-safe and cgoRefs. + // mutex protecting the use of cContext which is not thread-safe and cgoRefs. mutex sync.Mutex // timer registers the time spent in the WAF and go-libddwaf @@ -39,7 +39,7 @@ type Context struct { // truncations provides details about truncations that occurred while // encoding address data for WAF execution. - truncations map[TruncationReason][]int + truncations map[Scope]map[TruncationReason][]int } // RunAddressData provides address data to the Context.Run method. If a given key is present in both @@ -51,6 +51,8 @@ type RunAddressData struct { // Ephemeral address data is scoped to a given Context.Run call and is not persisted across calls. This is used for // protocols such as gRPC client/server streaming or GraphQL, where a single request can incur multiple subrequests. Ephemeral map[string]any + // Scope is the way to classify the different runs in the same context in order to have different metrics + Scope Scope } func (d RunAddressData) isEmpty() bool { @@ -70,9 +72,13 @@ func (context *Context) Run(addressData RunAddressData) (res Result, err error) return } + if addressData.Scope == "" { + addressData.Scope = DefaultScope + } + defer func() { if err == errors.ErrTimeout { - context.timeoutCount.Add(1) + context.timeoutCount[addressData.Scope].Add(1) } }() @@ -94,13 +100,13 @@ func (context *Context) Run(addressData RunAddressData) (res Result, err error) runTimer.Start() defer func() { - context.metrics.add(wafRunTag, runTimer.Stop()) - context.metrics.merge(runTimer.Stats()) + context.metrics.add(addressData.Scope, wafRunTag, runTimer.Stop()) + context.metrics.merge(addressData.Scope, runTimer.Stats()) }() wafEncodeTimer := runTimer.MustLeaf(wafEncodeTag) wafEncodeTimer.Start() - persistentData, persistentEncoder, err := context.encodeOneAddressType(addressData.Persistent, wafEncodeTimer) + persistentData, persistentEncoder, err := context.encodeOneAddressType(addressData.Scope, addressData.Persistent, wafEncodeTimer) if err != nil { wafEncodeTimer.Stop() return res, err @@ -108,7 +114,7 @@ func (context *Context) Run(addressData RunAddressData) (res Result, err error) // The WAF releases ephemeral address data at the max of each run call, so we need not keep the Go values live beyond // that in the same way we need for persistent data. We hence use a separate encoder. - ephemeralData, ephemeralEncoder, err := context.encodeOneAddressType(addressData.Ephemeral, wafEncodeTimer) + ephemeralData, ephemeralEncoder, err := context.encodeOneAddressType(addressData.Scope, addressData.Ephemeral, wafEncodeTimer) if err != nil { wafEncodeTimer.Stop() return res, err @@ -180,7 +186,7 @@ func merge[K comparable, V any](a, b map[K][]V) (merged map[K][]V) { // is a nil map, but this behaviour is expected since either persistent or ephemeral addresses are allowed to be null // one at a time. In this case, Encode will return nil contrary to Encode which will return a nil wafObject, // which is what we need to send to ddwaf_run to signal that the address data is empty. -func (context *Context) encodeOneAddressType(addressData map[string]any, timer timer.Timer) (*bindings.WafObject, encoder, error) { +func (context *Context) encodeOneAddressType(scope Scope, addressData map[string]any, timer timer.Timer) (*bindings.WafObject, encoder, error) { encoder := newLimitedEncoder(timer) if addressData == nil { return nil, encoder, nil @@ -191,7 +197,7 @@ func (context *Context) encodeOneAddressType(addressData map[string]any, timer t context.mutex.Lock() defer context.mutex.Unlock() - context.truncations = merge(context.truncations, encoder.truncations) + context.truncations[scope] = merge(context.truncations[scope], encoder.truncations) } if timer.Exhausted() { @@ -269,14 +275,15 @@ func (context *Context) Close() { // TotalRuntime returns the cumulated WAF runtime across various run calls within the same WAF context. // Returned time is in nanoseconds. -// Deprecated: use Timings instead +// Deprecated: use Stats instead func (context *Context) TotalRuntime() (uint64, uint64) { - return uint64(context.metrics.get(wafRunTag)), uint64(context.metrics.get(wafDurationTag)) + return uint64(context.metrics.get(DefaultScope, wafRunTag)), uint64(context.metrics.get(DefaultScope, wafDurationTag)) } // TotalTimeouts returns the cumulated amount of WAF timeouts across various run calls within the same WAF context. +// Deprecated: use Stats instead func (context *Context) TotalTimeouts() uint64 { - return context.timeoutCount.Load() + return context.timeoutCount[DefaultScope].Load() } // Stats returns the cumulative time spent in various parts of the WAF, all in nanoseconds @@ -285,15 +292,36 @@ func (context *Context) Stats() Stats { context.mutex.Lock() defer context.mutex.Unlock() - truncations := make(map[TruncationReason][]int, len(context.truncations)) - for reason, counts := range context.truncations { + truncations := make(map[TruncationReason][]int, len(context.truncations[DefaultScope])) + for reason, counts := range context.truncations[DefaultScope] { truncations[reason] = make([]int, len(counts)) copy(truncations[reason], counts) } + raspTruncations := make(map[TruncationReason][]int, len(context.truncations[RASPScope])) + for reason, counts := range context.truncations[RASPScope] { + raspTruncations[reason] = make([]int, len(counts)) + copy(raspTruncations[reason], counts) + } + + var ( + timeoutDefault uint64 + timeoutRASP uint64 + ) + + if atomic, ok := context.timeoutCount[DefaultScope]; ok { + timeoutDefault = atomic.Load() + } + + if atomic, ok := context.timeoutCount[RASPScope]; ok { + timeoutRASP = atomic.Load() + } + return Stats{ - Timers: context.metrics.copy(), - TimeoutCount: context.timeoutCount.Load(), - Truncations: truncations, + Timers: context.metrics.timers(), + TimeoutCount: timeoutDefault, + TimeoutRASPCount: timeoutRASP, + Truncations: truncations, + TruncationsRASP: raspTruncations, } } diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/decoder.go b/vendor/github.com/DataDog/go-libddwaf/v3/decoder.go index 2e68f772..330412c1 100644 --- a/vendor/github.com/DataDog/go-libddwaf/v3/decoder.go +++ b/vendor/github.com/DataDog/go-libddwaf/v3/decoder.go @@ -38,16 +38,18 @@ func decodeErrors(obj *bindings.WafObject) (map[string][]string, error) { return wafErrors, nil } -func decodeDiagnostics(obj *bindings.WafObject) (*Diagnostics, error) { +func decodeDiagnostics(obj *bindings.WafObject) (Diagnostics, error) { if !obj.IsMap() { - return nil, errors.ErrInvalidObjectType + return Diagnostics{}, errors.ErrInvalidObjectType } if obj.Value == 0 && obj.NbEntries > 0 { - return nil, errors.ErrNilObjectPtr + return Diagnostics{}, errors.ErrNilObjectPtr } - var diags Diagnostics - var err error + var ( + diags Diagnostics + err error + ) for i := uint64(0); i < obj.NbEntries; i++ { objElem := unsafe.CastWithOffset[bindings.WafObject](obj.Value, i) key := unsafe.GostringSized(unsafe.Cast[byte](objElem.ParameterName), objElem.ParameterNameLength) @@ -62,6 +64,8 @@ func decodeDiagnostics(obj *bindings.WafObject) (*Diagnostics, error) { diags.Rules, err = decodeDiagnosticsEntry(objElem) case "rules_data": diags.RulesData, err = decodeDiagnosticsEntry(objElem) + case "exclusion_data": + diags.RulesData, err = decodeDiagnosticsEntry(objElem) case "rules_override": diags.RulesOverrides, err = decodeDiagnosticsEntry(objElem) case "processors": @@ -74,11 +78,11 @@ func decodeDiagnostics(obj *bindings.WafObject) (*Diagnostics, error) { // ignore? } if err != nil { - return nil, err + return Diagnostics{}, err } } - return &diags, nil + return diags, nil } func decodeDiagnosticsEntry(obj *bindings.WafObject) (*DiagnosticEntry, error) { @@ -105,6 +109,8 @@ func decodeDiagnosticsEntry(obj *bindings.WafObject) (*DiagnosticEntry, error) { entry.Failed, err = decodeStringArray(objElem) case "loaded": entry.Loaded, err = decodeStringArray(objElem) + case "skipped": + entry.Skipped, err = decodeStringArray(objElem) default: return nil, errors.ErrUnsupportedValue } diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/errors/waf.go b/vendor/github.com/DataDog/go-libddwaf/v3/errors/waf.go index a991bcb9..edc77455 100644 --- a/vendor/github.com/DataDog/go-libddwaf/v3/errors/waf.go +++ b/vendor/github.com/DataDog/go-libddwaf/v3/errors/waf.go @@ -33,24 +33,23 @@ const ( ErrEmptyRuleAddresses ) +var errorStrMap = map[RunError]string{ + ErrInternal: "internal waf error", + ErrInvalidObject: "invalid waf object", + ErrInvalidArgument: "invalid waf argument", + ErrTimeout: "waf timeout", + ErrOutOfMemory: "out of memory", + ErrEmptyRuleAddresses: "empty rule addresses", +} + // Error returns the string representation of the RunError. func (e RunError) Error() string { - switch e { - case ErrInternal: - return "internal waf error" - case ErrTimeout: - return "waf timeout" - case ErrInvalidObject: - return "invalid waf object" - case ErrInvalidArgument: - return "invalid waf argument" - case ErrOutOfMemory: - return "out of memory" - case ErrEmptyRuleAddresses: - return "empty rule addresses" - default: + description, ok := errorStrMap[e] + if !ok { return fmt.Sprintf("unknown waf error %d", e) } + + return description } // PanicError is an error type wrapping a recovered panic value that happened diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/handle.go b/vendor/github.com/DataDog/go-libddwaf/v3/handle.go index daa6cb61..799c847f 100644 --- a/vendor/github.com/DataDog/go-libddwaf/v3/handle.go +++ b/vendor/github.com/DataDog/go-libddwaf/v3/handle.go @@ -8,14 +8,13 @@ package waf import ( "errors" "fmt" + "sync/atomic" "time" wafErrors "github.com/DataDog/go-libddwaf/v3/errors" "github.com/DataDog/go-libddwaf/v3/internal/bindings" "github.com/DataDog/go-libddwaf/v3/internal/unsafe" "github.com/DataDog/go-libddwaf/v3/timer" - - "sync/atomic" ) // Handle represents an instance of the WAF for a given ruleset. @@ -68,38 +67,35 @@ func NewHandle(rules any, keyObfuscatorRegex string, valueObfuscatorRegex string defer wafLib.WafObjectFree(diagnosticsWafObj) cHandle := wafLib.WafInit(obj, config, diagnosticsWafObj) - // Upon failure, the WAF may have produced some diagnostics to help signal what went wrong... - var ( - diags *Diagnostics - diagsErr error - ) - if !diagnosticsWafObj.IsInvalid() { - diags, diagsErr = decodeDiagnostics(diagnosticsWafObj) + unsafe.KeepAlive(encoder.cgoRefs) // Keep this AFTER the call to wafLib.WafInit + + return newHandle(cHandle, diagnosticsWafObj) +} + +// newHandle creates a new Handle from a C handle (nullable) and a diagnostics object. +// and it handles the multiple ways a WAF initialization can fail. +func newHandle(cHandle bindings.WafHandle, diagnosticsWafObj *bindings.WafObject) (*Handle, error) { + diags, diagsErr := decodeDiagnostics(diagnosticsWafObj) + if cHandle == 0 && diagsErr != nil { // WAF Failed initialization and we manage to decode the diagnostics, return the diagnostics error + if err := diags.TopLevelError(); err != nil { + return nil, fmt.Errorf("could not instantiate the WAF: %w", err) + } } if cHandle == 0 { // WAF Failed initialization, report the best possible error... - if diags != nil && diagsErr == nil { - // We were able to parse out some diagnostics from the WAF! - err = diags.TopLevelError() - if err != nil { - return nil, fmt.Errorf("could not instantiate the WAF: %w", err) - } - } return nil, errors.New("could not instantiate the WAF") } - // The WAF successfully initialized at this stage... + // The WAF successfully initialized at this stage but if the diagnostics decoding failed, we still need to cleanup if diagsErr != nil { wafLib.WafDestroy(cHandle) return nil, fmt.Errorf("could not decode the WAF diagnostics: %w", diagsErr) } - unsafe.KeepAlive(encoder.cgoRefs) - handle := &Handle{ cHandle: cHandle, - diagnostics: *diags, + diagnostics: diags, } handle.refCounter.Store(1) // We count the handle itself in the counter @@ -133,7 +129,17 @@ func (handle *Handle) NewContextWithBudget(budget time.Duration) (*Context, erro return nil, err } - return &Context{handle: handle, cContext: cContext, timer: timer, metrics: metricsStore{data: make(map[string]time.Duration, 5)}}, nil + return &Context{ + handle: handle, + cContext: cContext, + timer: timer, + metrics: metricsStore{data: make(map[metricKey]time.Duration, 5)}, + truncations: make(map[Scope]map[TruncationReason][]int, 2), + timeoutCount: map[Scope]*atomic.Uint64{ + DefaultScope: new(atomic.Uint64), + RASPScope: new(atomic.Uint64), + }, + }, nil } // Diagnostics returns the rules initialization metrics for the current WAF handle @@ -141,11 +147,16 @@ func (handle *Handle) Diagnostics() Diagnostics { return handle.diagnostics } -// Addresses returns the list of addresses the WAF rule is expecting. +// Addresses returns the list of addresses the WAF has been configured to monitor based on the input ruleset func (handle *Handle) Addresses() []string { return wafLib.WafKnownAddresses(handle.cHandle) } +// Actions returns the list of actions the WAF has been configured to monitor based on the input ruleset +func (handle *Handle) Actions() []string { + return wafLib.WafKnownActions(handle.cHandle) +} + // Update the ruleset of a WAF instance into a new handle on its own // the previous handle still needs to be closed manually func (handle *Handle) Update(newRules any) (*Handle, error) { @@ -156,25 +167,9 @@ func (handle *Handle) Update(newRules any) (*Handle, error) { } diagnosticsWafObj := new(bindings.WafObject) - - cHandle := wafLib.WafUpdate(handle.cHandle, obj, diagnosticsWafObj) - unsafe.KeepAlive(encoder.cgoRefs) - if cHandle == 0 { - return nil, errors.New("could not update the WAF instance") - } - defer wafLib.WafObjectFree(diagnosticsWafObj) - if err != nil { // Something is very wrong - return nil, fmt.Errorf("could not decode the WAF ruleset errors: %w", err) - } - - newHandle := &Handle{ - cHandle: cHandle, - } - - newHandle.refCounter.Store(1) // We count the handle itself in the counter - return newHandle, nil + return newHandle(wafLib.WafUpdate(handle.cHandle, obj, diagnosticsWafObj), diagnosticsWafObj) } // Close puts the handle in termination state, when all the contexts are closed the handle will be destroyed diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/internal/bindings/safe.go b/vendor/github.com/DataDog/go-libddwaf/v3/internal/bindings/safe.go index 8106913e..5b2559c6 100644 --- a/vendor/github.com/DataDog/go-libddwaf/v3/internal/bindings/safe.go +++ b/vendor/github.com/DataDog/go-libddwaf/v3/internal/bindings/safe.go @@ -15,7 +15,7 @@ import ( "github.com/pkg/errors" ) -func newPanicError(in func() error, err error) *wafErrors.PanicError { +func newPanicError(in any, err error) *wafErrors.PanicError { return &wafErrors.PanicError{ In: runtime.FuncForPC(reflect.ValueOf(in).Pointer()).Name(), Err: err, @@ -24,7 +24,7 @@ func newPanicError(in func() error, err error) *wafErrors.PanicError { // tryCall calls function `f` and recovers from any panic occurring while it // executes, returning it in a `PanicError` object type. -func tryCall(f func() error) (err error) { +func tryCall[T any](f func() T) (res T, err error) { defer func() { r := recover() if r == nil { @@ -43,5 +43,6 @@ func tryCall(f func() error) (err error) { err = newPanicError(f, err) }() - return f() + res = f() + return } diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/internal/bindings/waf_dl.go b/vendor/github.com/DataDog/go-libddwaf/v3/internal/bindings/waf_dl.go index 802cd345..a8b96925 100644 --- a/vendor/github.com/DataDog/go-libddwaf/v3/internal/bindings/waf_dl.go +++ b/vendor/github.com/DataDog/go-libddwaf/v3/internal/bindings/waf_dl.go @@ -18,7 +18,7 @@ import ( "github.com/ebitengine/purego" ) -// wafDl is the type wrapper for all C calls to the waf +// WafDl is the type wrapper for all C calls to the waf // It uses `libwaf` to make C calls // All calls must go through this one-liner to be type safe // since purego calls are not type safe @@ -32,6 +32,7 @@ type wafSymbols struct { update uintptr destroy uintptr knownAddresses uintptr + knownActions uintptr getVersion uintptr contextInit uintptr contextDestroy uintptr @@ -40,23 +41,23 @@ type wafSymbols struct { run uintptr } -// newWafDl loads the libddwaf shared library and resolves all tge relevant symbols. +// NewWafDl loads the libddwaf shared library and resolves all tge relevant symbols. // The caller is responsible for calling wafDl.Close on the returned object once they // are done with it so that associated resources can be released. func NewWafDl() (dl *WafDl, err error) { - file, err := lib.DumpEmbeddedWAF() + path, closer, err := lib.DumpEmbeddedWAF() if err != nil { - return + return nil, fmt.Errorf("dump embedded WAF: %w", err) } defer func() { - if rmErr := os.Remove(file); rmErr != nil { - err = errors.Join(err, fmt.Errorf("error removing %s: %w", file, rmErr)) + if rmErr := closer(); rmErr != nil { + err = errors.Join(err, fmt.Errorf("error removing %s: %w", path, rmErr)) } }() var handle uintptr - if handle, err = purego.Dlopen(file, purego.RTLD_GLOBAL|purego.RTLD_NOW); err != nil { - return + if handle, err = purego.Dlopen(path, purego.RTLD_GLOBAL|purego.RTLD_NOW); err != nil { + return nil, fmt.Errorf("load a dynamic library file: %w", err) } var symbols wafSymbols @@ -70,11 +71,7 @@ func NewWafDl() (dl *WafDl, err error) { dl = &WafDl{symbols, handle} // Try calling the waf to make sure everything is fine - err = tryCall(func() error { - dl.WafGetVersion() - return nil - }) - if err != nil { + if _, err = tryCall(dl.WafGetVersion); err != nil { if closeErr := purego.Dlclose(handle); closeErr != nil { err = errors.Join(err, fmt.Errorf("error released the shared libddwaf library: %w", closeErr)) } @@ -84,7 +81,7 @@ func NewWafDl() (dl *WafDl, err error) { if val := os.Getenv(log.EnvVarLogLevel); val != "" { setLogSym, symErr := purego.Dlsym(handle, "ddwaf_set_log_cb") if symErr != nil { - return + return nil, fmt.Errorf("get symbol: %w", symErr) } logLevel := log.LevelNamed(val) dl.syscall(setLogSym, log.CallbackFunctionPointer(), uintptr(logLevel)) @@ -97,12 +94,12 @@ func (waf *WafDl) Close() error { return purego.Dlclose(waf.handle) } -// wafGetVersion returned string is a static string so we do not need to free it +// WafGetVersion returned string is a static string so we do not need to free it func (waf *WafDl) WafGetVersion() string { return unsafe.Gostring(unsafe.Cast[byte](waf.syscall(waf.getVersion))) } -// wafInit initializes a new WAF with the provided ruleset, configuration and info objects. A +// WafInit initializes a new WAF with the provided ruleset, configuration and info objects. A // cgoRefPool ensures that the provided input values are not moved or garbage collected by the Go // runtime during the WAF call. func (waf *WafDl) WafInit(ruleset *WafObject, config *WafConfig, info *WafObject) WafHandle { @@ -125,15 +122,15 @@ func (waf *WafDl) WafDestroy(handle WafHandle) { unsafe.KeepAlive(handle) } -// wafKnownAddresses returns static strings so we do not need to free them -func (waf *WafDl) WafKnownAddresses(handle WafHandle) []string { +func (waf *WafDl) wafKnownX(handle WafHandle, symbol uintptr) []string { var nbAddresses uint32 - arrayVoidC := waf.syscall(waf.knownAddresses, uintptr(handle), unsafe.PtrToUintptr(&nbAddresses)) + arrayVoidC := waf.syscall(symbol, uintptr(handle), unsafe.PtrToUintptr(&nbAddresses)) if arrayVoidC == 0 { return nil } + // These C strings are static strings so we do not need to free them addresses := make([]string, int(nbAddresses)) for i := 0; i < int(nbAddresses); i++ { addresses[i] = unsafe.Gostring(*unsafe.CastWithOffset[*byte](arrayVoidC, uint64(i))) @@ -145,6 +142,14 @@ func (waf *WafDl) WafKnownAddresses(handle WafHandle) []string { return addresses } +func (waf *WafDl) WafKnownAddresses(handle WafHandle) []string { + return waf.wafKnownX(handle, waf.knownAddresses) +} + +func (waf *WafDl) WafKnownActions(handle WafHandle) []string { + return waf.wafKnownX(handle, waf.knownActions) +} + func (waf *WafDl) WafContextInit(handle WafHandle) WafContext { ctx := WafContext(waf.syscall(waf.contextInit, uintptr(handle))) unsafe.KeepAlive(handle) @@ -207,6 +212,9 @@ func resolveWafSymbols(handle uintptr) (symbols wafSymbols, err error) { if symbols.knownAddresses, err = purego.Dlsym(handle, "ddwaf_known_addresses"); err != nil { return } + if symbols.knownActions, err = purego.Dlsym(handle, "ddwaf_known_actions"); err != nil { + return + } if symbols.getVersion, err = purego.Dlsym(handle, "ddwaf_get_version"); err != nil { return } diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/internal/bindings/waf_dl_unsupported.go b/vendor/github.com/DataDog/go-libddwaf/v3/internal/bindings/waf_dl_unsupported.go index 9e370827..9745bef1 100644 --- a/vendor/github.com/DataDog/go-libddwaf/v3/internal/bindings/waf_dl_unsupported.go +++ b/vendor/github.com/DataDog/go-libddwaf/v3/internal/bindings/waf_dl_unsupported.go @@ -33,6 +33,10 @@ func (waf *WafDl) WafKnownAddresses(handle WafHandle) []string { return nil } +func (waf *WafDl) WafKnownActions(handle WafHandle) []string { + return nil +} + func (waf *WafDl) WafContextInit(handle WafHandle) WafContext { return 0 } diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/.version b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/.version index 74406836..1acb46a4 100644 --- a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/.version +++ b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/.version @@ -1 +1 @@ -1.18.0 \ No newline at end of file +1.20.1 \ No newline at end of file diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/dump_waf_darwin.go b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/dump_waf_darwin.go new file mode 100644 index 00000000..b0ec8e10 --- /dev/null +++ b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/dump_waf_darwin.go @@ -0,0 +1,57 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +//go:build darwin && (amd64 || arm64) && !go1.24 && !datadog.no_waf && (cgo || appsec) + +package lib + +import ( + "bytes" + "compress/gzip" + _ "embed" + "errors" + "fmt" + "io" + "os" +) + +// DumpEmbeddedWAF for darwin platform. +// DumpEmbeddedWAF creates a temporary file with the embedded WAF library content and returns the path to the file, +// a closer function and an error. This is the only way to make all implementations of DumpEmbeddedWAF consistent +// across all platforms. +func DumpEmbeddedWAF() (path string, closer func() error, err error) { + file, err := os.CreateTemp("", "libddwaf-*.dylib") + if err != nil { + return "", nil, fmt.Errorf("error creating temp file: %w", err) + } + + defer func() { + if err != nil { + if closeErr := file.Close(); closeErr != nil { + err = errors.Join(err, fmt.Errorf("error closing file: %w", closeErr)) + } + if rmErr := os.Remove(file.Name()); rmErr != nil { + err = errors.Join(err, fmt.Errorf("error removing file: %w", rmErr)) + } + } + }() + + gr, err := gzip.NewReader(bytes.NewReader(libddwaf)) + if err != nil { + return "", nil, fmt.Errorf("error creating gzip reader: %w", err) + } + + if _, err := io.Copy(file, gr); err != nil { + return "", nil, fmt.Errorf("error copying gzip content to file: %w", err) + } + + if err := gr.Close(); err != nil { + return "", nil, fmt.Errorf("error closing gzip reader: %w", err) + } + + return file.Name(), func() error { + return errors.Join(file.Close(), os.Remove(file.Name())) + }, nil +} diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/dump_waf_linux.go b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/dump_waf_linux.go new file mode 100644 index 00000000..c2767fba --- /dev/null +++ b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/dump_waf_linux.go @@ -0,0 +1,58 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +//go:build linux && (amd64 || arm64) && !go1.24 && !datadog.no_waf && (cgo || appsec) + +package lib + +import ( + "bytes" + "compress/gzip" + "errors" + "fmt" + "io" + "os" + + "golang.org/x/sys/unix" +) + +// DumpEmbeddedWAF for linux systems. +// It creates a memfd and writes the embedded WAF library to it. Then it returns the path the /proc/self/fd/ path +// to the file. This trick makes us able to load the library without having to write it to disk. +// Hence, making go-libddwaf work on full read-only filesystems. +func DumpEmbeddedWAF() (path string, closer func() error, err error) { + fd, err := unix.MemfdCreate("libddwaf", 0) + if err != nil { + return "", nil, fmt.Errorf("error creating memfd: %w", err) + } + + file := os.NewFile(uintptr(fd), fmt.Sprintf("/proc/self/fd/%d", fd)) + if file == nil { + return "", nil, errors.New("error creating file from fd") + } + + defer func() { + if file != nil && err != nil { + if closeErr := file.Close(); closeErr != nil { + err = errors.Join(err, fmt.Errorf("error closing file: %w", closeErr)) + } + } + }() + + gr, err := gzip.NewReader(bytes.NewReader(libddwaf)) + if err != nil { + return "", nil, fmt.Errorf("error creating gzip reader: %w", err) + } + + if _, err := io.Copy(file, gr); err != nil { + return "", nil, fmt.Errorf("error copying gzip content to memfd: %w", err) + } + + if err := gr.Close(); err != nil { + return "", nil, fmt.Errorf("error closing gzip reader: %w", err) + } + + return file.Name(), file.Close, nil +} diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib.go b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib.go deleted file mode 100644 index f656122a..00000000 --- a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib.go +++ /dev/null @@ -1,61 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2016-present Datadog, Inc. - -//go:build ((darwin && (amd64 || arm64)) || (linux && (amd64 || arm64))) && !go1.24 && !datadog.no_waf && (cgo || appsec) - -package lib - -import ( - "bytes" - "compress/gzip" - "errors" - "fmt" - "io" - "os" - - _ "embed" -) - -//go:embed .version -var EmbeddedWAFVersion string - -func DumpEmbeddedWAF() (path string, err error) { - file, err := os.CreateTemp("", embedNamePattern) - if err != nil { - return path, fmt.Errorf("error creating temp file: %w", err) - } - path = file.Name() - - defer func() { - if closeErr := file.Close(); closeErr != nil { - err = errors.Join(err, fmt.Errorf("error closing file: %w", closeErr)) - } - if path != "" && err != nil { - if rmErr := os.Remove(path); rmErr != nil { - err = errors.Join(err, fmt.Errorf("error removing file: %w", rmErr)) - } - } - }() - - gr, err := gzip.NewReader(bytes.NewReader(libddwaf)) - if err != nil { - return path, fmt.Errorf("error creating gzip reader: %w", err) - } - - uncompressedLibddwaf, err := io.ReadAll(gr) - if err != nil { - return path, fmt.Errorf("error reading gzip content: %w", err) - } - - if err := gr.Close(); err != nil { - return path, fmt.Errorf("error closing gzip reader: %w", err) - } - - if err := os.WriteFile(file.Name(), uncompressedLibddwaf, 0400); err != nil { - return path, fmt.Errorf("error writing file: %w", err) - } - - return path, nil -} diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_darwin_amd64.go b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_darwin_amd64.go index 27c7acf0..16868569 100644 --- a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_darwin_amd64.go +++ b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_darwin_amd64.go @@ -13,5 +13,3 @@ import _ "embed" // Needed for go:embed //go:embed libddwaf-darwin-amd64.dylib.gz var libddwaf []byte - -const embedNamePattern = "libddwaf-*.dylib" diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_darwin_arm64.go b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_darwin_arm64.go index 3133ac40..eca7b655 100644 --- a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_darwin_arm64.go +++ b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_darwin_arm64.go @@ -13,5 +13,3 @@ import _ "embed" // Needed for go:embed //go:embed libddwaf-darwin-arm64.dylib.gz var libddwaf []byte - -const embedNamePattern = "libddwaf-*.dylib" diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_linux_amd64.go b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_linux_amd64.go index 9e72cdca..97d24c62 100644 --- a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_linux_amd64.go +++ b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_linux_amd64.go @@ -13,5 +13,3 @@ import _ "embed" // Needed for go:embed //go:embed libddwaf-linux-amd64.so.gz var libddwaf []byte - -const embedNamePattern = "libddwaf-*.so" diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_linux_arm64.go b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_linux_arm64.go index e8be318d..1f2e50af 100644 --- a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_linux_arm64.go +++ b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/lib_linux_arm64.go @@ -13,5 +13,3 @@ import _ "embed" // Needed for go:embed //go:embed libddwaf-linux-arm64.so.gz var libddwaf []byte - -const embedNamePattern = "libddwaf-*.so" diff --git a/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/libddwaf-darwin-amd64.dylib.gz b/vendor/github.com/DataDog/go-libddwaf/v3/internal/lib/libddwaf-darwin-amd64.dylib.gz index 75ed887433dc2d0a5f70237b14f640df5d22264d..8c8a5bd8b1b23b9813814443b105eba1a9b6daa8 100644 GIT binary patch literal 706738 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 xy{o!D^3xnaVpK)K!*WVu6^;O2c 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�X zEA4#0=57s?NbYIQz*C?cyaDC6mxv~eMc9KtV<;S`i9c^kUaz@Z{ZW}#MY)T5IpU5+ z)Ei^FC6TF4ADL-4vW!c#93QW19;TIsdtT#lx#vx+Ft4l}Z1e3Bc|U$XK=h|L=zWWh zRjPXqhI^_Ki+|omZ3NqUS9g0KXXn)1dk=XZ?n1I!Ocy?h^p;7Hc7>!&ES2cwQi%-m zkp-pWNLGskP67T=Kk1%|_LIp4O;WHN+i-9r?(7h7KwZ|61?I1o!&z_%)mYG}{*CEh z7KDaY|FTJXF2Z!+ACKfh4|N?`rhnO-jw~P@^l(;B{$-y|%|YtyBUuR3jA6Zw;a_H< zH?uH#QzF|ise-acnBF!8D}k_jc}UkK5`im*VAu{yoX>`kr+P_Ax=?e8&CqebvGZrW zWDW%EnbLl^rC6~YN4KzkNRDP1;PKQ zL@#$0O4RQv(H^u|d#>UEBrC3iFqFAqH`NA!M`mz?nd=9W&(zO~(O=Y=qm%4n|BiAIU>O#WYQ z>~0d4POuq{4ozRAVdVm%zIxbzE06gu6QKx#GD*Zr7Qu909wz>1o*?!T#BrjKEk{Km zJ3R_T^#5*)+jz2r_um+diZ=5or`;Udk2e@W$vg>ban7{>*%n#x#@1ZK!<;hqaj>=k zSSw}fZI!7{)qahYj5{q|KE%76V0KBn>2fsh@*m$>yDUs}c{bmvFR)S^y#{vbl55PJ zI-l*-gO4Mmxst7(;H`!wT9vU@^B-sX*}}J~Rej)K7Ao3IqHv*Gxq-(TH)?l`;+z;Kz%mdf03?X{@y&8T`)F=6-5H4lF&_vpBsLh{`$zet@ZHHiN zp5>ck+tf-(=ZlpL*Jd7*=AVO=i~}$8b8sD2ijPhQkT%PTH*5x@P20;s+MGasRi?fc z6Zt>FN^#qCp89*539Q8oSYuZ(U^R1SsOk;vS*R#%PK6_V;>U6A98^#2&ocbGIli;i z-D6zl_2XcUzjGKCF)eCY#CeuQ+%esP7sev~+-k*(z6rd@OzwDqFXD{EA{d&fcRrS~ z<4+tg7QyyAb+?xu;7j=Y`>gKnf0FB2VXWswOxn%V3JXL`COaeLoMJ&`bHz~=84QED zk^i??aZGq=FbcYDOJ*>xH_fufLcYd^JwLd{58<_eW2c&He2}g2kw;V3_*z?!Ykabe zukrA{F8r9|V;-g%n-1q1wOYWP^kPi*VsaP^wB8twct7PPzk%0I%R#adh`lzDr<^JZ ztLHNqUKitttA2e@*R@_nVN4zKpwB*dlur%x;gMETD>ta2wk%7%9Ao^k$2tDasa?i@ zsm(h6jO6&=9qM-c3_iYbUWax)ui!gC=8D$no|&~hx3~Ss_KaYZF6*KFFy4N%kc~wl z+s@jTB80wU?^|D}?U~-#e}Eo|33|k!KZUhAH@GCv9vFc`ZJaP+IyMiJF|Is8>@A2B z7!z?ZCgM_0W$;~$m5c{AT8{D!E0afAsU0+XJ&!-@uRh(HLHufIt3)6g&+}qZ%Rb#_8FY}RbC-eR%VMJ742YB(M$V4DjJS_ zqzXx-(k@Xi-v*B$dXYyEeaW4Gc*6s_{&!nVSO}e9<4MHjeOV~pmvi{<)+gEVLC%iX zyR_F$6PvsS<3tM@pkZYlSSxwkq#DIP2cT9sBpNIc{?7a(o6xG=< zem2>_23BT+K~|+2bgPNCCJLGnidm8+=fI3$5yWbcRzct5g~BeNkgzhl!eJOqRV;m5 zTdcLx*1pERl?E)hNg%u6ZQ~V11-voK3Pg|)F3J3V=Q*?2B#5`~d;h=h&5w|sojGUD zdCqyR=ebacVM?yxn2@nPAnZ2lA9a}|30%lb2b&E3;+>-`DRTIJ!8pv!=PV%R^P&fN zmo}xq9Ohpgd&UGaKffD!*-dGC{d^AQ>9MrEE(9I}?=ZgKWA(h7H$sV?8K=to6Ymu` z)xAGW>#>^mXpem*_N;(rLwB-hNvewW48liY7 z8}VK{z!&VoeHrq0x;_HhA}rboOtdhLM|*Ms`yCz9)xlJ|S) zJFNeAOw^{^^hY?N=vak>UQVcy>TmR z#RhTS0lTSvRXf~5L4Oji21&Np>YP>FdYRA0rdAi#w3LOi?}L9#(D0t#QC;Npp2q9& z^}}kllReG(4ZCkwmK0fiX*bf=kKI25^8~nq7&7$7>O>o+gZPs@>g}=TozUN4^XY0Q zrmSyAc8mJ-_viT1p2>PYyKm{^zHmc`Ju*;PQdHr~J198VGg<8gWl2$yFWCpw`{x6Eet^}9jIy{mz!P!4Vla76-vTD}IN zK}9yAJ^-bGEZY}4llH<3%0jV{9E2JyvGa2J4jVe;7N&#CL&~%l0^9CUi250{&z^|- zc@^ik>eCA$7x^@zj+?{YcMA4N@B>}gd-uJjF z`F&IJ6_a{@g_QM*l|!M#&zdSa^O<F60Hq!*HVcd(?8v7N0qJCF-TZ9rLm*g;yn$kz6e&QgdkrT*v@?G*>Zy~`|r-~ zHiUI@BjYZoLmmiK4#gd*^Od$3)~2lY2+ z$3V4f7z$>aKDF9L{g%OqbCgETQ6hS6jB}K?KI5j)zn|V)eb01!^w3vj8pc#!jcFU9 zU6}gnCGBZHu-b=~LnfiELSQIJW|5wGfVSb1X8c0x93qN`Z|A{+?_omUWi+3enR#Ejzk)XiQgK)`>ecXzzp z%)byZ^YL#><>UV%{d}R*`+VHaUmj&wPh&0b+Qvkto!@b(nhh5*;o*HIJWSh_E^H1+3Y+~?V&t!W z0)1cglZ4dqbJp;hhcd*-8GGz77T;+^t1ZQvuU@Z(f`B#k65WI8hkBijt#WzQ@;Nr5 zY?)?eDV&yv&_66RnzaR4S3>X?0NN?#a`1H_@Fl3T(Vn~Hbu*+ib8oysn&MWHo+FB+ z=ZKPoXSb84csYT3XR~*PlBah1LiJwA{Cu}*N1$m z*KmRN0t*Pd4U#IajWG?~6X@{Xhqb&9o=T|<2 zOiJ5u#mNn~=Y#YOw#fAQQ$-wS07drMJBj(8+{_I4qPEAbg@LSkO zYgQr@JG09$_=8ViZR7*|!AmA4iUCex4~|&LP+<*6g$8}fCw5f!daRhW{6^bJ2+Z&1 z!Ufd$>^6+lw(?F$RE_*e!u=THl)vV#+7LUPuWkE(r?%F7Zbses2Xkx9I?-cm{pYo5 zTdN|uwFbYRwzYtYz_vCS|3Akp1~hB5<~ zV@o=F`0Hfn+qq0qZ~s4(Lu?4-5R-==h+l>2aY8#{zkbk(0cWic**nf5(Yq4?RfK++jNSk4bC8|J7RDyit{AX+dgvQvBD-<7{Un*lRC`t? zG8-Ab1=A1Xm&oF$n10yT%Dk1nGH*ftH>;isAsrO|X)1(t5TWxOL>)AqT4Ow3KT)Vf zV()x8c{abxJe%L0I-AePMwW~rErl4;o{4nym9HcgFO`Nmm1*p<_qmwbFF!pVCLJHf zd=L20N4(Myn7%apX#7e-yBI!zy@?)`#XWP+muP1i)H_X3w8aNh@!-%eX&X;06=A!5 z3P*?2c|NI#&m)P8975pB6h2&$%qImQobNDTztt;3yqG|Ub(qRgJ~VyA%Sogt&W!&C zq^NWxqA6P|ix8M{5`os9?-o1c^bqS$y!nz^8wH1zZ-g5^{;+S{IG``dW4JLhElVF6 z9*&o=^>OvKJ|?~DOwcQ{I74T8WcAHVttYC?BdcrJM>L*VkD8&?72g6cJP3lTJts*t zrQf+Ni66y1@ng`t96vtG>lHs3KPB`8R+h{`LSQ#6uh(@)#(7L4AAIh%o`{&p2T#IP zt~>bdxZX7bd`P(MJH3FZwQOtrIx}riN}pygoR+FK3Kz**qvn+(<0>O=5$X`1m(kz# z&|hW*V~mXuB4}mxPFIB-+$RJ!GQ~strwdFhNg>q^g#^mSFHF0i{MO7zV+PCw z?gmG(f4i2OE{>n^J<*BVbZK}LCz9ew!#kN^D-Ayeg6-S92+-To@DKYa{WB<0r+Fmz z&!rJ89-UjCfBGEY~aqctJ8AZ(ap?TPOCc*CtMIcyCK&tvDyGRyeOe zm!1DMyI#zIw0bcR6WudEq4$YcEB7J~aX%qF4B;}q5Dt4n+(olP2rTb53|$NN+}_3{ zXKZ%2VGw1p3nL-$uDLrZVEl>wIyrpu{aTUOujOBRzm}%&*V2srTAHz6OHXaTmiE41 zG3-~(>v9tHW>-<%#^Y6PvPt40Zvj>-%UNgpv9`!zMB|?^a12AzTF zcpHxgajFhm;86z?f+Bb(^tM}|1RRwZ`{lm@~h+1e`G%S&EwPewe;4*|Hh~P zKN_E2*VP3?V18Fumb~%R`2Jwq_k!;izxh8F-+veVPVoIdLZ^!F*Mz<;zIVO&zxe*Y z_@2b~2aj@mf8b~je23GZPD!0=lhpCHp0?g*_SH8?xZOu$w|t_FHOTNLwm@xcfg(v` zti&^KgE4ks6}#ZpSV_Hdf@*y=8(v|oBBpX5mbB>(N!;nZnlBR19`_Ri506S>#OI3N zDT&d!&XgIJyT&I>v62|^jyKb_U(Lj?UV6BwM-P9=>cKW4i9BaAt>4L{ap-96UG9(MZ zk%nQ!?lZRn|I*hGZ%lvWdiKZ-hGEoa{`8`68dx1e)LU$_dXGaA1Zd4FaUz z0D6BFE;&T#hoq@HmuS~on6d*YbvLsyHyZrsTvBpaqI+@Ev0T#Bl|#f=Bw=g}uQzWC zSllKFmAV|<=e-zey-;6-h+BkZ4(3X70qIrcNUPgoS>f?7w_xpgUYW9Xt^OE980RhcZQ_)Pm)^`9x6C|c zsz-^eC2V6>I?BINO=#GuYd#}h?`9*Pks$=`h3miblFNoHcKObY-%Qln z5TP{@ebH7s#QZ)|!)EcRES~U|%i7GfM6C%i3iL5iJrOK!_nn66&iKm`Z71S~-jJlt zNgw~n%<=Q!pdvPYwKl3RXzk;C=l;*3);iVr`mf@#s%&@qmP^_!hkv0H3BmdS2+8y{ zI0oucDhdtX#S&vzVg0s<9g$JhHbJ|6077oH+To_vg>L^6Cn9vG5S$8GFKd?j7uk^a z7g*ca4pF^egvdD^p%p>)#b}EVcpo7&I!6ewL5|K9g6DB((x+A@cJ#Jf_`(}7cl3tb zR34sBz=7vh$W9mg5K=1S%}%zg=Pj>JwDjll>b}A{H?-~thqgZ}!m8UDL;Ss$nys;x zch88^5vGu`sIfmv7SR?0D|x>kDQ3Tm(?)awVCw`vqTz56?1WQgvw*poB?Y>|THeNA zCq{cE?{#IO*9+2motEC~WIj^m*Wgb{d6`=1VlRgP;axOxw>)^S@X$LssqQ+{yE|k- z2%PrXbcsII&d1uxqoXgq0_Z`#q``V^7?L{wev#9I`XoJI6l`^Z9{dVxBR{RFvAHBUWju*#Q-de&lXQ@`O7 z*8K;p`x$&(Fpp%ZM8Bj$b<9K|reE^ey;cST{AF2UfFkQ*3>zR!*CGTi;bZjc)7Ti# z$ylFEP(4|e398eRpn7FvI;f^5K{dHgus>hc7ufI5=u1lWMN(itS_-rJZE0dwrL5r{ zcXF@;?O&tQ&35E&^*{mIaujp+OSlcN9{$C9xG~woDAvOTnLSi*27i2xJ@COKdk|z# zxAU@4AE0ko{{*YR_9S(V4eD$Dy@FTEhpOJQzdOALZ|cmyoSh6Q?7JrQqqIXDGP)M1}! z)?x3=t~Y;WNo;H4?l$D%UGdXp+LbW}Lf^t# z?dplDOK0P`iNPb0j~)*PeqL>kdsy1IugDnp{I}Rp-$)zkfW%Pa8_nUx|A{G2Jg}-E zc|2F1Q9*t)rqdiN@tyc$znBskf=1ST`mq+f})*P9R{mh z#8M|avC^DMo7^l1JMO)Tsqk%ktLPVSpx2g>Hn|PA#gvaMIDcEB2|v^8;AxZJJ|s9M zq#t;9cx^I05L?Di^sao7pXhbNiQZJB%pk$HD}+^Hoc|hDLPfow>fPSl%c6)>^*9Q}DteUcOmjJ$@6`Ab!*V_15XF4y+CwPpwDI zs_Kah$=4br_-gVLuiZSw`yzFU*O5HM>)@w&I5$_KMG$n#1P_S8)^B3i09Z_v&CV3< zk+dMB3{!I@{xGBeY z#&Q0luj(JGo)Dp)Qo-SAV9yn?jx4MrA@DHBp}y51W(VP7<{BnrU&Li>^ZY6)U+><; zm^o0 zxkUP4LS|aawVi4AnT6C>b4V-~)>SZ#XAt`=sWXbOTH%cM?@P)lxF}P~xhTo`maY3r zfx{>PzV$>&qOhWiHN1Of2H$#Uqung2_?M0LUP>z7{$gQTNyV~Fkn3RShC(<~erBT` z#b?B)6Bq=4plz z|1s+wB&5p|64HDB=G)-%4eW1>xA5Ovj=T=6LY^C}gl&56QbXkO8C*nb2ZU44| ze7rKTOdI$zJ-5(YroUz`(-27er@D(UUixN*>Uh<;&W;U+@-&#f5?_x1~Rr2p{Wb|efm0mLR>yGGymf*r;4;)p3jdtTsx z%3sf&0Cs=cWz=Vc)$pQYQAOWlH_x=1LfEW%1lIib^Su|;gf8XtBM_RmVxGjPcpxaoKXY@3ub7mocPs}DZ;?ceM37Rfb-f*>HI;*gZ&xyci6P)qc7*gI zd$0Z<|Fi6Ir>*}c_P8bMPu(8(o5o)4aR&z=q<0PYX7)J$y_TH0!-U|zbYtAEzKn6< zUX5`kzdHqcTzJ1>oWvfN)59Luk9+;@S(aswTQ~0;+2ekCeqZ*ueb0WSJ#GXv9@78( z413(0(=+UGhu3|3d)#yDIQ`o?{@cq7GuQQEkDIja6zp*qulsiPxcKwj9+x}*+t}lt zdcGHXT>bN=J#NoGdbh_BIK#m-$`#nRPNKlRhMNv>1@>sh7q4L`;CZ)=yqI*M`ghXB zYEv?9hU0Lygno$8cm43{)v8j*(Y!cDOpY4~oYxkBY+E4I8O4L?MLXLlq6 z0P;_%*r z)qEV>>YajBw+)M7Z;ZXCP#V5n5~JRa;y><@Uo2VI^Ng(gVywY)Tpv9QXKLOj%eJOw zAI~Yp02iY#}LH1EbXvEiq!nooj7#0HvAetrew~IL4a0bj5W}_i~5eaPwygt>9g` zTPuoLqf!(vav(r5WCeP!X0d#riU|JK64~O`&1fJ*q zgX8(xbdgQ}{d1<6pR@^Nxs-m5 zdT1X$`@Q&UEc(a)SbvSr|LZ&P*I57iQ}x$)==a~&UqkM-hyV50_`|BdH6T>JNAzQZMd=lKqQ``1469qv2rbfnk* z4e}jc@?2q``407wf3u@r{Ri&px;wOSidJq~iQ$A+6abMcD@_VXVsJliSJw{gjb zxT!lAi$?@y3qq*Xvj(NAi3kNj5d>n>FlXrhWkJYay9Rl0lhmhXfPnXjS2Ar$lDNy~ zl<1!Hnwj+=Z+`3@l70UBH&b4l!A<>l!1*r&owgCP&tG2CZD190^fGLBVahZ5s;j^P zQgTrL$$uuyEeW(I>N&DH)h5xqqC|Ypd$0T7jJ%bFJZ1ahKQPz7itb9y+pTP7y7~N{ zFb!~a=R*JDF>{c&zkl(VJCOG+Z0W}8=oW}t;c@Dc>S>fzxxtvk6p2x8|EHEF-KOla zRM~X%jWe{n?(8ABP?y)WG5qufP|}#!z@5goP|{x>r=sxw>+WPYQ&Dz}swk;!f{ytj=>{ zb#f7-bic|$h-gbnu{y65tCP$1`hEzlsJz3yy!sBoQHce|glTS}U?Tgk8pj^yHuX`m zdV47&3k!)_UCwAiA)^UDOPp76dT?zPJ^1u#pa1GPq__Raj(YRoib7oF+oYsJ zreBh#6SAu;ZREv-2}%;icCw8J)~VMR51YVWIbIvll`U=2 z7D7Fcnq|CZ?IhIWkb@m{gLxEgRH6sWsL5X@In6~I&{F&RNR8K?}Pt3naQhiaPPPdVgkQ@xv6|(oxR*5#t zG^}s>GkeoHsY_7rskPc;&DU2~Cg3y=szvdt$i(d-MZi9jc9}#t; zgIp{?$Bk(nN3dqiPp;N)_>YCHmQdL$iS5F&^K%%D+hvtBm!GLVgP#I%gV1Ulq5X+v zvrKPyNb1a}EPm>}-aHSYA3_#5wqukQ2T`^-favbmfA^#vv0F}|pwfwzmSRZ#!tYHb z-3C#%u&usl!X!uhm?|X;2_S_4`n)NsN2%;|0FtMv2xo z5M@h+nIA;iG6`zaX!D>xjrSUf9+I`%5E}|4^(9)JgJ`~}ewsNz-7OT1E0)D>Z!^{w zl@rz1Nz^Gwzb*%%__J7PnMCM^l3LqwpA0B6JuK6E zZ1K~;Vs_Yfp-jClTUOc6^!O$Efg~RCzALM>x*RmTqlxNim&8urAc-3BA9DHTxYwCQ z&xSn7=oyo*Svy+WuID~!M?|Y>a6>+TwM4Cr>IeR4NAbrQRsNv`p?D5cC0pDb;~W<6 zAfnb4>94W}a+wxN7uXoh`oS9eN$j^tef%#VMRr4Muz12ZSfWO(mir&j_t|*o$m*Rg zFjdP$t#Y+XqV5|e(F5@j+4;b@y)b)zBmbD3-(r_8(>q=5`tU!p8Q$z_aCcO>LKg3% z>|RtKz#d&r)G;!xv*{Rt zjDHD%HZU-oFxd+*8UBPF#dkuRl3lWPNk1mv5aHP{roKkNF0qx+cVwZuOBRoKf577f z=^iFgwf(`)lHnHI%v5wqbNz%7!u&N{?=r`XsgqdVm*@yXGLT%uuhCq24HldgY8`A350epoT$IEGI`RSa@^sEbN#Sp-3}!o)T@Ykiw&0?!oeMN zgCK#@d-}iFI$GYB=`35u`Q4CC!w?2SbUs*O&mnZaji^&$GIy-(P1PA}PG)botIzt( zpy|{`CG{Q~5fA$=N(laalALL0UDU@yd5%i}zAVo9R!b)_mtl2&*o|+Gsy++LKFiH?HN*5HScJ*T8cN z_}SBjL9~tBfy5UAMVr2>pYe=g5H$$K5cTl}USH3^n*Fy}D~w<|rBQHLBSL{^E!KQ% zG4=VeHe|{Zc7!$AFKKL%_vl~1FsGGbt;P?4fU%8&vDG$W`k}t_&xVnC_XkfJOpwB6 zX0J``f%`Wv&$POv`}6e<|F{1L@SkJCf5D%>68>hbo#UALwqrVFm!$oRyGHxA1Af>L z!oiSl3|4*HvC8h(u4OdfPWGnzTec&URCenFU{XGitT6RNu{I^jx){t^ElwJ5d*z=P z7XM2^4emHI{Xb1BxXUH0R|1WubDUVKjY{-02CM}t6HchiyZA79oSHoT3TK2?W z;E5W}0%@fU1Wff7TPo5C2X{!SXRQ#p8uX#C&~%Sf&r2?&ydddh2kaLX{!~BEen3YG_U-36Ao_p$RR@C zj`uHn{m3CGX76dhDoPf#=V!IWaCr3)Otumnmg9p{@+!}l;GIWQkIl_qd>TIAvqloz zy(RJKv+A+99qgxxmsY?_)9t72zN=)>Ghb0gFAdTVaI8ZRc|hjY)DXgki|o-mrXCs%(! z6}x~9K-5Clc-49^kr0JYA$}Xts$34DdR-1euafCvmt#D&9wa=UEx~GqjlYahtl`_^ zm#`(jFm1_)B$hm0zzC5Zd(4jFL-{)L#3)vmM9Ya%<#P5~(Z|r&J;oD>4SLkfe-h$$ z?+-&=#wpX6Non-u`P@F}i~aXNUy3bB`tsK&dZ#b{I1WUv7y42Y`wSUr{0r>m`s)Z- z0Jo0EK3Qc)Y3E5`*k0nmLBsol%=#Saxq9O&d$Rr+QOB4?ryz4Nl+swe%8r24Ch`ZX z3v4y9%RlHcX4PlQ2jCxO`rHVC-vfe=kiTa{4JsdwT6P~oGDRyo!Bnc#r)nP9& zx!@{EomVW2j2aT5`b`{s-Rr>Wq9O*Yrd4(n4EeT}g_zXcEIbkt)`ct~C1k{(msDR= z77u$bA!1?&n00GIFoY~)PrQ|b4c`JhP)~QEGM)- zRiVL zb5GXkWaoEyI+-tP3k)*6JASDo8uRi9?T(+1X{VG*>I2>yM}Xq;6jVom<>n^YE%#S- zCNYy})r{RXg3~$_0KAj&irPs0tW^Hs^F57>hyKz`BlaIWy-(P8r6kUF`eJO0+`x-I zGGTVFOkdWAJ#0rZ-Hp}SNHFAUjbD|v9*}(Ouaej~_b+hjc{Jq<4_Sa7fq~O#d_~y~ zp24a(E0N6j7kblAc&#%vZ^UDXiYU9V(tYXt{$-(91DC!cFwQt zNa?ir3f$pwh2SyTI?hqlV2O`8Y4dZ;<~!@5x$tPncN*)#V)o$2>S_P6Dp81Kmv101 zB?dsy@2gMMTfj=UFh92})RIwnAvIe^#%!bd-iKheQFFEnSXafKs8HewF?A$4uW?xe zOHM7L979D9`2X|KO!!;NLh;#s1OKLnGJvl?WJjk2x2GTK8*XKf_5ruC4{`g2vZN4s zb81@D{Q&f3F=In%Qw9Lg>GX+-g5J9cOok#{tkyNyFbV!@YdEgS|J0mrM`r5SEA7 zi`TW_COwzF>)+jf12PQbjbrYj!hZha3xs8B;C^VlHo6omVN2Q8e+(*a7S=TjW1EC^ z?O18G=v^!AD7Mf7BK4)hve_1dGIrqoVeo5wdu2Klp)#t*iGc9H>8CK+#HJjam~4&- z#pJGZ|H~37IvBZN6oX(CpRX`2{7fbgSObS@M^H&L#orV1#m6hM<%^9f$QRwqxqQ*NA}L?I zwt~wS@nwC=7o+zLM*1tuLB0q)coKh=UoFq@SAq6|BS$Fc513Z%5DKb`go5f)9Ime5 zr@RaBizo*n{Tw!AZ8-u8QCW;>Whtf;$`kMS+WoysPpLm;Nd@u_W@^USu(K9bAYoO= ztj5Bg?A2a~mCv2YSE{#^V)2$@o}?ElJ5?8B>WO6eGpUvBSe?*`M`7o@%iZc!D;C@4 zl@PTKV{HV*O`qlB+&K>Y&2!*%{Bo>Rc3RTvfn%kmozUr}M4etr#OcLCU@?%}x(eid zGB$@tjJIR8vJeg6}e=K zOg|@0C#*!B>LeFWb>OCBxp-6JJOm5RzAafka;sNj@!-76u@bUiTG>g|>E&2_civ?Z z6>->YGhN*rgkD=3n_?J7NAvAot4!-E5-noaFv71@xhz~n94!P}f%dmx`YxQCHXYA3 z9Sf7u6#cQ-l)Mmt5(Ia6&y^U55?h328nx01w&-{{LxN73>f<$g5uXKv&9$Y3PA>-oivk%E!uqYt z>?j5~%d>I;sF1v3i3OrhD-X9Mp|zpl-&N zNP2yt1b@bAUg^pdb7l)K1b&pmw%nJPZd_=_A(wdkIP9tCJ9C^9Up&r%)%m61LbE>Y zH4$>L*Hw(0x~F)`ZFQ?tizIb~O;Q)zY|1g4w^%vm@U;+S4DxOy+Ek{; z_$At*zhXrw{1~bQ|MEC3G2h9+=R=H$9QM%g&r3@guMWWz&MwIR| z7Mxb8S+88~SuJU`zlmQYYqOFCP<|F<i8W7yBkUeZ0yYR*s(` zEc*jO2zdBvNt^i_S?u->#?X|X{{-Ot$9$u^)#^%t=eax%9^lVw_16^;_5DIYE>=DD zyZ~;VH8m^WJg#u1vuELkPy%deKHx#ayBX8k<$9fBNAdOP5(WDP#0R#-AXKczv}TPg zb_>BO!!Tmk!AjSz)<3!kq4*&E?~0vQntuHv#?9kJ@d5E+i4y*Vw!#bs!3-SiZMlTD zN@}eioChE@&Z&mYVUqeu<5{btz}&=lC;^|0{Z)cV&e2=nB1XDL@(m-mqr9iD<(%n}cie+u5^s!9KI-M6+(j+5{)W3{JI4;xS(TUbrDt zkJY)In9l1I9OHGNV1ka77F{S9tK;z4PX4O7I;ICDvD^2i*`CmI2)))u=s1TY9`pT> zt%QdWo(v;e?C1B};e7u+wjMjM_EWuMEMJfNI(5(ea0Z*|Ne&vm7qZN7Y=xdFMo7P~ z7!U%o;WIkY|9*a8drKVy!E|u8pIm3}t=>>E#QT1kwTdHTwHEObPFFDkrjBqC#TY6m zk0FGhlvA#x&9=xvLkRvIAr$*>l)l0e^+mpNmG$gZ9+6MP4oMi>k-f_8az5DA$z13rcnsr9{ zw!N5_eXDf11xG)jAh(C(4_oJ3Y_aRJ=+V%V@6^jq5=ou8Qz4Ri7(`NA_)h&axl;qR zW<<3%;wG#WwolOPw_(j5A!?li)5Y!PpsnrMqt>kLSP400^(vw+ut{Qv5Kwr^>8i{) zXfp;{7YfGdI6Tf=|2iFFqK`281U(Qsl)D5@bVy5 zC+cDsX8dfAgDHDL@Okb!F9e=oWV)kjf00uNtU?G)P!{iZBtm7y+K_huQLaHk&{#5k8!{D&;KVSdrFpRIE|1J2I`rm?Yp#LrCTmS1cj6U?g`QKRo zJ8T$z=zoj8H~r7|&Go&zI2uhJB^} z=lkaRpEpzg^P2kK+}`xRZ^OUqyx%SVzU_YSsRtwN4@MXc_}w&KYb19fhqAE< zL8k>Fw|}u~67roJI}7Z|*C1~pFgbT?m1`18vp;8X`hk`dr+<-g`eWIgzVlmi`WMqU zeb+C)8K=K%?$_esIx_iF9Jh0`SKIMT> zdtdUv+joCcdEl9SeaQpc=6zrCz`yVM#`3_^clRw1JaHgH9%#O+H+kU8x!*<}xcjbb zd4PR$YVyGAg&+?+ewQf^G#7rAJb>={#`3_HJ2T{gb$4=kV9+m4MIK1xJ9(Q2e!B$+ zIvFdUXtMHK@9dqGC!OUhGSh(&+KSah#o&jD>7r8I0Ua!IFoNS!6@rVLZ4R)2#Ykv1%*h8J~E!y45OI(c0U+{bV|;BEDg* z)4PuGHV5+lmz&X&wX#}QO4RA)MBF*gDbouHxYxjbcgVD^H1+{-zq(>c?Jt*rivc60 z$sBQ`gO$wjWfoVurT)BWRAH0SlpIihZiw+2(h$`CDy00#J#@&Q>mnS zBET7QJ!SiF(`UdMB}-hUw~a(3Ts0C#I$pD0#)JYnXw;o0(E~Ew4CkN62o39awt4=! zOQv@h6FM$&?&-BjG_2qA3s{sa=*4y!hJJkkLi#NQnbxAJgg@_}yVCu6-BTx%^@(&@ z{v|df1TgT3t7LVm4eDW+1HFL^C0Zf37Aws*T-Hp4XWO{%_K$E`GcMbf@kJXEp51y% zwN+a1@HdjRRkrt4TjhnmN~e#75`?D{8j-}dxdU;sq)IeZV9-0CJ0p7UmbJM?d?=T{ zpniTNRk!py?r_*-mPr?+;q8(bN~@nAHSEr~ONuh&%3L zb%{e#t8H*_UHz><8tMts&^H3kPq8zgn&1$*}S{mntvL1^2m*aYarca1NZE zFJkJz=}_umu1)O^hH5K3HYFsf_moQNl5$z>!n8Iz?@U5#5D9xsQnSS&(R)f`AHfoa zIjPwq)BU8W+e*?&O-oKXsR4R)jFB4BWaJX@HAxtIG=tPgLS?5MG%)owde38|hKONd z+0q8q@-pgCVT?8odriXZp_qSv`c+IkvJ8rk(~YwhPLC@-&el z#=lj$0c&<5tSgLkG+TT_ux5>L{}Rty+_o3fDUtYKtX?0nL6RG_D&l}!aFSC|3ibNc z3hp;N)`F0-u*e|ztoUDynVI|@gNvPH#n1_j;ZU}hdIb+5vi%0E3 z-k;2>zg8PDiYTqS_=^@|Chype8%7}H8^Lsk@nY2|-B*H@+6eNJ@#^AHyRhn8i`6L+ zee+E4ZNDPZAO2Hr4#uiEVs)B>DB)tFY_{;%`qcQl?5;#-bdFW6qt@Q;9SrbMnk-nI z62ha#+q~DUb$V;q^Xh3D533NhqkC5w4tr zl7VqdVj1%l63g^kQxeNhL@u%Xbw;|x(o4ROcfgUB%PadjVQb7_oZzO8$|9$C3Xlfx zwM1EBiY$=t^jH?ty`JqrCX)P+i6pW*t6UcM%)5}#b9;y+pYus%WR3Y65{g{1S)w0t zvT-7ph%ZaR*xlJ=0}jrT5(*rk)q@hX2gnBgdG8VmY5K$}TRtcB=95S$5^YIID1ZJr zNGODEPe>>-ot2VMUin#X63T_28HWB38$$X-)N`VI8>=Qg!Jo0alh4mTl5 z>OJL>7zgs~#Po_p3OPpfFukQTrl+X0RMJA|PSRvpi8e6>W?vR{-oldwTS-$_Zg#TZ z{%OgA8JHsy^)!Ot#0a3y2LQ~wXMj7W1f;?T6uN^^XVUbkRkj?SKu3(35Uv_yQfT`a z$Ymbf!JvFZ20u7RAN-PD@iV5Oy(`mBGg(kErnpq1cL1b;M&CMv(`ZSZVJq8;soWrm zy9Gt+n?}2OqtU~&^GAFo$>x;$6R^e2a55^S5-V)W>fMluVJmF@%?2mXp0a)E^i)#k zI3_5I$LvDhstMY#F<5Cy(rSjqHy;LsEM~NNf>Psi6i^rsBwQ~m0>Y=ju zx%Z|7ZRT`&izWUWPLJ>Ctn9FkaeA+2Z)`{2%M&CP(`jiWHbJU6Fc}z^KEvqjoR1A7 zNmad9bFfwbRlSrE*(}PMPEUute=>UdbRI(bKk~jMJ)JkbS9;o7If)w+DyInrm3M?I z7iQAbtG|M#4w#;zsnbVrnmY9+JL;oedzSuph%MjO)&Fj{Wa)ncnf~W)9XH7me}1jg z`<$r+{sk!Rlm8=?z)x@fu9U#anv*Jlzqq+K5*yGBL!X$7kp9zLl*RvQVvn7azDCmM z>lfc0eSQ90(AQ9szIxN>>-{&S)7Q{9r?0zi`bzqmdy}2#L}&CBWME0$B`6P?snSo4 zzJ~gwuc5D?uNQ#uyD&vxUz3FDqYx3uE&gG{{qMf%>jfr#y&#*uo;Z-Cub~NI)difs zhLE>xg1Y#E1bq$ZjXwqYdbTVc5CXqRlYfb_nbX)+NgAtKFUXR4BT1R}XKXO-$a`Z? znRi^8%$rG&In<$0=x$-DpV8t!eQFr-LIw>?Z>(r_PqOrod%fj+VK{}p7^`xm2Zc`1 zXW!c=qtE>jLXdxf(`S9;4ZY_h&Al-@zT>SMA->~`8+d$&^TuR+$AM{_ln$KQXM9J^ z`oT!wHx=SLes}Xp;ya$2nwekeiOg$Ef2RAtU z8dNcSjnEU^ARYEBXA0J=uxBMgIP6&sD+DJQHq`2Q5aHnKLSQP-i`RhZl*Sh$3^Z@w zz}*KmUjx>rEN3A4)vW`eoPbO(aWPt2$iVXX?E?W)kKSNMvU-Wjt<+W^A&|$5_qAS_ zC=dV{N3^_Erw>I+xm9>*ITX)W=fP_&-T_4QOp?{Rrp5acWeb7YHFvEs%hCO0^I(Lv z+K{Aq)@&$E76y28A}3Z|f z0M>$pt6ZFK26uQJY#ol@#@FM?>+P@+NZ9Jic;G$rfu+}Tg7MyU+4^ivY}|=-evXyT zi%g5#4;f9RzIIHfbS661eC=hgd&)wdvaR}QcMnA7seMr@-vYE>Vmp-%UcM{6gP!@2 zp#Tnjhd|;ktmav7OrDLldKywy34v_n!3km~KC&ItV5r+Lh*oLAG}zc}80&MG5EpJ{ z(t&$D8%Ls0XM49{Bt93juEIfwDMsLMu)_QZ1dEZXV6;1VQ#U^*nr~0*YFFB4oT!@^ z={7%fCO)9_l8W%bmiXXId?-qMn3VW1E%Bi=@u3`|L2LZ6D{^3ziJ>KLWEkdhYHmpJ$ z_Su0|=!$)IVihLIJ{MsX<_YcqScR#A%Y<2|k$o=bIe@BMlZ0ZZ+*akPP(3T%%d1?| zunMqXcV}P~z`;J>fmMJA`#dLEKCQ~N&@3)XXu#!1$;z|rayh?@nwRzbGGboxq*nkq zcDaUM>gL_G{BoCh*}yNio0pBSnFFp6Ldf7Q0dAon;EF)X%-^}T!{2|qc0n9&z{R9% zOH8zbz@4+cKUn17m1$fSj|xhCw_zwvhH`YEu&h6OMjKKjAcSwVuE3V4Oka`d+s3X+ zVUu;B5-Czbe^5Hl6qbE3kZDD3izIdmN^~F-k*xz$tH_(F1=Z1U~>G;?Ak`FCJ+5kt9?_;IT%=U4*JgY-6`!Ow>jU zl<77MM8)Pu{`k}~LSSV-ghu~J2&nAuHA3*Aeh4)VLTMBiZ3S@v5y&pKKXk!hD)@(S4L zxh8j|lq>rsUXD(puSs;jKJ1ZhL#79@x{BARTU7-2{?4#A5E26A`3TA4F(L3sK5Tic zLg8jft?|cD7hBvLEs}U#P=tJh+$-#7H&`%zoRJm((HbFeEo_(@b5i@2ZWlJSDa~vL z&OMWE^KUB>HodMi|3Nv{Z*IQ-=+#1Siwz+nhJ}F53KEY!7i-fj{-ZU%W~{Uru`hEO zmtugy+LU@>=|vWVVj)mVpIVqIUj%D=Qy!o_TU*HzG0Ci?&h(e5!^GakR+dp2T|x^aFj%KUP>btlWS6d?D~;4no4F zjVQt8sd_bwC*b+5%nY)v1 z*x=8P8Aj~her)?56_y3r_SFjWnaV5CPKF&NZA2T9&j=?LBUq?xGWk0WcC7CQ^oehE zYI4T5m~hN6*4q(6@x1i|d6h16r%5W`dTNbdSaxQ9l9opxI+_7Mq8jkAl6Ucu9awx1 z3zctRx{7VO*uRdlr#Sk)Z%d%>1a0)d#9l6Wjfi1MsO;oUMD;lAS;Nr@>H$l1<0PKV zg3x#L?d!qlcQF%|Pi!y@RbCm`id7F&5JEz+r(P)WGzjaq0%sAbB2->!&O{QA!xWT- zd2F2znzf`oWn10;(Pv-n79MRfLA;?qwB1H5@5VYiO|U>pf9^k4(k?s@VfvD|TTpB^ z*4t;SYoZlif$6GU0GE$&$-&gF0C|T#&$x$7kIHn93Dnr?PWJF|hFA}W0wJtw72xjm zJ1ft2SP~He^;Yh(l?EFi02*xA4+y}r8<)I_#a1j-wwr*%^m!;fvgA5 zRI+`29*6~G6eo%i89N@lM1SM4ZHnOMVdzL+E6xirWQ}p!t$7}XM zgsueH^E(wf3H>JsorFFLLTBuO!wl$qu*$hLLnFxUsjf-`Ev7jpWHB9^04%0s6QVt) zV-wKDbZi2+n2t@r7Spi_&|*5aoaZDQ3xE|0#xk%jADaLwrehN@#dK@}q?nFPKorxl z34mg{G!34ZE=?2VFyKLY=a5`P6AxUB%IF>I|%|;^;T^4y>-?=r?r^ z<~#t?sSB~Xilg6S9LB3S`aQ-$yo#gWV;sV(IQl)t0lbQ%-(wuUt8{*kgBRE}rjK#x znvD9fM!>jrklC6(03f9gM&Zjpb2R)?qMHB>AK++s^n_vPf9;2m{JPLV#@a6o zW7`*o(f^=f_zxO}anLZ%J!BZ04;jX&FAZbTmxdAj(lF{y7{;URhH+j8|7D*~^*7Px zRDTm~zDe8fQhGasGRv{nURGZBFGkz0KEc`+fcX-y8>fH{{Fhv=<4R zLSQpGOL#a$kDAK=!%eoP28*vqo4C_|v}VDXQ!xFMse{^(0)~mV+E-vpTaB^1r7YAU zoQsYchH=dNJ^D3%kA02b^fuY=`#Sx6m%snF-<`^D?=aomw2_bgbuik%^hf=&oJ1iw z$P0094nnP-0|T(;JFo%Fel)BPV9#hHXD1r5?>aydoL7X^$;FVr+QJ&{XASo!8@9oj z-N-TN4L9+mV{~a3cV-5Eu8?NRJ3(^|~c*7Z3oqPwo_CmwYS;Nnh4R7HMKlw{q z!wJyvzd4h6WR3alNN65s&Ev`DMZEcQ>CNrDIp;i&G$!T`wHEiX=6jRPcf;Ap$h!3A zJU-{YIlq4-YJU4KXdYwDW69=!xae9P`8P8fU*J?wurQ3b~r);I%N>`CYj}f8j?J8kY1RR~dkm)Y{ zLB!Lf4>gB{wb8k%H@8T6HBav>hd`hPT`q^ZXj#cu;)57q*}FHEnj&h#$-FYR?`riKYE~6L!bVCRrkn#D!dsh{e-^4V6 zOWKKwou0B!a7mLSOx%s>l(m??VOD54gQy;GjG^xtlV)IXyAa#}p_iWs4?>y>>T4j% ziJ|jOtJJKn<(@`K^R17&h<3Bfft8Qj*}%%m&F$lfVC5wXrZtTcof%R+Zwl+$!CC7g zy{X)eDqF1=pbk%?#oG`38m(CKt(R0^gEW&X ztoqiHk|T1^s2iMo{+Kaoh9q|S29WSLDBKJFQaoXId1n6nv_9{-iUTw}A|t=0`v0-_ zFVIm`+2S}{m1id%sE#~rd|Vn?q>X zod@qH=V%%^^vp9MLdSt6k!GGq*va?m_`7_+IiB|CJK$dGlE{^J=|8@8m!@%BpcX0c z8(!1Sawd3R64}mcTElux(|)OG+8;Dc`!7w?{-QtQ|H7l*NB=wcck=(|1G+lj>Q7 z5Eesh6A2fCsSid5gjt|v*%_waQJi7q-QoV1XdWbacev+4h>&z^f>H4bYC;e}c98*E zgeQwUj%n9~K5M6Q@DQ;83f;Jb(ZT-}khLr3>uU*C<>}?!|586$`nwAS2c}+c1 zHj`9!U`kAbac#_|8S0i3EaMr-;Obt;W~k%j*E01hyWY?+L|$&D57J)H+cm6d3{!h2 zSLp4g={=Cnj3m+xBam($A?d}*^b(q02I&>a^u;uNIek=*0QB{c&oDu6L$YKOEwT|> zXild4XnL4Fy6K~bHpIl@4H;sI3Z@tovBXG2CCT(snvNiSaWZ`=OKsC(84{ zOwiGTJY@zJ$**i81c8+%czEH>d)PHY|K8h!IR9Ky!)+xSK0XQoTaT*$Qc}P~$EVl( zpad+;O7wtyWd&hR4ZPq8RUdDVtMAml!sjUanY_pC)_hjX~M8;LZr;zMymSo2!we=*+d@zu~FzU{4 zf}K`kEV3JBOw|2iZ`BaQovAV`~EFSQVEus>Ao=zmn2C>p0(hcAo>6H#)%+H zZo8#`i9DLkFp<~DpKaOT76GPaB23NPTMC$HUNkG35v4YWbZnmfctnf*G@HnWQ4w$V zTwpnG9lV}a%U}%0-5rY$88rzUXE{lRjHM=lR6f`4Ht8eR_RI8+~ zd*cNdxyOGQC%A8rMx^~08M#MpE@0G+Hxsh@1S#2#Ba?L-#yV=lxFSMVKs8ck{rf2R z^cAr0y8jb!<0x>ue-Q`nRs!6c`z``p`%MMR2R)e#qwcvWl>>Y?Wje7RdHiOcGjTlG zo#e`9-~w{xCWI?25?)!%6`~TZu&j(LEUO5XEu|c-Y&ln0RvoOZhy9(T)RMyxS6EBV zxxv~^$@FHL9)k3)WO_GE?}2o3?9kHxH(@Zx0Qr8Ipdq}L|X>uLH% zNN-A}Z=&fwNDn8|yJ)&f9|QDZ$e@tWM=@B()s|)e3QVxJEF)1J(ISg8Nc!?*`bwH! zOCJrig~mh+P05m*Xb~T@5Kg9d(R3Bk2a@SbCZwA(NxCI7kzPvEiy<8))0fip3P@j> zOy5Y;>*<5YFeq5tlo^L`Q?g`;7HNhSx{~SLnPkBi6j3Wv_yqG6wu|3RF91KRNO78w z%v%r^iY%OoUhu>QCW$u3;5;@3G{oa{QV*`{iymCy1#BZ zIWE7_H2l>zx4z;6M!)$}f#jNv$g8=o8FQcF8g=pXWPC9s*VLn+qn^?IhGeU^k=*rd zWRS<05Z^VO9)OiuYd2m7eD&Y22bILtHvqSN>iUVGRH>L=z;H&wVD;5r7+>ul7gKe> zcGWPwfQil~Z5Zwu(W2i3FE#yYKPhlsO4TU|{!em@(VQfY)^WTtRlb+6QLBqDjbFa{ z-8cj=7hh#uU%kG7T8e*_!cSgb0Gq=-*QNVEhSOY0;x?_MEFA^6M$E9O&uMN;Tm=0^=bGuqoAWXIe-5S0QAs!oZnBmw06n%P-=ThO|#lR zVuWdYv8dn@{xNz-`Nu$>FUk-;i{x9ue*grJ#6w7Nn2?Mt2uozyFq{dcE}NQe^^+Lc zLEPO$WUqgy}1bVi=R#ZJMqu%r7;8HFzU9ahXq`naHU&w-KhBK1eE315m1ghy`Q;) zk~~e4*OoZFn(ML@5s?b_m-Wpxv91r1yw;-5xUPVS`Wr+!SHc8g4+=B2t3ksH7sNh&$jPSf-BrhyM zcu|RbUn#!76nS^J=1a<=Vo514hSRsa$byu+HRSDZXCrGkYDM&(Y7| zFEmj=n*h*F0O%$i(0e51MX*&-XdM9eMJl5IqYwj4JxA?Zo(t(fai$lj^!Q>k1(AMg zhkUMZ11-HFURsi04%3uy66r9lNTVD-*G2QYl1O*cjBbjwN|9Cp=^jA3Ck5$ligb4p z>8`JZv?RYgKp`4PLOehLgBZ^EId}v&Q27`#3^W5C@(U(-dyzckmx;`be@_0!Att3H zh1Q`E)7a2oZ<^q9Rq(kIHZe^WkeFYD40%Hd1+fGYH_*}>N|Gp0pH9zFA1fQm=vx^r zT?*GtUq-YNViV(nXz2=Cx`O6cBpY2!GZxcvSxU!cDU8c<7?ry(Lkh&T6yn+>#MNIH;*Aud zjY)_%QivNVV2w1tF$r-K&1j+!Z=w)y0*IRd;^q{Hn<&IhNr)T2F2p_xkuM3ck3t-x zfQ4v&C<$?xW`rrkT@>OjfVdkV?oNR?Od$>@Ar5_Ah*b)anuJ)T5cg2PdT4%665;`x zF+d@vJ{4Xh5BX(sAjLl?f8!7jP>2VT5chmth)r-x-C)W{KnyAJ1~Y*2oSEjEGZGM6 zXa+pw7m6vw#Q<>$KwOdnF)1Y}v<`(B8vHsCmr{sIlMt6uh|4HoWi-Dm2{ED>h(cUJ zA+7+37X!qLQy@kZVw8lq?CV0jltQ#L3Gq@2@p1~-a+<$93Gqsrv64buO(CuZh-(4j z+7yUaQixY3AzuDWQC@Xri)>>ynso=iqzTMt8IX}q$az|%LJXEyB#W%2MM|N_W#F#;nPM?mUYsnlm=>{+WjA^B zvZKZ|iPJsI|D*y&!b9LpWj5TRx*aKNi&e`{M>J3e90H92JE?$)?jEgg#79+iVzPd5 zO8xGiq}BINyhQz`l=?Yis8xXkSTI3llU3I;v%+5icVDYv)3G~xhm!lh27%EEfxs^`B%iOci(9 z*UNM3=9R!-3;Z>azqx$eKUdH@InI$ELzz|FieMGbmEP{F;+_hUmQsr)%IvPE4u)BdvgCFn1&kka3S<5TF5&>rdH;E!^znBUb zd9FoXP{i%P3zl*rJon+$YE#LPX#x%dN$3QzJ3$b;2|?^h5X5en#daVF)$Hl!{E>-3 z7C;bTnCXrT&j}!iPBPiq<1Z(KSbBR)75Bs;lH3KQ4nj*uGOM_!S_u92PX>BDUd2T} zC3H*QW1o;||Cmhs;VSNt!(`g0R&j^NskC@@4?L^?jino*EJF2)xc97x= zvyhz479>c5D_mfrap$;?9$GP`hnaN{?hzpILSrWGIY2d3gKzi$HDZtKAZ z{r-HLAL<2I0r%uHsgPFH~`d!&TffVOtLr53{_@$Fm_QmC3UM zf>LDS*SC?5cv;Nib_lo|0RPnAG6_5DY%P$GYYPkbQ^C4Nz{mUd3f8E=4zYXLRwZjn z_K$^IpA>M5zh$a`gZ|(IcBkzCyyx342-q)J4>}1UE(tkstHavM+j@E1PM+P%v#m&W zgau`$nO`3utw?w$FW+t8+6CO>_g#T2>jm8B4@|NJAR*V*Bj7&4dP2bc{Raf=0f9XU zLp3u)z(@VTscblV_mFS1fDidwCXmjL`h)odm_vfK#eokxtb@F52XE`(*+HK5BN^;@ z1Z8#!zdlH6%5w`u{0SEl@Sxv+g@9xJz$EPW58EzC$hDmja7?iF30Ncje=e|Lc7W|s zt}+OCw?8;lz`Oi`39Ns;|96KsM{F@j&A0VCaJ$3W!rS%;xLvRw;%$3)_5#ngBiRvR zyRu1PUUr(e9XQ|*T!EbpWE>~i`pIjqErx@FRTJ1_xRu9kWb}L4gX|!?YklB*E%(_4 z+~N0674QLnaDssM`djmDyKO@P4hzU_CCdX9etc;DCS~q5clRI>@%OhsZ!oWjogg&J>>c4!%GJ zx}Buu+d6nW;IM{yJmRo^#M`zzY}>I5haLEYVC`o8Y=@FHKKr-N-uV*&M*!24(5Zk=`2+d3P6z&iw+=h-X@~WI z!xnVdKIhqfp7rx=P`>9X0f&H`cliU8xOPHFA-^vdSN@XF(k{Vz1hCxE-yz73kYM$* z?c{wB`iYUr3}^5E!BxN4DIlLvz>r{#I&h4)#vHa2yzL0j?&8@No(;rrP|8A)h0suk z-+u*mG{V}SL|W+3X{b}M?h;s^fcNz85v+&UFx$h1vNyhw+a=&L(Dhk=%LJhPd|Nvi z7teJB%4*0-?V^IQf?Yl1BV$@w_PSn+rGYKo7Yw( z;A4Q=34dS$8I0qEQhNn_Ot7AD;N!xyC1Kvy3asHU&mQ2}y-w`s<&`%HfR;dLZ4$SO zFeHK+cK?C!qzi)eq`-Cxc&LA`b%;GeejWl=blBfIfeow=wAK_<+V(=+*|sXq1_S=U1Xxu0woXzjC|Hj=u-{=l#@qb7ZIEXV0@dt@uZy`exe#{z z8Rp;$nEpwG!p{(b=@9T)!g*O$zCO`}ANSS*m$8L)Bl0r{DO8lskaE-zUK1qk>Hntc0=mBYNjsz>h1n;H6WUv~yem zBV@XsZF8`v9PAl|&(QsW3G&0rM#3Z2~NN}{jHM-LmOv1V{64>znV{2$PPlV2OVrTkB0@ktG{#FW`buX z!OJJ$&@@Mg4UqLa6%YAaCm>~xWn2M+*pbMm#r0m%eQqo@Ck=CCd}CUeJ$bC zLBN7i3v$RI-quNkXEp%qwokx+tbhWl-^c0h2R!~vgrT17QfkRsnj+w+zjYk$_Xo$@ zcH3J0r!s9Z-v4DjZ~KHIKkVr?!UV?Uw+>*YG_w~*=5a5XKV6{PCE&-swMfbSP60u~ z85Zc}aUoNv|Ik5JY`8x>%@G3Z$r6DdJutmz{Qe0%+XEbzpiDThU_EH-aNzR}>t6+1 zg!MZJlMm_sNtE&|gdIMZkg(r3g#b6+6JX`1H`kKkR_)liq+Wn{VZT%GT z5l?qP=Dh?f%1Q@QusY}IHj+H{0<5N7+b(=BptQkAQIcyynNQb;aZQM=3<-FkpWwkd z$WOro@;p!COmO=g4v$XWK=f^7vz(W8*TPR%-ofK2139IaWXt zY&~oc){xF?YyteVLNNMszCKBrQvE(Ck!$PW*+JPEg01ODf2Uj%B65_qlV{J^b_@8R zU>)Sy9Z(|QHYniTY*3J$A&2!0Z|jgNLjn=(I(T*muQ+mK7a@*eGM`h({Ep|@K{C!@ zK2EUkpUNb%9Y^+takgEyA+m0|DENJzW8>tlgtrhR*nWZpmBmk_B5^t|j>Nt7UAl1I z!;{%N20|LhI#WUPoWQf~gh?I~tOt3v9hN5`aexh`%B0gOLm-p3^NJ&v;t)&4;R4W# z@9!bd?>RPJ1`jn!1bP60zElKmNg(ia{l{^^o@X@ypCJewgr%kLFg&}PAaF*o9^={F zup9vajUaG9m{t?wVG|Op?Y!*(&kpdO^M<=**B@(nc6TZYn*UTLlDASy+geNIBaW;Z zf<-G?D@P^e=ARg7fI*LMfUv$-2vf=YzPFa`1@gXv9TKQ)z8im^EGOXmj?C|SyFpSH zu#aaC6Y&}Q`#S{e_6gP=fPE(wDtWdQ)*#4RgSx!c#rC9ZV0(FXr|b+70T#|j$m260 z&sMU3lycA72Em~o_;c_C%BpzoiM`}xckKZd9(yw2(UDoj#mIrYgB-&5!hyWfNAvb& zCXTb~$O*i?ms^Jt-XAa&hx7{6NhsE@SK-zBhNkB>#cAoM(Kb|?2v2+0$7;qZ0Pf8GGEyhpm=-qHN0 zGauEU{^`O;HK>17U=OSh>iMWc^?b^T+?!!EV`2>1TIS=4omGf?qJ{j~S;ajbs^V7o ztGLzStE;%f*`}NVriwf5NB9LYa8=xjP!+fOOkovwcw83Ei&yBmj#SXHX@x3oMYxJv zz30X%?sT|{TUQybLfkVUx-zbu%@yMcz#{sk!?s85A2Kq0UoPv) z5#>duC^)LO`6MO#57`BbtuK04Lcjh{%oAV(S@xT`E#J=$gLnVaS$A<;Cg!4tV)Ya4 zp5q*O%T(56)Zc4osXxpClWQUluK#>Q)7E)3gX>+7mgV|$^e++~pnm$P)#|pJ*S#d& zeD3bW>fOUeM#Mg(%o%!@P=kaS9%6C62eCMDfJO?t1KD~+?#%#F3Npa!rZQ*eyOesQ z@BmtWflP|)o1*e0i||h5kKTc7J4NozBZxhM*u6-Z^Gm(>RbkQN&p@7*jOcHXGRI4k zgSBKL0B>auhO_{~+IB>49MLop2VltZM0uS_?H!^vvA}^s&nrb?UH@@eHt=*ojQE1Szw= zMH2IdjSOkk$M_1^=oF;P8v5a7jCyt`r915LvD_BllGfFlrVU->-wT?iZP7Gsr+#-f z{{1*rzlcP+X8lazG^ z^*6Q=P4vt&vB=Yg#u&Cgdcg>WyYiA|0P|imqcZSvSK_e5*M7WhSnlb4Ap|h#7jaBoxh|%O%0dIOhd6H)%P`!Q8D)I|)}4oxwJhp56*VAvwE;d7 zWQ}NAJ?J2jJlBMQc*5QI{C)V22p;x$bfLo#)NNhQ5K3w6OE#L zZ;=_{$|hcR66^3c>NLm z&LX~`K0x|XYJA(S2YdBCBZzniJ8HRNhmV^MGeG??`r@~V-)51rS;tY`blymPzb_a7 z>iX?@N?p(N8{tMrun(G`xYerT`qKz3)@Nku4!fsB7m|`m`a02PggX~O($pkCS5s~0 zjNp@Bu4$x0XW9k8H|Rr-@DYUD)%QN4#WT(sFA`4`AzZTwVK?C{;egIra-WH5NEsI* z@Ai;u0`mAuFS_hk^<8Y)n+*&T+49ww{S|$GXW75jmt6Mas}jrpKhAyiWnTbgv$qaT z(655#P$uxpKA5IYdg(MBI6syNJbFHDj=p>T5=?+UpTY!Io~KOUKh7G*#Ix1o7!AP< z4zhvK3%nCZ--+vcnE+|>0gePMP7QHW2FVjH9ZJdLpY_0;F(RSR1vQ1<_aCE zt&f0Hh_Dgixd!O1rfNi^zDLa8(=T$kRmgd$irR=AK4Tnx-(pn!o?e7&!je4ewYJHO zq}=@Lw#kgseu}F*0d~_h&8hCK8$=wC?5ZB5OS#V?D&-Jj4g4n1kB)e;zEj;xh(M`n zB!sI>`spyCW~Wb593gd*As!LN-I%^zfjbnsT_Kzam(Aq02KC$xBO3C|HL;?+(15%< zTycNbIE3Up8~-n9w{DDNQhM=Uh1FTe{i zfEmf|9^Kvu;^b)|rqe$m*%>vBT|!`ODD z*)#CmmV3EE{zNm>uGcA~sp$limvxjkeP{!$pxU_~ekH00e$a3iu+h{#r5M7D}gJe93_BTs6Y zMu$?AZ$)xJfN&Til35YwNZ1yw6qQ9LQNG_K;>k|D#)NP|K$LR`9p6R;IOynab`lrh zpc78QGyS4xo|zr%8j0`ADq>yZMfsUh^`2AuZpZgI7@BBN?>LpR1=>#0Ef7bIaMkre z^N2>{TRr%N@uL2|Dn$HIBEFyKX)}C4%BUB<1VKl{IZj+<-~;6*h6uqTo>#(|GI@wt zm?i@A&pQ~teqO0ld8ABK+y+8QHD4GRQCYWG^lZ0C_>}tgk47}o6gyTylZxrO3iZ)1 z6G#mpkI&M_&@*a@x`+Tq$&yTN*_RaIjVF!FMeRi@MEs$M_al53ToSp%ssa{oaEmtA zwkL8W@T?$3I}@5~6=jDB;khL|XL2xLrUC-CgAs!c9owv;`njbUR_Pj z2J^ulFR)znw3YnB$AcX_S6EO)Hc&EUm`vm~gk$&V^D9HMh>3k zCiX3sN-k--wDj?H;x-ZQ)?Ge%T6Ow)FG}cVJ82mIK&Kz2+9JxgLO>*}sY_29nddY4 zdPk{KSyqOW)j%@yPa47FnJ2gyd0H(9A5m)_`$|+(Q=!g?Ce}wTO)F8aiKiuq=Co>z zQlfcCHIBXSYyyG_1GQ9kA;lS1W!U(EVzO*|qW2`oW#36E94OTm!ccz$p~f9u`pWpb z!`x~eHO!{8+t2u@`rt__QM~)Pk-4NjRH=wNM0_48^9&&3*?YLU{{d>-$#YvAmL}Gf zbM{`8nCU$(mb6X5#o5~U8l|+8PyHLj|(SA>6{hHT z$$nzh{gFGszPW;JVkPWsmatuoS!I`q`W+WVy?BC?-=EI$#KGzip_oUdvw(1f8+~=a#iHgG{%1)DHpYEQd z`v))}g*PGjZWFTSyLymp=D95lMZ4NS&<=_nr@1W)EP%EoKLlg(q1f?-)Bd@HKNY#V z4uF!}58c&-Nx5nyuPurGJH(8&cc;PqEQI{P8j{^jutV>1;-I=bLUvBKj}&p@0Vh7= z^|{7Xo1A#Mgl~*|hm4;6-0B{uTxoE6_qd*xh^HiuCF42ze!V`P-!UP((cOb?UlQW#enN7$%mr$aZuamC6NPI>c$w^u^^^N_SouA$v93TD8l+l-8-Fly6D+%h!{2PBKNQ3>m6d4sr&wF zWS*aE=Iezbvr~Dx$Uld+!+0w1BsKMAI0gyix&g zz7b8EjG9-w9(1`^KkyL3UO)I03yo;nLn|I$7Vv&Z$_Kn%Bbt^I^d211w3#I{m;iVc zGX%Y7Ml{X!Z!4Dtyys~_Lk!aMVw(1#+qEL#9T$UiOH9)&oGJVB%F7t8&})s6?rk)$ zG^S};RY9*krfIg4fcJKiOkJ-nr9R9m0IHR`r!%B%_Ki?qQoGM;8d5g*=&wHdYKhU; zKf&wPiWsDlK~&Y_;cy*guVX;VAYOj+NuX1S{Cru(J?3+*0hX(7Y%FLRp|XkmOZg-)q}2O2)`l@lR0rM zdjQ%%*t=+$G<^SX5?|^|ZYB7Vs~t|@TRlRRUDGM}r0M6OpL!bdK-n55;OEoqrQp(N zt4fmQJWNp7YSKtg4I>1k=4I8cRS!PodH`YXkAX~F53GJ@`LZ89h_LtPKp4NGnA8tz zT4n$oi%muNl^+BA%aVmR0{o3h_?wch@`B(uPlvw&;MdegKLr3A0RDP_ADrDQ@Cj9& zPqUjS{DjS_H4lwwNO@%?z~3~YY2$<5*GDw%M=PFqH0b@qh^9U2TCpnN-9#Y{4{KUh z0NnG94|)#{#|wTu952|Ngtmu5%fK|6lGN3tlhgah0Guv>mb6^&s7FdogZgWl(F1VS zG^t(xIzn~A**R}dW{@(c|1G#{F+d)8Rs`M@phMiQKHpEO&Dl%K?0ai6BjK|WKBGQK zGv1>a??c7~2@k4^X~t_bJ-|l8cT#}Ot$)O&;X%e+CVoU+=n4?QzFqv5*N`{H^y7dq^;J|R_oJRodyl8Of&#d zhQ~u1;?^GOK(c2zwbhThNdsL8k6`Msrm4-4NXUjJHWOC! z8`^5~u-@tc+Golzo)HMP~VXiBdM+KJW3iM9F*m}zsq3AOAKEA1TPl) zvK3wo^koOU^w2u{;iZed9D^4hefbhz%n8_v32fgZuqkuy{Q~^7z49hm1Cz?XH>|0T z0o2*gel{T)1O;x3u5a6z?hGo`-x5Bm8ji-lUvPEp;1VwN8^*~a#?<>&hmROX-_Hsi zN!ITeQ~!G*## z7XMF@^{0=i|3-TKUyQ9^pHlzMG4+3#UjKVz>!XzVm1FAPkY4{vs82W=p{8-47!w3r zw+LKvZbgI%ocq|AAl|yUG^2!M9EJ=^$aS~U3^U1SfecF2bvM!shGe`B8I-{5uAvz! z>AV3lD6zx9BYA6>WUPS|80XlAlven^WH3yee{*#ay7GaCA3JPhB3+5*Xvs)0 z-Y8|*g>i=c_Tkh$fo8nEs=4jUPgHYd?4dHW`PBZYvY5w>;j+s2Eqw6{rl{v8&1HO}kLN?~S!tQ2Op zCo6@S9mz^zW+$^!m|0&|3Ny>dW|+FeoHsw4VIo&#>k!TQ>%`(i` z`}|E^gg-@{-Y;EEl6+$dZ+f9C?fdw;E+Z5DXsrJ;sDIq){fw)d1owxhrQZMTO5<<0 zca7nX#ZaH#AC8WUzCWCwUVrGonEL90Wc`6L_1h1m)qj6%{ic-q*<SNC&>pi9M|?;W^^7*u{BT?{(JTtW=uyk}w35S_t(co`-A40fhUKW^uxB%hAX z6v;rC0`Y{*)bV@=$Vz3+_+Z;qr%)JKX>7 zPubyO7m_>NOZ$yX-C@@xef(hXVMBg;zj3V0_sD)D1iJW{kFV`#c|*{Bz3Bfedx3J* z!;-R<0FdjGr;4S8A{-Dk)t8SgPNYSI3L@XOWZQF;Oa*tkC-0CV0!veyDi z=k_H8d#)~|qeRLd-j@*WId3zW<`0H6O>Nsp&sALABYgwp2z&5;oU*h1zd0nLZT2lUp`x3_?uI@Ej9(LHf_a%-*ocG71{6QC5MA>OT-W~2wqnDHZ^+ud{B$`X!o%l3q99&F$eJ&HiJLC2h z(P`W@;P=%e*{8W?h>BEXYCv)!Qs$eG{9O~WPjL5$o;w-NI|pP2pX=%d(vGfwj?N&N z2p{CUR};94L|GzjSzT9%icnLH!h}m#TXYjByx2s8W-1i7Jo@1n!>cHhoUL?` z1k_+|l9D1tV2b;(-u`3);j2hqvQbi28$MW0dir4)?6uN-?4R2kH>?8Bw2cz(Q}cI| zjcl%kEIK5AuNZj`gFD)}26mJQ9bKZ!OORYvif~YxewwSh3!)!8>Jc75{(&rU+eaVL z|0M3s9@MOxi)513{9LYqVbr~(J1{G9_!cMyTaf=4n2lg(n40&ULULujgwLp#Phl9Y z*x^I6BOEyjN}E*tp5HwdzoLuacf+o)gWpKzSI6&LxeTNB?)s|u-D*z3@4v?2_r|WV z_|4uk7Qgu)eI5Lo{}1>r$zd3E!dJ%c{>xMFs~m%0`$uE(d%R;Ten0&1>)^Ng|A1e8 zHp8ehKKiQot(lyHpD7;sB^Tj=h(D8I==a{wK7`Xa`0-w{5h<$;l&_T&bSuLNJ4b@8 zx^5?74(|G|jxLf>i6pNqm2f|rzT5SkIGP`%pgE9=W{`XC4{*@^P!&H+!}NnOn4SO? z^Pu{|BvPR(!KCzUTcHtUX^3Z8p}}7j>SkkyB)jXmx}9({Mxjw?kxAeCb+%1eU}SR! z!`OV>{XWstW=67eBlnKD^!dt0h!BR?6eHRFnuym}k?h{Y-M@pI?rcOs2Lv_XraMzc zW6m=lk>L!QM7++-*WYgu@tP7OS2l?F{!$S?P{wnG^N@(=E#{`v4I=0O>y|1WFIpOx z9qyh>j@Q{&d^CZHe8~Q@K)dsY_jmWjB#v_Uz z&z#0GmzOkn52=W4Wl5uSD`@8hzWn63GgUV(qLZ z!iELma#K2DR5m9Gw!UZS~va|tIgK!|G12{v%j~S4>c`233 z$#PfMaA4IO`7L~WtnsPexQt<k=XZ5hzCzCKOs?ANr(eW^#ZsucU=jPVKkTD6mqSFu_ zkn#rNX21isJz{^qh&!YCTXs*Aezhd4qAgO_5sG{S*Ml;pp?W!()Sr zA{!8CjFx7$YBlY6&=J$ayo+LMRc687Z3YNKTIzWm1N@E_uz!G!-_u%*@DX)Oi;^N!8;9SpL&5wEy!V* zK1V%WY#UW)Yx4W`H$V%1JETCL?yIBM>y7BOpUGt6ne-DV={v9WB44r3wa}}>>)V<~ z?-Vu7iAH1UP1MXU1O)p8SfV?dfXzCZ5Oy|#_5p(kCE>G9*;Ql$n>ui8!qqvU2G}#u z`4N?;z+LP@zmfbdhH!+upAhJXgf$T#CBu`GLwa3of~9eg(Zf#4CgkxMB-z=B6lWOW zf+D22eS~ZkN27XKKG{m(3WpELbXP;z*^IEGk=_V#HvuNHa}%O&ST-R~iwSvmAjR2? zIH3b6P9MVgNLgq?ULRZ);e_3ivaCtMR`tm|!pN32>e#2u(*O8JTN%9MH-ewgx>vwP z|JzP)pM-~;_%!Fe5Yx1%GZ{}4j>Y<+n)((&m?e$7e-nLU6tP8@A(>#5PlHy@Hz0hM zDLRd!T^WjVUYtYo$<*9uLf$o~kFc3|pYA3Q;eTQn(ImYAGK5M^v-*r- zL`x9(A4W7S@;0a(^tN)M{^+XcO1P#}&$?&mW8j{jsMEqQV`;D2M@>@0Tj2}PM)eV2 za{St&1*ARwZ3~R%JYRz5U4M!`3HkKxH_?aS4SI0D8f`+jHF`PuQ=~(sPf?a{^c0=_ zz?ek-rQDGu*7dnbtn2R3s4kTN{=o-H)u#6rP17Q?Mj70Vu~#)ieCc5byW6QQ%+l33 zC&{|-_=-V1A-h$d`mZ^9-Y%A5oXXQhhPdAVgA>m#lH}#Z$m1&!?c2FJ2t$q?K2ZUi zY)9Az7oKcB3CGg)e-a*&>@nAOkk{v$Kz2C16UicI+|EU3RW*q6{U#(k!;<|r_cZcj zOgt)GpSH?`?2}zRNS;Dq zn${>slnaVCYGJ2q(}NAS#WP%wNs2o} zc~(fmZl5U6E)qR$2A!QE#o0wzsiZi_!5Lw{6Q5DHX8|+yi8z;lB;qv&Bs;<)o<}&N zt5^j4>v9umkRq02>x-I6GJTzA5OHqQL=s3FM5wf75wr%<0$Xl?RWk?kR!-0LZh;@_Bldy&3CD>_l=As&syi3 z06xvj$aXAxf@Vosre6nDH@|13-bzoX;f&Gsx4jQ+-IWU!@eyjJZ%Lvf&w2ly35kzRz<};VDK`-QtjxLWJlXpvJ$CD`rZ$jv&z%67`Db4YYfia_%FH`~odo`gG62^= zD8KWz6q&h4^q(pfJu#4(=fUl{ndWlQpehp5yAS zVHrl?wix4)UKbc7`5{v@Q|ySuW$9t?*mA#yu)A5pPM?G;L(!>pJxf-&GY0;e?HU?=egEc6S&lYm?XBki6F7UgGrb;Obt05S+AqZp*#KLjJai z1@714H{HI7u1vBR-VrlA*|_zMZ2 zCfs`u9c8nK;iAIhMHb{~wdk4LW+NkdwwsZs)f_MXUHB+&hEJ{bA@^p{(^lcce|6#~ z45O}6i8vU&g8Zovaggs5iY%-vpI&76c(ajl$~P5}bM&_$sHB8XOZKSiN?jiCw5kxF z;F}{F#B(RxsS`h5WKdrtRdJO;!kT*iEo1U~v%3B5vG)-nzDBx(ZzMlsKsVmuT0?c= zndtrBzd`>)+?!pfS%1q%_SV(k7jeJJZ`MCVz~KNXS>F?tEb?j+ZqR`9qo61ba)H-pQ8QKBJn3h;!m=Wy_NGk3sTNGwfxWeolT1R zW38nUJ3ukNst6P(WYUBNCmse7j_lY5(Gw)ILk3{iTSk2Vf@VGG$BW|x6f~2mZ4*6h zrB3|06F)PWfXD#dl^CF@_KYlw-5B=(2Z=$lzCz~!dUcdWO+IXoi zrN8s{-9s1H<(m@=40(bTNM5~IJ$zwULvr@a%}ITTvbIDOZX~C<)x}P4Us@nZh&Apq z_RTf0?yIP;_|&lD_q=6fNS^C6B(F7-{78G+6sN)S+@Ht7vw*_$+drqn^XD7>7Ccu% zpLwKD^}BBYX+hr$-y$c76!_l$6NS&cFM9Z*`kpSh_SlLrIsX#Dbp+v;sx?ik{dWW7 zHuAMKh~esfn*(vRZ+$i%X!|t~BC~UzfI!>ai$A6};2nl0m`-V}ym-W^BIK(pV-fynf=iOBQ~lI*OHN2Xtolvx5)o^-{v z@mSoeNX2R2(X>8CEfxM6RN+r#Bx)=H=zs}8&rASx-AsU5Khm#k4cv4`ZP3w3Z+8Ho zlH#bPYLUti!k~>2@j;cz(lj2oNwT}a>FskrOpe8IEj={>+qKEa@O^EpB!e1@t9vS& zVVv@^5~qDxDOa~VTX*v0@mX}=nGRc@gntx{{BPp?*{{}bB5U;s5uAT1%2S>4Gna~Q z%J-F-{gAj7-#*7O-aXn*AeC;|j!+C#CetPCj)ZEvq?l+B$ zc>6p9r!K^Cs#ApUq;JMaoTEME_s27Rb^~W~y9juGcN`>Ufs2v@!_13@W(;M^It~( zUyUb?cV0mj^K@Vy+;re53*^~1EwDd*lYy(-4$;wb5h47#X1Mcapj^g8A7=WnkOz`E zWM5?9>L84xQd3Kh^K>n)$YGe;noSH>_vEmqIq|?EW%f;Ed*w`yTF&Hb;7pZ`-1L_y zI7$jQdQ0KBj$C&7RJI|DsjX>ZU7YScl^oY+XEKbZrjg<5asg~dxV9QGuJXCu7U?ES zpPzLXE>I@k1U`*CEiCGYMDxjNEnXnsdsB%h-%6Ns6H>B||0Sj&Fled?5q_zD8j9)d zi40fwI+#d;SypYef#K>lCKDvNG|}-lkh0YP2)Jw2-EK{r+b7&)VYxcz5E*3GO(l^< zL-ADi_*5nq&4zs7WtFv&Zw+Z0Ut2>uzk5*A(E7HnbWJ@Um}h2bOz!!=Pr7yrmYJz! zHO}zIq>Cqc)}G(Pr6Tn-B^Y=zZ-Ik+kIBHqf&19d6UQ2^-H&Fh6qz*K+qjrVn zH>mJuY8ri?7xbM}Lo?5UWV0kMHAwd3uBplISMu$Mu=JQ#L4yCHt5)V(AXGr^=6qk2)|2|dTDN&DF{~;mkRMQwCYuW25=Y>Rn4~*(> z#oz2NRfwAOdQynWdwrA;^+Z!rh#KoZSDs3aWaRwwn1t1_2YmG(IpCvrQ+RC%`6HzW z+$lMgWtwRHI9d{U5d`~>C3|$$G=#gPJT=a2yT~E;yomQj^T}_%|2&WPiE_?-d1g1^ zn2SZFCb>UZ2PAv9TR`?7n7FzYxQGFK^;?v$cDerQ8DyX8lI-fLPJ~;eypwT0D)yfz zeAEYB;BfSv56D7NKmH%;1`jVbA-vdtg47OME(bS3)kWa*$Lam@-)7R`5^&_J`3Q1) zzpVbSSLANk-^+8Rg-IVlWb6$RJ|6io2(uB1jewUR(KC{{sz6jKHJeZL?*Cg}f?jI6 zw3ncM_2-tD=9Hf>h>AlKz1!W{$l4mco(%o97aMwn_eS&dp~ri{$45a|(oayXgzeG$ zL}j5#l1kYNGce>L=)0GWu789wU|MMJ$U4pXn zBxQjnS_h*yh8tQL=`kcaHv^WAD=CheJvEp*Jo+^j<`M2)SO1UMb1X zm_cTL{s$Hb2g%O+>}{G>=X06)KvofB^YQgUQHg}R6G{Z#NSz#?7Mex59F9*5$?-{) z@3V;VQ^ja{C-TQK(FZANj#%vw3!j8Ad?~rN$Ry&Yi_ARtGoi@h#7`F$Z(^fAO`mV| zv0qko92nTOuBY z6^!sf$=<6kt)8@{)rWupU}^Oc0?0-3%n+H%d!0(T7M;)_S$$+jbWncw*Caoik>F>% z=K}lG0mAbFw@VXx0b!WaRuj`|{uCo{1M{+mnly3f@s9~sfW!=9*=Yoa%hV0M?Bk-fJfR3!o;jW65y7XAIzn4ltj>BZ z;WJEAi(jLhu=Z7BB0lhMQ}nfUjThI~HYW?IOB+-5wVjP=`r5cWa{AY!G5KfRsQy;`&HmElpT-pVr*X9W^Q%k9KWP0I8zI(g8^X>I1W2q2BV5@8%A@gd zA)l-B<$}7Xe+AVa5%T5gHd7r^%lC90((kAfA>e^XUSLM@TvId`DGPKJl5SAEoT`wD zOqVf8ftyScH8xJsBK7?ov`7lc1x1oclD!RZ)ljLAX<9TN)Jfj;V4yhbEC(8;5SOM= z>L}N=K5uQ}wkfHve(@@i@Yh-b&?OT9aF_sCN-zO9-cY>~bjMAH`ay4FEbcx;p|?*U zot*t7_=s}WiI1s`XJQ(Uw@b7ur&r^=HZbe~EKv~ZB##vjzG`InzU{0eyPLVX$8vP# zgn|%g^JG+kZbS(A2eZgTNb+LcTs|O8KZ5+REc9NAUgs>DzU!$;NUrgzcIw+TQA4tK zadrPc_TB|NiXz<~?oKAjh7wL%m@mB zk;w=}pI+l0@!;;d8+VU;@a(!~caMmygqZ}B016Xu*$AryZ}d2d0W>5enfjip>YiI> z5IyL(=l{s_43nv@u6pbCUVin~TWNan47yrKp(`w*`!vy1T4b6O^`||}~9)sC93H8yl6pqzKBM<7Xj|)Fe zNb;k~Mhkjxjxu#*D}|9X?qFx!L1PjP?5mM|x!9M7eRZ*~ZuZ47%!dVR(h#LukAzM^ zg>pL~-zDVlRukei=cr#%ExuJm?*vHhhwcvz(u}EDwp3}xy;(+3w}MVTp;6*h=x}9G z4?tPi42e!j2Y?>Z*`c|*d7!e1G9*RW#<*`c{ZeS4fS){T;Ow;!?Z0 z#gR}tsT^#zY=BC_y#HpHlqL|=d0YLM)F7b~_EjRsc9NkiY+;a;UHc`;lLC0uB&h6I z$RdK#B8rw^EFo2rA8IV^DbLO3Z4+)(rsf7PsL?&;qq2G1rI0@qNE>ydY|Wh{p)*j~ zM9T63C|gHq3AEH{|K->GJ08UXB);3XIo2_2DIhFIh5pmuza8bBw`wt>v zNcPRX{XuMRaxaC~HuDki8d1a;zV_*VM8ns%JQs?uRd1&FTFWyGU;F$&sPD5baLt;) z^<71EIr=vfd!H^(jVTi6{s+_Se*a9={d4X7GDU4>LGv0TsJom_eGRs-l~h)*^EiR zM1fjhVz8}=g199hy)wH5q+3ihf-H@lKF0|2+|b<@54VTdc^%MkHm>?{D8no`17=&7 zg{vH`f}Lv>HfYxkY+9zBuHDCToV~W4vzCaCwm9aXCOiO4LOn298i1*?kx;OZPyh)9 zh0GI7LLW%TYeBt|Z1Jclp5uImd{_Q~q32}OKb{q*u1fYmJh8zez$}QXW0H z2F=|y4~z0NG4BjzN&SW!m9(pfSa7RFzD>@?WhHhUZar}u}z*z*3T#Vb^mW_ufO{9 z=>8C4cumd!IlRUlBFbOY@tW+|cnzp~Dj?5$DK1ImxhF!Ne;d4Jx{lZ62l1K%xfs{E zY~xBCYqJfutP)_VFzFc0gaAe}E(Fdg425(4x7ZE!ea&s;eJ`HFU;2s9HdB7~Hk1>g zJXhx&;v0G`B6#I3=;(_F>)L47!AWoiEChA0(}1u0C?oSgbXsR~twJN$Dr_T`RWW01 z4H6PIOQ=;n;KSHX_lY@cEfH71#5TlC%6!Jr7Bh~vsh&Cmq$_szEi4P?YdTGjRzev< zI0MeN&WT`Sg!|It1Pb*uvPH*a)o@hZQe`No+ox~4rfWMDIPB0CGu?| z-?~xolx%Q%IF8#$lm*KRa^*|lHQUP@t6l*np%IuYE<&t}5$kLu-y56_v|p7M$S<_% zC3X())tBkR=U?GC&bu08te?M1P@W0F56bJK;|C7}GpX72q4>eG^-=MI-~2q>p8t*U zTj2+PdTI!MaCv<+{NTEX`mQ@?eWCcl-=7NN2fLq&zz?o{DmH%bjr>nuTNL4c^5mRv z=YMh>r^oO=d1L+8`k(BgFK7M&r-z~iznd23f3oXm7vBHGe$4+h{wH&Pb|L&vj6eG} z{wD{NA^s-?%Gdj!T=lC9=YR6mzy08U@`L}$5B?|L*8k*-4>7)Q{wE!B6#tVqx-h;V z{wGU*5#fJw&+q@&{wMQp`JVhw_H2k|A8*(gY9HT>sD1o9C$o>=-jK?vvpynHEVlp2 ztR>O>PYO3MtGM17*zfpQ4$)VhSsz_raRoD}%hreLE1#^7s;`_u;rhcDc;MUUEB+^k z=qtAM(e#z|5%sM-XMLgi%H`{W`pW3_5&FuSCohn`lC&T~UpZ9z?evxF&&1MK($;>h zzLG&-&iu3|OkX*DO_;ut@#KZqS3I3xr?33lc_H+bh0brIuS{?b(N~;xU$3vM`u7W` zuLyNN=qo?yD?jKf-&S9_;mC#5SJHnQMPEtlyg>TOU!RW9SN`(+|5{)9&5hrazB0xh zO<(DJB2-`bt)1#Cr&lw5kl`a`BwVM+%-e=l{eQ!(^uN;;q~qBIbVInwkD{rJh&!8 zU)fh1TVHvAZdbe+=AW_Y0bO4SanYD*q#DYtbECLujGKO*E*c@hIH6MT#0jE!>}X({ zgv-Jems=iXE*cG?E*g!@MPo~di^dDgMPnWVUEAn>tESB?W6l{3LFbG{>YU+K<2^)~X@m0fje6Mf|6$G<4QwZ>A#5jV z*J`3lwDFRBUn8hH5$>F^ZK!j`{GfBjq1etD+tgou!nlzBhGh1Dx~HN!XY@#j2Aqxb z&!{EJg*B0AAwmY0P^HUuh5ENuL=zE=K&hm`a|Kfg5;ACJNv?DOXIUcAM#gRx-5(Nd zWK5PQzmXGAMW%fpf-^%GoHN4iGybOj8Fe`!%7}F>lbqHSRBDc_|G^*Q|EfR6HtJh& zGT@I959;;|^~ac}6pd+RYqgbnSa7Y*PJa~bgZgTS@(pv$tH&56RJFx=tERNj-3s=K zoqcU!U-kY_g=KC$;hj6QtyrjRBJZgGb^zmYuvKXAjimJGOiF0rgnZXVprEhN_bfMEZvax;nYn7EPT*D?-)DTOOtAJWbg<{x4~tq|>{QSiQs*jW8r$j0hk=;-4gEf2V4Ob_)J zX%!kdEute-DmT-swD+sCx-brwVL^T6U~6r?Z+I(}*>u}e$j9XywfN`C?R543h^_wn zFvi6jcic~xKZ}B9QrPyW@B~Cx`&ikj5dQQo9){n+h41 zv!J)sJB|{*atv&(^!QR(mw34R0}_8$B%}};HC)-{CuhqU-zESuuU=p?f z6H$u-=pUX9jz;n@UEWN;97Gi<-!Nw- zL~|ZPe|>_?RrEI}O?0fMm|gc!@0B6<`xev7eFr2t8MYBElar{jcDoUxDi>@kG14@p zvK`8gnINidhw@EX5LJ5Ql58Y&LgxYNC_07Z3L{i*!O(fomJG*xe3$3%_RZ36`;Ow9 zpxyRuK^bnkE_g{M^;WrvwFqU4M;1CoG&RS9wELr3Fo-r`8%O7>l#?Z*yK=H&o8V$z ztE+QzMI_}+DnaErh0wX%dXcC|Ik};PO(TTetcTeuCdJOzmq}&t{NXsYcR91AoJVZk zz8PQJ3K6BbS*dZ6CCjzjbfVc}e13T<=a{+AJc{FN!=PhValn6qMZ|nzIXiTr6x{Lw zH30r-9z{I^RAG54_g5Y&wgw4db@wBwT>cR#7u;J-*~X4XMpDNg2{%)|6QKS z)g7@V_)=*MF|6LYoL$RWOlV3WeFs&8mPQma>zELKU3r|UE(`Vt4P6nq(VI1@eHjbQ znf)-cU#q+e9}cxYslBRxFokgEPAwW|s68u@L6R#>C9jh?7#W{#&y7l&5u$k}$?UE% z5p{!iOUjLWapBYyTbG#Usy4y+Bq9w(vquD_o~jnLHJ1yiUy|q1@}V-HhiHLGGViIG zC&@_=xqagz&p)9KsN59DmRnLd)nxk=I^1!Rd3Q~^0JdfrOA1d}5BrAE{6hW#@^i14 z=dK<}v{s#z4iS`gRJEuxa=D@LN+o$g1VsmG?vUgpA%8bSZXy4OZ-Rzrl{ilG_WrvB zAiNt!+JTxYOTgB#rsBfWwj+Y`i0u%eQOG~?H@ala9W@E$xv{wLv~{i!eu4)gp&Kd%FHECT*ael!ZaTv13TFz3-1!IS!l>JA9SP-1l`xY;C<|RaL;it$ z7nFx>t04p=!x@%dTPj&BRW0ggS8$xV`{6MEFzEO!TaxFQBxLDDm0e^yZRZ2`PjyKA z9@b~gWcnmYd^_pJ;=-xC?U*I6z4~(KaPv|;5Y6o(C~cRJMTN-H4Ha9LI*i7_*_B<@ zqE=rK!`}}}@`7xO^8l#JAN5o`=~{^G0Z)`-aOBw#c`EyAUSTOLvL=ke!|WRjBoc9h3ZF=*+cCYDfvL~SlKDf zeknO~D%^l6ruNH!it-|8kyp%@%%^KE2Bt({nri~-b4(yT9y(gGMYITdKc%5`*A`21 zl9bmXqJN6+fds(Ty3cAlGh;F|@H1Cr@>B)f4WIXek?6x?2 ztXE2iOio)ny&GW@6?PvguCUtH0Jg$V{R#gx$U*&wN&SYl73JGr3WP>5Z0tZ#n!1-3{cW@3Ag*hgrWQx zIzC$n*nU-Xb>e}L~bLZz}1qRIv+XJ#y=d~b^uG1vnYp#hR^QwmTPqDQVwOyvTIC(tB z1o?L8aAAnbOi)gE?qU6+*KS)HbnIG4n)lXtj#FQHFq;4D5BgpVeb4y7cc$;Xd_U3m z-oGxEzW3+*b$xG1C)M}fxK7jeD(?@~_ujov)Ay_oP<`+1`U-u8y_ssW4=zI6x zKUCk#xIebO*SqxG`d;T!rteL3fGR{g=`A=3M%(uJ65cNpyWr z{P8!?_s0GxroQ**t0VQj^{dWH-)nzxsJ=HamgCfS@BO~?y-RumLT=sIzhd>lRCM{f`<`zge}8p*O!=FCd8GVJvYwaxh4&1VzpFDjPQAVA`;x!U zp9l!KxXgbo`5PA`?f#7aTk^N!^AP)YWNiC)@wc#l7sR%ICk(NFmwyZU_p_Mx@1kh- z?+9Z5-tmL{{U-MB?cbgKyO7$y*)i?kg#r6_H?x1Ub^CW=nEiX3ZvWoS?BClo`*&d! z`*&fa{kt%V{k!lS_V0qPv40n6_HU&we}7&XWxoS{kM=M4myy47z`wfueQ9_M`}fXo zV*lP8+y1>|i2eK1^Rs{Nh+_W^Bld6Q_h$bd58A)O{JyMsK6i}I+( zb_017ALY?2M-yW8=wwhgn^8Ml zDcOnkkSx7pz}99^<}P}KJuIpL&VBK*iCzwzuf)gh*q;JteSGYWeGoX8$H(eed!H3J zZ`K}1X@r5}IB#A&ovSIpNkd2}Gk@<+=hQ7UO198Ro3?x>+H2pN?eLEQTTg?slf{Lt zz&VHB6y}C*udxI)J<2O#>U-ba>Ls~>#$KCSzst%G}k z^R08NgGYe#WiIxVS^}Iu<6=)KtF0#1bgH&3j6Rj@eGl4Zl1I^~eb_c3(2rq{rdy8M zlC~vs9OsLp+QKhx*0lu{IPc_{p8`Fs5v!@yv6uXhVlVk6-)70j(=>~1ASmmwpREDT4DE4Tl*h|~^D94l93SQJPl5B0_Sg{R z@x8$L8hadtenQ+m;2D=FHtfI&E5=d1Xh|DXhD~3X%0W594V7Wn zRgobvxT{*AlCXV8I=4NE6|YKDg|?2)=Kl%Q1(@D z1t~s-B;3OivPlA&WZs)tLdzfZgkqMEKyqY|gzH#BavD=}-lCY5_ zoOwgb;ad%rf-lG~GDUq4L#5zj@++DAS`3wfW8@bgzix&~!G~{X)%wbzQt%1+HJtpK z29<*2Z)mOX{UR9W+(Mg(n{<2W1}6G%r3(j-LW$ zCzpbU=NXoQ!totTfj_hBR$>)DlAzM>!Wqp=!K2Mf!B1RE!4lU}@JQxS`oPz*6cn2F zfTnpyvQFF6$TBSlTRY1^*}I^rA~|e%9tLHdps6B7nZFac?Yr5M?gM4L#bE0p=>8z9 z1Z-`F?k-aa*t#3Kj~QXIy98|QUJ44iVQX$pc zUOxn%>!A2tdH|mzRu0AIw&?gAluJzXa&CsrZId6%Mztu#f z_76fT=ev=W^cE}mxo|!mqx_1lgFuB%46YazNB}_{iQ@d&rs#v zIv5&1kj$sx-TuVrd|1?t&MvJi?UHs$UTcz2?KWa>OXl83lSO%W>Bcm(FD`#KXxgpZ zv=eMSsdJg#plqK-na7J}cTKV=Pn*5bFx(d}S?8ElHm0(j#-9g*sCHCHlws96T*Ce4cO%pYh%XyGYh^FFH z&byDSpuAqNjtFy69xm~H>^LY5K9MKbL7q?#l}bBAn`rnuIkWr*!bvtk960O)(W~?6 z*Cuwj!&VQGc8&ZdcFlWu@D6%v0wTc$6(@U9Xore+VoLBprC?zynVWhfQP=B4601vY zPodW}JJ<;%dd|b?vW{yL8b*?tQmCH1A=p7}LIaiN5|o7vBwuoy&_Fnb&qO2nI$hTM zHlZPoUQaOBDCPB4&$qv5rnbzLiiZnOk*u8Y{~-hZ4)|2((LWkHYksT{GR+CXl^eCn_7wb_gGw09DUqYGd#b?UNn7HF?gmG zI`+kdzMR)yT?qL-5q0X7z0yIkH8m1j)1bon$wTiefg&1Yfo1R8(k9dsfk=kvZ+iPh z#V}Sxf=M#FfP?2b&LY=x^OUI*OF@%i3UWJkXFJ@#fsPj5(Kn{LLxCPgUrP1vqD9s> z>s%|{MLEE^m&#q2l-C8;?W0ZXgy=8?r5;g98!IA9 z2g;U4NfumA7nFr|+h3r$1%k3p$iE96ZcNIR@{VcuB14L0+craFX&_umLSLwJJ#?&h+#Q5PuA>0mg0K(O`5*mo4f=WS8Vqhzw zi$S3sc?cI;duly5UZa|d{` zAfDqSW#(fBj`K|!5KNCg<(`N z*ows^MLQ)PWIZ%Gz-)f^2Ad1 zV=STLO%phd+fK2tXSg688T6g$pw30!nF;C)K?gfU%d;esq)GIz1RDhg#mYKq2$BLJYf#3}AgJ{pEtn z%)WSzgG&tSA>WI;LIxD(b%1sMLl5-y#W6UM-d4eKTto`b(tZ$I-IuEU7)5)iqk1(H zvl0@vG4;mQNT~dDFAMcgW^8ahmFJkeg@knFaaI>J@2?p~`*#-Y-}bn0(yA}floQ{t zwFkULvqQodt7Y+2X)OWiiDKJq>K|YsdbmaYX%4jH4NAxd-Tes`=jYa`V8h3hIe($v zVAgH`PlWCd6CmFrqPtCy27H##r)s-7m9y}lv0JFSBRC~gGN&bv;-F)?es_S9nebI6 z=a|l~wIUZpwniG;gZ4$in=jLlZJUV+w%yEe-0KRN3wPzScx{^l@!GaXvZX+<6sVKXyCwy5_Orbag3E7C)_XVfim+D+Ru{}__r2Ow(EE+kJD z(Hf(ASs^!A6hCX< z_f>D`=LW4_Qom^c<9hA;hO_K@NW6X>Pnj|;5>FX+JvEExPGxusoEE@S#!X{*%8V&7 z@sxktoX)A2Or?0rJLcGUiu(5{k^7^Jp5GNj(qo%O>DfAk(X*`}K+jVJjGjMCj!Dnp zrgTnKrcio{&Or~gm*+#}lAVK@98?P67KY(0o|VE$N`YA*Uo$^w?8o|b31?M5X{K^X zrJuer;U)IQwd4&w54)C;9&z(b)e)b6ZMi>3szq)P&2O=o49uvV6Pa%fqC zURKu>T9#QWYvdG)B_;aC4#kt6pB#ZFwND<3C#{@(Zait>DEm<#<8Rj7W!1>}q6)N>z)Rkj8Q9sY$8li>KVD<0*HEN^zWyr=-}6`0=1l zp+|>?#NCJolo^_J{_ETzVpe)h0mwZxx|7HWj=Wool7eN zGl$Hl$_+1=`cUFEbVrczfZr^|X3lr5g1`b$*dqw3L} z`mJA)zEYo04)>LM;LfTR)kGRNc+C*`{oUek({~0Yg{j8LAU;U7?0 z76;AyfaBM+w`UY@EV|x)b{436j^ZEJ0OvlA7~41-tlvfc0$cw9oA_BAN39z0yFwguz3BQ`;F)IV*b_(S2w-;Z>K_d)-ZwEckJ(*4lY)ZH`909= zE(V)gBf-4`JI)F2jZ8XkyrhNUCCLdf@REgnvGJ1i@!uRTS=f*9P`u<1UxSyB>Kq@% zah&%GLx`!rK91w;MTu8{x;x0Tm2m-!8|W{+LLQuq4?GyHKX{fr=nOs>u0N-ep8bxCg z34@q1F_rT^N@JvHE${MUywQ+YRKzaxESd%C7BF zS`Se-B?7O`ZE}Nw+{p=$kK9*W)N5q$Rl*GtKc~&oe3MUu z)`!x-_gCj_evIS%82?@C-!MGn-*Y1IkcTd(rskg}Fg#>SP5=*Co5S#sUyhH7hkW*A zI;Yl7pm@mC+;iYF1rws@y!2cVkAA` zcnQU4UiqA&Ex+B&&=%L#6rXu+3dLtie-nz&+sphH|^p0P40v+ z`#<7{TFQh}&N0(>A~VJjwc!)=BWfQpR=1n>S8ap(m+_%T)TU)?a7f1lIw!8oW=GTv z6NVm9dv<)p5jFStp)knu@gXqCMY{ekk5d>>RMsAg=zna%sJq7abMi8%;IO-Lu$aY0cXWw(`U18o6f&COZ#He3uvm_Hk(x$4n zjfvi9de)3Jn%Km?E1+Cvl+4}LlcAg{@h9^SNapV74JIOL#h*eNtnN;XIL{ejPk%)R z{%)fruQB;14zZuVP_z1p{aj_V$h9WX(Z*X)tw}QXgC|R=@hotqpedsebuixy2A4y^ne*t$nq?s533{rrWxbac?)z}|eue%1!oFNx>4xk^qU*m?je z1=EOyyd>jU$e+R=NT@d8IIxM@YQi?!ksNtK3IwBRH-frjJjZDe9Hh2KrAw5B;QSFx zUN7Og$~+#L-vy2tM6KRxFdABlc<^K#v0QWGSff82z}TBecTj6}Yur1EKCBIR4J5{q z!WQt*d>A+ys3mWj3F=-aX64gbK{pc1ZHFJ@K&@9{jO|6n)u67PWE@K?`GVTYUK267 z^7_HLGlaA{iCJJxRkTHi)vL%VL2l~R)5|j{HQEJ}+r4>wfHdkg@sr^1;pF$7!Qa%u zVNUROy6yl$s0dj0^k{&VgF0!94!%J>7Lr4I@+7?pB+Y2=n+cqMrU3JTxYyY_J6tm? zf49BJGz&cAhK}8FS|KAjt*L3$M&1iS>0Sxlw+$kT%iF?CyddtNPP-_T^V*0BAqz&y z+zZydL%lXFoW%E$1<}hE1RZs~c=QDkG3wGkVC*#$3z>yC*C=4*wLnnX;Ak&1&uk>&ikb-}|V%(+T+azje#k5@Z;H$@^k7ySKL3 zB0m({>Xoz3Y4v7|KDX7oPK~g7Z+b_!dUw-pL@KH+#Oh5~qFTLMOkZpDvNtpH{$00v zKPE3ewKL4>ZM-Ok)q9a<^*(hzR_~85VpeZ+2GP$J_G29R8HX>-hm=)4fbnYs!L*0` z7$5A%c;+C+g98{Z8pL?sAjTi|V?1mSV_^W}YX&j?*}(bNbI$_SQ|5DpG^%%8M(|^XS z)Loa*^Ci#c(DNm;>qF0%+>`N5&X@fEX|LXq9?f1|Ir3cg+8rZ_y&8Wkmc4rSNZnrD z^b}=M$GS9oHEv|6z4~OjX0MLVpkw%WIDU+qY}>=^@DC zy^vg~P`QmSu@_BBv3&yb+N=P4W}@yWm%m3h5NjKKSBJ<0qVT~1qV!sfqFkx%URJUf7g1+#8yC5G zxrc6E?kcXsD|d!$UXCP%^{1wCzCQ=-!QlSonz*q2%Qqzcc(}j!YY{HdU$gIaFu3#O zmH7~Do*uB?6XKlxi;bG^_|x9_;C>RdO3H>F z;jg0`CmRO8xp8tL^_<4ZinMbZCm$b)Fi!rbE!LKt)gIM2Ni}?}al+or{B*r;oDh3e zJ@uC`<78xN4C7>sW}N)|e2kN~Q0b_F%=-7@G!JIi$`V-{AcV{UPlm z-~J2Om*?}j*dMGvrvLP5W28Osb~4o^hbJ+6z?dAc2aXz<+SZ>C(;kq1lFq5`B~p9f znY44*Cz}$Z+b2tg&{M$Zc{GvHv(gx#XP!pSPh!)v@HQoqJNneun$3GL9% zzo)bF?-#N2?~btZ?@8hI35(z1&jIUy9LI5}8!E#dilb*(o`8HiCOY9W59*OSZlDNZ zf#)$jgvPZjVPTz~a0yGexlRv?k;W1#>hv%i{VXoW9Fj1aBz(#eZY2q0NW!};;qE|= zc9w8|AP19{1*wneh5nu;e7sUm*u)a%)#;?yv4q(qVPr@Y60uH?{-H%7DG89SMIo6M zs8)+YQcMyq4v9iS+maX(g@l%o8WM%1D9{!y3W*RXREt9LtCf0;k;5Sg=^;@_Xlp~G zkkAC0LkmTc8mQ%2mXHys#mN#bB?(0A`c~+_sPudgDh1=nFQTaW?u1Ig#JY6OXMsvV z?Mgk;NI6sr9$%?P8kq)_g3;uaEIkTIj$S>DLNX~(TpCmg3dyfgS`?Cuz5dWxGWEaG z_-E4~#`^~`?i$4So0*evBXUW4zIi@h|-t|Iv@}4nM~G z{1_kgW8Ce>n8z58(9UQ~#TW}15#U^fy)36DX zhE3SwQaN9|h+0LZJZGVH(-p-i7OR)U4aF^z<3ezYA@Nb=ajMFH&HZ=0cK;nt(c-1d z4m&>(7C+O{CCT%Q5~2rKibMtSLjD0?hF+ra#8=!oBIcPGB zDp8glEw=l|t+=chZ0*@TYy{_m;CH8LGNioSVBK%EL%hsk_puU(%Twa$O{xAsRBnok zh9}*|6Ki=UM2AQ%sZhQMY|WVLGc2voKY%=G*`Ud#K@0mqQ?tY6A*HeXT?RIt@)@9` z8B2M)$&%Yc?_Os9;Zi(c5p=aMwZ9w)pe4()Bjb-}i^wm@i;PfSYZA@<;K{0ZVsnlX z^0AQrk?*3V^(BroJan}2B3i?8%%CADw~n1In%}9(mrz&f^s!gia!cNz+`@@%CbIrT zv~Kjwq}`1bz0Kphd-_Ws4dc@M@|+u0_#02x7ZKUnvlaY4(w zGA!1B(jPU}fP~J_=o#LH6ycc-MftYHP^lge(W8syn|n*pZOh8d#a+O;h37Z~yPynv z#k{>>otfyedHZP>@q0vbzX(eEB{W}!Xl1u|IQ1^4#EmD!<@JMgNu&z?tf+5silDS5 zlFU!e#w3%fkbmX_ zFSA7CM=O>=dC_7?Ui*M#?ymu83Uss>M0EFJ+IOO|W??8-j|<`Ivw+hR%GGbMPT2{Z4tpobS) z(9*>sn*Bfwe%{wRl%Kyin&Z^Q(L?=fa;Z8_-F@1Tt&vDui?W6n&2417Yi_p4SLc+0 zrqwe!_0LpLovw3P7tw3om6d)8os87Cl-qftDw{;}e(UHG(6oA3oVtR}*mvt(wl3dg z5<2Zmr7>U7UP-R?j1=a?kaPm9m%t}c-BPD4ivZ;79p1I?Wfly*wU zMx7gUm;KLrw9wokjomgT$p19_*t%jYX?eb@7;N1Sl}vhwVM*FX$ahrXV=aw*3mC`s zVT{S=?04|#3;FJg@%uv6{auv#ZQB}|_I=f_e}evPi=muwMgNFka3H#UxTQ^~rwFvZ zi?}81lxEnWLl=}YKRP*rV&)K88mSAHLIWptL8ajJ7HSJM27~>~OQV~9H|U2Br|CO+ zv%_}sHbW#d4Bg4ACp8g#@lxh;V)mM#P*+iKt$yIYtHHo z_p}LHg1e}V+S+$nl!tjqzTapue_XRjl#@z9lOY$m9d3`KFL}iR3wp#v9^E7=bK}DG z?_0#J*s1#h=Ot)Z{u`SqkHX7~}7NL$Zc(&=vyhhuEEhA_P<{72DlUk%Fd4UO{LsDLk zCH{KIw?gwt2ue>%6yvvTgM71y7MOgipu>&xT_SqBP1r)@9BArQH}qp%=dzZFjyK~Z zZ8c<(Y(FBpm7|5PBV1hh3D)~KSu%fE{f~T?@31BB%j)@-ysv1l#9wbQ ze`W!tpAi})^w2h_*tQUR*?W>sksEvUDdMqZ(<7=OI~O$C*4uRBNPRAo0z@M1~PG!(}u>4$1JPp9NE-%Q8+QfWAOYtbNej4CSgu;Mi>-vv-Q` z;-wnCQPl|1Ehc8sctG86X_Ll|viE0OKd|>FTi+vw53!u&sz%xxs656)a~p8HNK6xZ zkvSVUe-TfLs%(UEbupA5htTY|PIav9;-Rvr3j*ONG@k}_)_9JSYq}h*Uv=zr_>-Ae z?DkFZ90z`P3OFk1Ax%p8C3I7-9jrT)7P6_w!lO}&k3z+^O}+LDI`}3SPc*|a6GTUw zNaw1T_h9V(co1U;P6TyR6FJU-6KDt2ji5i`fzy!~sE*>*2KpclII9hT2Ndh&f*F%^ zx@M(meHR`XkaBrMZ_c0uDkrFl+8%ib7#*csx@zrL7<*^Zqm8uu;kr?z?fV0VVBolt zjYa9jcAN{GX4e04wEu@Cl1F3B_WmMJw9fHRxmRB9hPhJWu-BK=U{y3f0sUL-`g6&8MtsPj&8*%{Vk``HxWOyvX3y_9s`EQ3BUw-iIU2GTO-k}B794F}HhVD@qP zSXQTySI#+(Z+;eY9Fu7*-_sa-ZT*39B=!d#VM0nc9&rlt``G#RR_%QIe(ikwMB6bs zS|22n7B}-z`tBN@=ELr1UXGY!hz5Y-M@ z&v!?!k#sX*&Fb7!7<-44>NTE33jeE-)UppcT3L^2p*AgHZ87*T_P#?5M)N7_RL2^^ znbr`_efVynLnHF?8n!oDULpvA5b6gYSOoxDj4|1l9Stqg?UTFN~q z-l~%rduQ|oMh=9Q-9^l-gdOuj_&~LU+l%025wLaUPulTZ%5Uf&oK7Z^Lp)d?A>uD(EDQp>!vEm z^v8q_iIDiUL$X^&M};;DMC?M;Z) zYlJ~p33yEw=C1;U2bk58 z^CvM=|w=n&!Oir8VaAQZ`Wng^+mFHyx;*vBZ z@w@RcNTmG6IF54^a<-Hp;g z(%{|6g;4T7sS+x)86{7|X_TBK1V*RCJ%kcl1E_1#DX9#l#P@M*N^A{YnRXBLrvkjz zb%{Jl|WH_>WSwy=;LK+XS{nuT>?nw+tjlL8byZu`33p&V)X&? zm7(60$Z_gjaRG7ab=Xxb3`_t#JK4s#z#+Lyt^CYcTQqlbrR#heRbhKdfAgsv)>Kc zxA9Ai7k-8DdtYL#p1Lq~>20V#{oS*J^G!eJs_(n_T;CVFP2b1oa4*I)&thEIkMW6K_Pwtc;}^BR^>p&N^eo1CXM_3v z6p=6TcVv3x_r4h4q4=$8doLxbe`MLwlnDRG%&rj}lrwL8ZvKmKRRko&lU`)yy*P4TrxcCA5|#_^%KyXIk0 zo+jptCbWQOBv@MArK$obNJ=^Kxes`E(n@xJA~$nn1BeLCI`A7SJDz3|MJh2sOR-a zr3n|GAfzTidA13niY#DC1nCt<3Uekx&2b&daS&BxL%GxlQAI9DkApG~QN<)Emynb~ zDBom)XhAV_9<>3+3hmE{Neb@qr>2@6< z+S95@lDuR-Q9Ul#PH}gOz+IkWgie=jgeV(wBy=3lrxE(zI!xYJVuW%{At|9}!T^@! zRk;=?wq6$Ub_IPoU6hj~gz39jtv{T?mGl^LsQ=umEH&i_8~A%VQv&Dd9`#4wr^MDP zyHm-6_FITb^p=SJPT~F?Z2Kf3=?|G4Bnod`14W(_4n3PmmEEW6>GAn8;}+hU0_8bb z#8mesL1j)d>`)<6ve^;2Tv|@S4R_F^4|Yj$k_X#~RZceo)L{n`=;;T0;PgYiBwIG< zryrhxO2MtO+3APd_0tbm(y@BNk9!0=a~iByGwDFB%5D|xT&u8wYZdCbR$(&-6^mU$ zpGfFa3+lF@K6T(~Ki$g%;V zs(L8D%I;jUZHB0_L8gZVQSBBP^mcj#`A4s?R$9rWa)tjs60 zq_cC3sFt2pkrcrNWp)^nq98)M{OSXQ7@G$=UDk4_JWn5zrK#M6p|c}ENV`VJo**G7 zbwW-OLJV!RGGRJG&>8*l?@`gEnBv2 zDM63slKvsYh5B*Q><}z zC|7z)&~5WcCyWx6yNj7;FRT4(QadEW&J$IBZs>hE@;G(nKT?AJy!q!tWUI!fSdnsV zfKuk5I`JRWV%;1gp0+WhzR*r)FMoQ7yu5>sV)Xah4~4$ZW=k8LCc#qvla(?_D=)>^%7QbM4QUBjHzcnN*lSdQw|OHpkg- z0O>>uRun>1+ul|INfJc14U+t5w#C^4>V!nf#WfZ#3+>S1%7uuXLRLyl5YY?Re8cK3 z@-+I!$V84Sv9HbIfHRx?>8QxSwh3y@J1LwvqrwQ31d=LOm`YGZhL-V60>_E+jt$x% z{tvsVs5ip5*aOj7nAZ%E2Q~%Vi^q3E_os1i{3*ycLv#?jeFn%M4D~H;f!m_`77v${ z3hG;2K*w7|?a;h`MJ`bslY2uPjNzFxBJ%hE`TNY7669g?LzJCFkJ22CLEV6#Ft16F z^g%Zbax*&%BEc>x^RO>tX+1R0HCgY4@-&)bpI_s-=637Hgc_4HzFjiAtnYjO>L*G% z2hF|J7t_^zmagW}loE(Mn*K&I|JnPbA7erm@{r#zu(+}^t(lQ^pC9A$jkB|%Y;iH2 zI9o}3n=TiJ+X(aBu<5~T3Vp^;k3J8++R$am!! zEzTp>pGc^a4A1Mq;c1u9yD-m9DhYajkM}^gHx7>PfV>-`eb9Zv0Qr5P!_yizJl)WJ zq7XX#{E7*pG6%!)@A|H`*ZzuQmyMO!dwJk|mghL{8_d&7G9Rfheb}y z5oN<}+V(Y+ZRq~rw_xA+F#ajHpt-^X>PqR>C3OOy$DF`htj7omY0`L)@A^Q0cWVCM zhlBp#rvv`qrz8Ep$;iG$NVjDWvaQ2OiT8-gDh$UT_5HNOzNVP7Ua^zzRyB8|XlEph zP_DE?WP(U&fXK21B1@wWFvpaJ0IybR8=!0>@|1;hw`@>%#B-c?bsXFG5AT$Jh;mvV zbndp^Wl_qoZ!DX?(s&m%_u3%qhY}O0`yI^??uqHfrsqLYqeJWO_z#E#Qo;epd7z$E2l zp9Z&gfNPsq41>-ds}Z7u-Y1whs|PA+)0o49!yjLr29?`zz6&}JflV$_9k|=Q6iiQX zrJRP~>UO#w&fahu+?61Aq;Mpy8;(B&llRf>!?JD~pX0uI^_o1YSJXp!nGq_pF?6=t zk_q#XYdyYXXg*E;sF_Q&b0{0Ala>+6Mu>p#5eXe5{a}J9Nkpr2Oe~Yafs++XD&r6)I`1$l}={ zp@aKUn4eg&5w;bx6EpI#r#-|va+@GBLb>41{nR@8qs53L!WT;cpLT2 zfwIkm=V$q@Bw3&C?Z>`Ld>8vh`#2UxgivW6PAQzaFNGZfV!JdeDZ3c4lJ~;rVO#4wy-nv9*CF* zPo&1RsYFiggQyS67co}V4C=B{NzT&{wZgnZ(BU`Q0F;Y+p<`th2kImv$MuwDXMwuz z6f);mnK)4QaSBm$zHluCYlQ~#Up@KH9voXcR9@AtU2RmyXVBfCEzo%c%7O>fJx8}? ziA_)MaFtjblhBZPr2kg-s{eQ^g@X>EzE^u4)ZI;AZNYSpf`6Avix(Q$KX~Q?hz?1z zumQSHBwFOOZupbdr4a3hd2N!Cv2%``(Ltlz%}?OCo>J1L*$ITSQWNF(<^+zDFOQw<@^`-GNc*IFm>C<4Xux%*>Yucc>7u0Q{)1r?ET1Oup=?ZnSF^xs1pmYdpv8Bx_Ms_oQ$l+9ffvBvfpYkc%iGrApeH z=dXo`XrJglah;gIPXe#>h;4=(c3je$V&`xOXE-aMoQ?UWbRp!Dxq$T*>*5;I4Bp(kiQ$Mk8zh@vxGl0g&)R6x8CublC438KkBAm{z;wa;7=#P)69-|zE&9{wOR zXU^GspS9Osd#$zC`YxwX^8pIXwy^~+3rfi5p_b4qfxVfR-DbQwQH);FnF`my>N0S+9hj6WygZsohuR0b%yw@hx5DJ zFTwQDh)ch%*(t!?nQfLgfT~8fNQ|-e;!u|z-``#Va~0TwQR&yXa2I~8i`g7#^>rt$ zz^ir;e>N1j1{4~913UnY9`80#wY(OGzUqzDtatGJd-zEA^)$-AZHKq6?be__K1y78 z;JZfoCL5*lWXv?9Yhz4aS5@l|UIJTot)%+vB=-s5b#+)R)-mf!+3JwoC;Z2F;~{*d zT6Ur%EY}X3FiMJ(@;x;K=efPY`s)d)B^s4% zQIOq4Ib&a%L$sM@QIG`QJDcoga{K4ooC3)3v&!xt{o#x$srNgG<~2!RyFVMmYX+hB zGL0Ooy(crRF0jLQ9#(CH_K~RDn1!{eB35UKgbtGEN^vsHX(Qa`DQ0q%XtGHHZ~3#C z&GQ3B@=GucNqwVnp=pu4k418<_LJz?5LPC+Z1}Nl4e4$`ev}gZr634K9(*~ZkJ#cA zj7tocF%S>~8g0HGFo9$YBDC2U6gL`DgsmBJf~KVRzBsABwNH z&hNe6eA)W5A#N6&eC<2@dAz>+Xh~h^kZ4tdT-f0oBhf_>qL>cI8l}`%*g-?(QO? zF1w^HXp*R@e-ecA#mQP$8>Z!rgbv9E*e%r`j#l$=fn|{^;FgIn1kbB%XdbXlSqr}l z!U3eDE{YK96((z0tx&z5c0dk0J*8h3atgAoOQwED^!H3b`oJhi!;c%zrUKLQCe|%c znjKQHzX8=aY<%oQ9gnr_brW+1n2i?iI=*fB>-0!}L6EdN^Kc+2q0(00Yeac8pV9Oi zzJ`O?y>;nt!SP>sg3yB`WZGqIu?@%Ln}!niduTO8r5Cn={5omJp;#}*%yvSzCl06) zc84TX@)cXP!!h;O!-L0pmgf6fNuM6m3Wsups0UaV$q1XlEoqH64Jy)}fDh-6=%B0@tCp5j=$|Gdz1?db&?I(P+E z*39lJYX^@IZ$h=-+SxkkV9a7XknuRU(m8CN+{C`r?uJ5QCvd3KE@@RzS5@5%#ue7G z_Dgg@P^Ond>NHcmmSuMA0VT}y8edNx`puhRMOteq#?}(12eImJlIYj^`*U9i~+cu$YuwwyNf^ z#e`AmepJ&7@-|j5LQd?(_eA2}R(UCt5=7bNkm!PN^rMW7E&;1EgQW0XnSMb+XY8_8 zWlLsDGo^R+QUCymq^-6XTWu|At1TJa8Beetj_J%=$gcMCXwEaR?k;)NT6Z&RVckuk zLypRU&sX+`8aVGT&6Iws|L#>r*8@|utgf52{G)vQ{vdk?m>h^Jp!@XAY3vB^!|0Rk z8ry^XnI#I`u#=36-3(sN`>e2Y+Zwp;E`DIIu_qB%sUG_mRNJlq=C=gtjvpt$2lr zr}oKO))^}|UDodT$RW{1DRgQ_HNQH;#naQ9oI>=;Gx3s{GVA~{UEm;87Bd!(aXXqF zWK>DxelDHnZc4g1smsXETqFFhQJYd^*a+4Yp)z#Ebb`2G3G1CNv$xPQ6Cky!pkCLH zqij_L^#J>Li9U}FZ6M^I8%UzZ^hNzZqD>Mki58FIyc|R@6K5`?w~>_;X(>HF_A(b~ z?{Cc1590AW%FCJYJTo_e_w*Mp@pztfFDK%87Qf834RzyL<9R;1C|A%Iy#ygELpGm1 zo+lwsr-7I99Vk(G2CK_>bx<0@g~z!|zz#N%vc<%K9T=7F#_G)l*nV>!cE90wG5W~7 zq(L50{SKmfMPio=@aqW!%iZP!)T53=U}W9Dr2-d*ByB7up+k1bK6Wo-K9gDIg!WPG z9$Mxg8UXc1_^g+S1dc#iFDo77%JCRt$Lx&C6HskEqvDlKP7dK&<|4FAWOA0!vOJ=W zCh9x~E{Iqae!ar;HAj@`>W zjyZ2*azGL_LQG>(D#01tIEzEX^>JXgIKgE0z-Swpu5&L5a5FkUkCt9?Awm_5}#C zYpkXu?W+9}UDPPiMGcI7nC6M8w+VXI9UGm3nmbCtnsalRM(Y>VbAfq9wxx_9AQ?!vc5~U?Z6w`&2SE0k*(Kcq$%Nx>ZHMb9= z`B|s_M6b-LU!C1$n%{H$1J5%4@ZZlq{_j{OuY6<#*j zdjPw4qSb$Z%CBR=RiWR(`l9b+<&)Erb`{22&VHC+m{_K^R7Lb3{@n?TC(%}r{K|H= zEj1EtzC+R$)ThWtxp<|+H-L=|D_di54A`X)>MaPy7epP83cU50R@Hk@Zf|Cup#pE? z2@hI4RrH|TNn!ac(G@m8rH)ASB;%pU z+Sp-OX%UG#R_Vf84!E(|#^!#XX|21XIZS|tj@fygq8L$HPZP)~dmD$2^}@lK&X&pAkgf6j^$Ri01rjkc(0$y0gwWnHo#i0(VNs@2U4+?^Joc%te#!rEMv&>X zM42QyGVGLpWF~t3Lo<<8w8vQ9<23w#Gy~($Jp<<;J*xT7F4K&YKT+SI8~vjzx=d3q z=`c-we1~a*9wgC2`m>ErrasZF#&B-yHFCd6Lr;E_#`tk=wtinD*NZ|gIE8NZor}%U%f3RAWI`cy5a4W#3TsOD}PNX8!!Wm}9Wr(Ko6XE%Z#-d~sKCyXz#HufT{v^cQ) zRHbXOmJ`k7ODFKw_4UG+1AjB0TGqFgnZ>kN;K?mu>+Sze zX57S>QLC_%(BULEy4Wkz&!%emt(+l0C50ccCOLG%6s`YNMA;r=EJ!~l${81Wd^oV> z$o&$Hrn6;N<>1L$&ihy!>tGl7GuV9)t!`s#dFY6pgY@VdP@dwk=uHgYFcni=QWiI%gIFD;RTK4pv;=fClc|Hh+S#)!E&Zq9$F82@bt z{@XTL8=1m?<1uw}{%dw%_il^-?sX748~6_gKJeu*`S#eKf$to^ccu9;qLeve8ODKr z_;`0bc0KU?S@UZOz<1b*nQ=2C-+{HNh~D&Jrzxo`9N^=f34jI3->W=b0uC;j!qy-kw4&HoTq2Qy0F z2UtPw7XN6;eZR{el>j?VC5G5z&o8OGx#sIua6vuQY!yP?dzQl z|A2ix>G}U7_VxDDOfl)nzV7@Zx38x^*WJFJ2Eu(Ahi_GH&Ld5Uq0unuXvOXhR6`lp z#fM3E;=-+xmcJKkLw=2!Sg{Yum$hXD#C~&u^-$_eTt(SlDA}*tE4dASAEQKa8@>_1 zpWIKh!lmE#M>u{ez;r*kGAkdCV{hxPm;??nJAP!g==@V690m90-1Q+~^4p znl~x0`@!Zbf8+rvK^!_Y0S}AdzG1>%c_q{9cSlnr&);B|3U{ZXTJOT4qYynbY%jp{ z9On}5INp?$aBrj?Nxy+Z(J@TGU4oTZucbo)3Ic5oE5|3azt1CT-f1-)Y~^3|2d7nz zbHC*7tQ^3rtf!P%M;x%!`nokEA0g20yMxen{p8PhV5BzkTRww*62Z9Y^_be(jf1f| z-J!p2-5L7Sj@3Rd^SfLUt#ruRB(s#ZDXn&*#O#&DMLUct_B02CNVcH$*aB`T0i^xt zXP^Xsjg?PN7wxd@vFmY5)-FD<>v2ozE=S5|G3B$%3N*-K!YhmeL7xl!b+ILsI98GL!neV8jYhR;NRKoo+i;+rMzf%9e+1F$!h(*Guyy8jl{T=vL zrqD^vuo6Wry)wJ5Jm=7g5k=d>i^*0y;t@_f2RJ^EOQvD66 zrU~vVaj-4|LEnYIA8+yCeE+w`NH+iK{h~yp#9c1WVz31@geoGyiOQ36BiAbBrAL9MyCR+-~lcW%B92FdXnAqRq%R z@vs9%w|WlrfaLycsl&>n_=d-C3mEEvj*M_2t38@;8ZLhSuoy1(Hu=jW_ev4f98AUx zjpB(u`+3aJKFQs>^gW0f`ZO6c^bJ!9UuO&I8yYb-qM=s&Y{Tz(*aKZIVmc=yYzXs! zPb+Nb^G8N=a+T6gGQ)<3Rn(m&aOm^pZ=4|Lig)2C*9sn*77rd8EC)XK4a9V3^d~|l z9`+P1C*O)CI&EKiKG3l!NCNMkD-g7#zUM&DsxaW4#Cd>drTHcaZ1eZV!?qf^b!;-u zOH2lRCq5r)&VC%&;S(XAsJBFmjCmIS&uql1lhA$=y$;j<`-$3{ErE$Vq)1|oznO?B zYPDjDK1pin-y~v+zM&Ct$fM?>AC2cjPuL# z=-!h(=aVak$4FFel$o{gHlgnk+RigCH$M=MSzX6tR-c?>#jMr}P!C}eq>>YLs*9+T zM57PUrt(yBxgJw*1J*`;H3X8#n@A z0j<9p63-yNnmzbGC0%B_w~0r!hV^%T?G!xK69oS?L|vKJ>}?X7y+NVb8y1?q5rNnE z?E-_cRZ`_f{clIlm<=}n#m#o1C|FyP$Bn~OmLl5J5h2}?Z}Y5~HOGTCK78lI_GX*^ ze4;epNt9+A-hI??5cT1Ovik56OwX$=anw%lE73|3(@IyP&3GPiVG|=P`Zf2P(skYD z&<&*dN8e{=e4#_{%T<-`XEuSfG|Cv6zR^a1Y{MMoqOC%nvrpe_zLhK{rF=vZ5Wv zJ?y@?p~3F0WzWVfUZ~6T%GUHqPzl5E04pb9j76JXnTVzVw3+uW}(-@T;kVk2;fj>=^@*TL42Vre`>rMWTtzXG~5sT8Zmgq5kd-Z8EBLoU-o9{F^=AAZR$Z1i~CprY7-5cccKB9ZpLZ+EjNj!o? zfbW1Nw5odkTyOT=9A`#ryP*=TZk}^4#*WGEx?}9`)aU*YwRc3#0N_}2}V-25sbeEq~hhXT|H1}nr1v*MIHdV z`=9~2!ppN5*S%ldWwrzKjLnyW)y=Fa{hOaT1+0AM8*)-G;=IZY0KA{%M4Fk%sWO^Amd zJPime4P6|8Wne|3zMzsnI1Jjvxn0nV)>kifYl)o3Oz2&T* z$9RQQ>prY*7CCf`AD?aZJas+H-c@zU*(-|A-XJ!H;rg@(oPzP!co)Wvn6?-a`>!n7 zZJhG{ADxZrZ#Cl3NVF6fA1;SxGeGM2GKd1(eBBo;)F@sTr6*dMLeJy)odn(t3TcAVil#9iJBER4;##L{0sTC!GR^hxq%GmKW@puCY#(Sldzw!mHaa7KG>o zn;^gnT4UqMLUm7a6m9I?6iSZPR4p%4 z3d>!pI(e0nSga{m(znPq)%^ewuuDcYdna&?7$$ z9n=FqT~Qn7r~b7GjyO`A#!s^b_QX$Zt5f-D@9McwpXkm{Gcxa7#qRVy!TISI3g@Q>8^4>M9y_eVH0%Q3a|fZPv6}5s6SeM|L7fzF z(*uj|zRP#t;s-Gee9~o_&4DP}lCib{%nZ6uuenHI)aj;w{)KUN-~*ozZJb`vzQyLh zp!!s=r4Z-7SYA%C=r?omL z3wwMku*z>zPG$RU$I7WJ6zF9WgvTZ<^!b*cKs(c(XJKuD)s@z?1|pFg8r)jn4VQxB2*(}6&%y&x-3F9CJ4o}b6u$c zLP>P$1V3b-K$a#cJgUP~N@$p(5!J9Mbc$-{~?< zCDwaczn9Ax7ydqk9$yaSv__4{&INuQ@wiin-jijyN5Ji*U$B9xav@CDM_>+19J1+?0mB zZCokQw`F&D*>H)5rM|(q*Aj}fw_&=^aF+5a?QL`)QN03Ivtkgh_Ym-`76G!|A~IXq zh1FYJn63>&Rx-)MRAV$Wob1KhvMmrhr^S`4&Q!E_5VS+a;a z+l7l^Z2mf;trD@)VzYi(mFFLcmCfuo0oClV2}02h585~b(20K4<4)nb=UGyL3X%#mVGHvcwqgln*LgYa#CM)v$Z)(t z&=nEG#d)QahI)Y9lanw(av_A$mfHaIpBP39Q7(bC=A)`um zhn6l+;pe;J{7mR>W4;_PeRbA?$1NbKxcT(~uL)BPB1`aHnqsbRU1gc;eZgG+`zk9x zeU(#)t`P(wzD7KBH&!>W7iDW@vYHi6f(G_8<`T^-5_P7C=|DpL?4vN5X1#&=Dffgp z08w9}1WjpJ@O$w#00epkOh*vK>jIo=SV>>%dKEK4wK2ea0QHdJ!c$|ZJLsim0R@Kcvwx%l0KenREDHuESFRQq=rEciPgzc#2ZSECj z*L3IYP9gdlbk(9){jt-8$2QklZiQ_9`P-a5zqP-=^}_y(;xGA#Fk1!p9=_A~YH8aALw?Dq! z2_}QD+1rqZ#O!H@MFHh{pKtcQEMU#w02=4x)=hUb!|{)!B|uEm^gXgCnG?ghSq7WosVOIEQq0nvz;o2V3x?(B2C%SW(ZlaU_w51rgcGr%<&K z>J=nfh?NqTjc>=O=JG7qN@t6*wwUQklDZ(`yO5~M^4M-_pk(~7 zJTpFi3;8vI13_kxqMBlxAb8QnGSSl>wE3K}TIQ0~#d(IE?A9eU4`Sd3fod~}sWuUy zEogj(h=vNXnx7B%oUmYY9k|#V_T9urdLbST_v2!3&^IEw8}M(^&v#MH^Kfz!KjUQ* zDu@FA#Wfo#KV7xSChClQm*n2!uO-@}`3c1)o2ZZG=lQP(b+WL_G>dj5&NI=*89BM0 z8)uv^puo*3dd-(nw$SU~k#=62OQKt3+M<^~;uK^WlT>(1rmPGyO*6XtOyX!523a%L zG|jr#Cqn-7a)6s4+Adf=*9<`wju#+ zMFQB08Gb4V7)b?jg907Arb0Dt@m42y>GFq}_+!$`CaECkV6$cxpze8? ziL%X2u%g=a9KSQJi-@LadXVT9P$8Tdb*}b3r)e$cm@e(+;|ntm|X59ep! zQ$<3#cC2k^;tG<$Pg!}9l0*6@D?mFMVI6S!&sKUN>SHt)66fQLn)W0f#LGH z&ne)?wiTRB8G`k2P+#XuoO!9~@4C{LcILI%=M;>$2yKpUqAu7(Z?HB%6lfMKKU{pb z9Otuk%MXoQLYt%gKs{)NOFLi#9qdbNpeXPJd)|ahmgbb|6xsT>(?ApHP7nVeixmDL z*6aJPf>p0?sZ5gT^EjDas7#Ov)%=31pNv$|0Pi%um9Mn6a$^ah%~o|DqE?O3AE*Qw z7i<@7ekVU%vfF(9h+37WPph;ru9*c@Qkej}hV|t4c3(Y1D-)|Hxon)3R{ftPPN+|P zP>(HTS2~#$^opbwr_9gCOVj4(?WJ%gNn7;n^_@NB!zS=ZvX3lF_|z=aF$;7|(yAJ{ zvMw$KjaMq{#7buyQZ@@54MOQ0xGY!88eHpLCuxg*CA$y#uQA3;+KPl{^7f@1oQQfG zEYIXR)-0yw^|Jer?*gp(8zHItfWD92YWv93>;-qv;u9j%e%2MW>#r|igvKJFQ$-{S z9+cY~)=vVuuHCziJ0BbLeGh>V;98b60tR#Uat7$xI{hlf8W-_bOKD;4LtMK(@?ZvD z6y$S;7WZ7wOL?dp{?Ag5|FhV_|9L2h|MQTA|MTG4@qc!Ug1%@m$N%wvM|@Pge|xw7 zKY9rIztrmAmF)l665juLXYW6DToix;Sk3-}?>qa)%He64e$Aiz@?T=XfdK)nKSj~R*p~N`ay%9cL zt@@XXnOI3g*6!mpTli4wn5S7;GF#bm{(kIs{|^`?`YwWqfL6Ue-b&Qy8xPg}7#e(H zF=vO5A8-oa?XMmK&ZDk2q>S$cVP|Z8DP4mqFW?6SO_EmivK;u_|3l+CqTP|7I3F0b z*g`7xhOP5~CW$Txf}a%NyIx%k=L44uk~-?)r56aYRxwec&*gESD(tH2)t4=~fNiP{ zqRMP1N|jXmwX7c-YR0czA5gQ2!N)L8*qS$=VC?~hgJh{%HJ$Xo3r5$f_A{iJa&Iff@5a0Y^fBEZuu&%;7hIS6=_4j4gTTl)cz+vGTv~i%MRoL3MKu}Aih}G#1qc<3z zUqVj&AJ%u8vRcJ+;&(z2X!E}?C;qjRh~PF7Iy#0ZU62!BW|CoT#?_L$t1_F=He)!Z zZ7DhNZB|Zv#Bj3DkP{!V9EZFT&`_Hol%kF2#lvf+I3)FMk(ry(c&_|uK@eo7gHpCK zQwaR! za$pCl`3W;YcUX7{8)uxC>$$Oij{n)XrFhs_k{Tb|WkXLq%oe*lh92i(ONqRCcRa5? zIvZm5cKAj?b-p)bx?Rt{-ziAyOi165sg6~D6EiMHGc~H8m4+W3YMSQRGV!PVywmJ~ zU*tvtUT%=ATSab>w%=zZwf81;p2O2Ti75_qM2S{`uzBmp{DfDc{xDJo^0Qr;eu0(P zAZ7wq=E4!LUD7ITa=`Q#7^5=IZ`a-zFEpLUfr$Ma0j%`e3ax7mlr}BKo{%I^m?svZT5nxwD=x z>M%_MRxq;Qfm-zKKeghPK-0DK+a(JVDyP5K4X1U>g*J2v3end=n!B1S6=7KL; z$T!u(gw)r1LFYQ1tHTMnU$F{Mq<}ztJ zu4VK9LI3n#rw|DG8n8C%;3F3ZSX&=FZJL`#*txTK6dScR&Nq61u;~Y2jee}}>&LdW zaT9r@+-)$L0k?j3%G8(L3wJ-r8h+|trx2aW2~C6;1(dgaE?^n{Q|wb2bq44feG3u>m#_{2Kk0z~jyX zLH`#Sn8sKeaQsc^Z=zN6gwgYlPS)QN=#Oa!)p~YCYL%91B*JJ=A>35a0^gVkkSJ>K z?t;|O-I6joIX=1q_|=1Q%N)FdWtqzY(a2-}jqtRTO%#Oc32aY!Y+E>^tRa7&zgbBD z++vDAAwO-v54*oo>3O^aC7Y$e8TBL!7Npg8%qR}&WWOq4J`1R3YIXwiIHgZXeQp{E z;LlOb?b&Q$SFJOK^7@YsO#5Lv0xRCIE#bZVI!h3UHX~monv|cHh~xJ+>c&7gONY9q z8>fpBKTG!wN(ht-)A^BY(d`mlPzOHZGi#Zg2r|=-$r(vq)FcOvpqc@_I1phsPjU1+ zJ;j8+NkWISi0#efc1?zDOL~eW^kORs9UeoJ)3#+763uT)!tKNFX z^O8Ez(IdNm^)F1K?+=w9h6STgV!$Gb?AFoatAX(o48J(e@JvsA5ZDjWz|;-gc?vQ9 z0*61B)T(uox}Xl#L^@5g8Up?WUtVgC#3Ogcb0qpgj>LU;^8Nd+JDo!GnNHJ;FDVa= z)WzGws=uDCt+-wsxVzH=mZrTi^#@_yX)}Y9Y5yQUOh+}OlY6hN1NH5uG)yojt}w%b?Qv zK%%W00gAkpw&TUaBF0^8A8;89t^5yqPXA~U90u+ z^PEETFENwrl6*IWxcbZH^}Geb!MRl(1l7F4&m4l$7ve7AOb+J7Vl9yrSh(LH+5PBfU>hd&#WbWS!%g;@Z(sE~pN^@N~Up8xQ zPxUE*m##eS-$gZxVWFn_cu(DtcHUsz;S`J=XRTLKz=J2b$`=pGeZ4$AB=@Boct~z8 z56Lw#ZPth1b=ow}9!B`oOp}inIhL#ya8L_RdJI)c?`nx-NjBTAa-imFlx&!>6qv!D0R`HJRv913( zHzQ*8t+`G?-!hl`Kt7+tBUWDxbaun{J14zwz9XI9Wuv>(`)~78=-qbP_oMfvb5rS^ zH8(-;kLIS)yZ8D37`+>AKL@?9o!cY5kB+tIeg0gack?Vx@A})j)BC#HGw5A@yHn6_ zy`9tBH=EO2s`)4Aeem{ldhZ+Ao!)kD3cV{vpEkb_z5n~RRC@pXwgkNw-JVA8U!3=k z(R<8o=b-oNxAjQxmBkjl*WU*8o;8!xd&F(s>Ahu62EC8WaSHmUb2z=TW^sCd`1p6z z8+WT^4yURiyJc2(VU9=GfVHe!v6j`$%h^_ijVmnu+Qw`64I@w}iV0q2s|y#G*Yn~y z%k0)6_jC@1`DY4ICylbY(jf-`_6XHHZb7(r)2~jR!<=}FgpOnp+gqvT#P&3ELMNdk zV~BDF^sCt>9zL@%)t=x-5?ds94B}53Q=DNCf6~F@PdbwEC%rj#5rm+inr)1etT2Ss%D2aFz_kQ054;$cxc(`{RF7`J0t~KsW;044idw~yX zLfk_a$Ad2RHu-Oq-M)O6|MzgB{RjjCKAJCL)n6ykuXTC0QwRk8f$01$9s$w;5g<*z z9e{u353@;QTJGxwY!y5@izhayB_g4v`FTjRdr)pEYp=YK&^z)S@xq~i+rf1GE0Vgt z`N)lYB1`E>uIr=Ody?w@WoOs#&E?JPR)VhBcfy0jsfmz}A#%X<4U(u4eNpIEFLjER zGr>~)O;G%2gW|vMT#A3z?4HX|cj!0TplE`F%_Ir5_|M0~wi;s+_NTjZ>6Mu7Pw^S= zx2EJB;{x`X(f6H-RDR*uN+=M4=#7~T5ZsZIFVP=xKqaVqiE3U+1b5tQlEB+MxZ_&J z09W(~ecIoe%XGX7wVy=uL(vC0gc8my*>*@@Gb6oHGdQJOsr8l@&iHQpB0Pg@I`y}3 z8MAz4ri*-y^;K6o9<;V~964M|0&c|8@GX6&u$$TSz< z%8_Y^Hq}C=!Bmc5?E@+kIpx*Mx@iDrc*^>Wxg#_@7{K}`K&Ov{^$0oM5vJruv? zVi05xDgMf+g2yop0p>sS>4?G3(2 zG*5yu`rr@Vg?wP{i@;_ z{w_T452yY+@w}bOGx5B2oAh0H>~HpPy!cC*3Ch&7#pNQDuz*mgmw<7%OLRdKQE$LX z=O9e0f|a6{HMq8qq}^*{TjSNnXtwxL1EV~0{ERP;sr@po5(zDL@zR|3NQjZCcWa#qg6^ljX+58GO>=G|7*p6;(F^lL)9(8fK=mIwva=SM_2)z^2& z6s`Xtv~h;hrrjPP+EN?QR+?A|p04h6E`7t(_Aklj0FH0gb;ja*v~cONB%Cy27OlPH}-Ds!+lpnbMeh+YE4M~q%X*=m!R zF7ahd(k|OK+bL9_2V1bVG6sP0h8>b$nY>aU2=J=4??OLEFg<{kPrGo(feLhNN0E8L zgBH)&9ASU%*xbtg+_Slj{dr)s!2bAN&8k3SCVpLky5RDRSNpT??^K|!-RyhmtNHBv zwhGkM3>9)-9m&4GRe`$Rz)FjVl`Xye<UVZ|z%czAI0l#r>O3pv8AIiO?VK;nND# zwJoEEH!4t9r~)ksAFV)L;R>`QG?QOh*+SeWe3uig|KG8)B@1g=jTXPC*P$0j*gCKh z%woSt?(ovXs(0HaHX)^jTkzd`uy)BGXE}wU_Ky6YO+<06R7tLA=< zI{m9Mr{JwI{n-XDWYnSe$6WM`@b(aIWI>pMD%7EG!0Dc%7ken}&)xN52 z76rYk1njGk>R~xD?EJ-{6=`l&8ls}HG$8#{{Q8ZWa z>0X2rq3S45&oqL^w(U=kIMHt?aSC;8Tej$`YA|~}VOC=I`{;?^Kqzg_uQ_IAhn{=Q zX`XodCDzvR@ZG4S2Kbr11`(gTIK0FXYm^sM)Jf_Dz4j(p7fi&o^@y^DY8J4k@4U$= zMCbCn&06pQCz}#kLle%`kPqpDZ*mHTBi@2iRck|mao`iKYS6ENmFca;T6XaTaj3Ml z94gJ()t^J91^5|WEr9chY}?w@i_L0|g{h&9I`aonkTh?dKJP{jRe5I|s#26VG@GOX zfSTdt_>^~#ne7ve*;4*|&Z-XsZ>#f6@{Iqc;`zkT3!;-4m9$qh*dh0Ez zTE}hyU$W+H#Kq9Q?_xsVW(uyxVLtVTJx)QgS2alVWU~#HOi?@52K3${3i=%r;=%c_ ztROz0qtm5@=$E36n>oQ+Y`*?UEV~9tg}haxAK85jbE0uBNSTXTCM+j-oPw<8=z3Tz>wnv>x1tg6@BCpd+uaoRNbo_QV+bZfJ>t^kSIRlkMo z;HO)>&o1^qcu%wUIlixOe$)JQ`qSf6F!)MbaST45VQ{-AA$j@ULneYu?=_ao^mivX z1*4z-#RN#qt=(qxF0-4n;3p0H#v3>khH2nf2H_4^1*w;hq`V;x(as1McwhCny>2_zs}nOK9qBOToLA`Serc(-biW{x{%5jT(0je5hB)b;E~R^`^;>|9&wJ zSoB&q*O!aN^?(oc?$~pjG0q*=;~C?{L#;DLH}B-@F}#yE$9C7j=8erbW29r9g1&NW zcYLUknRm`-cg`5gHL!=>Tmze0@tyck(=fNiKZMQaYXPzKf-8I-y&3!`wswkze=p93? zNZ3H+3<#{&GhARUm@(?k5+rGWJ>bPFmdli0sBB0!{N;^hPpF} z&h_%Kkcq{oA~5ERh2TH~6VF(P(SVJMTL4&qE1Vm61A%oghQJ*5$K8x-6zF9=;E1T% zMsa)_3)~6!XMd8svha*)8pFB#-!P5+tTY$k;tkLiZvxd^Kadxkpm2x2XZUH8ebq+Y zxmgtS;Uy6Jj_FoH-^Fo|mjOThohayK-uTo2NKGN2AhiH?4HyQ=EHt8(=AXh!tT$SH ze<2(G`5j{f0pFeV7`BDYR@MIUeUk>Vx<5tB z>X@SC9K%Y;AyJN%O*Kaf(tBVJQ{DFIXp~d%sE_8muv%U#sf+3)w}BpiA7;#7jSEl2 zN3Bh=;Z4?%Ct!C3t)4tw5J=&-5{=@}$zEjl8F-PK^wdcVNvPy2IdBA1f7o{!t%?x$ zduX+LIK12o@N&N!X}z33tX4(f{YvQAmoi^14_?jBUhTyxTFy&Y31vyNsv1+7nQ?VE z0Lo~GK902)pV+|VU2zTmhLIe98yGf2dP^KnTvDH7G?EKX%k&F2lWb!wMzymqgHufX zo9iw82A-d+W$AG!2*_(?8qOmloq}Zh3{#%okPgT%sa4gIx}Y}EK`++9b*Q$F)xpo= z9eC>}Ygr9Y1U=F8rSYcA8^FfoTb?$vzG#QOaATGbFPGjI)2ar2^z}*jg49jsQhuG| z8ggW*fa&WE){_J90<0!#^%K{@twKr@V8VaEueVyydNJM1*0#R&I;UXVP{$=|B@-m} zO_dKla9`1GCP%7=#U<(s@VvGVHWvq`AgXy)w4YvQr6_O3%2roq-gbr%YI{i(^sW=I z)o~dU;4&tF`G&<5P)ygiv5hXkw6E8vu}-eO&N7_4u>q~BXXM4SybC)M$(&&guP!hrD;qLu!iqtV^_;-vFfeE?yZ$KBpNIcQ2}o)*WTl- zL2w@}uZ@=5U`DD5Jt!A;kdSG|ul@N?{GWtg>>}FDHoVEY;Kc6TX!Y_-1tG3sp%_q*;Yn_78t0*`{8@UQ= z{oAH!Irm^KCmgql>7#AQm&j`C`7N|8rt!NZ_X*#BpxHZ8;{hvUm@bVWu|!9?H|bc} zqNCg?I&LY6@h2;FOixJecK^FrEw9F^zZTP(iR}-&KbF+0pdT66S@9U{#Qm}FGD&+_ zZ=a;wd`GdmGNxyqhNY`5iHmC$JPwO2a@v=KJN z_AQXNx526|!o-JhQ8#}33Tqo|yp0%JS{L8RL*}Vf(`7+5R=u?neU8`U2{fKbDZ%5d z!xZ3EFilkHNn0R+IaYlTOO8nDW>DwV_4}D}Uf3y7e?+3sF%8*wE2>>Ln8(QXzQ#IK zupGhA4x!D&_OV1a@Ztw8676EU)8p4Ls}fw#skLX|{k%o(-l8MT;0t0xBFHPemx;u^ z4Jo@gP{IgkyEH$}CmxiWm5*lcK!sW+qwq>M>}Hn-xdHpo*cuT!~)NwoD+X?3|0XkhCPWBY@6~HI>Hn!-BcT^h!3um0zHZWcVfS&gy7*!Mm}_7&Qn=q* zh+DAMU%>7+FuG|se!1MY+dHV-XT$C=MkRZ(`)jm%0DJ8IujWYfm|lLBQy};6n}d1r zA50}NWx0t^sEA6U3#%Hpf+R5ys~YDbNi4vs)?{5DfmN-+x;{ptK5-)Z4`VGyB)09% zrQ$RJ+ag#A&N<5>Ud!p+3%A^4ZCY#Rq+cQK54paHX76C!P)F1m`AwMK(&Ry6X?_FB z^)$fjG_cv>Sv~5E{2->c1mTV_%JqcVrTv)RvL9{@vs?G`c@<0ZTT!m3mEF;X=`C$= zM=QId%?ekTksqtQC5Dwy1JP#WH!$nUeEtpt}s9WkUw1khV4XNdu|rpILWx4yBmwpf?ddv!)igQ)Y{7}fV$`B@gdOG_+z6SYb( zUQMarUR5tqe}i69*aIc5DP)v*j>9Uy0O-2z!OHwEA*=Y9DxOpi;2$8jiX$J&s$fC_~l zWB1<5K};YQ?!sD58&*Ow$^8j>{C+#LHILb`(vq~xCPg+98a_?v&UnNM4(vcR zUqJBa$QV|d+a&rvRzB&%9q$(f(d<2tzbck)YxN*e+Q!z_4D0_^l$+Cxa!Z@r;D#XF z5P_fg|3Q>1HMg=mm;hnRub2OCxMP2Gc`qn97X+1@17K5t%uXz<`z}w@xO3tf_brzv zl=(D#*c636;XFu-r*>VQ=8vDo8<>^`hx^SBxmUlZ=lB0G-Jj2&&r5s$@BI0?o}OQq z{(N^}T2!5!nDIR={aTUWO4{L@Gwg7-!JwLGo3*q2c(_xDe$Zxee7(}z zVhEk1puZBOxj-uRhf&R$D4<^JLoPdQ61tu3>dcbftDpD(koPCxQB>LgID9+lPP#%u zRUkl6(4avR*Px(j1xZ6Xxh>U-3xYbhjDo0xAao;(fncX4MOn(IXk5^^FrtnEGZKRi z+7U?2-0cx(a%Ax2(M!il-k&_e#RSETnd75{x&Rpht)c^(%%bI%t4&r$V(R>x8rl3 z9i>EgD3Qo?hQEMkN6UoUXAqfe(^+6^3MadU?DklGb5#x>02w~Zg7bUQ1T$n3#*nFz ztOKw=XyJwBja04&v0QkE^b7o%`)hf??m88Q%=s~ z&e4)!xVIeAW7&p+JL(N8hU*%L^1QH=Nb%+?<>VzsJX^9wi)VvSwrqY-BX%@-9ZDEQ z>%Se_A)XC0-_iUR?`mwaIX?eISLu`6d_to1$wPrKIxJc;tmyp7@%b-4gZvlp&L*1w zf*0E4oE##-!9aQK1|#|!13@;>OI20nWk`N;tXa!_F+M8y1=UXjdK`qsU8)DT;lK}b zMpJqbzKhL(adC`1o;W@Z2Y#5nj(pqJ%yLpSoMu`I3~~
  • 36_X|$2QJ$XhtmTpjo z1aV+ncX4nh&P<#D1Ed7`A}{2?XwYb%!bBt>`|tmUX)rRdG+K2Js#8`2o~+|L_K`P$ z`RfGFRtWSvkd0f|qAY@37rTu#7%>tOO@k5CSc!LdIfz*?Sukb}jLw2_*Ffsuck93? z|A!WkKrC#<%y!Kxp=~&)u!XF@)(EH}>DJRBC;DiR6SHIN(ZC@gYX(3x=o?mAO1@n! zWHo456r+vQ8Q8yG#e=qo&nBDcjL2r9nIXtV3fn1>>iIHgl|ljb19e)+bQmLf6EbOl zC?roEkcO11wunfTC|?8~(7k_L?g0Iew}%3QjKuweY2tn=gHolsymlq&+xoc6)UMOh zCa*|>&QMruXUXm*s`_ywIl2CMx~Ap+4*Tn}jWf)4 z{h7Lxa;it@bo=YG^`k6b%ApIPon{5}2#Yb?vU$=@TAD66-~(epH<9k7rJEvV-dMR? z(9P(TR2J1zUsOh<;3Zo7RG(Kxr8h`{y^L@GVVRKydyqv342IO#YyfbK2Q?~9TCOfI z;!`Ss7O*sI%}d4!%uCR%4>A!#Ycl|gtvB_g%Q1V>6;MyQJd-EgAnLC<59;dE|0NEA zU)|bANF|5rI@GvjO*@S$EIX;flEdOM>ISeBTn>`)mVIt91xp!2UgD6mwx^Dq^|LxQ zN4YPBNZZ}z;+B@u>p)gLJAM2P zS+q>v5-2Hn$x}_(!#`hYS9x(#HMu>G0G~d`PG2ux*c(1a%lERKcl_$@6RZE|5BgtF zCQMo(w`8XoR?xr?-m~L;N;0E-N=DG)S|)Ke@EN@#CESQFWTzo*tHT<=Hh(lbf-aJ- zT|4CmvkAxZmGeSbWgM>BjoAjSFHapmBH+x0>kIa?X}|i}!ku z=*`Xch-- z7sm@TvvpDy_VB_Hx!4^QC}ljH6x0fw4Fx7PQq$9DyGL9=1NufM%ti3uM)Tnh6M|r* zd8B(({_IH&;q$0+XoK4kdgzR}kT|#S72)L&%l8!_T)0J`t3~Th5a*r&6?-1!WLs>6 z^nw3LID_UVn~KOiVY*v%0ZLa-d^SAh9Xq|}hHs9|FEBhNzW^cUp&o}X+qVX6Z@+<< zSEhyg9g&;*LM&&MvRO+Dc1&m_Rd43ScfbYdl;E*=5uA2B0hOX;eH+e>$s%CLOT0L# z5sMQW;?S~G-z|SM82}N0+WVdiC#&qX6Og9%e@GB(6G}Y{tlXgW;d6OM`;4=?$}qqf z83x?qID|#(_e3;cuxNJ+>AB(iDV&v$a|=UrJ;Edo3)b(om|gF6rrcX0l^@g^9!ggK zV$02UiBR<|eM?6N@hc z`|COEuLs;kI~H%s#^S6T9W)x;AWntfd3poCGjOHeJ_)YW+r6nGtRtemt0G-{ivB*^ z^m{q^eIEV2(eyjH63ch>27R=_1<4sDU(*`^7iyEb09>H?{PTK8@Fm8@;Y+0Tj^bzS zy$C;}th0A->h}yM%xSoG($wkRIXQRUjfDVM>}qrFy!-AMlV;AuLLfy|)%rkB!t1Fw zG_~=r0RaB;Op}oq9HMg~4$DS>-rxv&xF>apUf(MXDf`laX#&VY>i~q5@6y5O z9^?g84qbqd(xCkyyUF7Z()B>IYkGmaMb!ou_W~E(RcxMZ#+eXkR?Tv@)1Rf$Wh`ey z@DYWI&YW@Y1NYPyogFnAU$wl3ON*H7O7)>=Sw3xLy$vCbj^%H?U@U`s_5#P#W0`44 zIRnO0RxYdOBcyQpw^#BJQj*dUk{6whkkZ-%Mhx>ei#*!f10nfu=MVvE z_A`bgJETQ^fi<%0ucF!YtE0U%{v9<{i`kP+)%CrMsRH-kQJFAP?df!;KIhVqax@Lb zK{kV&M8@%J8eyg<`pvwQ4gi4cq;-R+zT9_p_$Ey-m)D<%kn&y{LbBsDgp{|)i{^az zgE>tM2XUIZL@%Sbc+2xTH2_iYTYinx660g3kMC(tpV%QSve?rIXaJE80vgIYV*?sY zvjRf5{9sSh#FUsO2BH-mnMSlCOiVrp6Z1KFYUn}(Dh7=1mbv6Q^w%UBj7KZu0H z=GlTAp>SAama|Du1Cg^VXPXHhQGL;w(R-DYl)uV2*{Z$B#Spm2Lhp)u&}HjOdN;!8 z-IkuvJ3^H+uFwcc&g+km(w{M;Ao2JA4++j&iEiw)!gN7cyvy(2b+^MQcdWY^Cc41H8a+E>zgfCP=&$Hcj zdYZAMob8?`VFpiUIoowl8XV)YC$-5uKYB7@r5B~2gz=4KV;JAao-miK3}t+uW~3qI zaH>9+feeis6Y9%lIa?~U93aF$ITRSusj8FCtq)w<8Owr!4RrK4Nl)r~#`I)O2K3|s zttUmKC-HT;!=oPr}weBq`+B82q~u}QBcDbml4r8Bv)V7u4)xgZ#OmoK!~S)QF*$D`J&=` zu&YZ-OOFJXlwCa%Tv9gopb-T{+TZ{5NJB${n#ws`N*aB$hml_MiRh#Ei5^kuHOqTI zdQHMQf0r4goK2%GVWQ~uCriKnj3Y%;^oK#JI2mt+StNHLrNoL*c&uI^rqlg;z}m1C zgRS(&Gpa`#QnIa)#njftW;NDDIhw3LRt_d3q})#a?**H&wuZYQTk#>;%2a`%yu~0C zz5xr{BE#^d62iy}XX>L_ltyW#4>f&!Wa=DczE>-eLm19Wnw;_a-Z<8Yg5Uc0JffnBY zU9A_mAH1wPlC>rDBmw`2fsWt97~AbfWfXZl%BYvL4?#Vvjq!LsVq| zAxh3f?ywlX3*z)iAEauqB&$=?5WGwJs{9C{$K$H8iMZ@blNL^K*$`Z2YGQbQoC23 zDk>jgIqi^~`92%4ZBToeci~Z68iF_r^5wx4 zgKs_-%{RxVMDb0WLii@x_Yb6)grRXMTHv4P3i9IgY`4F&X+|cdCSLh94k6`fnsG6R z#R;6--`Q_w_Grm^StUgpm)^M!WQ-QyMd2$v(qzu<-`zx7*=I9+13|XfY~h9F)NZ_H z0)@E;QTm8HB?U4M45Kn2bwv=%8hD{iK3i_5VQ-^SsN8GmMakwX8;yH2t!U&7nrH(; zw})AS3>)MMTN;w*kf|F8dc=@C>*97boD?3R(M)f`0SdwkA{$!UP(5vw@!G@L5iT&y zmWIOiaD?layuyF7CiV*7Xie;+@{W~mI%Q%~%;7@lJhEv5)-<@hDMe)SzeYIAO9qn# zS5$G`3L@yeiHt2`ayILuJDZKLrlD}ERv_YaMrzPdlOx_|8N6^ToU1v6#VSOPCR2rI zl(*TAWUZG0M0TXURUzxM5R%bFL{8Zj-8I7x?$u&p`@TWlgSx0YO{-h;duvZh;POfpS&qSarSl!iP3)q5B3 zX!qX43zHhcr}2X75z3n6r;^C-Zt@6wJ&rxR(Cod$Bb?x+nKCcVlgUfJxP_mvcxw}R z_fy>sZo~jcdFeak7Ox7w&x?~92*s8row6qsFHUWwtgly6_g+v3Em2-j@ZR^9?!BLC zEK%N1@ZPJIZoHnnHhI1!&G5hrw0KK29~s`!>`NnSm`@gPU?NwTJ(?@b&l(IjFRTGb z&I>Gw)lXTL#OkLLD6#r!H-clt!Uh(#Q25X!3%y}UHf~Fn7G=4Wrb^iHA1%uA6Pj@p zv}+t&BY}~n4vZ{IsgXqjBTE{D1uV5tixM>pNz@EQjZV_A3j>^PbknUv0}(=NKL>QC zRx4PC$Wy~Q1klQ&)X*8R4%N}RCRTuTsNJtyhu(#|>Kh%ZCQCeQylzv7UpW;LjB`BD?*tLuPF!@{@n4wWG%YY-XLk!OgeB_> zZpli%bDluU{EK*@$rLGjY?oX3)?IhVMzcUPlJj_bCxgaF){i|>?go!A2{1IGWBz&J zkldPzkn)3Z{J6z3*q*)JLYZCup@T7}d60)M?qHCd z+rhxdO4=AW;m$bsr1A0z^Dq31&We$L;jM4mZJK|fGUZRmzp$pAIeGqt;U}2b{0r)0E&oE_ z6R?0QkI@BO-Oj}4U%0WIIeGqtAKIBj`4^u5Nu!dr?a;^!tr5PRiOaw6a~l(#Re@<| zklfkE#N}UjFSg{4HU`OGwK1>~EypN5eUbae>FKZS(e!l7*YWi9=x+(>>5wG>JzdeJ z(^GDnK@lBoQS>y+nuwlIo0*>W95>$nxGjpF3ax(vJxw~^4L$8Y9!F0rD>ZtmKMqTM z`|otA?>wG>o~*~ap(pWpLVCLT2aTTYrH!1WHFBago}M0WjiHjYtqhXiZH=d=yJJf} zK}uG%QhNHw@06bApOuiF^n7ZgTbY=AY6EE>Z)?efE9Zn(M$e~qF;sm_9`ifXRX(-C zIUJHNY+(=ip@g@$*2bzI?UOe74{m84EqxvH+jsAX;{FB34 zqM7A|jqTC-C-=9s$K{`FIH9U>`6qk-uCvLGql}(G@|)kI*yOdUs>bJ^{O+ikO@17C zyXyBSHknD@{$J;xyy_@(^8Awk9#`~EQuL-~$}ML% zQEoYQ0H{D$zhDCV+qm=gNOLp^?fX3byzTpQ!t-`Po2tg0x1S!-3F*Bf#)&C4M-fs= zhpNV(w@Z$g329d3?Q5H(2np!-e|_Hmez=?S_TeLO=k3Ua+If4^5m??s2k23F_;7;r z_UXgjoVTYRNqF9VzfC)Dj~|9c{-rhY*x`5@I^%H6De6AVAo;4p@#pQ)rkIjvl9E}6 zDFt12kWx_3)Bm{q_UhqidV2n|czU`lvHW&%YXW+j+oaRe-Ax8Xj5r)cPc?0c=&7j5 zOi$-T-d3BU=xKJ_pFmH`4|PLN7c|Au)1mnqJ*70kQokIgOa02B1oTvVs2h6v>`+2_ zTD(Q0r#BBlBY)Kz8Gb09p1wF3LnX%#GDtpnFrJ=Xk1hEnDY@YwrKde%N>3kU|8aV{ z{!lbMUA-xuo@$OHq^BLfC!nYE4(jxjbw~KdTKggrl)TX7;mpU7)4Kc zt$zYNjXTf{J^gqfj-FnASfi(!1F+QBDs-u@JCJ~$j_&VLQ(w21m-IC`=dZ={pmQx{R6OFf~6 zQ=R1_5xX?lh^W2SJjX9PorWg4?_LJc+i>=+V}802h8vG{tJ;M3gVe9i=}_T+DRf8>q7M$^}tnD5Jfjl1t_Is{vK zn(n!mip3PHA?OIDb}WwKuuz)Aa!G)vIX-AgL&Ij4=3yOvn&rs%A}m_4=(c0wQ=I<^ zu4^;p&%*4=BiP@WH1k62Xz<<#FO1Hkp08sHV-mGR227PEU+iW;(2<7Sbsq=2tL+z1 zd90N)byrd>4two4*u2(XGwDgWn?d0sTEk;T4cBQk)Y2LrimKsGTEi#5&>F~FY>%*R zgSnklm`uJ%^EfQskcY)9$lBYn@U#4nPsnexcZekIkPK^kX71xW;sbWKzoUuuhrr%hkZuz=;AdpKkvb7LVY~5x7X!%=fQjzHf~AzGg=k`n`qwD?vRh%~okrR`T_D}jsj8FN1>ki-1~Hjk;0of9 zs}W{YkC9V#*C}Dy6jfE_6`!?3wm9fuCzks3Eai}V$qlM%I_WRnN%pXoCf3#1%uWlm z($Vve=3Shygp%iw*pM5a3q1&}8LmKc}eK>ew zU0X6j?n|#t#!TIZJ;*Uu;Q%jE+vD%jHoXsH$#y5Sm%Ly)FMyZL2j}YO95f~KuoHK4 zNb@0)|MLxaj(DmK_?A_?=vkq|x4fdGaxA|aTt=qc&7rlolZksR(4m?<={EcXej<~C z&Xx@pZ+~8#+Q^HO8p3^J^W$vUPlRBK>vx(RmapH;e93xxCFFzPr8U=S-supYvT>_vi;3=^ECk8p|t!E%C0jvUG zbM(2JLvrv3Mh|6aqWct)jk#0Xn9b~h_*AUJcHhMj9$O{fX1wiLrM>E^j(x9~t#MU5 zTY|uYJ*#-p1=B2J$@2;p*8xitQz@aUV{^a}IY)OH&u@Y0vG^Q{kYdU=2$Ns>BcuBT zd%xBFeJ_C@$5Kc3aVa#HHenzAe`JtSoRVl?JkBEY@f~D&Q+|xw7r})4;=_kxlkcu2 zlOfsK-ljB(g^87H#cdWK)Q!(-d*K>OWG`$$roHfy79cNq>aYNbHLws^LCAQp9t^LM z@%}r3j7bss_if#fF^wM|_Vb-U#;@GTp|u_|&L1C%BIAzl8N}9%3u-5&uMyHtr@|@e ztBb6Xv$h{pm{D~nht#n-%2BJi+ghT4D$?z~G2Q;0b{kyeuR6tUpG&*F?+y;FokY4l zIJ(;-4-jJuO5mC?TuW*r}@F0Wti_$fxt0fe(MBYl(LhWYy_~ z&!#yku5^`qFIGN*`0OSve)}-Zr}HA@(*gKk$ft9qtDFr~b(c`5GEqXEOTj?C0TSv& z=hL|&s|Opn&Xi6^R+iCxhVTjvdia?a+T_OV3%qf-8s3bAfLgM=z^}RimX==4M0CP0#e^H=Woe+k86NI6EL&MOCP~UYvp1*Bp66NC|TSeF*cmA_oCA)-BkULQC zBW*6hgX+V#1K7W#WyVcdXwnJTiG?PO6ut?MFoFXnRvJM$JEHC;q1>M^g1v?uhesZ&}ukUrwq|kg++!JhS!nqx&0;C7IXeRBcLKn$2+S1n&~#E z;%QPw1bLPSt!%|>Mc| zse%^d$c0~1ZB_xP=^hJ3E0h2A9=YSXkj3|Xco(gThW1qG$0+)mLE$;!2g9l1fl9u` zXi(T8-}x22+5Ges194~YyB363VTJ8gwnF~+D+Vbo2qDO_6}Bn6kzNUH>U+JZrKIF$ zQnC)6Y+!8Q4R~c@WfVbd-o_wBimKd~rHcv|>7v4z@Kk6l@2iM-@N1aW-qC*8s>=&W zUm5a(FEf0pUJ8Ej=IX-3kJ}g&?i=nIP7kMr?X*z%Dt$ttgKJi8>z)oC+r}WL|Ad7N ztbhaNnEci@&~{Ma0Mf!Y=xO17S41+@!Ac>`k-d}z*ocC=LIJ9;u;l0D=cBn0I zfuo+z5Ogwjt6Anw<3%5pxl=*N_SG39(tLLEV0u6n0DtTjBKaBq*dWMWy4Bd0%H1ba zFd8o0KrY=TRRG(=BODE%?-n+M&j}9zA8gvQ-g?h!wlFAc3nRC%LEgEAL8di&VGE<3 z0~0tx83pu9p{7QlR55D{^}GGz3%czl!}oSiK=n5A;+4EOvw*O8BdF2M)|JqpM#Bf4 zkkax-hQ>*K2x_ey(yLWuCT?nP13&U>+S|IfkC}}Lzio*&Cj9hvj6czfTjTwSveOgb z*{*NY&8+V<8g_(7w?vs)Z%LjE#=Kau!lH>QwYja`^RzFe)FLJoWh?fgS)r~J!!Q%J8bV@)B$ zzhsa+J7jvTD!2Nl7Rli?|32 zV{%xoD2L^60h>97V>6TEz4qh~lfaL6#uqw4{pAb8t~%_?D1z#lmdKB{@C!3Roe_Ea z*cVX*)yVt_e!R;*@5XMQ`$e4He(zs2yM5>9u*}bHqGsFYK2Kn`AO3kaw&C@kC$tSe zvQo1Rzd{?iMQdc}=kc^uzd6P>e0Vd1E}(9l4@Go)Wmqi zRdDEkN$APnmgT)3``dc?&TVF=rLgap=xQ|EKfY(sWcE6sz9fWj-OglQ z8d?Ni&7U#IZK=nCD@d2Rffsy@;S>Oe*bTVCLZ|Eu5@8x(R;#cOAjg#35n?O$fa+iw zR#nv_>aks(V<0Vi~}m6ABQf*JtyBuYniKRw(` z;)Nr;H1yW1r2$Q($72NRQPSlxLh(`iwZg+kIh?-@2e$HJS^4}P+BAheWk_99LA7R) z-I8^~wUYN}Hrn+w)gN3du$5&G!77^=5lM z7Hwtb`m(yHZ-S}5rcccEOP}LAX!bU8|T!(HsUVkZBii}q`7^Y!64c!L3J%3#`763MBNDD6x zvxYKJxX7#@14vtcy# zoq)Tob00$71&c0m!>%q~EoK&$bDqP7DRYbcLHa(Jk!wm{WX z(*P>CJ#|b3&>b3VW~YJ0&FF`;E(dxH2_EE0<0%O7SS;BN|6NzRAjkn@3zli&@l9Y5 zh4)uj*orY=6P3o&oWSHfhBP=a`MGTmuFFJ=QALogxbQ5H4DZlEC|l%yK?XU+k{m2a zcdDu?IL~y8CD~YT_QTS;q7%?Tm`bTnnwto@-^p`_BBVjZ^Ww1K8#7S^8vkGrHqWvD z=q={NwYdD_le9P`s>RnaZP6ZSG18Pj$RN@7`4d^l5xC=osnTf7DP+j{z(GxWczcg`>3!Gf!S2>uSLMz-Mzcq903%euaj-{Whe2qZn+ob>&rR)L&~ z3QI!nx_baQYOvJjZWo8vUPq3yib)-69F4!cjzMe^xPU_>9pmYHWSu^qA2hIyyUSw?Gm7#sO+h#s?o{!U;j2O`*?nPEa*2{Aj!U zu`GmzKmq-+kjzmDnWGNXJV%F%VU9>!a$wCLm?O=I>n(;kDk|pC+P{!Fy5sHyb2RTi zQFFw_%u!mR2~x-ADYu>mV2jQ*7S|BfHDq@vkglBz$~P8-=vUGcXN|=*FRk zz#)0bTEiD)x*G8Xp~qdEPe*_bDM-=!>5u~YkYw#xh^!S)g!%8)u{m)AS@;2iS^{}A zh1o;dU|TCB{9tmnz8+RY7Fk;-*O1-1Byb0n1Pqmiw5~Pk9FqIahZ-q1REwNiO!zJPxHWjo* zfU~ayylUx!q;(Yhw3H(YLK81S<5hjOswE0?qX(ysEtnkqU7SPqG%;}d?C$1I@P z@?I-wSGB}nya+?{7U}uFdO_}}2>wF?{LA;5Sp3TxvKyxuTXZ(yU&45@ z17qaXGvyUEQTiq>8qk{Rn<{7}T&I>o^mQQcb%adhDK!jIp6XClQlCWMr*ws-KBXf$ zB)2R8{M#l9b)qdOg}a7rMDbc<2$`)}%4w%ee=KU?Crh&l=jt8tF9Z6?q!K>l7@fPf zP1V%1IxwK*DaV2nNQMK3xxk`R3>Rbcr5v8zL@vjnqEd}pQ9KVo5SHgI1jpqnPoTxy z2aB$1-qFMcR#Dgy`7di2)Z!|q_x~lbXAOgR%FH|g)q9?1yW}11-o841s7%PC;-YpH z5~uNkD)%FmK-cIpf}J*rR@Kx=tMXxS892f^+P$}!?sHmwL-qPJ^Lf}Y*+gG#1sp*- zjqL*(d*wX_g?GgG7eN3Wn2qIy?=d>dhn#*IUf7xPl=q_OCr`svG~-1MZdX;g=sgB0 zr?;!Bt3vgj(-q6TWpyT!zrGkDrLv6_-Q9K3%Sq9dO63ixk<+p&?YzzO*8KKa#I@%(pK z?ID4u zfz=84?aiyZ;kSjWyXUuAtE2htdnSI{x{5){YhCc$Zyg+xAD#REj^C#J^5^o~w1-c| zZ}+c^;E;V^_(iohC}9SQ7+ zU7EylJKbb!K**N*9PAm9+poVgvD|+3yP%tEqF`&_faGZMj>P%(xUMrgsbG^v&GKc# zkUsakxV#l`vG?%8a^S~-H3*@4dOL||9`-lkZ{udBJBE7>2 zsaS%`C>EWZTPV$LW~W&Q8!okL_dW{_IW=5mPdN^`Xvl_eZ4UKzEzQFrSEc6Zy2LG% z7GQB)m0K8JDEg|M!b3%X4Yv$jjvp!jXH0QHo`DfJ*g`SlrdT5OWS$;~ytsw~`*(*Y z|95v?M>77%@%XQWCtH8k&A-S#o?U|ts|W_G0KbG{t)H`pcH_G*IuOM zrL4o)|4D&c$O^{3r!A6BWRmsp7%6KvFIl(n62>0KF}5NLM3eNx*k32}BJ8*Dg;Dp@ zL5)~Q55YVV%9F9buGTFa;~gz*#Y#vr_E4=;EUgusjc&2D5erVa*~v~TCDZQQZoC(C zhe|c?j0M}>q0;Tt)nQJPTP)p)1!t=}RJv31-jK0iaf{=duyCE-Dc;^H+|1#?R&M|% zUc9*#OE;)Eu#LibV#jv&k(*VjTxPz9NzTx5E)}wQDb%GhOa;7u?fey&Wvhm@1ZGK) zvf&SGMc&cQQ_0X9?cag@>mkMJjkC4H$3!-_Lk{~l3E!Kz1Q4j6qplYQt z6sNrz#rDsLl~2!HYVIh!UQbcX<1D%lS0?Cjg432ms>&}{$0+R{j8WR%A60WTt$78h`J(umUoW8XI;3V-OwDXXM-t%{ z=Gv8`NeIQOQ7^n0w1USk;?UX`iHzI-+5}p`p>KdT%WRX{atZn`G^^QITo&x0@G2uG zFVVtief_XB(?C+|Ww!U-kWC|OBUKd8Tz|gxSX?G+RTXRY*8iryLcKm$h00d!h65~} zaAsW+rNR(B$^<9J<^g4}nHF~ZCN^J+u^X~^fpQ}3X1dDRd4pN721pu)<4}SR*SAq1l(1JAkuD;*z z_LBV$@?O~r0A9Rr2xIh+ytpLZtGUSe#fzMDp7-dd2?r zt3Vzv)cPO3N`J4;^xl>Fd*{TSx7zy^g^}?u2`AG!s^qfQ7^Fki^o@nAVJqsBP&`9- zzs4Ba2P%D2DOwYfLDnA(eWNl|pv5~%JC8^Y&rNvV?0(Sb9~@v>7uS%t z+zmnj@+WfC6~n8`DmzXM2ugefT53HJ=>Z}==y-*km@AA6H=sJp@Z*#d#;g+#z72jX zf*()A;<~Zq$B$lNQ0#fCvphCH<2*r&fgfR<41B9 z@2_xxe_G9;@b*Z4lpS)dseEBv`RAd0)M|9RY{)5WU~q@3Di;{&Y)@2!%MblBy_$@K zsu=QY;0#si#kfQH3wntc0^Gk4H+}Tdi_nO&h z0rHrLjU{$02JDbjA!W!9;0ZnKt!i*Vy6eSEBo|gQNVz0aM`UY$+0?hMUN-k__q*o4 zIZb`bi|t#rsc++H-&UFWR(+Db^`w0Zy^x9I7hh(O@(hP`m5sdm0fdwQhmd^vB?u|= z$RlyYrKId_FH>Xv$3Lm6vpyxw87i?9TvTw;WM`vw$s{FxfQxQV#o8DNajfU5Bx;<&xm^R!||7BBb#X>eQ~YB;kbzWa|Q8#qo7KtVt7ZRvk7`Xl8by25VCqrrNqTgA8O;OwTqcqiEn|?fuqQ&w zxfXW#Sd)7S$3)#%y^MON*{YndA8y?d!*t@ zJ3`@7T0l`!W9!b+>khnN#8rk28~9jz#0EanXh(6_5mE-n_LHr+%+&5+((WupB}?6A zi7d6QK4UB9LNoxV(3E?P%9M#lAC<+CkME`?s$x}Yq>7hQ5mJ^|C{P)^^M>i2aaB05 z)pxT=k^1!WQHs>TCPiwduJdf{ZPKCM^}L}&Wh=f+HUQ?8kCL_20>U@)&vU7^*7rjA zRpn-@(f@2KLg9-QNBpGqO^r;NEizy=C9b5!RI(`rAtg*EcR4!QDBpdq`%&)eWg2DK zbEZ+M*2pLiS|g)eF~>B@)6$GiV;e%sII;$MXlf{2qWztvcT!Ur)Fo6HbXFzUUP@Jz z!T>~yudBLI5qNF#YWiNBEc#qklq~u;lPr3jE`CnBCr13dg8X`WRYb5D83$zTtcp@B zTvElL@FtVgI;bjMYGo^Kv?64ZTr+iM_3H%@fmJy#LP~AcE*V7dS%_`wp=297j;!f# z&oW4{MK+$RcOyi)?+?%z%Oh+9+6@_C90kT*UGOlDy#I8)E=THkmR?o{1;XOP=YTM0?VP$I^z`ic)Y!TsDC=&Q|0lMQ$)#&(jD( zVIu6ZB=%g1P{Y5LYSfSuMGfCBWss5)MGd!TmAz%~66L)JTcOJy9;Q9nYCLI4wsc;OvFJn~~b|0uPzJsm|Y;inU@gm0csV3(|WI?65yi}23V-J2qXr_H9w z2vt1zboW&8PR2>7qTuOxsu=Ke_f*mPl$k1^;R&XO>HR-1!l1^Q8YTth_n%69zkT_s zsQWE+NPMdM%k4c+{h`b4yH6&*+~z!$;BwpJsRWnXmM0^Z+jRYMy9=s~TxUNy$#r(k zlhN1Nk4|!(6`q6?2uZv+tp1ry#0HjY;W^c$5-DT#U$YSQI}lqzy}&cdugOAwM>6}w zPoP7yVvvuE>` zSfGk*^2qRO4FckwRNE2pYhB$D(d*rx4SK!HvpKZ(O>$8hU)Z6x09DX=An(gFmi$+a z!1DAZ3{rL zWd(FQ`fed?nr_9MsIA!fIK+F5e454&UFmA{jlyC8l-LV56k4OxU{L$v4!PlReXDr? zp>LDDuua~5oI&9q<^E4VD%KHjOw!31s!xVUikuT3WO{b4{%jg~)<2v@1lWFVAtXOd ze#jtS?c{6VaVA~^cE#iI8nAO7??waWy;@Epb&n=Kv6zX8M@t;~%}DT@9bE<>Ti>8kFP|N^{&| zNw!-k%|4a<{1-iD4hYS9EQ0^=SX6%gZ_YsIkL2gC6}!p7F!Hg4IT$*pYB?ANJ_b6S zZx+!U46DTWP|#6gOlF0tB7@|=ige*BDrqF>U)HpBm!Cft|3{3$|CtnzuW{28iSRYB zG@?&BhvdRD5~S-`zu3tCve=mBN5!c4?P&uOrRxwDN9BKsyp6@E`0XJB|AcfM2Ze6Z zb@&#?rRyl{uchm_b}_7?9H6VXPe_oiLlU|nm8``HNoCvp8mSx+ppmz=Mgl@Ssq_)NrkIfr%68zW~7IldqyK0dcKlYhL27c_c$|(HU38(!b{MaiOb%P)K z$)d#gvE}z_B=zzlAgKv{N>Z0BipP)L@MsKv?4d^)B=3Hd=CMktpoH@Cs#C}}6~ljK zEQ;no_uU!Ke^Tak!GD&fa!9W2pMd|2epKf_7d~omkd#GH{O3@1BL2fXYUV$O0>;}7 zk4EvI)!Ban|9K$L4gdK)5XXONvo!wmWdPQ3%0jx1_XQI0pNv2^{O9RFLjH5ZJsPph zppBfbHDU|I^PgucVz|mD6%3N!uZZVAQ)5e3k&;pcFJFTI)u z#!nWEz<6Ff2a6?kExE4Sv4O3)!A92VTfj3&#aa$|w?CAJg>`ulKj*8&(lRO(0or^x z)9v4o$6vX81-R2+Z`Jbe?2)b0+BGle0;=;UiukzJQV()0E`{8^Oer|#*HXv)Aa%?K zb?>sVnqz*=1MMm=y+d834pGPaYxl88?!a0I#Xz@2llA&n4UXo$b{BzJPkTHfsL&*I!L>G!DsUjRChEGHNy- z)~1L$<19%?S8NSj?e%yJs%BU^K}{HsaUETMPyoI4FS7owDoov5vE-@N9E!&34n?Fn zZB%z?%{kf3(gJs=w1^spVShl(#D_dWyjWICmZJ}3IC8YIfz_ITy{w$fvXQs>@p5uq zEh{I5FT&!)N`SM7@(0!Z-;cLN;+Mvk8>u>BWvG=D>H;d!(AKFi2U} z4t(p~3gbe~28M!iD*!XTa6@5qZc2J6-Lk;sm~bUDPhAo6Y-1h=$Aq!eF=0g-bxdG6 z+YOu=4-}qGQ>kYvxRU!Up2XW2QIfD;9+cF4*3)tagtLO#k-7r#rCr9 z`Pc4;6Z5al4}-3}Kr`kI)ps4$F!VR}ua)#u)0Y=OfidK9QZXrbV8=$Yx$~4S*t!{B7C^fi;={irD15~vF-fZ$^#o;~0 z8%e&Nrx{7AdBL|ruAfH_54K_v2pVNo^1tUrEV+TXovNxV1UHQh%I9!^h2$;EArP5J zPdKpEn@)sAEPNy1`?r(7fpT+TL;T_ci~t|M`9Gk-7iZ`t~`1@McoS6IC$T zht8op;-*kv>{`y*8_{`(j#a6ructT@p#nH7wNh20VH)5egX1Osz zHuIY8Z06`74vlW4vdoz6I5b*|7rCYhi=%g9p`;auM(?E0N6T19!Qu@~Sh&e9&TAFs zL%7Hi8ZI)wRgY(?027X*m3`zsJzS(M5-xHK3ysQkG+gAE&gN_1SLW zG7se1e1PK}zeeqM*n-6+grEKDJLC!M_MSsX9`L+$x>klh#2}B5qSxUG?Dl;hU1YtS zla^3l6O(W6$U`yuzw2W1?Hzxr{SV-Cem2W|dtN=u$ho)pp{SgDGnqe}bMN|D-Q?W+ zZdMmL_nw)c=iGa57HplVGibuO(pmAh*YA9>IroxhF-UIp(M#!RGwI$r@^afL;d4GY zD+d2`Y%KoilYeA>@ApOFpZX&Br?aBwx3~Qd&+id$clf8iuJBLC8~CR_ihuf`hJWf! zfPdH2heE{(yxK??mQ7#(`@lr>A%5T7H4SW~j6FlfsTqh^tK@Hf_h=n>_r&zJ2E&}m_ z2Q|3=V}f|u>8{&f==PtmJk--I-KOF}&Eboc0O%%~c}L5PvrI4<84;L_ZDB@-yx8Uz zT?mWT?SwW4V9^sSW@{K{OPz%mrq+6U^P=0%i*vYeIu<52DuXRFqC(8`1P+*CUdZw5 zSrN|C^d%l~DuNRG;iz`mv7^a5+DUqvh0k_1V#jvxP~}Uc$EU>MySyHQ@8a0b2C6AA zizgc0#p)KvW%G_teWF_`Gq7E(Zm}%KSLg|BVk>$lAv9!Dlzqv`*4&tp>AWI~W$6`E z19;i1?6HvhA-wkk2=1M{@TuH1gGfuB66&`d1SBjo}q~wAwu+ER{B}4pANF&Dz{LaYj=mNxm2WaQ4E(*$>H#Lx6m!|ur1B(Uus6ShS*tbj2-t5HIA`x&5we3-)g)H1RyQP!Cw0ET96(S5Mc0J%zpUi0L#d z=+dc_Nlbk{T7Ze1cQ@YP7LICi2$5m1V?FDyA%rVhbA@ELSe%=Uh0)ngmMhM+vzepq zRImjyD9+7B8Xi&(7Dnfg4|!M^od*SS*v!!dI5fJ5DoQv$w}8zYQ$Pw8VPSL;6e=LK zKnXT;G{&LP6O7WB%^ZVC=?PdEJpoE%Qd%qVesS&{lZDZDVE_6lZs9h&a#0dOcKi+uF{te_m%&y#lrI{A&_<~(zC&lv{waDlYma-6b9Kr0UZ}3M~ zuI^3#vrvNBf*qf-i*}OTb${Cw!h8=sz#x48wkcRj=iHW%QyiKr4CUOSmrRzIGiIxp zOE_I#GF@IShkVK-pR@_Xp<*s-ws@|9lqn)*V&{t#j+!i2AQ{jO|!>a66khssV>afe^`ZSMOvq-8->3qX`QSHnEwb zcH+<|Ks9FHpV5k?xmA;e2V1eft_llnykjpLm=zHQ-9k@2={gYvbGq;cxY1&g2XlB~ zFWE3437$8Vur;F+aoPy@#LrnIAGi-(PF|eeb$(vwO*goOPTGa?zv*4zg%>ti+jgcn8LFVNpFl&9X$Ah&p19uEBA z?G@|x=k4WeDY098XPdBmqZ|R3-^U;*;{C}j&d)X>0Qb4yG#}>i6_TD7yTy_s-qGso z&kM2f`CZ^&->2bU7kY&GMRE;oI0q1^<`>BSxQ|T3Riy4*Le!*+bE5L4?EY2L$GXL< z!aYp`qBCJP_5J4imwhKt zePojTn%s2<3*G)s%R`JuDplQsn!*?Ij?S4jx6l+m8w9`BD8cWTTWAcYQNiz+lN^RF zbhT&=LI~)Y7Rb8TLq|*;W9P-YxNx$2i-N^$9Qc8)I6>q(atRfDwY=a7^1`@=@EMx? zHmH$z1lhoL*g2;|`OWlNYsZdy-|cM8m>97Qi#LGS)`+Ef5wQ)6^KyI>LHr_u%8*U8 zezxYu9zaDH?DyfJwcBkW6@VjB)rR1RSoxqxe^+cGgYv4#$m<~o^{8Qru_0i zEk$nO8|rFA5&WvzeAg;A-_^+GyMiIt>twr44!Pb$sNVHiI+>oujbYV^sLgD-&o1EXZl^$x!HnH zU@IG_ups0=KAf!xA@boi{lir(1iVdNn}n1ps;c_iQds|ZQm;Q~fu1-l2$dI>u@wbI zYgioDfJILuX>VmRLLa1P-43{ksQ(+7!V0lpEn_QwKnMxPgGy5QuB-4zh%$^T@V0~g zJ;}V3Uf?DaDtyQ1Zz9w8_>TyoqH=W}Tk$hU4j(c8*@m7ST5#z{bo_@BG z&qd>{=tosmH+0f}=Ff@#>CegEhqd3nRaG^&v-^K~9b-*@KQz@B+mG1aPPLDxT7GP2 z;`UTI!{~Qka`h+vE zf4#-Ms^GA4LmwZtw*{mDxFu0oW)cmWG znu=oNN$lUxxrLU+XG)_Rhcgd7h^1>St|7t6OI$)778*uN=>l8xL$PEXU`|DJ<@C5+y9>@OUX%FYHfh7o`Vqp^|?|)RJ`h$&FvSK_! zRn-L#&2su%Rqym-At`)&dHX!ycygHWf@>!hJTmV%=Dl-q>hLSP*5PHoGo4})7YNS2 zRT^t?3S+sDh3r4UY3Cise0{@(SQ@vJ2%sL&5{Jmkx#c6vd}op>i6jNiNZhT?+rSOU zwx31vt{Y&h^&p?Wrk}4NpEuoLjh1I_7+buUbxKY$Gku)p#|wP3NVTpZK`gW?J79M4?k^2nzQ`)?Q8%+6hNtE33fDj^Vphf;k)u(JId=mCaj?R_-Qltmbc&T{iS?; zV|jbpjPJ2OsA3`^H{twNEM9F7S(0deBs&(I92S}sz}=KeVO31>pG)`z3+qcI>yu8l zrmjS?7Lf(Qj%IH*kxE?B&5c+ZZE=!jwvlGS$)pvbPG6+6eWw=-Tj&DKQ~jYvETvzI zkJTZB%DpMhTC!4P5JMK*%a32-wUr+)^9`n5w7|%nb}Xh5YF}_#$jLzpdMdYLX~fEX zERyG34|BVge4cu}6~)Q(g!-ny6~x71G2^;Pj&dh0+qftH_SU zo9sBSbvEyB?a4mz3_?gs55P@u+dls&|1})0+i7L2$L3pe<+Cja z3CUQry?VFq3((|C#r_RbZk@PZe*bocjCm@I|GHRuiXQKscmF>b?^%}r+jx_-@&4q)JCQ+wp!ehOCr+_nVC(FAvFK{hyuYyM3*tb_>^y&4&jq(i z=}RfK9Q5yDh3TBvjq84~l3uZS)=V}Zh0kytDI1FGez9TE*C_IRIRSHQp0zKVj{=*# zr^SlyriP>ui}$ife&!mh2@mIgx!%{2>My?r*7({zERxTspU)w`pLxyye7z^Qg)b>Y zrdv26I;~jP76{HB!3$yDA$5L4(+{=EEH`}QNDG>DS4*%6H zWu3w2|Kh!wm&zJLu5IRPlAw~iw=iy%d;qCHR=@qN5&R=sRVS%xp`Bvp3?LW6{NrxR zW^!yu;~H`P7Pk<>S9(_c|JeHz_$I3Le;hw)({_r5Nn~l+i-rpYmsSBAKqa(+Gcb`} zp}FYI8r z1GL4tlumILLf*L&a?Zsp8aii}!xSXTLcEi^sT|rjv$Ru$`TN}+k;Mz1Lh(bq<@iR# z=j<2g{4))*jKo6Tp@3nf89E=A#BggVLmZkAimatByps0_IV=sgyOetf$^>Orzh}ddd6e{P_MQpUGfQ>St4^ahd z6h0DNz(z%*59R_k%8Wk56tGb-=tFD)8x@N_#1*hnanM^#L3^3!Yw5qZ*DoYbi%YAO zPGHo(LGRHjC=98BTnY5~V~|U7aQhtIL($M%KYp4yZKr=GBbe>bTRa(h4_}0J`_pzR z_TZo`=0pc=VG}L1HPcc^TUpCu2W`nrOvXo3(b47TXfZxI2p`QtM=Q|LDtvT2J~|m4 zt){IB7U(@b2YO4)p2e>Go$h|n^ow$T3u`(Lz3VNE?@&ydjO1y_>|ae=68h8D%yiT? z9eT@>8T)z95yoDF`j*ZU@ruuqB)7w5|HDNO{sXIgRXrngierQ}faMOrlrj>37(U?+ zhD%6=-ckzMt39W11@=!b$+FbFL6$SQ1Kwj@8B;ZDYJgk~%dMAM;Wc@=#gHFYj_j=y zDYedW=k?=x$q|F3U2PcU8}k2z-*NSs{5=-Nd#=ZfM7SFK4FGfsOMkq18tTia`^S|y zyyqTp*Er^$lK}uT?5yBC0|n1%D72kXMF;s)Cb!9Zkfw_gtOczyxlKOF485hY!+VZ) zaGPcv^v^<9kO7!+2P-(wLcvo5g_eD*Xmxy-$!+%@qv@hHbV0jJZnN*Wru~i?2mN>9 z_7*S$vVyZ73Z6PBwEXkH<+g`{s~V=1v!-J7SdtCD<=lnkM^h}f6Q=B=^Q^KgJ64)8 zUE0gk?WkREa;MQnt)Y;6niV>~e1Hbr9`8|lFkO_;rGVyk;72Tzz2|9e^Nio|l}k)6 z(+)bXv_Y0#reaoborXf+ECjM>0LyLG`aA9%5m#D43+^1g)Oy(~)7Dz`qB6M(Z`Iwts@V8)CpsZI zll#qk^zQglD8!f^i3fvUPAJ%Q(&0T~a+x+lA!h5t@gQx}-~oLK=mkFC!C0q@xAuTe`VQwK8k*EKK?pqhb+%MpEVtM@CBuF&)uC00KKpzhkn|ZLr*RSIrK9v z!T5NPLpPM?&0@-HVeypD*WvUUqN3HVR^x3ahZN| z+4s1AaB)AoQvMt!^tlz&9mZZaEinL%<+ICiEAm^4?6RM7aefy)_yA%o-@16#rl%}j zFl8yyQkGKM`za3owV1N(XN3%06yJL+&fQ)2%1)8FRe`w$8IWv8d}SLnZH6gZBJ-74 z!dGHdz7nhQl~|Rp#HxHHR^=!_ zL-@+M0AJ~3hu)IO(0lYEtou#JSK1-A(GKyI)`+jP#(bq6<}2+GUuli_N^8tl+F`!Z z4)K-Nh_AH9e5D=cEA0?pX^l8XYrMsWMAu7JyxgtIFeqwIT;xW zIm+-OD2AJ1DK(pJaG6fBoTpe>PvZ$0Z>5}623zGU=SPFBsrC_q?H0zn;S$UF_4dTt z599GxIplsrgTEi^WxTo#kGCe|6uL|&nUvq$V~hi>i4`n&jHIr`Z&=;cCH_lZ-` zr2^xvgV3}^JKoxW$6FzTE#6b;vj0ivr?m1CBuk9F2@H8hXV!(CagM{)G&cr;xUwVTL6kowjD$ zQB%8iyg}z(RBd+%Yd^%&gAZX-tEwL+4D87W2>{!!hV(Q1sJ?*V+5`q1C-KtN707^7 zH3nSGnodGAjP^}wZ;CvZI}d;>hCoPrsKf`6ZZFw<(Gu)N)2Bd?6O~U(St8yFN%DAr=Fqt zB^LSn1g*a>qw|&^e{a(#m`*AQrk0qnRU20OgnQrUFSVaC=kC;0odLDlMuW!fXZQcv z&;Qxa|Je_=AGk7A`42DJ37S#aW=+1faeJ!xKYRK=d-{Lgp2Us)_3I5n>OozATpi^0 zh)*YKYCl2l0OU%=7HJpcFz@>ccfP%b2I7y~Wm%dMto?K|%gN%%^VW8tR)0D!arZ*=!ipz71i0fCj5`l?T-@Z9iu zQ67L-Ufu~bWuJVT8_06-$^m$J#FRV8a`0&b;(>pHOL)p=VZ2B1qOha^nxaozO)NJ_ zE&2p`&q|g%Bz`c!SoI0r_QB4|it}7@i+;*2ECWK9b$-;}P|9g*|9Bv-?;l$9X{Pba zkI|Wn`YY={?@-o%J{nW581t*>?cuv_d+)DK%>52+tEvs_W6 zSM9i$d-f&0+{+%Oe%RLZChCWcvWKl7*1DsjO1F`l`1_EXY)lVTr7`IS1$i+&9*8s2 zLsjW!xWB&MZ>ZTi{jf`(bns5@a8fs z4%!;alno&-DtSwi815lT8f*dpuKG9muLZ*=2G-_%p&Zn$&Ff@}yf#l+l@g;}n|Bu7 z%XcW66>Rsi+%a(kG7h25{ZL4#U`!ieS!RU_HI}xTD;R#d1#<2R3t62P#4DI9ptm^5 z#oxj3V<^^s#{E25&tVxR(pE-<{M33#R;h`!b+8D_2G^5@Q$@&~VePe^-MH~X6vNRB zHg+$*x}cxl{>%Rg`|sP7 z{r3&E{|&1B_a*k9rr3YqaQ5G)Df{mm-u@F+`zJT?rz-Z}Cyf2~G1`A0WdD7_*uU}2 zvFJ=!AI1LD6#IWLy#0r)4}P80x6%861RHh&nKso6m~Bj1rcEh+qbwsvA5tNgk%||s zCezm8$zw%G*u_$gvClJk2VJrxiEC)_S2U86)L6_DEgterjlOZ}eL?n29Z7@K_w;A@S;>sL>l>;6m8vWy^$gN1&dkC41D2<%`~A90^?Ut(m8xvXQ;AD~ z|0^{f__rFCqQ0D}T_B9{t++*xcZvS{$Sf#y_R6gR6#CxrI;|`L;|_@HCS8yrf9Ken ztpEyb)BbY~m)XRt10+{!JSZ$IG}Z?#h(az>=t*`RMk66kcnUACT8Ovr;MNpel9fuH zh6h0 zzRbdZ*5F;TmGzs9x3niaV8xu^FLd5L_bU^6wW84B0TiUd=_aJ!*^ zw;*A;lTc{uLcc`~#8ud4UXo>JS}o(f7)8JG1X%9;+d+#wftGN%xF*P{!r9fXuj zxHTTXarzv?ZKS^kcMh5kfctvJyU_%>eQe5c=sh2myVZX`WB=7X+LiJr8i_TPecBFtac4gfwMb#Fm_b)Z|TNw)%} z-W_?*NWlBfAoF@|DehDMP%A)P-GJ*RZXId`bV~kY<(yAH$0Zr-Nr6*}RM*TRTmKTV zpBHa9jd!%p!ms~*IkrKTUG|f7-V6x9oHgjOz;gqB+llO1ze?l2eb8GUMSF)ohx|Ui zyy$P8quKxeB%QYxZ_fTc(Cq)8g!lhnq*R*~+ID_}2I7`8xX>i2HyM+CskO3?2wns% z#Mq?Pz?*KOU;Pok%#n{;FEzQ7ATKP%h2-)VBW=7sFh7nrz$VMybE@*0%*%g3P zVm-3}-3+4?Kl~io{F2FdW%BRt5s=THiPte#d8{mV%zqnxpNFeNPTp8=c1iC*y;(&X zxCdBn39iBWQg6InLn_&uB^`@#GfY_zednX$TFppd59B=-z8|!oq34zU6M#Z!FL$TW zMR*VG)`q>a$@@iF6wKdA=bayi*VQILd%0(OpkV6?yh+p@|Hgg)&@x)x!4#I^XG!NgUEalH=WSzMUQ$Szwl=Y!_RClfh{E%0 zhyzjN{U5wh-%=EY;~|&3T>M8$JYe~Wg-8kSguHVR(m)z%;NO(`459khJtbK0xRB*0 zE)rX(!~?z6m{Q0-T(V{#F1-I=PkcN}-S)9BUPQ76^|E9$=|n_SK^${m<6;V17TdX0 zQ%@T5I2N;fGTyHw<*@rUx?sXnB+Nh26Az%4L(aLB;mR1(0la_(5q$ij&Y7NwkK`_o zB+{8*7)2V}Gbqxbsz^H_k)|5;iO4sk{zVU^9w-rRQ4gbVKk0$)uq0J+9>XD@pRPEM zHt0ULsQZhD@4tyXg8qY)PhEn`r@HWs76t0rF2z-Hd+0V)>!hpS!FLstdg$t_0ww-6 zX!e6%a!!`T>c7PU>D_Z!^`X#r>o+8t3Oz_PokCwhG`;CV98H}LZ8YuS&_&a+A2l6K zcS~WTY4V`Uj;3R$YNBb|K)g}oY3`lIc$#K4#M7;>&_I0NuZ^cMwT5`Q``}*}PouvH z#?!N%uQZ-+`x?j7#b2xObkk49czVp%WIXNo$YsUTkN99b{rg8(9#6AvjmFb{wkwFI z%O^A^o+gcs98ZsZg!`UedKvNb`4*Am>8(l4i>Lh_ZX%vGm_y>}k#1KLPe1E+Rq^ze zQUBxd^!X)5=O2GV^W*8y-Hh?Hq?^&@f88y7Jbk-cbK_~;$iF0>Mo%R1v_rSXcDt2u=o|bpLym-2}s~S)F zXt?UBoW~z}bfSAAOe^PyQ*iF-N8Ha$h4DT*FSj-B7bx@{@&yUG9g<1NZHU9KJVw#p zL5~N5ud{--#N1@ZAvBo;)K=u1g?y_{$KMbjqASY@!eRyC+9+icMD(!y+kv>}x1r~I zzv_}KLvKkE6!KG1LwgBJI-bs(+z(fdvOq3>Jib>nosv%?HMyGb4tf-P36}qICHZAh zFqA`KAv#@*IfTRcqF_i=B0o;6ycLV0`gk1G{|0&dLnD#>kB3nl-zfS!CbMs}YhejWSsaPj>1f8%(LP2Se-O5=IM=Qy5Me6Ggxa~q8DJh5}U27ZEy zTN}?$WkrbRSpiY)@djgg{yVx@K2j6Q+ah!9r>mzQYLEGy^zl59<{|MsrxT9n%HE}8 zFE5_w{JlBx{1ql_JjdiJ@m<{gcP|bX&+&`Y#1SrwQeyd=!B}olV)-K$9LtkPEVncn z%ip;dfKq1#5_vVT7ZT62E5!6m+Bl36cI|-UaH_Hc%s(K%f@tJI+_NKdg6kP{?T)qA zwhP2>P1~^XJB@I1%qgB=1HmaP7@WrIVz^=R7`i7OCMYo+1Y@{i@bI#;qQF^<^O;1z zYu`6U8n#0)(hO1~&Gks-Qnc|U#Q%3N#_#A3#t?J5efa(B_qNx@bvmy*iQlMar8Xvm zh|pQ$(BX}XD9rvkmlMCck0kN?zV?mB??dgC_-z#DGw&J2c_}F<&bw4`wnpOYk<;k- zH%UMKO$r(R;tMay(!}er%^CkD1^ol@KugBr@h`qnYG9ueq_|>w67HZm5y!ttx_CXA zDBWajyxxe%zlrfc`r({*%Zx%LNCoO=&sj48wWISo-46gR!Lqp?=hYW0gV`_8MT+Xx zLG;*KpbtmI|SrfPD{6p{-o;w1Ucee^&+S9_{g+vv1J7rUJ96!j2J5e$S z%N2nhFT@#y`%`fSfzXbaJ5w>m$x_Z~w*ZBsM)=0Uy^ZmW!shXfWA``BH}t85qaZ*# zNGjpQ7ib`+?#HylcSNNf<%D(=?oepQN*(QJW1t9s}a5t%pW}be2{Zk7w9+#H0BR_H@fVVf?fU5W_l3sjc)%Krju~on#QgTACiv|V ztC4TKZZ(F;xz_M}<8f z>#~sZy$9cmL@Xk8{Hkt)c&TMPG6fVxm0SSiag2o=$rFT&y}?9J0lw22C_e{0;Nvn9^;*PoOXWh5Egnx=I{u$Ag zf5Po&_=l=lyWhPhN393G6z|uz5CGQh_ncz*fj0k-ir83g1-gYex|OlNGh5+(=$0#B zrm|$OIs_&efyq|-TgB6+nRxQvFybM61aI3ambSziP(Y+t5bRlZEac5CJ-7<4RL-NJ-N(`yhmiIsG4|c`JTzPwCJa1+poxEL84vtX zX~n~YHud)i30066P)`rz66)^}+SD`N^%TpUVpHnqysvIYVkoPJUO9<=@rzynFoLHZ za;Mpp)1&}Rr>*#LQ+|W?J<}2qyGz*yg@kJ8_0_X>iGFcQ(75FFeZ!v9UORLZs70_E;552x9&$qCyQks*3Q*6<+ z_lc4E6x*im+7#Ot-L)w;p?fn@Y&~BJ@Il2!{Wk{UN4R_&op+#B6Nxt4JWZl)No3;t z-Zq?x3rBo6(s}d45??VA@y%or@!cT$y9N27cVka>z?VAy+cP$>N%4t4&+GGT+!Pv! zcT`~FTfWbbZ+olsFUYsCTpbkpmc1F|zAK{)+_!_4`zGq%*9*gc-z5C^%>e)XI)wkm zH_3mG*_+I__g3};z*Lw*R5%XbPvO5W_YLyjeMbH}kMQ4DBIMi95Gv!8!h2s1<-K(m z&o_(ra(6|{wf!V18bgqMAFJcMe>ZU6;f0!W`B**I%?#zb156>~?U4Lh3;SQ5Ups~b z`tZv}a#kIScOET7T9!%3S+%DfQn8zJ4Ev)R^=n0}j_-OFi66%rL-uR2;rZ^fvCZYX z$L_dBd>8UbEI*lIQhvklo7_eA13n+4ho*IRK81dMv=ZB6BOxP zsz_TSk!tyF=zg;kV}g9wvq&5r6T*M+g;!)LP9ey5s}bL=)AQZX{)&k)^4%4f@18J+ z;k%V)ZGKI)_uzilE6q*j*M3HPx6m99q%B6i`(^n2+FedSHmci)^J`xc>U&BYjxJJK zFUw?JEQ{3#?KWMsLA$oIHfUFNZbs0aHY+$Uc9Uj&+UWe)A8}2D?MbsQZ+`4Z={1}m zyUlso^J90OG{oz@kJCV$SB~R#(k?^1KDPERogZucYA|M-FGOEqzUsI6I9@NGug2@W zpBv+KovF!qy(F#4cwO{ZFjqBk_SMagO*Az+KQ_d41@Suew&u)_!J8xJtLkRs?(dr4 z#QfN+$IeHbAItc&c`-Y+U&NT5bSNb6BsWl3G(T3RYj;KSW5d$^=jO*gc+nVeZjz}h znIHSJfimQ)4mVJSkh7zK3LC#yk>kyX-#t?Ql6=*&ek5Pj9|3A4U$wr03O_$KVy;n~ zzh0uQC||YY5~a;oy?Mzf%shPIE6!IrFHvFhRX5`s8RB=+C92W+vHFYDWzCOOT%<04 ze(d*w;pfMAbdjQZSzeclD^6Xc0K;umGF3{7%0XN47Vt@scUou*K;M%gj~C7`oD;D8 z8eJmg82#djHi1M6%Uxho$d2ZavgYU3KNRFVQ>I_}{G6wr3OheH zuAXW>(HVUE70l1w)*~|CiJO7@{ni&QV}9=4-y+Y?jrgN^oTuCE5$ES@dqcR(b+uHp z=jVR;^D6jGZiP6m=l|UN+}F<}pUvevcl7v6 z_)bb6!gq%K**M?X`6m^Ae(s@}Mv0y{du4oQ#aSKS`Sh$&m~WiDD!!9_Hay?C^K2Nt z)AKCV==>aYmb$F@xvCn4?}Sduas5Ll<-V?=z`8=@aaYw);V0!DJ40RLNx45>$Gk_K zlzUDyDc6(b>ipvj^Cv2QFxODcnh$e7+t~bE(HUcZe{zOu*8H6NO!M&kKC`j;xxbyE znmIpr_B0hbKR2zT!Zi@-WV{lMylK0-oCt+ocuYW3$+zzD z+O%L?yf!T;QB9-;qcv&42c8I~1-oE>q|FCHb^b1aY9bN%=#!V12>kCijq&0Sn#YT~ z+^+Cq?fhM%`M{g^8S;UfvS}dB_zn|eYMmh;_{+cl(tKd_^Fe-m_UM)J<89B8^>5Dw z*1s(bS^svTNq&5Dw?8$-PBczAyN`SIrRQK+*b6wBdXrH=T8AtiT0Uh3#}Oh>_=(NOTv_w~*m zZ65!AbW&sd`_rRg*fjm(S7&iIH%Xhjq%|u^dxBDuv`^lqq0W7dQb5{GAr+iURB&oq zaL_hZQNN2vC`H4}N7c@$CY^)4EOE~Uw;QR)$|LpIwAO~+Y8iWZ+3G{LHcJqmXhje= zq-g}v`v?W32ck8C*nVrMAZmVB1##i`s})4?WeeiXn9CEy@mrcDi04&7+?c8n#0|ew zKzca(^6psEJkj@8bue8k`sIfyAa$ccO!K9~I@5G(O!Ee0nqz|dwTvVybHn3} z*=OwGu=d&N^yS&7*u35tNrmf;Hx5xiLSjRs+k}l+pK41??%vQ>6%DyPFr}2`{4k}2 zwq#V%mf_WCRB0VqO`md|rmf=Vf?guKXKue1045(Z<9vM<wit2Zh>rcH zN3=FZhv-(E&0K-LN*~08=S!db);xdJW}?wwkqScOF6l8%Db=QEtx`>oy8@+h#5GT; z%3?1=sjj&`jf^E8v&nqmv1n~R&=z+E`M^`L&C3URV*ls!fzh$oB7*e95hU|3iXT&= zt}1?<09xJd5PJo>eI%xNy8UF#|G(l#jXAQvr1Scan%Yti(`8!0L7=q)lltgqCK_i_5UEFb+*#``Rf z%f>1dYTYqnX(hhoc;%8EwC~4u6_@I-mqo6ZbxD&y=>EAZi*qU|Aa(p)mK(EQ8K#uc zmZ4R&WdyO`G1atnjMjc#_6^8>w=4ELw4Ny&s@U%cjs0#{>~~Ew?e_wm_xF0#qEY+3 z+6U-?A7Id5ga5|=<@ik(uLA$&1%Mtn01Wzz{QuS9|9?RKbIzU9iSaOLn8kQ+=vt^&^8 zP!I)xW@8Dm^TUc=$SszX;>nFpaOK2FliklIKRFR{`Bqt$;mRi`KKsz*3GT-rm!Bxh za%p~7S(bt0dsA>y0;kJw*onNaa}MM(l4uLggwoaw3i2^0cUzQ_;?d4D8S;I9-DLrg zZ~NwU3(kZ;wu=JNN6A3h$>PRqg{W{xBt#Dw5e+AZ%nG7CJ1HPp0*GGQd5sV?R766w zd6xmvs+}0o)NKS&CPFl;tBOe8ag7i?6%kRo5m66{Va`vQpeS6m}RFe0KhMnusB(T_h7MDr^sAeDDk5iu&FELoO2 zsE8&!3c38hV?@al9({D`#A(wYmp>XKdN2eLo@XxF775XdI}C`XRA5BC6hs%dQ$Xq$ zK=l3gYlO%a5m9x80nvf&7}26F1kn=+(I=f$MBND@;`?Ip7hFw~?in-s0EJ(Wknsx= zKi*FR+B(QWTVg)M9|2r7acc6T6DOk{geL2y=YCOFq`qkwd= zqlz}Biw@0%jwT>g^*=fAdKoMX!f&Rz)T zqe&{xBbzliOE+tAw$tH!VN3w$gfW+mb6`ZAlo4m$W{h)rDZ%;TW(r6@CaO5^)Z*+y zZ~}t!>0dC;YVso3jC(N7jtJ*H0mwt}M^HMbw;m*FB)(N13FISN3?T0%Ag@zE{l*&u-F!+_Xmva;GZ*@<&(DFS{B6d8RB9$hDgdAivy%LFQ~EAkz`ZsqIvd zHRT$RyUVp8Z90%Q2SFwVL0)7V0qKeevb_-`ML_yC5Rk8zQ$X6yas|BKH4M+NPF)aBd%#)$S`ZnXb0V*e$I{iA1iv`xVNORtgVyf-4EE=EKx z38K>V1ks{W3P?L!D{@@y0zlfJep`UP6}48;-chQNYEr3IEzqbas1{R(1=QmHVF3XT z8rFzfytX0I1B@#(JOEpYA0S3~fL}IJK(YovF4%aDL@Jj=LbRpSfN1qbjA)vVAaWu^ zv#(bXfsGom9o(Q*#mz}jwb1}_(gqCjZwkoz5(-GSSrv^0!vT~7yU-0W~bkCSQL?g3^Xa{BmaCXbO9MNJGxaf<7x_pBH_4g$h_2hK~^SsjMogn&cEkU$=Jq4uWw2J7-^%}{s z>$Q@5Z>LsrQ6mD9J9f`yOKyE}B%Je03^;SwW1RgIoD{-2IDoUnca0>M8WGXO^#(+K zA4c@a8iHuLj{?&2R*DABf&fS#wF=~ad>T2LeOlulwM}c>%|x(tAOl+K#mQ7+`Eo|#9vn9FJ!Zuo-w^DD0QUrPbW7C^RSt=9jo)gn8(O^fV15{5g_mY9D9BXXV^k$Z&!DgPKT{;e~{ zzqKU(tybb60y+D-K>X8!Jh(;+(xC%M2SJ`^0w51Cjexu_BFMiPLAE6zx2+-|7q6j! zw6BE<^8PiNJ|3t8`Jb&?kashIK2Bj8>Eq%bA|ZQatpVBdYcR4t3bI&)Y)}B1??(-? zkABo5yIzNE2@D{66*hwGZxNB5Sz|zU@JEd7os|UHQ$JEb`ZQkggzgLgq($nt9Q5tw zcop?^KWaMtj~}$C*`KtiJHSAv#{|j5@u7`$`oz_d9w5#50LkP5_I^(u;ENw9ARVDp zkU2kSKn~S`{A`OBq-SUVfcT%g0FaUcpg%-U&+Ua=NhVhfIl;KLo&3)WcU&K+2C%p~Z%QrmVM8VX@rAMX=1dSXo*2Nk${MG8)5${dxcwB)C?6M{s@n zJq4r_W);`d-)od{#P`~MURI{<=iH2dGCr0OP)1iqBg$C5B2t&XvC`1x-tRHUf!`94 ztq@2U0J*6sV!yW3_iM+pK)*gZxDok9FKa}8^H*x+M-gbxD$u4CQ9$}KT7`B?7-)_6 z>rakGa6S1|Be-h6*W#L7gmE4GhTz)2f&x<8=%CjbKMnxNtT`|O9jJ*49=Hn~IHWmn zGdi#%N`1C_S7>~|?JKmp@$p8jZuD~md_c0J5g+jVw~-XWTVzm(sVnf)_5PYX-KFm+ zAl(r_w(>g-vbVp}B8%4{dv8zx*-L{OLDo4UGHHbYS><;a*=x%QvPTfI_e}tZUHbzd zy^cP$MV~lRP_Vo22SA#sIZ%QQ{1crk*#VHop-%_Ur;#T08FzoHvCI|UYM-&~2JJH* zzB^!<+wKln=C^k@Vwtym6X|i!e`k1H>0A7`A1xz~>;9Gk(pNwQd8-zrMF(nBjdx0ci&L9@3(9pv94nffoHyi=R6J5=S9d;?I({ zkWbQ5ylgSQr!31-i3w=~1%Q9JGzI<1RDaouez^txGaUUhpEPE8Cs4O_=T0e$xuo&v zjN4H27^ycE0I}k03P^o>knd!j27X8Gh8{@!7LuJt$-0fZ-lBliqDKIjx*KM`>~0N( zg-T!GB_<;mQflQ0G4X2(_~Vo|EV%`KopKRgYlq86vz+X*U-Wd5%JD0fbuP|rs}_G< zP5~G9hs%D6&O-um2~XKX7w@)-uKZf}5r%)jR?XUL+}i^0|EcTW?f`(b*LY4bd@k^R z!*Cm=BRAkjlqPix-$PTDt3A}ZOF%e_mQz5A?gD`Hb`$_o5&9=3Ml0lsfRNEAIg4Vr zU!|kn12R%hD-N7iOiq(-Fd5G&51do3obx2=vghLo@YlLtj^J0n5fuCf%OVKAtH~(% zME|`3ssD4CDs^{1y~L$}#CPi7pWoeAEAN$o^*(rAk=Sk-1thZBzfQ&0*+Nuozyb;I8~Cs3hJFjVeh1uT6*d`;eP?5?KCAY+)U3 zSXAnbyRn=s**a)+)ULU`x$)Z%3f%vbKHB>iVf{=b-TbTa_h;pA%NxnxzU|51o0Y%a zmA|vJ;jw>H zKw7VAp(U{LJQ>#~2((xo9gKgd#lNG&w|F4XVneWn7q$2yDI)B2>@v> ze)=-;g4D3%3vj4CC{yEzF&$24_&qDW~Yz07Cb3GBo z&g%h?>{jyS9_8=nR#ja|`?r<$60e+4f4%+$@p|QieduyMhzF2HnRK2&ssHd9WvJ&) zp3TxkJ@7MVU&os~X7EqpV@@Eu~IDoj0iOBbZ9bx3leAayVw$ot_w;upo+D&C>&>51y6vnF(1Go&#jif4fV7QPc}7Uv`G&R~tiiTZQQLT> zizbkWDg8tF`x^P{ZyO?w0iOn>LFb7kga6%Tir|00Hih`h(@PY8DGg98uB09L+gthm zZ94$`1fNCyRMkp-+R5ruEwW%%r6q+cUZH?A$D$at^7ki8NYfLoLYnqMO@D5ssH~xs z$DK>Cd!+Mh7Em`cEhzy{fo_Q`^qT(ypj5cC+x4pw14_^iY!j)^PDGbpNkUbox8w6OH}!RsBOM z!qP+0pfO5RAEEsHMPYN>6C-KT>5ny<)Btpv)JFPUuRl9Li2i*2v7$c#WTz~OV>xI6 zKzdB+m0acT4oi4BKmM^Q=LJDI7k*3u=|x4(^R}LorA^UcyE~Kp-_Z%zqlbU_C*q$v`=27l z6H%|n1l4zZJxH00l(8V9u9BzdV&q0TywS+gx$e$ac zBKYrvp?o)Ov5`MBM*e(jME-0Iz23op1?<^ip=JM4EwnTyV4)}fg*q-KyiG3*v=|#~ z@gr&hV^r<>wIxxNd_`sYg+`WEq2Xb`ixiM*TZY%JF8@-r>*tn4yBKuK@|LWe$0 z<^u}&dm*Ju*`!mt3HayT=;zVs=N9DWfROv>`>cc10gZX|`vuW?rqJ=u+z*WX^|-OW zMnvqdv@reuL14V2HJ1(_1kGiD=ISl|wtzl`*vpakb@sC7eT_fNrWJo!{5}Pwp)>%} z&X_Px@x%9nHy*5wCH~%;^|BH6|Iy!nwD$fJTPpV-gzi74B>>U`5!9~B`>NXQFbCAm ziJJM$;amLip4wu6utjUsVvAYtG;dR2NVb;xAGlV^56`y(K#EedIT3xyPat33QU0D( z{*G4s-B+dOWc2sb(sQyjnhGOS_PwA`@6-sD_W!N1_|o=0z5jbpBhNn-ykhmc6p)S~ zoQLDW+dRnF-!;;^6pi}+Za8b+IKW~ zK2XOaRqs$hDg%Cll!zYWgX>gx8q&7zZGGG57Qwdr-==_cCSI@NFR3a%vz7jbO9{#krxE~=rYq{r zqc3|E_kL3OyHokGzoPr!l#mYpcS)EI&wl&r_;cI0_4@y|roZ>8{aw9?0@6?6`g_l! ztL*QEi}d=xDA?aOkot${ghc6KGXT;=;%WTJ=$|nW`YdCSzRzye^mh;RAYCH&cbuW^ zBMHH_{ zamv6~X?id&d}PmjONs0q<4I(H2H|cMAO7ri>e;z*YFFu)D>^fE$t>&QDT&JB~p!1%>vtKyp=kG*!4d(ZDEez)OK4@$v zEPQ^iPbXu3FGTE97HY)4c%e@0P%n0?zqfvWKcl?6FAO7Z%fc}7zVJqq@~(WNX?cJ5 zMtFI@_l92Ht`@r4oEVmq{o_@EC*~9eRavZpp|c+eiX^xvc&GC zE%5;Oqx=*ytY?TBOLej2FCA*5si8LdizSA-=yeK6pT&kh`)>8@TE(oNKxa#F;Zy0>*ERYz=ygiFeCnEon! zHB5g!|EjJSbGZH*`)U*QnB6gApI5{8SEpC?{k7F>c=3SF`^p?Nk@kW9Iy^sUAG6HO zwvWuVP1?uY`5JjIpMO>I?mIt>yp!jLk@t1;o0PXGG%fE9LU?)qN6^cATy%&4s6bc0 zyzhz*C+}%OP~NSgn=S9%t(%m$RnYo>;p+VVE8+bAE8+bAD^1FK<||Fhd(e3SB~_@?Fk`^yph|H~2mKascl z;ef13eR0+QzuY|kZ@nD<|FW*KU2CPDUC)=BsAuPn5zQ~_D%d4y>(_}~6ZPwm{c}`c z2cY~~w@WEVh5NI{)5@Q!?r&tTad!?^d+MlCd+IkxDsr*hib_2GK^Nvui6t*lfbI$= zPnBg5=Kmh|%d+R;(Bm5)m*v${WLbTlY{(sPjB$*1WIINUgx)`TGF&a>ETUyXS+z|zUl#3?}%Dm^J zJZUT^i~lX4low4)3-F7kELSJ~3klR)Up@anV!27hESFnOw#sL@^Wyvh z3S^X;2LeZtNflOBVuS2VtA%{uoC5qdtL#7MD4z0GM+(o#I>!%bd%JLrbthA-k9roQu;oiBFA|Wyp`K zK*p5;`P^by<}41H)ufluy{n;j!`SG0IpOHw}AFi+AHG(UIXMG zqM+|+G%MJqv)nPUdp=(Fz^0soCLe36!iD|519%rB$ZZZlunZSz>o5`W)9N8NwH|uc zi?lUE47e|0nh3cX*52UR?c(op@i`R3wPUz@D25wiK|_GsP`^CQax#9rfZLE3-#f!^L*J;VCYX|QQmj} z#HT6ad|;UPwvFL_hFlH9$&kw~hTJb=SFb+GC5|Ie&WfTOdPc5P9Qo0C*?*m~?b(}u zJ1?_by&>@VNu)E;`TNMeR^rLI+L*O_F7^W`o_zVD60@$u&Snna4cxuou6 zt_8cJ$#X*kMbumhy zZa#DtVOe&?iR0ZspKa0XZM^NoHvB!IiY~AM94n{Ag1CW9em8jPH+h z#(U8;qZK1OD8p_w{#&Jd{8n8JYpiZkh=ct@=dk%N`))-2CZEdQ*B>Jr=e0s# zg&{KPL6&nZ4eW>H;wJ%o#vf#}3JTh*-5Cyqv<AX(>01Da)#CPqLbpB#oSiQ()fm}I~Cbz!UXL6evK0ArEZ}#wvkZXb7GLv#N zH`$Z!%HKriwT=QHZIdqkIOw8LEv=6JZD^Wox#jhlpuOC4Ogd^p{g2!2$CRys(hnwt5lIm}51mJL@)}pc@{?9Veq8aop2%EYpM^OW!<8Y` z$7cAOI3yP@AzIFGnKp_kGur@>QxfzRn`XwPz%la8D5q+m1S0N#8 zI9y2Rx6*_|K|}P^1V$Jwrxi2#d+3G5=vMTDz8t!Li{chFkiMxLa+_=D2V(5ADFA)v z??%U}VYfXnejBt`LplR9%iiKS8EHKu+#@sj+t9OlVqmv&{|%^XI|sYg-2!*3G)0zW zMR*MF0gz89h54J%0MEp5W*f_O^Z$bpTo#7UwlG{9n~R%hfm}iT&bfr&g7;U{smjIxcLS0)=nv66>DA~e5dVm z#9f^D^qd@?&x{($aA#Fs!Vk4TdkO7*4|i^+%>ua$i-We9ZL~F-1ZA_0Da*8xu*_%L zlJJ@`Yeq6G%SZ)eBLUWyOk0O1qn}eDmyznAt(mrD)C`|NTQkyOSq2Q8olaYar=znW z8SX(!!tau@O*%+u&)Wl(4Xp#2P_2k(Jv$GLYn6UVttL@jne`(}FHJIIEf zJU4+hUnx_kvw3_DtN$>g`BRpc&v;68^e#LSo~mKDaEv9SUGKF${|0s5^_^2Y3tx}ST?wl@XcXWw3VrX{M2g5 zO{u1>gR5ZK;A;F^(S7v=|EPyv-%=<{T?)A~to^7*z%U-9Fb5n$xwu&t)_&NXXxRS< zkG&6jPPy`bcPF#lF{IF#!L)b|xt%~;6o9MLA2HKlOaO>xEx#B&k_-lFo>d0}VjnUR z*!Ucdv#~Rk`ajPFMgj+(C6;kvddT02oewHQpRoXd|QsTcDGXsro=BVRA(Pa33WV-(Q&xY?C_1}a19F32jR|OG= zs5*MMryzHZ<^PFzDIyK73V#>P{#Z(W>Gqk;$}fG=Aj`V^lB)vp&r<&DL#U_Ba?e@} zEVy(A6?S}q`jw9np9^^e56eG-@sCGwFdY7AGn$3}_e%!+<0>HkJmrtZfSySuVt$e?mh8?t*4qPp3GSqd`5L;w*%Ms}OQ~5DPs80LUwL_kcn+ z;?{+jpPqAZRW9zdc&{l6a3ymO0~vr!x~SS8<4mhXMKtA@`)-D-^~d8Oo&A_Qjp4hx_-80I4DoCC z9~P!1A@x z;S}CUI;9-PmeraZKn3)kkD59jdVNV~n1LzT8S(KbL>`}U7Uw{ER#^_D`?o7LL3^3| zW)#4&1ECr21=}D|c2nd`bgN8TI^>-d2oqdx@+Xjd$$#AxNGpck4dVly6FI(Lg!~5u zIG3}Z&YOx;blVsX8CDYHDvdlJ9l8RZ4_B!?A7?>)QabdWGtG!+h2b*O?VP_C!<~cn z3o~wjTs@4hR4IOa+D=$k!*DzN@#u41jf2|(`Ik_q4&%+`cw6FixL;CXel4B%Eiz7F zr0nmifB)D%%i^8@`F{AM`MALl3fk-4M-U1N+pWSsK&xN&%Bj84lg00YzT=pB!MYkm zz1kuWT!nGHqrKeyq2JE(vyzbCNPYRiWEKt28pIpoFUonvo-PjW>}0bi(Lq~=S{!sy z>{65a28O@K!tg^Ve^*DT*#^>z9R-=Tbe0PSHb%I|1b2uGKRTJ=r}u;@d!Vl&8m`l5 zQ^TAKCWcF}5$es2vRROpBsu6eGO?GLtm8{CwM-Xf(JeRXlL5*Q0R0&^c^-cLPDqEf_XYRi8WQ> zy`IB8%BW7*Gju`^WA4PJoO9*NEbl3wl?XXkG31d4z{%=^QxKPwvGf1_vOkal`w6g;8 zIJ4r9M&G@;<-lzvhjYszH|lh-gGv|5u7s$hJ_(;4r1(+n#b8pCdT{kJjPMd>w6 zk@vFpnyEJ+svJxSRVrg-)c=)al)MA-aggs*j=FM`OBf>iTNkq3ilM#SX0uKe1WKjFMd z4H-tN>5*2bSK<-9#BYLMNq(gL(~?BWBp7-dTD`NLM6k;T}6f@!Nzg}eT+BLhEpU- zTK9;ZVRc^Xpt!`qxbNdtF#yg##h&0~8{%7tVm1G9YILM(>oO6^-=IInt zTbL9ThGotQ!c$b@|DA#Oe}ZS1w=>+&%2c~RUNk2|rk~Er@|-nLmSy11g?#=XrR*4O zQOei~xVEijVJg1oLV`fhA`k@pComVlkx|&KP{=NTf@?9$4YVnxj3IZx#Z|kwgJK&? zq|sP`I>ss#PdyeGjm_PFB%_=BAVV_E>BWx`y-v!ZK&1B##$wToASpjGgkjdG0fnKL zZG_(XsA+L&`=uJ)fJqtBi0}Q0_(*O!wC5Jnc~#imDTA04q&DefB-8gXymgm@wmJb* z<|HYyz$AGK}LU<8j=0eCMohP5vk>?_yPe<>KsrQh=)@lidM9r|pON zvgd&RD3Q13^sIjpc`tobFK=Rp-t!6Wo1pjnb?y<+d!C~6UqR2c^6|+JO`70-6*whKrCO$L?-X6=(qTt**d}4f=XOwc{J*@%okAN#D&YbXw z`=Ln_;O((+UEqpy%g#pw0B@fa4dct)x51V8@IzB4;?wY_e@>jK{@xWqABT6VtW;85 z%3bRJf3$rId=%B$_t_+y9d4Noa*13d(V)Q#CUVPi&5~?#24}el5l{nI3u5bql3m5t zU~sdN<8*4Y#m2U@v3+f6t2I^w0gY||v%w1nM2(^l)WWReC4z@@h&gD7JIp?|l5A9A!|1oPkLh47o;tdRb!kD}xkh6x%X&rMp3DSLbL0WFO zoK9l7tX66KZI>pHy%Cqwj{jBhVz)`WXcihnxdIjHQU&>5P0V;tog$Fd&>z52@}Apq zdgEmxX$c=@B5BbNnD^Ad1@s3!W8TwUPVFoLhm^E9`JEFw_E|)7SF>lNAg$)y((QIN zMIf!1oC(dP(#9dx@Hu5hd`?xEc&kNHR-=xKkr%`Mrw-l!Bsy9=`A(2W@nx}dB) z4SmqJ|LI?`{-<`{|Bt@?PuTHcT>le@{Qdc#hQ{|l!FSC6bP|&f-Q;cM%OBH|qzg;l zYEdfQAxdR6{s8YEu4!86d9x>~ov*kNHpMfdbXT)T)fBm`7Ix9YBI!~#B$`}J|68(D z#M3m0>RkR`|CdtKJ3sEv%Vgah<7Fz@K_#0v!h+NXhGf&HAmv6_n)(41T`$5?3YLm% zF&T^{cP%C<>g|H;wF{ElZh9^dw;etsQ$K)mlEoxl-KYuv_h=tl!qQb7**79x6(dZB z?lt^RI99mw)`kO$Kp>?He9Z#3A6Bns&ZiB(?9$?#Kkp0VJM24`?44G>_GjK(ol{)& zkSk8wa{A6vga+;P&WC`wgG$Q;V{=;3>+;6VTfwp~__TKZq30m?^8}FaD7pJ%;6xBTuEk$2lF!tTj|m$97EIwY(jH@Uc9=ry?B8 zgCh(e7RxHJ?5$C*hQh9DffT0kc2}j7Pb~!e#~(52OCZTQ{^P9-|FMMm{yn#X@8745 zF10r0w$9cxh(u*QA4x<#BjYI}2Ddxk{U{uPcG~{fQ|7F><=!f)MkuJ-Ui(_a2NR|)gqm0>qoyI7fC!XZH}u>(U55~Q+R z<+2hEbtJN1>B>l2Kq}*epo>G%IWm;#Z@ekKeg{jiyTit+u`35}q16=H1>&+hd3!R* z+v}W^;{>TNO(3o`x4b!BkV?|A|EOo3TV9(kNUkjGX!Xn%$=VimbT53rHo@_cXQU{v ziNZg)g^o{@*0u=J>`baj9~VeTmg2s}kn>Hxa3^msOs8E*7o@^$fw;2y%~bIWD90x8Q=EKpZeL0VHTttnTK3b8<3m`@#ogZb>`BZZ5dm2{$%7^OMB ze|P>l?CVVCw?aO>JZC5Ub6e6@Z0Xe6;3S%o%_u45mGa8{p}mq-s)MqadlYQ_pHD5ZYr4%r+ds46h|`u*CZ;L zFV!^dgr;d;{V)CBW16PDrfFK7@m90({yS>Cca*N)WQ@0zjknYo??{ByyJ?BiDao&v z{_M^>rfg0e6!b3D-`_#sFU0kC-gDpDjjKKDG1LR<%H0T=N4olQHqyTI8a7f#ypjGm znT~W_)pAYK?$0cmq9}wy$7-y?R*j4jhDBO1*;h z%%Wa@M!$jJ44>+vJ47w*&Uh??Egj3=THpta0s{wa1gG*gHBF@3{V^dR|1Q(c(x6^__6~2eYvwo)5J-kO4s{*1=WTj zN9Cor-emuW`R6{sjx+q$Ypsxk@-eML=~&Dn8Reu_k-%knBB@IQ(n8Z%p1mCkz6Aw? zqMTWc3F`{cp-P?x=SH~u;;d(BPrPG8*C!z4%IRRCANpgyVp;-1_*K31JT(*e#YsjB zzF?9_8fcw@@3pLOd20efPG4Di67PRL5g~C_9qpLs8bNYV8Ab3laeALc3BDF3=uzl% zm|G*?Q>KFxCLI*X83^x{^DWrX&TmbEwD>wi-!}FnghM^_4)WNsPvrAE-2M&`jvtw$ ztzRlQI{2+0CnB^!p8XwA=%0(2BUgeFYN9JgV_i%-j-_n~phFIC9u5KU2bGD7DT_nV z>*b`gZh7i)Hj;)oli)w#;V^kynZAfaB0ZkM#EuZsDHW%=9jEw*o@ZI62q?jjWhR}a zeHR+F1VJvcU`HpvRZBp~J?UGKoWPA;3BsWZ5YjTg4LiOO`TSE=PqQaK5VV%D{oDBWz;cOT&p;#ooeKb zS|Z&Q=JJ&ez!=+4)%^2r-OdD`FOZWu_3K610O(;+PJ3nf6cgBr*v?&!gRUyp%F}E> zia4o_wUR(vnZ{S1&@rV+P}yd*;woPtC)G2f{c(|;6v^jGI@GUXQc}t9biZ$S^W@@k zER{5a{MC{Gpk0PQQmI_$He)L@1RlDFjB$g?EJ_V@uZc=`BdgQsd~zZ=rJNBt6sGz~ z5$b9)Wq;GXL^%l0+37MeoKIdan)9X0YH-k16WQo~C(@0s6K~m1&$?dv&YwisXjsfc zIn?B;;TrSVrz2WH%UV^|6b#F#6Ck0w7nqUI zB0$~$SrDHA-dYf0fDy*|Sihj(`Cq_+VeE8KJbP~z=+EYq^o`d?C+q!WB1_gwF;dd+ zzx|x1+MMO{5Wg)DlcHxN=$+6L^xO-~33^i&gpPqY?8KL;E?ijf#vD_p^*7L zJf&S)One>Q@FhdrNvW zdf@m2eC4AEp;sv}m6Rf|!8rMyZ-gJKFt63R#N(mi<+Fgo)`ic&w0}2JmBJq4{R-Pm0Vpdq4LEoC!Q{ zw{C-fqNcnFkPS6fZ23~TAVQk||l0G>2G9igVHNxE~uAY}@Wvec!!33}6W zg{wb$&UCSz;PLs!{t9~gs~p_+Mn9E?O~!P@jdn~p;HpH!rj1E{TErHr>(8d|zXlQx z>nQpm-!pWGY<*jotZf3NFWrX~9CRIr?}DyY#-!H!52Vmn0lG$$;1T3AD;p=UecuWD zzFZc-q)FNS({mbQ+~NXVL81FoIf0x5>NQv%Ir(*F3#9_6u)AA( z#2vtrs}U1dE0$c%n7EE($<^Y@>8KonC3h>9ijQM*y#X?eY0~_$v)-sg7DGu_k2C}FSGr=EgX{HOVVMhmR!%n0WP_ySo=1XTme^3 zhnh-xS0roem96vH)Ho}7EV-MpRQ$F;7Fh(coD)cq-A(SJ#QuAcLF`tqon_-k>~Tun z{4l|D=Nkl<%W9PmuVi$7Xr5W#09!pf3b8!$>mAVR7G=(^ZjImRZef8dgd2aQ^|s9M(PwRi@og^lR5KgSM1)u zzobWF2g#&74n5+o$5L?slf`x{74ODm@gUGlrD>u0wCW~1CfSvk!(?$Zn&CBFa9r9{OS32q+W*QX}{A89kH4U z5msnZq)tp$a51MZJ;gd)E$rxRQ}XA0gEA;ufW2E~h(r>apyt zQjX1mv$0t}8|#g;@tM3B4e9su;BZ_viye-a&ja`NY;~rZt4>#^s@H+@rQYJX0d$jR z=5k0aQpeH#rENV!v~Jb^wyf{c=-G$KJ~b0Qt74<6QM_{v#bt zvzWYFq1XAq`u_1LV(_j;&WlzqhFu(kcQx+jUU*ju=Hmceota|*U41+!yc6x58wGU5 z+v5RU?Ve-SN&Xc1deht}psPdw7eH5+%ozaa>ghSXfv#?Uvs+hK%H{w!jB+rAC2dX| zpsSZ=51<&$pVNn8q+MbtM&nsK@8z;~YG?OWjONddRgCVO%^~I1*}Z|TM)xY}q(!IC zW|Gqi2ji*ib-m-qV)*CX+0p#-)~Fc%xdr#;A8uG2{&``R!9Uw)g*o8f*-`xS_ON*T zbN?(e|E!LDojW^6Hm}p!ytdAa!#}^6IRO78 z%<6-GUL9xf&&M+v{*B(whM95jZ)V0a#nm%8q-4zO%|GuuVvAa6(GCaWpR^f_f7)*w zkbkz#jOHJCL=69YbbW9BX&xMhe@Yz&|CBhw958)m6#qOrBp&}b9A^HR5c#^(5yd}C zhWsD!&mVIK;Gc<(-u!baXz)*WE}Pe>Y+kE#bX$Jq4uy#i2?X*wp%|8!Ki)D&urg2Dl zYFcmpS>CJY7FzV)X^elWuhZk7SI6a_82jq*>Cr4S*dAkF{XjgYsn*j@-fkPfy8880 zGbg+|HOvYBnigeUwb_2Kb@kq<1585q)IKI*&nROOTBovm|FhX7{B&yXN$8#uOW7-? za!46Bl~HzX4x{X-RRDom&

    PC3ube)9-YB^2;6l>XS@|8`BtHhx>C5)4pCq-$#c_ z-xgnoyG5_%f8y5?*5OWojx#KCTYMdEB&){1hp9rJJedOW|1IY=jcRAjOmlhrI?!BJ zO^edbnn61QrRX2}cmLC&X##0tUp>jb%AKYwMSi`|tDUAo9#&{bq-v3Dh+}>-DGArY zLTK%!6V1BL(23rDHEa=WQ9j8rbfRi3dux@~vq2}?q3cA|hE7yHB}OOOdL1xU-ejf| z4ZjX_qBM1sI)dF%c=BeZogBNlO9OoeIyp+61OKeGcrT*LP6mAn!HdeflbIn^xig1> zMt`PfkDgVY$k7#{_hF3J=P*U+FOwN-{^Dk{0#p^BKegZL{OSJd_u$W;zY?E66R!Os z{8|2ZeExiS@(<$AipS&gr+0D`f6o6cW1*Kjqxkb$n9^Y;dzrX+2DJbV~$v)N}?E4}Olk>ixrzd&GKvD{TuSyHjAo_Z*vJN4n<}e>+8xFbv z{;esI^)tv}+1sXEeHG=iHnx`9mHexXwUh=?-1|)LuDF`<;DeK*qXP{*X1zcB&O&a7 z#XAD~nmFuhq8ku)G<#BW0_s&*Dzszi-ZboJ_I{212Ry?uIZL-V^1AZC)pYCeCgcSC z0sc3Em~K}lV)+-W%lBUy)#a+I`tGvlD%RyUv*OOjruzQpBY$`Q^AUQ?G#|d6bpAJi zl6}T|)BL1+vmTjmzpjv*YUz7ef1bo4bwZrkG74;&6gBSZE6wB9_nYwBpX>Je!&h*T z@mB8Yf4ocU`yX#tm3h2Pny)8;e>@PwkJ9{fUuS|R*Vk$B-lDT5|70U}6mtA;0_n|t zQ=ldb;zXoE4$qozk15ChCQ|UetN}=MV^$QY?wS-us)Sf#xhFAVJ$<?FuHcY*0~BP0q{aIuYqN>WHI{q zCq~mJx2}KsB<}2=K7apJ)cVQmYyIST=bq;6g;dH|Xg|&0GT*+AUuM0}!J&2hH8slzkgCT(L*lOe4PpW`|{@O}n{#};38Bc4^r z@s9_%=3ay_aZScV4uyV$5CU5BBdmpVqvvn2E`+~X&FlD)&8PVl&FlEd3+(+;{k=>M zsUoyLtB~tej(OV6FoS@3gs0sSh#Ha~M>dmiZ6WJuaducSk9{hLz^K^US7;dM(iYF@yGT$Nq=N*q^&hPp>?U`73GJ$@BZC>*mYgzUata;Fxdc9}lGW zJFmiJ15)_%%c3YeCvzYQkIiHhF3sSK`~b@T&kw-=&kw-=kMvF7d`jP+0)79bQ*6GS zZV23fdjP(aL!sXpj6E=w(=O$Zde>>*KHtudu;yLPRsp^|dKDOzHTGNAn;8QV|L+-5 z#1C9L5b^(bDIn+ARA_z}ZSWCD4Ih2U@2p>_PoL#O!_ht~0v_x4NKjp=NUVFzfxdrVRK zfRm7!9yJNGG6tH2i!<0H{Ol4A8S>Sw|LULqw&(h%|C3t>*kA4d+HW)PG2@Qgw7)Ex zz@boOnBthfa^b)nJ7$7;kEv$z#z1Gse=Zr2!h0`?qVNY32BPq;35>%0__+E8maX4B z(?7j``)vR8p7e0v^qxoQeLK+mui^b>9Y48{>z8^TjptD434`PVmw#qFhtxZaz2-;; z+iO0`=yl>Q?7yBLj~{RXoa3V=V8tZ^O~CX^*aZA)EZ6V-AX~nGD`z5TRXB8+_%~^qCQed3PCzm+r^~d$i9Mb}*s_ns?YpWmDXCG%=%A;1d_5+e zp+8#?$~l@7VCjjjW_5CO{|YM8u`gf&gFJCn>j^FZ`dP6E94=ogxf9N50%;P+`w*M? zo^nN9x8@}K`CWlI$bwMm0>P&Z;VWtYQAQiY`x6on5~O6j`=@K~FI|1l-FM=gW+%UM zA%}h6+>Zw}^8Rra77g2kEb1d>yjscCj2*35a<}jgt=2RRPiltFX#u{n1~Bg5!1BUn0eT-50kgUzaPYWKHPIQRUkdej&YCzqh3=blCxNz7WhXB63IE`y7A12 z_bX)d28FtMG)*8qV9D~fxGgR`Wuv`bx zq#}F>nQQ_n$V}tye#}xA3Nkq?S%;60z)mp#1{w#(s@H5JKuW zJtJl;yJo|uvD;{Bm1fF&QHk0xG)UBj`#UCTn&y`82|L|FV~kvtfbMjw6-ilr=<6O$ zQX*!90D5upMi{|0iQ{2WV=3v^SOcf$-7 z+4)pkuqYiugu~S4aA0uCoe@vAV&n*O{ce+K9`35e5_#rmMMqjbck|8Ib z)r?7TKoz3!Jfu3*qiMb-3zlT4S;tplz;k$yX`gu=JHF8?;~yS>Dcw-uV=NEdiRG!y zBGHszCY{q__AY*se{m1M1?Kf=TF}1+E_N)Rhh_hI`aCty&Zi>dzFhjeApqp)!Scu# z9!x>X`%<@N3eIXx1I}y#V!3K~yFUQ+yQ)O;HAIuGn}`sL)s?NMmEj2ca*( ziEZ6;WH|EWCi0IS(Fpx4Y7@7=#9NFs_(|qx{bzm{fRX;HeO>-(EeJvQ^S$NZ>Q6_b*K#?hd-D8 z`ypi0F)01%>?+P|{VL8T*DhoCz(I%>XD4Zc5^nbQzo$D7C+61>f|Tbk?$P+2?p;{Y*I`m7mf6MCrl$VvsC+P_NP{zR996iFIo(Zip=qlG)o2BB>M%x}pLCP=3(i-GEmObfB z5B)RQe5F_wmfZDN8if4^_=?hGN`#-Ki*nr#oh!&2n7Hee8^@f}u)Nfc<%X8-@D@&| z|C#G({oCnNe&PeIS(y zHl9?5kKf_n!EUTCJ+En@cM+9V*aC9`zZ#Y6>uiCP1j%S=bUT!aTQC_6YVT=%HseXU+@JrF{4wxmM)+xBMXROH`2wUj?lR> z8t=ZbEfFW`djRc^9s7VoE#Z+pc@7Q{xWT#1PW68JK(_8~ixC_qCW7Fw4%pX&bD8oI@N*$Mo3izEe zZOBR2v|VHZjws2^RH_{;914lDpPu-yCbI80|B)WGBa8o-f_5*Zl6BRt^SzJyfASpS zcNSOCU4J;>Vo1f+Dj%MYL!V>W`7(z{Kwy?atoE_X)o^~}5U>kj*e0woMl`wY6Plf49AQhGyn)UNr9{E#m3Q|7u zb<^{f@k8BuBU@h2rtLR>uMF&C7z!fL?fOatj zcHB>4#~nPBLuzXzzwNlvIV4hkUa#^W4x#094g-d;ybYL>jA+C%lQ&Zlzx)871u`k0 z>gO0}j>C+XsD9VGXs4}r;nRYfP~Gd4MEqCqkA{O7??HjPcB=Q11&Xqu+AW4l4cTR(%P#FzhWMwtY(O+h{>Un>4e-{9s_CC@ZfPDt6mV(4+0QPlN41ay*h#|axiAjA? zLKi2p{?pHfL5AZok(^dG*q8-3ld3A;B}7ye+OLZBus95fwYZ)V^Hthe<%wi4DGH>C zAuQyl^I5JcJ~iJSYt7mPC*C@epM_;OE3xFXW0If8+bw)*ezp#i5OnHD5lp5C`rC}d zhg^^8mIV9uFBapVU+D>hg|Xc{e+8C6&cI~p8U{8*O4nomVUG*Tr7M`Mv0TIc_Zgsh z26lAn7!Kzm7!GF*3}1JwojMG-mF7 zn87alv!L9=fZ-v-OFoq|?8odPi$YFdXwPBT`YX&j;EXj>Hal9QT~M;`}Sq^tqEF_<7t8-`C7UDB82D;A;^m~!T+{*5Wr(+G^>|`Qt0T^ z@9BxvMr=CcneR+yHv%P#BuAw)%nY`J1(G6?>o6J7BrvTRTGWU78+ zGE-TUSGG_Uc5Ofxws`-e9hw$;qJy?O=kFSilp~2O`gx*CpG|wsW=BoQgM)>Z?8(`a z*98l$*(g{DFemGRh2szk7N)c5p0g3z=}B_^gPoePA(0-ZbC%N@D-$^sdhc^+VlI8~ zGrfsxSra!w6Qgjw!{L}r|A$GTC0NMOe>W8lrOlm6Je5eBJCztLOxF(lZWfm2B(ml{ z+T5ur7S>!_508|KX>&(D*YwotwgeM=Q)2=Ec5GmP9jSIM?EA1=$7}__j z3MC9Nz;fp#m@q{yiR$9P(dI7BdJOtCl($lW6p zk+ff*TR0T@$zY>jPg@v>FX&;Jyxn@m!&FuP$&XLX>slAg8?^R{CO;KnSufUKh-h)+ zSuZw4da=ImUc6_4UOd{(Bjv}m7oQCRH)uU`OCDFO4|Zuz9p`&UX}w=b@LatVuvVfsbh85gBMB;!s7{c;X!y zdNwiAN8>T=lpk>@RF&9&ZJANE(N23ug#MbScRRYmskFjJ5+g%mD%J=?#cI`T@rU$X zQn(Wla4p`y0~YLd2C6l%Ed6zljTUcb!kBk~fxBfo!azh{qS;V~znK|PW`JE4Al;N) z&4xmkTbM9>m1fh0Vb9KJK{%CuPX*yt5QG!xsNTXd=n7bd3#XLsQ#KT0cT(xJ&5oii z7z&zuY^dTWU$Kkfy(-`K*ih&n$TT4_mWAK;*ieMvWi6q$deRb}mCzR!gw*h_ z4olR0h5Rt-?=W)ra&zRwv?7q>p*LxLOVztWGa~!~{$OJY$65NE_7mNGO#4NBv&yr5 zee-PsLJaqZ4ehgp$WZEf*$_KC7h@TWhssMQZAcvwx-VQ_x1#}d!G`AOHjlegO~m9K z-}ywo;tHTLUEn44CZm#_0Ej?$zv|dY-L?U3N^KWxQTpSH{pgP`va;V-e>{Jl_PMM+ zo(_2jRMlIDT*98~IwW6l9}JJ_k<%{NP-vaL1hOvJ!up`tOCKD3!DiM6X;0Jxm;{xK z3pON>{cLmQ;71TJY@`)w*mu5tV=9&#!1#5_icsjOB#^@Dv6N?L5a#DcmyVW`##X`v ziSo05*H`ppb(ScX+6CXqcDh`Cf8NGY8~t?p1m8i6NWj5_$@W_CetgZ$wI3>J7i`Gc zR4^Xm1w=wOf98q$M0w}qF3pwGK_5!fzB6>l+w8rRO@$mdApA8mmB zlEWmZEwS@E-Blfp7QVu2(GiIycXde9%?Y8d2>ZBunSw37bxfS zX%^Z+-rtgdkn&0wo%$x-ppgv5j6|xi`2*fuoxpm8fb!>uqnz+dyKH?p;jwJpe88}u zY=?1M-F3RNT?RKffB1NQ1fttW$HOUT_dSrk`lmSK zdGxG})_hl$v*R_3XRs)(tr4ZWs#TkC=u1&v`&f9Q^rW=gJ8h74CrUg6hQ;Iqfdrh| zl5|QI#e0_0XKf(#^yh##i?{6Glo%Dp#1FwFs4iC*z`?<~<21U1&f1VVMV(BGOjXC2 ziliDvKJKtFR61o4ZHs7-C#_uQfFA-ebLjIOHnTw&j+yNpw*F1Io=cVcX&Yndc%MsW zX^DT+|NbexOJkdGGnQ7^X)W{Ek6ithCAJ~VVBJw3J!6ZFzXX(;j<877C`wbX{EIAQ zgr`e`)p`t8>v!MTkopd7^Q!b-`HD)$x3;MJB8>dOPrtLp%}I$7aJqJ z5cFQGJ#91P!_oGYWvt;Ly&LZP{?vH*0{?~{Meqgw@pe}TU&gLfg9iJ(lG`+-vX(xX=kLiQBH}$ z7d!Ey{jl8ziL(D5-=(qqH|6PXqWDeO7X3Sl{(xy0br~j>O6^!$ zYQ7A!MR_r^OVbUne8n3eC^hxAyEf8C|IKBXubAwv?Ly;Mxq`39a^D~~c-Pz2YeYv+ zsZ}8D>SZR&>oCLeDv%a+ux@;Hk`_U7A>FafS4^@YT`oUCr;jKE`T_ zrKM@2<8^Nf1~Zm!HKp5xx5Vu~z*qbV=^-Cre_u8PuB-GuW!Or;P&Y)DjMLX+;UB&i zoH?ERL(Ib&HY+&{vr=d|xPA_Jrol%4x|_VFj66+u_u^(zatGW*!IHP$AK?AdHBD1f zbSqS7f~ILXM_F`qR@7y4L1oR@2p-7N#RBPhDFIM%dn{DFDAX|AwoT5cL+HBQ{532s zx3rlP9q0M2U(p5c>qhKqFYFI&vVoOQ9U1r5%QH@XRbhJXdn?DDwt=NDfE&-v!x=4j zP&3#JH;bf;p3-|F-1j zZ9{HyXC~*CU0MNAd~Jz>uQRbUE9ZdvQz&X&0tm%d(h7nFnE;C%%1osD;^zi_vLH>( zH1Lzzzjgd%e+V_^JbK^l?S8$a1CiJ5lb{ihQUg3Hz2(h`n}9ETM16z-*uCbgKS zu!+tcY#=Sz(oQ#&#?OXyTX2KP^ zO4Jp)-wEWfIz+!h_d6#!Or^mEWN3?9%5nQUAoQ%F9h^*e(cQgPB(8cjE$mNqlW$l_ zzT$Ndl~+OhOPZLmPjtNFX;Y^}$Lom>b>mpLmmd1TS1g3R6s}bL4wHB2NB@NDAbqo2 z5nqwUx&8vh;;X*W|V}q|{ z@jlIN@}@{is+E;r(!Hys8pDOW#WiknLX=$fqO`V__8#`IsUjKL>L%X^7r-J*bg?eHzJ(us9bWX$494^FDVgAJJotm*9l!Urf8;TQ8o(p!F zZQ%g_qI5pB$c{-_3!iF()Fe^|*1TECe8r-n2#Io8CAc(vfiz6~8z5vHOV%l08gdu- zr&Na#55fFdl9R(%S+G>MUXLE{9l`5p=O6xZ2xv9z4xBT}s!iP*Cfh;dmZ$z6H=azy z5||ZnVm6kUYEF(Th3|D~>w@5}La52#N&hy1qYClM17Yt|o}Ew4OJ`XO*_6ACOKr;M zVc9zD=KxAvj)SgB8>1*($?*5rx}q`4>TTyVerI49vLLih5BHI+H!O*K&N1Z-x<{*6 z$Ex5fo@P9lj^(m)z=IxqPAiA&3y`Nkl@P@^Q+c@b-~fjSNI{*rwKRqB;tA#m$mC5EXrs1^k|~= zbTg>M&(iN)IUOq8VWR9%B8HLcd)eO}QKIZ`zff#Qjl|CizWrHl#}|CX17OJ5Uelw8 zjh|GWdZ$Zc^L|Y6ZlMEdsMX_1E?#H8k048lQaWpx4XGx|hLoh(kmM?N`8zyAosK5Y z;Lz+O@PCsgBT9$P)0e|w0%~bp1-SKYo3=yX_ko=n@>fVm`c}|YZef~GWIFkUDM*=eQ@6$tf{U`~ z|4R#B8W!pOwUOTQ{wAc~rWG}U3n$qKKv$_&zC39|&R1xQ`l|AdE^qjTQqG%#eUPt& z_=;Kx%mn*1mh0&HRYqKdPywmKz(12M#EsfySmLxWbLNVc5k8W=EZCG z=ID0qG3^eH*PyeWO~SCQQV6Rxd?|0=*hNcK>fCAEkJtHW)PAvv?H8M(_KPE*+E53u zg@v!Uou$Fhekd<}YD1wLI}Lw$%cr)8Km2*9*iUyUKFgYV&W89&un+Ne>%r2n6a0lz z{ZgZJ&#kwYHsxh9Z*MJIUbMV&?I*BJvqUxU_R_b8w^xbw_9~x(P2#EJJW}qZ-TN}p z@Hyvv%6uHqz2VS3xNXVbWixJDx+&7Jd8}jWXwOQU@-Ailf-nlYz5MP3bgH#GlCjv_ z9m!bKyOoql`*jLS(-yOS4Wj)z_K6LJiW3o1t)X_X+Po)_*Yw%vD?VjQ7dT)gEqa*h zKEZH7{SG4U9r3E3S`wbgX-(YpX(|ax9wj5gogC%Pk>*Q58q=C$M=Bd*i8m2O^bVYe8#EdO|%ZeH7A^V$dX zKFc<*?Z)P%it@8`^9uJ_zl82iMj=QmlX#JQg~^8^IiXwsm0ujUp-|3wmMMd`?5Ao- zl-VCRi1jAT=#Blj4XJ}wE1f(}Ag?LYjzc4r=IK+94YU~!SAxfENF74E+0Aun&=l;9 z;5UF>@#$mCZ}1w+Ug>Bw3BU^?Pkh~rbQ=LD%J4U_ydQ*>fe zemdZ)rRHbhV1BMqJd01gK1+~_axuxz1&K}w7UeR-&7wRZSd^y+GUf?V5ym7R3&A4H z-WM&#B!96WEnk7j(iKkWzBQzD4WvnY3erjGV!;<&3?YotFR&iQ$on6pFEd&~FVGFA z{@x#5LH|n-q)~X%J8%u=tFJBmVn6*4^Uoc}a;ZghH1S&zn12fGc+w$ASLUC4Ta+^g z365_?e*Q_kXV&u<(f=&iamdZ*w_)OHb^AZ_jBq>l^IPAbZT6aTK&A$acT#aP_U&B{#Ff4E^t||d5GVx!!@f|~j2*{4JoW{v;hv&@xVtn} z!BSa0+p9nP(1xO}-l3ID9DD)e3H|amV`cud)3=Am4`ff+9P1 z?BjjErMx30Ws*ceD#(P@?d0tRnH-;*uiw{FkjV+bg3L6=A!24a{gtk--*oy}7AE;w z^l26=Q;?aBNq)8x(!myokr>ix_N>yMOg* zF8wdjyoeq8Lt_zR$3cGUZxg6;-vTBi{<$EQM zeI;dL-#$ziSm;K`#65e4w75yqUgNc3dD|^Jv0J)aknZI~$4S0oJWSfqF6?Vm_~ilB zWMsz~Etm}5$EOx5*wiQuniMuCk__2vG;`vCKfE+*pA5(PTJf_?zdzAVNVrfpZhxv z_Nf48l%tb>=qI3Oh6y#yAXI3HrfG~Ip+Zg5V2rCc>}yODNQ#>ja&EHOE;>H-TpS*s zZy(&^^cj`e9G`l>rrUqINKP5sN9d9FsN@;`+U@_$+ZMIAI1&(2zCEwS-e)P04uNRc z_h1_0D-N*@7-9lug)g*~mUF-yfGHSt>Ez6u1EEd2nU{NyZWW)>p1meYmzl)fuilLk zcaOgdA(G%~(f21onh|lg%rJRdW|*8UGkW=2njuM-pMV5ubT9XcDg=x4{USLW&p%Hf zHr@a8t_=xNAt#U`P6!t2?JZ0b$fC3}PTpRaeukc0>4H>f7f6vE`ww{Bg0IOg$cyX{ z+AiG}&XqLs7uxmwh0~Gzg$^Tsp@X#0Zjzxok0*zxN8hil@AUFVgMSfAtFuA<5TwoN zf)Tn7gZRx68*+9Oau#o%$)m>XW1EhI?PE>R_OVq*qUK}K5l}y*&1ohl-OMAl7<@}* z?cw<6$&@3p=gF{l;XGM*n4Ks1NccRNaD<&Fvkvuno@5oLAZ7evI8TneKfrlX>|92_ zJ0p+_{I2A6#3su3aZN=WYAQ-c<(t!yXE>Hi;r8XUOn3+*+Lb2`vsj0(-nPZT=Thog;>R~E7Kj!DsU>aZ@Ktm9ir+DOEr!iyI^|k% z{iFIh2q!j+2>DjI{4mTctRZ5eH^=Y z{VXN*b1hT|+LtEyn$q+~pDdx&-U~Y{?Z<9%(oOE;VrGR7{kCpRqiR`` zdI|l1BL&jr>?p|OES|xF^gw2svhfhz7jNg>(iL=Pnj%Q6Igy;AyXz&U^F!ZXD=ugn z?5~0}kA9_0Ii$-!2Yd6YDA`155r?IPoZHdJS6pQQ$Q1SRbyYZ{MIb}>Ir&tlLf>Ow zV>KoVIX5}vcI@RVx|#OltX@Z))lJSC)a0y3&hq=~ktYYs&YEb&N2uXbg&IL})?(tU zrIpqQL1!(Kzw0e-c}X>&>I~qZv&Hy=9&iCca?%5@g?FyTc~$iY3o(n32Xi#SXQ?I0C`>voYHlfpFS?Mse| zm}2|oyKnUozq93w^~`?=E+fgh^9Zls`q^UgCNlnK4mYZtl+WW+i}LtXs``P6ELgNA z0#^klcz~<=@?!8GB9_OOW>}J?VKeA<#~`bAuqXeCJXyg!lJfR8z~6Z`4@?jf$G*cO zQJORK9UiGg=6p~vP%=C#X8rFM&q}YCe|Yi5fM-=>!n2}${qpWE9nY%9xaL+QU$czq z(bH0pGRxVmb+~Gn9jjKEeGqJr0JTC~wY(jYt?B3dPIpa5qs21}OYR+NO4vRf!m{fr z9LD})SV9o(h~+x^P^q?E0Owpj_H9Z>p4nKoj{l=!aQep}FgSfdbc56H20?;y%?=A+ zp)oY8S}eJCgt|C}_ho(l0Ix$#y=RBf(Cv8Dn>OT>3Nq8NEIT!TmC^-hz?G^EqbMvb zPC+6GDf{wzv%*by)5*V6~&wfSaMez_)Gt=>iA2P0p7sGU9EiF(q#ZIRk9hgL&AGVnG&LPZ>LYq zz)O4>cxedJcMZHH$dLbIcc+fGRL}61o=$@}tj`R*rMBLQ$tMO#OnzHv{5nanylqZQ z4n`#=cM6SP=L$Xz@RmH80Jt}+OOj+wMF4AeQU;B`Zj{MWRHWlRNoig63bC$ zcuQiYhDlvE16<05KM?e+j*iSpIA59JEx9-+?f1nx+|ta@7g2Ca>#9UYo1U+HA{uY$ z+unFf@zRyC<3q31J6$;!0{2oAqSKZ635ew@$HQAX8o^uoAcD6Pc-@9X35JO!Hg*Zd z9>!aGM#o$FwlBP;tT=c}pWUC&n5BT6_%HF6K4W-GN6zqe0EI9?E`8?x$@TKkOg-WD zLgL0@g1jsfGH#Cygt_$l*KP4JmnhpPZ(Y)*!OhQ%^BLw+9H#%|e-U$OoFEru0_f7K z2*t*0yB%%(Lw_^ym)cm26=A=DjRevX+6ov3@=lIKsk+be- zg6XV#HzDF__iLUp=Jhf`scwpLDXd|$wI(|MhnA78&n-_um_Rpi5b#f#zXgN_hy(db zaXianXYRnh06QC+6#w(|T!5-+k)~9HM7h>0sw|ia~Fg2jh0ZZYS6Q7%%CcZ zS;PW1fvQj$#&Et}Rt(O!Gs{xY?ip0EPrmbfZ{a0lzYXy_i))Omp;{~z?=Z54p2AWC zXG9C6vS@*$%NPjP?~={q*uciI3H*kBCYV763zmj0Y~&FpawU7mgepHIz!13_9$Lr# z8bG3I*ux!^8U+SO6r;wy%YYh?`#ApPA3zN~eq-b^h7+|k1?_fHYIOc24mB>?_x-4$ zEzSzvV>J_?mJy&n3Qvu7eG%(AEusAAr61n)o0dY?ucTf7G34sU>-vhlHuOkI4Ri;z z3mYb`04DCBD7k85wFOCL0#RKWTQ_!n-H1ePWoTo1c6FK-h5=z)vY)|_HNXK+zzZ!w zS~LS8qYH1O8F%a=oY4YVgRY#z{PFGWMbQvs?;;Zf*+FC`Zh#TDnG*N%XyX3u z29}dXiEG{S!&gc75+LqdOH$D8)qvHoJ`Qou2fptrxs0un88@(1a!Dds!vPgbW}zNK z8(FkyIs?WMB}Q?HQJe*Yh|)GjSQaqJ6i@;KtK1HF*iuOVOYR_+8=No^i+D^{b0Ps~ zYz$#;2;ra$GQjv$e=Cz*8KPVr3w>p(E=&V z=Iu_KlTR&7=Tik64mw9OK9plps|B(!7c)dmfo#shL2$F{Jj*&(h;^hqf!w%Q@|HWv zy(_T)uxGI#-;4iC;2M7UfiSumCrV|NqO`WkO*XILQ{9zrvTnUdzE(oD^|jqG258WHAKY^stq=z9uTA( zvjpkhY*Ctc>0Tb0x5qT2I|AQm!~TFM%{kl1BX4RrghM1}l`##F&zx@L&eyYmCVTXr z#7MJ=_5e-~wl33pG)=h;9@d5*LTc(l`Y>YrmsX?FTD);^U|Ex>v^Pn_p%MJXGVRkY0jpk%)!oJ zK_9Ore;D=#Y@aW`WJ94N7K8xbmmy3v8Jp}#qtp{G*^p|} z--3C;3+l9IQ(C{!|O9rM&_p}*69HHN`S zngGX2kZdB+w8dP6ma|^rk(-P)J5uPx0$=e{;6Xqc*}!|2 z0m_xs>pP{lP$!@F2H$y$=SQI*B{J{smG$9Z#uuY^E_;2HH_=iL-d%maJ+mva-~P+k zZ;$P=0g3(AM3#-*y~_Y_sL=r&c7y>OrUGyWi`V^6L6nvHiCukJsj+Nr+-hiSds#4J zRjICN{ToGtH-J5RFqVpI!KQ6vC-JMiW(3H}h0MNq1ns0(1`>{kf z3lmxkpby!PHO#uuZc4_NTezBqvB;Tf)w7meuASC4fv zdwU~sRQL@FMEW%a;YpNJ%+tX!dK{7zRrTfpuB-N_(H(tp5vH#T0YB) zUWcIk8s2W5Z15UT5v3JS3$u542)h6~p9#n2=rE zishn1^yw@at;Yfd`KkI>>}|x;`xH^z5Z)`bYV;kMq1gKf5;^5LSaDm zdy}ZU;swy}Ot*rP4b@@4ovrQXFW8VshnEN&7TZ1T5lbKw%T-VvT-QC>yOwC>!mVysxHnl#O=szMd}~!=W%H)%8Nn zMld|hY&L4LJOc`SDWFZMLlXW#z5dEdJxbG#-L3v>*-!@K5#F`f9rNd_^W*WrlDk#+ z2XYh3M13eNhCkjN3taDWFUfNTeg_KrZqQAZRpFPu|pz@opA1x;v7J0W4kAk!sAE0`QXRvZ#d#qXW#C* zb|!W$vbBlAw|A*dzOE(YNH=F6faVq&uDeVhuS3@oeUxM7j?rCsU4WT;3wZE$_2t29 z6TWZ#CwrU5&g*)^$~~yunaUOUMeyg#+(Cpszh&v2Q7zumXkU3-nc zoYo@Ixejn1TOij?Q!h6^pRpc0CQZtS{V`1pmgG4s@eqg>;D`YSlTq`m@Y%)IvMimW zPSG+u4(;)O-zWR?>^$!Xsl&Sa_XddMBevcJk=V`_$Rb9SCc z)1sheCr2vsc(qIa(0hFEY4L-u{lnLSAGGJ0Z!CV0^!xuDKd6wAa;V)e0*IQ9AGE0- z;0GOJ3!vQ3=9P|P8yj}w#6PgzRt226gtP|trC{P~fgtxw3%08jtS>*{c>kg7_mN_b z9&`&tH61lV+8I4wWyG_?M?Ich|Lib*?meCz(?LDs*)fxn*kOLqf{-K^J20JW*F~XZ zu%Om|3oPhW(|Wby#zTdSCKsmR5xy4nGRb{}$v@2|`KMVwmUgJ=>@z!u2xAgx#-zMK9irohk%LB;p&(%2pJ!(eJ6{?xr$uzX>HkPAF!K+e`&i|L z5>fQ03pGt3Rw*z7k-W!#@<&WlCI+ujkbee9VIYC6!^BtbzeA+o&vW8&WzN8DB87r< zzO_DbAc2oTB89pLmCv8Hp-?!mNTfC&>0&E0l-wG51R~Ke`xBi7zF0S7jgAb?=(6>)z$?lxQMN-3Re_qd9!t zAP>B%M5o#%Ive2YJ~QC!2F449ceUZSd^Otzo7>D2y-g?Qs&p$fa zlE8cFQ7`0o$@M}c_dX%C77D%ej(fK=@Z+AicWz&3r%*GpNBCWlfq!>%Ch8u4cLL(? z;D;Q4>ySitDn(BLs9gh79+@-`^@dv#B@Ws6ptPQk{0oG7rp_y~{?DdY3lW1&4nR2w ztW$>mmP6lU7Z(cI#jZ#(=26g$R7_HSN#55{8bivIC_7ToMy3WWyw(ijR$I>MBG5afI z9WR+!N3+-%Efks9U}7Cr=f*ljnigjph5R^bJ_GB>?9Mte41Up;%rA~7@rzxj;TO;L z!Y_XR@9~R^&WT?fPVkFQss<6up}s7JZVE%*2@JI=VMar>cJ^WzYa!mL!3{fLxuHK|0a*v`Rl%UM2C`>#(2b1 zW79$j4Xc>@hC0&cK3SP3k^RQT&6LQ#IQb1IVP6dT8#9q+9O%X|;2$<4~3Bwza^SCW7B3(h*` zHYJ+_iq1iQS^CSb2mf@_@}?@fq(kTbHhLV<^S+c|A&A2{}}%1>TeqU zX_cC!kDZwx&RzAj@WTPCzp?yq$rESbhgzp$FiYZxfG2y^Ou&=rj);j2QRCG5n_tG$LMw#B;WlB}1V@{&%odrD!!#cD z-NpVX1Y{b1VG8?a1}2c`7MU!Ym|_tjX+ zX=?Jr=tV<+E+9-kQl9%s-w#xh9{Ai){y;}>52S3|R^JZ>A~#gd79OeZhmbpDKc#8H zL%-vxC@IeFsWxdmkcmG5;%bzF2RSLgdGJ;$CjZI4G%1yk6`|(q~J|g!gK)|bc2>x0F+E?n=H?%K=;iNmeG>O6kCHge`otkOF z=Z(00?t?;&wI8FC=NovzDv5L{mL)(PwWZQcRjIt z>TIYTR-V&N85`N;x+K^@Bi^~NE-9X*fkzoObeZFw+0PwyHWVGF^@w+lJ;t;M6?{DR zgA(~2Q%uK)k0r%Bzy27+JImJoGmO1n%0Xp6n4~9Kjj<>8`i(ZzUY}$$SD(+}sUNOW zn)dQw6Rc|yuRJa1Liz{mrKHuKd-}%@fJBBAegBVX(<6@(3pL|Ng!7WZq z%4;S1JllsN^&*KczC@o6vn%7gb|Ew<6(L5jq5i1}Gz8L&iLV}ylc8LDs430BN6mf| zq6(W}nl5h>=2>^Q@B?3~m$u<<-eaYEzv(K^mRPv`5C(Sv}f+< zzZ}U#ScXVrWkV_Ilcs{5X+q6xD}1sEHKpuRXr~aWvKpK0xt01RW3S|5n~Yuro9v}7 zzR4m*j=Sy;%xnt1*=6jmDSUT90mDlOkirbp?wWF%-Sxpr*jwNKdU0=0Oz*_Q2)voj+X9jBJe;NUyGiS6v19uClK| zd1E9(?eH5;$Lwy(-)bR5tHHoO4l7UBGIHM+4-N;M-8$$N&*g~6gD$E)Lq3O4Gn4&( zO05k=nLeC2L!mA+3Dp91gu?t=9fU$>{y7B6xxA!wNa1a3Px3rmxM=hp5?mx0yv5Pa6uM&>0!13rhl)OleqGc#7W#+kwYHC z=!!m-g^+&c>F1ph=1siyn67bkCDt~-N zP2kLs)3AeGCu=xP1TaDN%d0V61L6Db6aHZpbp}3_|2qgt?h}E-dT_UzA`wj@5b3Wx z0#AUEo=t+^TOk-wzG*;(Y(PbPpm9xX`7m^v88p%Xp8XpS*Q8KrTcV4~z(E9H3_{KC zQ`w&D?jvdjOT=kmU)~TKKTj1cZ=PS5FBF3(EepZmk8_Vk{|-6`f>ooLdtFf7KSI_{?O2~ zp}%jh2Y#>9AErh5n0RYJiM=U}@!UWy?h!TIjLDI&5O*j8@}P4+jNS(MVIN|5oAA&L z@Od|;zFM5#%!zPRs&3uI9Y>;9q$2cUO7xXenx=a#F@-X|m?BJ5Ti_jLf;|}4vVaArT3Uw$W_PGdC zZ$0~f1sCi;0PUTkBO|Z|d)y}zr`uUyv9naabDQA6^9`42whuNOUC&-MdYR?iU8e>P z(oa|Pii5<NzIc;ZuF0!3$Nmq-2NiT$dkw=m<(>! z_;dI0srn+w!p zcWdQk2^a{W<^>a8M|b&soVQ*G{rU{dqM}!3aTRR-OLS(T*9T4Ti-IJ6al*te4k!2p zTFUvwDb6oWb;ZM{AQys-uI2|E70bzeQuSs5l~3bpf2yVUdfN!cR}!^BFk!Ai1l zsGX_6<@M1kI6gPe#=ww`fgu|M_nnPl@R3Q?eee-R>B>fr>4oO!8(uX#&fOCI8>G9m z2@m}V@q^X~5&ap8AF}P3yaUN1?HsrZ)B`q&%GAXm`s8rY2h%lh-i`FR5Bi5C*)z5_ zNaUdMCFr;(1BV%xIG?R>Xpc~{AC@3l*bzdn!z!2rp7I~rP;@=gw{bgp$GnjD3Y5qESs{G2p`h&ZIU>b+m7`1kT5D6?bg!_)HyW#$%i6#I!2MxJf<_7z;$0D6PxGB_?`0 z*ZUP3_iG1@o4-_yY0i%?vY~cR(JlT9Fx}X~E>b~Q zaPaBxFNB(T-xl7tC8@8IJvrgnONXCsY|t$y7j=97a79^|WRF0y6cw=jV>bB%#Fl00DvhFBA8!5N*})}bjQ z;b!99B(-kx~O^WqlPq_0gjpn)2cTc zTLKsI)f9x(i*%E;vd<6r10Tejf0GgizKK4Xf>5+1C2{A3(O#%|6t08eK3d&JpAQp# zlm&hpif-?t<95@{8rV~ZTA^&*DQmZB5NcYj31ps2*gf}J5sJQRHP#|Y{$|JIsVWzkx3Nj<)9u{9y~>7g z5YBxR$Wn8S1AdSbA!*#x?0P`OTrg0+%RA@uGM#n(kV%Wk*AIOUKlG~r0TQH$q_h97 zN*hlTimplRb=q*Sx*qv2k?72N$^D5x+t6ShI$y8&!AAFVB@Dy`g?S4SgK(J#5nv~n ztNQ@&C%wbJzq2R ze2J0XM0QKBC5cey>o`kS_2v6n{XoL^bD81$2|i#$>IKUE~q92@ckPxcc+PjYXa@*(@R zoT-jyDu^2iHBF#xX1+XfAPTxugvU03J;RPkM7z-;Z1B}VA>cH)I&CeczSU7=;gaDU za}tu_4Lu~oqB$TLlD*0pQ@@*f^m9T#Pw=Eg2<_^}M>%Q^NLsoolm=>$0c156%lu_| z?4IK6JZTP$+kQVtR~(U<2gbFWG6Lgd>(Ofr-RlWn9=Xw_$H3KqiAJ|x#b5kgWO{K9 zjvB@Cw4Y$IibDv?ySYxr9{94;gleVhWan#{aWvt7-gEAOGVZQSCY##3GSN%FfcnRS zdeO<=nSEC7Ic5KB8;U;KrfH{rjp03CBfl&08t45RuTgmlUc+-L6TS2s_8Lb9_VOAT zvpGOlodM7_bFD<@tkwa#X8t6;J~~dpr?YLyN3(blp=5Bbjvv}k^mj)gLiNCt@1srcgJc zbbm}^yXfM3dEQC;Pa$QkJKjJ%U+om+t1ay{U#$zv)y>M_U+MX30XqkesrS#rq&)o9 z0mz7d@6{KXCCYbbIJZsxo{m4+b{YVgcMUktvU!FYtX z1-p0qM@8R;z#_=cPR5r>I?SP)Ywq2;% z1NjzR5_wITGK-y=zIB)e>f`yYub9zmcJq8!HcJwn(|~Dtm_s^L-3vY)kwnB`!~v1N zA1U9efNHq)Nj@2odYxxuJDt|z1Ka6YVA$k*br?1m%<4OF?XWUnM@(Z>pTMxGKL-q( z05Wo0GZO9%^;S{#IYc_mA(Fv)J~9(hTXomQzYAmILlVhr6oX!;rDwjHr`=}p3nE>T zm!mv8Q%_K1deEAgJVEW)4>+TE^RZs=YLv#i`>209vq$~Y3SR&8ZoU5L%tZZD{Ymr( zeb+zTmWh-(ck}wE_noF*oe4h&&Flp~=lz*53a37bfr(K>@8P4c{-6hb&X+%c2mf)_ z8S!)eSAX^N^;d7Z`+xOU|5tzY^z~Q2wDwhhwf|jbsJ|+vA*A@b*I(7;8J9@j)FC*@ zv@i!seqVX@E#&RIcp1xrmuZEJ%tD$sY(xiO+$Z<`*O|K{_MoJx=8fOBupKs(r ziJZWVCsLVaIciY}qw~rc0KF=bQoBgfaN{Sb*s?_=cQ}9>9gs+;(lNt^e3nx_GS|-0 zHC;&nVjargZ3sm_L^=xcR*_x{k+vdPYFE$@L`9ahG7YMQzf!Y*RxS7pno7uI^il02u8$(b&7v`GFT2DduI;HQA( zu=Y+JOxD{X2H&tqWM&wX@@5l;?6+nlFl5V8`AJkvV!h$BxJ2@nNZ!Q&g;U*(gAoTC zhEkIT*fYx)xlrH&y;i!zBV^k=dJ>waX@bil(u;j`E>zN#B&av8splp8SAts{ta${c zS1}=2BGnBNIifs~$(ATmvor8dsPG%urS@;%YzbJE&TMf1H%oF+Arp=yx~PZ|$yW&F zkd!c(C{#7jCoj~*+>g{z67jY~e*%V@k0ker$`OzO8;5h)t>@G4Qv37d%?=OQB~mnz zj%vlBcK8i{D)mla3b$J9wYMw{P_B!L7GE$Pq)1gVZU5t2j z2VS5V)6ywtkA$c(D&tb*`%H@LJ>sWLaNJPV9U-MHy5@}N2R?F03^qA?mnGjU?@N{x z$w}q9+~XR1ABiq4(nEM8a*zpmThzQ=8%A<|3sRNo1s2hUFVD zrng{`OhXcxi!sUA4Jy#T3xt5FAd$-(aj!PWY;L@r z7bttC48ZM7^^OC#o^w6s)Z6>6$E@7eS3TypZcD6~>yGbdyzdP5zPE{VX%ZB$RT+Gn4TsccvK zMbfT1&GCptQ)+LuA*NML_mK`C9V60(Q$%?gR@iVo%a;`){|6#RV)PG_=m;z?b|^La zSfpEx+U0>yMY_ysln!UZe@gi-8_$#R)12|!P`m#cU8vX3Z8}Cd0G4Q8ZTdq^)7p!3 z_!8$UY8g!Q?VdZzqkGG2Xv=BvG%&q0hmG=Ei9Qk?2jhKL)AM!9jJaduUFt9neq+i9 z=u_@5vmt{Bd+0~2Zt0_bZt!!LM6Z?TJi9OS1v?Rxo+pCx6`lxLq8!kq+%7dg`cse; zx_s`#l_Q`KTO5}mreh)OQu~*%FP@HLWEZfNVXbVo%6zg{0|Q=B<}Vpjjg9 zL|){;!SECggM$t1EFrtti6g~joaBpflQ(RU$l}w2XnpbE)qKKBNc0@SJ-^`Lp6_)7 z(aK^gm@d)kmgo~OwNc3u)lZ32a7s*rQ{uhTnHv5y{d725tw;y(6J@U^hPDN)Vs1no z$(As$w3Nrik43kLvO~91w}s= zqKRYSSo~NxmO#-m>Y3?iT5@&0vfKjly^}-cbUQGh#~r%g;NhEk<&USwznS{=;NRTx zjm3NT@l9vId-zS?_%~ChNc3vVBN!PkpS^sU1No}hpQ7`}zjku|xMXS)f9!_3dk3_3n1&>=RZ0x0F3#EkMbv9X5glhn5&hQGWE9cV zsT@VrCzt9dq5#2jX~A~&p6&>uyKgcfi0-qP5JW5Lz83sYiQew;h4u(FP+~`3?C^o6 z@ReD@dq-|FfOd}RKs&8TKs)Vbpq+LP*@1w>PR}TL~=r;;~>ss1HAhLJD{(f zFXe_McZ+|odSz1o?)d1H-SE-bZ~lns035ug5nUzO@dW#Vo3DjXSZ8ZcCFS2q3jQ%3oTCg*UAZDq&S#WskM0&B1?QM|cs(cLkV23hv z_i+sew-jRc?m&id@n2lMED<)$&+)W3Spu12Fp?t%BNlPTA=U1q3tc|CEPoS*YA;iO zQ?a8=BJ-ValojO&*+u!0q9UF>vso z8VVdlt?VG`&(EP&4|zX z98>A+aA1Z=x+cjPNS7sIAWKXES)%21vcwN2_a#d}exsGmd9fYrGrbVW=C80|b~-F* zZiMNu5vIfTq!3=)fl~-0kU^NHcCtO0j;UQF8F}j67;u=Y93mN&Cy~1yn51?ZJ`vGW zYdWk+xncDRMhGqwAq+7HK^+KIrY({Uspsjd%BxPNNF)abi=CFgSj6Dg9Et4f2113& z7L(=qpt4Nj8twZcw@JOQfO}j2upp-OCht!H(~wZ}CD<^!B)ZJO4$g6gQX$e?>|mUR zh<16RMp}aVQUDtJ_JZxv)rbd0+9gJw2iZ2*=A)O1TuV02=kLJzJh+XY&;OWY^tRm@BId6+4QLb(^iy2lk zjz8TBe2r&Zair5*W+lyGTxLDr5)S3Q^C`*~<10H}#)r6@vS9stKMrziN=2dZDK_ zHP0ve^DH>DCoo#QmMMM`nbR!EvmIjaU*K0A4fkpi$%K3{_@>22=H-awPM1XIG-JxT zcVP0N@;A|jJWZ(=BW`OxERm0u`<_3p@oD!D^R%btfgNgDzOn;zoZju&h6;A7<1zJx zxoOcRlF1H<6pGY`c%cD*x=7gPd^JTPT_UZvD?69PG%@IPSpH&>m;k}%%9&)XKd2n~ zSkr_7aJFm8U6^x+m%QEVU1z7y{HgS7(Pt)!-&lR-@817LJ%WFfCTkKem!4Zaf|aHJ zt4Hwv?|KB^_kIKG5j^!#uk{FA5aHg=Rhls48%Il$eVLzK%zc?zI2g_Wd~)w`O|^;C zCerElZVVp^B?db!LTJA(Y`k6!w`<_8#6K77s!NBmvPAbJW`QTM?Vp+!U4eKdnPBYv zs)5CFYM$;*^o2eRxYSWTa!?FL9AfZbE4%eg#U^j!+ZKsbhk12`!xCv{ocx1g8!B!p zxfCJK28;eam`-a@es<|`&0Elp>FB=}gFkW3bv%?~LNWIzMoj+153aW%Z%sRQC<0=8 zO0f+ovFrJ9FtmsZZ%6NsY2E7cNpxAEFQoae5a}I7lKX_;8OH~?`5*)i2M&vLX(0p& z`^eHFWzO|Bq*vxUV|ei2JkS>`&;z^o^=Cu1qDxHdF6qZV^6+{_{*Ss9BvL&+;%DOT z(>?*iVYswR+3K+&A6@EVulHRxV)l9$nD9>yB;L6fo=`pj!eskPbdp`7cLPd()Q}xdB7}VMbPa?3+ZUF|v}W~U!~WhPxx+$eH!>{m zLd_cq?EJu;ec|4}7HH{-dtVOWe~%&v8-)Aoc=v-d0>3pv1wU8kCkV_F?6L?CFMu%m znD7vUge2rlcRZfs%Ms`?il~I$Wte-`^L&s_h0khz(@b_`0n`Vv&NqjKDvAS|M1cOhmZdM7CyRr z+&2v$J^1c9;-lYC__gpub?i5mAAbMp{{SC-oE`Ad7yinGkFEs(AAR*`NDhDCuN@|Q zbh$8&kB)<%J7{Sk)Go&EX8$lO`(l{*TCtqDQ-%VBMxqLly6aP8-`9(U)hPd zbSZ>Z16snxOzfBF0w-+oB@hN$-7Lv7TPh4Zr&|C3;XF}Z5C=fWPUt`M7Ni3MAAc!%A(4}$4sVCFTCRe66X>RTSAX#fGKcSl3HHz%${P3}8~x)&c|i`Ay)8`1lE^`i zHu&wNN!`dR<{Dahxlc4+V3mGHOOF9`Cv`ZEU~5U>t0+mhbJUWm`b>Z?p z;$d|AG@anY<4T=ECJ zIf~kwEKJ844ek?EMtpj}Yp1eXegX67kb&0{P7PA~(7#PVOJDSNaYzE;t1IocsV06gRh4|3pU7Dt*cnjJ~ATHQ!H}6qT{+6jgmDqvlSUhgBBQOb5 zoR7y%&JTE2V*A+1_JG^iL*qrV%Z&E{uqY9y^5P}n1QnhL`_I#D&sie9R{f|ToM!=t z>L`nPtlpv?={?`Uw0|+hEt-CJqC`xSvj5!7RZr$NKYM>18fWqMabih z*dH<;rt>fAD|?yml^yCI*-0AfA_oN%>kVZ(PKB4H)04 z`Dld`Omcq*ztbAlpbmuR#p|VW$1K~7a`igp&U_nubAj#W#(c;v4Ko2N3)4Ug6P45f zU=M}-(#8^D!<=;z4b)4ty1^JAa(8MHiQ*kmPy05DB$OP%vhNv5C^^m%izRXtlSbuM zPp4)w=kzbIp?2>&i=K8ys~eP#d>e}11Zk-27s18ywd{PJd<~z;6DJ?6_Zp0h4^@YDs>6elq^GhnB_O!_SjEc;q8@vVk=IpEO-MlaG`+ z*qs?ZFLx|YvVdKNe--*NQd$*HX3kRr(inYfn|=~@x8HZz@tCjoC#4n zWV15#cj}H_X)ahAWHTR0UtFp zoNr;a6HZ{+*NTZx!E)xzDQq4B3S%<5tW~~689p!>9&S%sh8Bu* zWRDh%UAORJEN9LT5W;t-uE3UNiOj6i_Ia98^HQT*EC{VQ&Q9h)e|E(Z{WDVuj)W(|*!{XtGYh1TH$C=ub6C++=@`+VJb4cJ4YfN-WttsSMI*5Q&Y3*0FaMPTdow3W(0gtBJG$?Yf%O} z5vmCbp_cw^7*Nxk~o5=#`QY0Q@b~EJ|f! zU-jyK!b5Z5qj$9isZ?Q?4o_9EM99!A? zvq=Kd1~-djtB=mj0omv0V6*8S@7>JK!>Cc}yLsSJOOZ#>ey4gYvOz5xoAW7Emciua2uZP}%6H{GlM~GLh2%gY{ng{J{ zI13!{*#~*hx@n>zjx}I;6j)7M0rv5&D>MBKueGdSB0GiSrZ+k?BkdRcewwoVy)fzH{+B{*BY!P&qT0DfE!aFDEZ$LzPJ z$27<&^@b%n%LxqarvC;*OXm#jsCt=1S|xJS=RQ<93_cz)*4)NgXw|Mr}X&of15u&l-CD;TBmdj;gKayQ=&|hI*Jj?_ZYDx zcvGv+n|7(^m2d~`F;B96gwxMN9faHwhYe2fC(bQ&;NXb>LT>v{_|rNa6IcwE-@le+T%Ff@$ zG#m-d(&5@x>LAe7b+tB3<)=uWyC&vdlrG!DfqkqjNI0d;?PuV8vs<>4Ga z0<4Q(bWGEfb*TucR^_*;2nkGPcUpL`Oihk1hZos#q=@?_Y3B8p7*$5?n2yfKh4_{7 ziv%#^K9XZY(T~|e-3)#=Z;OXch%2=I?D$sB3|-Ikfg?rW)CB>?vq=M8|B9b_1Y~G< zLrwB2*{j4ZHgZb+uSj$REiQw+Lo8P@bq_56>ig`mg8o?b3bmh#dU=N-Sgu~1c!%Nq z9rRJU*eEa8N9l~OC=f*8VyGY$R_^B?T9hpp+7g4`Rg@TfH@s%DS1C-4|FeNL zJpRd;Pu~O#*ay$IY8v~0d#k4H*Z&&-KXWAcd-wnQA3c5hng0LbfB5_V^#Au;6Zjre zaq#n5B58pjxQsluhMt$e-LbP^yV7|`)2MfMe2q)7>{BrD?Za~B#n*uuWgnKOt;J+7 zI}=Sk2VyyM81$&#hvmT9xUpr{?d4mPzpw=yz?P$-6!u8>pYFewyY}Kg-K+fR0v>Dj zaA^|W+AZu2@-bG7m8`7H!NKqpELS&UvRNXHiok6N3MR!lg2US^IDET> z>`4wGJEf$y%B5!Utk?^L>|%C}4>li+_h$RjCOhL!2QCD_Y<0Mq9lbXU*wL7woE^n3 zw4t8ejf+YO?OK znqZK{WRdKO`>6)lxsPb1UM~yQ+ao*?@edX0wefDB+PH&fubSd5&`LDzDm zS6}TwPdNB_p-6U#jCxOC+4{<-**a|S&w0s~l`Yx4WXmHEaZqgMC0iyrF)eneHY`s{ zhX4d$J+~K+{`DWgwbm@j-ujo%H)^*iuVnz1uCLjM5ccktsINt}0fer1JC;Z9tO4lU z8~>1rpis+8BOq4)l}@eQ+sr+hyOo`T*m+-tnQ(ErC%7yJ`EO&y!=6YwwJG@}E32E^ zy)C@|KIQ)g*^sveV6v;Gupi}nf=hFd|I+x6j%ri#msd9PVpe_VEvV&cf3bBq0p?SWd3xtE=`e-w84#$VzB1wi^C4ctH#Ii zz|2Hpj)!Z<^bV(iCuA2Rr93r9M{>ai{?9=3fB>a(U|)DbO9v+DoAU-Tebaz}=~Mo} zkukGdh1;S5@3UTw!fpLBJ0*PJ)`oTU!KhO;Q0NlHaoj6i# z(o6oC&1d<&Y=B+p9+A~GE*Z|VXZ&v;%fs>M`FBJ z=;OV#_wn9v#__sLep8|5FQ7!9(A~dbEN5n131kF$NlbmFv+ckd{XB^2t3%)sH}z`3 z%=F0t&6j&XqP}MJN}v04_Myt^BL~#H-p%H_)By>zc~X99*ks52Yr>A%ppG!nFV83C zyY4zkGF%{NOnLZ)Okt-z<**J3z<(%}n6`X6pFA{rkrMos)@_IRiNUZ}w^Mf6p%d zdBE2b|D5^FjeqX{-^j0BG9Wp>_O=1%mS6kr0sqUd{r`7r5tAJ& z`_-mN^d>uwTo3dnkz4GTUhlx9)PW<{>vVU$6O&RWrZ?qaa!U?<&_$L)pz=gXzQHNU z9w&!TUh2>xlmk|r3uw|Y-9gcra8Ps@4vG%a;v*TG4F?7Ffm~Q#&p{-;z&KS$ zorzzLN#d8j+-*Mhdp+>ZdhpAG$^4T2Cc!U%1nGvMoqA>tnYIp->a{-EpXczAgCH+c zDbFN-HzI`SZ5V=@p!92Svmt@6)+O-IE;S_Z)e>pf27e$@p(f1K@@$d3jYB&Fe=G>A z!*ovSBcDYtgkp^n*{@#A&KYtX)AD+W1{x%=JXf!k=(Kf!qs$nr!CV0Z-e9iL_mdf_ z&;6cI6J`w6q4mr~`}sjlQ;r_fw7MSg(opA=RM%r#?p(guiG)yQDndT;rjJB8ba$|L zuof7uZ0~17cwDhvkd+jKXt9G759UAk2V{uOY4MR$KDyLpq}yLr5a#twGHlC_U*~r$ zKR&`g00+Ys?A{Vk)bp@=i$5DPy=DMx>f+sMzk)qjhG-w<=JZYt>JGR>>UCl2YbjZI zSH8FAQ-2z!qD$>pupJY5hNfvHwNKB2LxdMQBM>bwWQSlPh<7=J)zGpTcwE^mznu*^ zFiX7{uF7RIUQN}F3NKCteGJ;M?mA_+P*zSuh+Xv$Z%^TN28VK9Kd740j7hOWaCjSp z>=boSw+l_hPK&T1Wt}Bp#XA%=6%+&FZIR@voaKuPQDBn(6o{`bxrIHY5czXCQZr!Z zzF^^x5lJcB)gxr5se`*;X(}$Xc!dq$^|WuZ1gzqYFVs|t&UQ(1RnhXrW%0KOELZNF z&K^=`e#jJM;#oeVj6GxwfazJq9f#OMs<0$4p0RxKBIF<96*gSwX^%kTVO5mq;#q1j zTd#5YYqGUc{t2(S2ywj-%ABxK%vZJ|V-ypNXWG<1dJA~0u0@e7ts-d>7)e*g zvq3YR?YrDgFiB3m8VAFvI2b!2JTeesm{ap+`Tg@ZrShmYpaF@_nkBha|9w77hZv05 zRY4?OIJhN8A|34d%}jSp_cWzma|I4YEU@hV6gCWM-)spCfqEM|K2rxL#WT~Xb^t&K z?exDW$)m>l++7Qwl`IF9=a3DlPl=?fxG8lM!g6&jq}m@A-j#;1oZ0{FY`wr;2n@EFAH1B6g6@=M55|kz z={0h(Ji7exOg^PDTzNSkA@ouP8|QaAEMT6kjhkmzOVn3qm}d!=N8boP9+LieCW2yT zFNysSQU?CMQ)~Cua(n1%<*KeUq}9fIWkK8dU1?B~C!!R0rNKMQJdp;k zJl@qyJsvZ^T?9hG7Dy4==zxObR!0gic1FA{6~f_gg|G~YP2xzX)u^K=Z)8_q?T-+G zcU5jVnTCwc`N<(M>=NRa9Qq|mews)AxBCEe`%O{tawOjq&JRhummg>LX5vI7&|Fm8%bnN{y1nkP_)C*r^nq zNJGAm=D)QdtY*XbYBT!r9P)_2#3Q^qI8~mwiM+G?^_<}Gp~8mOh2qzOop-)`1$&*6 z*VjQa*gD~9)rwm=$aD1)`AI(no*YrFFBf76+Fc%SjbN zwOyJviIyB=dt!$E*@+31)sN0j_|ql&JdYa#@(|tIs)kGCFqYvh6jx^&5`){E5`kXP zE4wsJqU-ZvLRD#G8*V(2B0{a9Nf!LF{yzP&dx!AI*!~DfBU^D}jP-~}avl=hZ%D%R z`{PzVD|RFDIc*BkO+9`u$*zbC=YuZlfA|O zA32_eCdsMyh;nKK%afcw_c5Vn6%hI1?THyq%#lc^#W0x~Yx4;6yh@v}tXRRpElQh5 zSmsm2h&KkE&QMDi{~Ol-*6V-Q>VNC>zsq6FyymLBJ`DF- z57~xSN(ixIjZMc$cuBz#D&*hTK-%HA7Loh|s!g&RD!-1gqbgJcBh#NT4{l*Rt0Dql zVLqJvp-=(yQwjD0n=#+WV`Af}6rb?I;guoQr#5s4-y%6(@rs&l!aQhe6PATm^9gkE z)^+?TPI!tjmuyWU5WB{$5r-vmK&k0~Ggcb;35Q+0#Kshe6Xyw!EVm#eXIxk-W47Vs z^&(@=?ydeIx}2n=Dc%=LL!#v)EU#hH>uE|uD?=Ct46w^|;}n>u`Yxj+CsYo8umdKk z42E0mU~hssBWJ9+O<0yv5rHdg&AG5K4l+T6n(u)XYoh`LU|rpoh1!I9?0@X25SBrD zjq$enn|qf-omTeGTJ}$Uo3PCLcMrHdy#=3Qc@4aeJi7VEne04dn^~7@gbjlmnP4>x z%cB|%V1o;~oiCW)+-S$t-w2+px$T{rmz?yu|Fz&ePcUM6*}|oFiL@&>wRdXjS}bpD zJq61S^5)*QG*q(kd3H&n>tpZ-UQfM8BwHnUaUA??T6-EdeZ$0Y{IiYvys>GP$UaGa zdIm7jtwLxjQ@~sf&t(gzw8Jn})B5c?KANqNO z4cp*TN`)}b`rRxWsu1>UVcfGq@HbZog_kr|2$ee=?9=uN;emH76~dm2&VzpQ-l-5O zce17{cd~!>R0#9d&){|2$6m6YZ4*m{D9k;;{yAJB6b@;t5bpoHLYUXczI;|8ynCoZ zn7{2%h4AjS3Q<@Z5#?oeWd(a}CcEcALHH&y7_o^#Ek$@}dJ00GrqX_u6`n}itb0H> zGbHkBK_VA6tYW*oeX|9VRct7J2d3-mV1uq=XQJ94GMv}1fWpi>g_=Q3JC!dV>vNwH z9!XG~}3Ng5i-FS8U#`BFEuj4mnOij(g@_OI|oKoTD5ilGL z`!*QhUhapG&vJ}$_4+T4iw zFy>r76h=OmeX+Cw;2wxriu7eK@6fD2gYo^{eDI7@t2V$y&~JQ|dDPzmfwV)i0L$uV zOEd6Wp$@u4+8HC-aN>AR^385z6bZ~nqQKLI&>a?p+JTu{gwPM+%Z&K1fQ9cln#LGP zXa;Ap@_hY3spEg;wZMCzZaXHS`cs5jQ_&kYZ5}AA|6UzcNF$dJwL8Mm?j>k zDzSSBF1VGDEjom3OOwZibmve`DcWYnwh81af0TFoG3ZnTX#jIt0hp-z~Y@{A;mXrnDDv`C(B^*>;4<4-kLM z+J%~7py%j)K7&5LWqtMhs=(&95+^D|iLjf`BCA3?(mz61|5HYJ1dC%HA@p%+hT zTJ&!x8N)fn=<1;p?1FZZ%X{t@27p~o6_;kQ5wYLxBygid(X5w3)^ z3CohS!ox?iOj_YfM?fp=e~4>^qu6UqHS9e1Pe(}gDwmE#NWE6cKf+W&V7tmCUWC-| zaBcOq*0{DBYz1xg4Sv&0k8o{uZ)+OhOuna=s2c#2(9CCNj0K@6u^^;6c@LeB3N?dR z%WYsn;MetEq_XSN*)OhDuYm?m1?AE82qAT3bTiV!6F_cOFBHjErgsbiefDq~Qq$E` zwV#UMx82C@gTrRB3uNmz50o=4dDs^~(>wvJgOTD8^?T<07fwGzy3tSQFvy=gRZb!x zLn`wRC+PPngMM#kPbUYJ7e7ynzcm~+fg*ic0+K!tfiiu22kvPHA;=P#uS;ctB{&G6 z5l9HJkwt&avoqkRiXBQERev>(s!tBZSH!>0U?FcEin9>^lLlqK1Q+3X{yKxIe+L)g z+5Q@XmppbT4H@I`57(KH&M6?s;ukuns5q2{Ji${IAv70`@`FmvAuu|udetyGY~n_T zd!EhaRrOy$rmFf(_y(zB^oWNt8HFwfxeYG9{N1?i;e`WWdyrWxm>&ux3R0>>WjLI^ zV{Gqxdv5Q|U$E`X>#)P=C68XW0t^*1Rv3ngh5Zmx?pxJq2*(MwTJuF3Qr3TwhN7Q! zvc0?2=#g#o_`w(4Xt7m!ly#eViU%^&^J7|c+Ns{-!&iJhs~;1vj*8?Yrq+9pW*LTx zmDc_nvr$c0s1aC?U}t(|E^b(K#XWcV@49E6cvWhiN7x|c*>Uj5y*Ry5sCkZ?F}OBy z0Fzbgm{>mN;+Tf%MZf-gHiEE=2QA!1Np^RS7GamZI;2pCB+u4-xu+xwCEL|&MfYC) zbCuvDr_?K6PGw}R0s+Nv`fgJxC*08{lK1p#Tpev5@*bwvcV5XxV5w)4&0pYWPuGFG z$qQ*f?H{?=(4o{3di?4L_$s*-A@mF~;k!Jk=l@AY8Ch-2oMmaRYl2_)Kz}$!qE>SRViR%h||SnYWP=8VW$P5)*2>#{%iChS?K<9O?}D~f zybVrZ*?JXk%i(Q=x4C$mi?wrbv1#M_4Qwkf>r0p3=|+bq0o7H^x$+vfAOFPB2w za^7|;Z>!~P|Ke?{d7F>7t>tYkyse(Md3aj`Z`;b-nt9u3-qym~8hG12-ZqlADZK6X zye-DtF5+#7!yf#Cw>iL)Y|Z9vPTod%n~S$ud0Rejdyuyk@wVgrpbhi3*}Sccw|&9e zX7IMVdE0#6wx72x;%#Nn=B*W6*4@zHt;4c)D!;l`a9MZqtLqpY@T(1i%lZbt8U|Ce zb#6m860)t+8?sTvI;SBUA+-EDu$8Q4d+cgVElhj|R@V=cY#g*+-;j+gn98gJcu+|* zCi=JILxh@#?I6ps3z9slXd?aVF-Dsc=@Z8|Rc>VRrt;SdV#ZdUD5pXfY*8=?wZNXg z;*Gy$BM4-i|KCW%&h*JMHEG1tz*(-t6voBm6Sq>CuYWZ{8MF28aTEX{et{zaU}{bK z8!)qdz|8(+3XA(c1ok^V6&6L5eHtcmm`mW?Zj_FR+yIl1uiEvfxVhl`8V8T@kAd{< zbUY%&es?xWxRQHc;5(AL${Bb8z%0gtxC=Sk@Fa3nDLj~lLgBz;(cCUg+vI|1w*yRQ z3~_~G6(8L74ota!ohB3Tq8?-~-7g(n)-eg)f?AF&77Tk>~|0%>tJY|Kw0T<+Jwn4bWMgL;Vef+zBW&GayCi?@S5N)5P#rqQL zMs{7s8bq7PwS2dwR9#lEU0oyuPeBg8bshXTEYvQvaJ(Bf!O@36x#H^wp%j>ou3$am zVHBgM!`FBy#pnt8cRie9^ws+Jq>zdR918m{z;wt3{AS596$df3I^dl`jKp9gOon0d z@3hE{NhoZhEz;6`k7Kgq45htZxiYb5ch)^w8 zli9auE!RS!WgJYr@Q~khZGf?oIYLco;yM!rz(yJ^vLMtKjkgJRSRF5Bqn-gnD?d%^ z88CDT0*0d90)}=-|->@ z`I5U43)eSuZV!a+j#iDuLD&LF2n~jn9H03YMhn({f5}FPs2+BEZ7fD8oPCpXOXS&~&5`}%H<01&5E7%g` z0zZo04kyQvI6E!yh1&gZ`RH7Ga3iAy%ffVN#Pf^-)Iw<-+^6z;jQJ!M+Mf-fF!};B zp*0JFM)-FRc~2VmJR6z+=a^cv|D26@n9NNaLE3+hk1lme;}$sscZu`{2PX3JQ<~-@ zUt+R_sk`TM=>Lt&feCjiFYX5>T!CqdNd5tE-|W}^7Bvr3c#DZ7Ly^c4iNIr{IS^C$ zC66imQttzSF4kbZE>BYgNaob~fPO_H`O$-5?AfipA-SJtlT}&J?Uc(hpK@x3`G~`0 zRWo0r;q`27Wd1Fq8HctDq3s>)OXgr`TF;M)EKEkH)WdR~d;ylTIli16YWt}U&J)fZ zULy0C{EqxdgBzn|9h#acEDV71Qw&R^UCW(<)paH}_q=~5+}t|y!<4vByZR>(8x&mRL_&=d?7UBVG);?mpJR6@*yGuB z1=5|{cEh>NoyF^0!4B{|6O+vd0DwmZcO6&e6oNmnAf&_URi-gzs&udx_?EKqpJ_V& z-t@E{_!a#b~{XvMIs;jU(-GEYGa+SVSSO=U(GEf02HF8bAL62-0=ya zFd>-2sFl{knih=p6G8_KH?_CUf@R-N{Hd7w);6VD3f$i3gom5C$J*q+3@$m6lPZK> zfL;0;rqU6Iz6O{|N1ggI5btyUA8YR(A4PRGj?d(>Ss-vWTqItJb*)LgC9T$spk_%n zIfFBR1;na&sS@#mBH4vl2}Ec2mBVz}v`XvyzNIg%wN1UWdEb^8ZGl|^*>DkpA|NOR zZ_GLZ3uv+lN#^%C&zadOnKS1+=Q+>yoaa1G^e60Fa8QEVSy<5DtyCY- zp2V@z=cJ2`o-G6g)rpnvIM!yzF?kn4}TmdK`)TueIoL_vBji_+yiEYLV~bT2x;4X)QYZNi7=cu0_5t=!4_6 z=&(_XhN89T@v6zrTJ*RyIlmV9w$PU$cAhe{wHEny&Z>Tkh=!|&Cip)Iw@_W^zJuJvF?EgA~fq9vUt zYSB<7n(8;-KW6o=G( z88S`%>!W=pYV|fXLx@bndaQb1gu`KpK%@yK;7_I=@&(gR|5kZhBHob2h%JyGR@V+$ z2cBoyf#<4htNhT}^U!nCd5+U^E?f-`r=-1pK9&8#G2eKs`CB0E=OMlRu!9r%4?P`T zD8jN4nzHkb9vGMHctOP6FAjl$$%tbS zE@tk$PPf8LNtysk6o32)084_f8r*u^DJPlT6HRZJq?@YhxzqpE|VHtiCu zL>&5`4_QZA>$710O4i($h|1PnQ5nca&yLFCI8R4SmaokF{9x zTnGk)L#PcbRS#q{@>ODW?IH-jk+eFOsC*uyBKUXjJ6OFYb~K{w<|VSB&`ccl%EB=e z{Ec1DfSrroZ(8SK0k~Rm-Ho#FIeLy7+!Al<@%J5^EPM`UN;h0BDjhs(UB@!`dRJ2_ z9);C;jUw4*j24w`JSKQx(!&n45Idq@ z&q%k6{l)&#SRg1I46&USXq|R2RFNPp2u-+wg5Ygpl(AkfJ_tuX4}X|)!2f z$Nh=KMLQ3Se9rRR`>E$Fw;hBdk>BlO=PbJpI5^{GtN|10`>y0Tqg3B>z`?O2mE{K# zM=GTU;7H{u_We5t*pbRl4zMGYeO9`mHrn45V{&vhNa1#hASSP)kHD@iZD_HSf1<^% z{);`z0PnjxdI>lj4XgFT`{8&B5dMkH%N_e29Bqh#JytmGr~6@l{_8*3`}4nH`}13W zVeQZVG-H3B1)5yn`UvdLv!DZb_|~scJ9f6>rCTo~o~0PMJSyG4QB;*>0r_6Cmoav^n{XU)B(Z?U^Ba5}wuUE7dp1`hkii0b@e>!GO5b(eb9+*2;9 z%Sr=>eL12!vzS^8z|R|8@Li!5f5W`2mO<03TKzh6#;rq^`|gvb-nU3nH_|?R<2;Qk z+z>;^ah!3P-AY@+g1)H)-E=v}$?CURL;vFx>S~L6u(kmuCLn$9D`nM7N5kg3 zK7JqQpCzUpz2Sl-hv*ICGU_CL?_94v9aZi^-iunVawmhfbK$Oos7dZ3&zdTCc_8Gw zgbsWM=R2M zhRazwk_)q7Uj>ygK^Xyg$O4vPIIK@a!J<*HwB>Y7!k_0-98IG{NIFEg6k(cXp2&A# zVvE{lkmMU6K51hSSlwl&L|(3-hV?bIO%gdzBFmf-q3+}Dg;?n*!i2?DC=p&%wiSz0 zR}~`V7%OWessQy$(c5b_@+6nkg{7z)ijqCd`5p4S^*(ct+GIomE$FH43iH1hwlK%(Py`6 z*G;3yl*r3$B^XW#M2fNUk|cu38U4|{boq{0Op#ngtXe37DMcTrDiKJdF(n|6MdD#~ z9VM+m2nBXzQz^WG1qyzo_wR9V(Vf{G=Pfg%b8{%Et#B86P-~UDqM7%P!FzR)k3?^z zZ?adoakMmt<0O@VthDnIIVO@G{ka=#y6j?f*`17gh9~3zpFm*0i2mdrP{KKHkK>Sw zLoVz>B@mECfu#S;e+QM!YeXgUno!BS^{8ZC3o4lR4^#ra1uB79YE%LNy{Keu5&MS) z->+ps^=l=F4*VPiJRmjC;PBbpvUf7_!*$_scdn>T%Mn#yj#E^n9O~Op|^sQGydyZU*%9bDo( z(lVQr?jfv%Oi9p}?t^oTmswDoOum#$zVg*$6^^E6YST(3Vs5&MrLxvv-2;ZO?+$8O zT)7TBL*=aL!2Nx$imm?*-LUbP89ZuX!<@22I@WB`?e#o;M(I1tRsVi_% z#tNL5cE2MP{}4d&#oPU+O~UFrkbfngP)fmSVzr-pj~x}Ih9b`03DaA|9zj>0oel`l zPV$%)4roRFA{RURWNe6B!9@_!6s%`0>)Gb-YKSfDO2h+zzvFw`!O6i-eNKrS(;s@9 zjsr5;QY|R>{Q(A=#mSfKa&S~FmGfBJK>HW9yWJI*{uxbMjN9eljB)hW>7A_Y9XwXy zV6zIfmL@L-<;tqhU0j7)r^0=papK;SJpeNAcNrH@34yJ@0bB~czHOHyEmVxoUT@ju z;AFm+LUJF4q@MFlM6DP0w8NDu!?8+9CAqCmSZ^{nK{NN02+Lc&|IQ4zIEYI%e?4r?3?Yb*Pr6W&NhO*JK zGod^}l{@S4T2Ca$T~`NoqGf5MTsT6(Hy~ihtnA2{1`ZGlgOEtSe&@bEy0r8Oa%oL$ zy+iPib)v?OuvlEO9oVaC@E5xp6k_piu;rg}HAo%X+LdyY4}}T7F+8mbU}X29ObT{D zf=HU)%sWx^o7etmmUe?2^((x^`7r z92aGon>JEb)8~|NT=d^4`}SpVoUuyJ*=f5nukA>9lsX_0~?dHGOa!+nR1U-D{@jKk0O2~tjZ zpIDu#+Z^Z0fAYb1#&Y`N4zNqyKsD#ce{%aAkqlvVm5Z)TM!s2firyJXZo!M{&7z&& z$@Go7%X80yXmiBDSxH0F^SS&rk~yDXC(Nf~8=DX9*_zLPMc91)zV)2*8CyJ-)7Nc- z`A9pzVLmDM>FY6EqV~5ygqYldHIL4!oqM8~Siv5iE=(YiwM>p-)!%|iOe*PSR(Cdj z%f252*#MNjT=Z}GPL9Jj{gI;Rr@w;Ve_FtCD}I3AOtkGi3Z|Hzi?y5zQM)LD!(U`$ z<>NTk@_!&|*CEWm4~g&&NvgL~Qsrj76mgt!eY$;x-UvM$di52K3+t2Yp5U`1Se@62 z>1TaTjw9ZERjBn!>aAh2pv~u$)He<#f4JWgw_UfY0 zfyovTP2UeYW!{kQ&K_vU`z{sLRW5J=FU6|24QoqyV@eu*h}tTiHt>A}4b&wrUG8vj z!4OuxAz#5$6D4(FXO+5mU-UHCE0Pdf`lUo*N4E`YR7JC`jY775I)bl#HPq46gQ5DB zlG?Cd68f0YE0SHPm2c*Kc~nn34Tne~;@*?8FeH(FYYM(G&AjglaDt7?%R;g+gnkj0 zh2Ev#Tit0iXX+Deg`3CZ2+ZMGdk#@QRCBGO&OpO@QLS-d;%)LER~{zRP>U<5Wb7E=k>Q3Y5 zO|o!o`P2Uwgp1^eD10QNs;?-PqQ6eNp;+5QWdLgR=*>L!5q=mm>eKm6Bu8jZve1hH zpF>UIuPjVEWOX?ZTnA&Qd^fwmOFpJ%p3`t(vJ+5$grOct@nPC#2H>KZ_sy}fWXWS$SXX?uTH;AK1^9GOmZ-mSaR1Yj@#^jK`1#z5*Y@_f=wpcu*zlKd?KfF0_YfU#UbF7)H%(v@G7w!( ze*>99#fxU%=VZ6dm&El`VJ2JTkT374ajce=@IHDrOs$8h3p-KZ&1{a7wdK65JydF3 z+=PYqmp&nCRc>8WwiaR~REVc~J5k^l*--1Y%1tR@G+n_MJ8y)wNm~rx-zCxu@*#(= z18eVd$EgH`qJ~lZ&Lmhred^~F>v3xts@ytV2&~GTSoOFl>f^}8Lme!gE(RtZSPN9Z zvkAnZqIeBu`H-agJJadYgIaHZ!%~N=J^|$TwYc{!k*twtTu$8Q+tA==mcFxUTqVdAFuy7#OCL3^Zn+j--=3yE|F8l z`Dh9U`!%vKh!jW`tIgDdp{IT zZC-FtyitK4{Utb&!1g2sm`U^nL@832-SMk1$ezFXeR`({vT2McQku$qBKXo&(m&vBHXSXNH< z1v@x^ucF`-X-_dztQELd-}a9Ld}GO$vQY4ydRKIM7RQx^MBxZhZpdO0{4OXPVsS~x zmQvOV0h4rDOB6x{yiMA#*`)oal%Y{zF=SVu!&fJVudWv@TIjN9AvB_9>asOch-oHE zgx$p~jypx+NZlKm9StX_RA?dIE-Ldj#V7RkMT`J0WRFp68OWb&vHC-&aqUP<@F4x_ zCYvB`0)m)|$(hWC%wdJz{7jPh{cL6HZ1QOb^7;1PfnD+e#QF)*W{%_FwutzM4tXG6k__n_8sAd6(R79Q>r_kKw&XY#S7D==wj@s-my<3x2OMeaCJ z^Ycc&sI8>4J}s(#m%j5&HtB{IUp|S8`jh~xvL{E>$sD0}K&j^URo z2(PUlyc|PswT)ee2en@3hNaD8BF}UdM{^2wZ58)^iOGWX9@L7g)ng{r+v48ivhXD{QTC-S-6~kRRXiqVm=atD z50>%z{5N3T$PwRI5|h-$>+2^*AI;)85|f3`=-)`W8w74OMM8+u7%K6$P#&iwMtPi) z7>n?!p*Uz^94>dE*7L2UdkVn&=v=I#Rr6`w;;Xj6UI|dHaKPpvOTx7P9m>t;KzV}8{V8B)r-MB;gUe}mNzk$S zB!G^!Cwcv{6woQJ+$;-2bpk8t=CP2>GbDR$R`GI-RYDerx4;yXjvT0xP@ZNzjl>^d zAN62zR?=3LVlYYj_0}F%p%!bESR(%Qk`O}yy7D;U?dmd3)3`!X{mq$+D{3``Sn+o0 zc&c|j3M_+Qs=7LdDV^adqEz6IZCq`;qEDzD*E~BWn z3H%vR_y8%0{?P8xMP*xIFocK+#~PI`Oe%|!D;pJ57S=|nvl%>&0!JWH>IiDBwEW3? zV#a88pPu?#s8w!(`AX`-wv72w#+8ImB=T{>+FQ zaDi!>(HShEV)_4@KE@*13&QafwmkB-6mLE3d4tDFJa@SpYhz2Y6D7ILZp-Ssm%8oh zDrXdA85xkYkW@xgItoQ$w+FotiGBs9 z|MEhtwCk80q7?AhY152;U_aO9mtt)ertd{^P@fey&FJRTm+;~HR7JOcZJJQzldUjn zy;T>7oV48Ql+-6&P$}Xd4##t`5UYDcRL>L12V%)SF+7latCl|vlTH@(w2DgNWPDS} zdlLBqhx>EI@L-N8ye*;WQC8)Q1^eufP^B&hkNakd!Z!4r2x9pp4j;?a(VrchAyASl z5yQuFMgF7Ae0kYiM`a-gXRN|me+=aLJNu#j-^41<8xxZIKl`Zo5qA4-7PYzVZmiXHdpfGz-EdAF=Ng}m zbG}1ZeL9B8k6p-hYd0zwjS4EeailT^F;}!1Z@eL@mr&D3BM_J@QId?ga; z7L~2tjrDQPccQ1FoA>Eht&i#EYYxu%P$u8DKf%GnzVk5oh$UrC?2sII&B3KVYL`f_ z4rf{yewMo31oBn?>=g%hj`|aYA{mm@$DN`w7(>c$K~mf-Dua{jCRA!wS96}#4q2<^ z<=}C@+b9*a1um?762s&p{lV8*a25qq*~yFK5}7>iWP7F(`9lBlHHcTfiu0h>?}H;T znu<7)+V^>s^zq&k9o`U+NkbSyhHH7q8xAPEMmtHu9PSwjq zPh&%f^N;iNIC%eLh{E`jgW7l++xRkc4PG(CtT(IABL+AxVp_rgoRF!b#P7>H0{ju5PbFdT$t4bSc8CU zec3#olT`MF3SVF~_u)ULgl5T&sDxeoo*zOb-X>JyT@PZtgnGH&U08##Scwc_a!CK> zEB&UG372B0q}jnW!bqI&V$84Zgw-L$&KCRg8rL;*HG^EpXqfaA^8w^Efymef|}8i-Gj&kG#V0{%?PDa1f+x zLzQns^*gJ@gMW04Q2*wcFAp*xul`FS=oYJ&0RG?RIZk=H$c2LKRDh@t6hhvIRtSV- zHy=nh4(roUP=tFFJ!1IN9Elv$U-=W{OceR8R@}Xvr;xl1m-3aT3po_{8+E~Lp@twK zTUn^AMPDwZ+qMEN|;aJ^eBAG0cC!C@ZaY+R3Dam9o z+6&ia65j&^Vo5|Ia2_v)%^Wx%5IWFvPeWiTP?%V<73LGq5yJ!7vhdZ?Y?*vcHqHh3 zA%SK>#^zz6Q%03B=);@Eill`<&!J25dNZt!7(SLG@*OjYyL={jtlWv!wd@YjJCgb` z9dG3r$P4$m?*5a5o2gwjRaCaQFj>bk>%7kJ1^1v5VNw;%keDYWrDqakmElLdL$GI+6?TmE{=g@H$5UE}zftq0Td^-ApK1EdurXACFY zev-)`)^bn6H`ZMiEAOKzkrVpu*>=EW5xW#uY9<0E;R!jSSNs7E^51>woB@-RF&opE zv%vcgxnz*4J%B>e;OdQ)_s+No;uWkkm1~RX)FFgZKk$csQ>!#ZVcW7B$f2_BqVOL2 zRTzi6b3}Doo~ZiroDw;$H}MepSj4Wl`2WUY>n^2Tw^~thSY_80uK2x!>tX58fY%^b z)cQZL?5<9UnELZkP2ndJD+OQ|xQ)!P$Ji6kbW>0vn-@=4yZ!wG(?Mw{}dc(vO$SCP*A zB9GF4K^1E4@}kPU)6u4!3#v4{nY1_VEb_qhz{9BWpr`zhzd%&ld09B<4`E?9`bEgd zM!yc-wV*xYzQAlE?-R)ZOud7Fo-E$)to20lIL??vy}J&M6C*Wn$KKPE$NLK*niLBM z>n@=-KV6hvFFBxbo*h4mg@a2!rdGfm-m)G^yL$7DW79$~nkc+m8h5bUj5|O0+5GIwgLUf0xAsC3LXv#)f^IugLxc0z5OUjj=Bcvo_N4 ztp|U1PWyt@6#PmggVg7WK>~MTNMvENNIsOvQK=*fW@J2v`gQ2vUZqamGkuhE(NFKn zVdi%Dcwa*Ofr*%1IWx z(j}8q`XpEdsLy|r#in#gFgg&*xL*yR0?1lHGfo zu{t}3RUC&Q{C7!H8@f=SBnKK6p(&i*R#fN5M0J+cZnCJ=#Hbp9kfN#HF8_h(S8zh? zs)?~}BX1XSaUN7q6Jy&%9P4^_Hr0&_yAt-T5}`J8vYt%>wmB{+=BTv0U`*dN# zDGAS9cT7|zcU)Aq#u!weNWv#|mr!4^g!&z@OPX!@AUSU11s1RHp`mOEcK$TskQPN%&W|UDSap6qT(mtWLn{t!(}L zpHhm0u2TI`byZAMm&Yj{Qd|2zmxY1lo`jQSftTY>1y2+{5K+}f(dA}Je&~iyQTWI| z!I%g3y-be5B!rKARal*h)jFrBP8QW!)-cy5_IF&_v|F}V*{V0Bg!o{{e_LvLd^Ckq zy`f;pKNT|K4pAlWG~_wy^NeKqYxf~Y=`S0)sObQnYzBs^wA4+s! zwLUC#He8nMYt{fnHMk^lHo6#cC^vLPSFp2Xmz8b*$^mM%3`B2&_X|6{0TTsE2TU_s z2M5bzSMn*_FmyR$5Pcx3^EgqJEnb3z87Z5bHnp zAZqi9ppo1qXYMIRZ^}wG5;eJ$&XtLPjD|Vcu=`PD4@nMDd9a&tY^f|9V`rIdrQm3I zJB@29PLW7M zNLE+TZ#y9$IdWB99;-wJRhM(3GT`$4=2ms?<=wZc(&aj=>X64gj}m+!^87O*F|m3xR+l9SbfViswu$P^)JID|KG99W z-oSC+w*%XK%k85+YwID;K6zs2m@k2i9N3Nm|4ykF1OwZU0=W=k2MFm*LA!^q1KWMI zcK1o<2%&;(Lmc_}NRZlHT{!aS_UT~ZIZkYbpV!M|8=Tj?E0O^WwRXb#ABRlSLn7(p zOJs42$D9W_{hI#S^d)t1o6RAT>Th8L@`J=tADbv}2b-xag(teH5Vi=aIC09BJX}j0 zs(F-1wlUhHM0g{|qeQZ*h8^8!A#k?-7h9`;P zk~lSGJgsb(dM4J!{$*tGm;|efp}^1EB(omEvSJLl^$>{_i{1{`&FhMwgegdSDggD1 zsZ`dUW&-P5JS5k#WmZTc3)>8w89(@eOs;av#OHQasf%}clx@668Km;44Fx^}*J;R- zW+6+Op+F~ST3A0(Jx^3;CII(!RguNJWc6BET~0d*W$f2YN3N>NV$)GU&Sg}*p}^Co zY0gmRUe-NBl`hjk7xl2tEGhT4$bS%JSwHIF8BF(MnC>-aP1Bgk%DB!c!rHB+Rs)%I zOSHk&gQjU*Z8u1KeUvHzy=cHR4VR~tH^xw{Ckw|s=!K4|VFy#TJiT+sG@mm~Gi;jX z`V@Jpul-e;y{iX*bx!+t5fvL+bvGv77OYi=prR7-w_&ZC8pEq4@`*@3fHHvOeW~Oq zGlp}SG5km#7{ea{XL(!DPk-QKJMLlQ7RRp}xp7WzcekBR)E zgr@J6gYWpn)C+yJO&+xAx(V7no5`uh?M2Gj3sCEJRJofzbyaDPZzgBJml|Zg)RFS{ z{g+^63oi=q__yJy4KLPBir(%>Gx2^>?SKuOdPs2cf<*l5u}X0kmej>9qOg_v4lI9w ztV!-7%J`BxTbEdrmn`&4WJpBQPvc+@MVe2P)Fs_z?^x^OL7S#c(C*z#`cmNCL!X{U zpT_gq!w{;Bl!sC9Z>(k+kA?mIt+H?cDSw0G+b|0L2hVZQXPue$>C}c7(X)R5Gh{}$ zOx|PG;4T!H2{)N{$ZCU*Rqunm4D5Xfr~F%t#)j3=k}QsEa7E{vrdiu0 z3kQ}i7L{-jg*otU9$n+xoM~9{9hTLyvUjX{`Tq)j`~@~{I*nhl?;D=?Sn(4cCXRVa z!cyzc!0-IL9WVJqAw3BsEk2x>UC~eo$GcQ7i84C zJA|HH0ge!D^h2jCyepCYBAR}NqM}i-(mXmE>fLh-{m0cdRscI}o zAGbH|WRK6H%6LV2zkeL0z!P@+w;9i)DO|&^Qjf#vdVEp0SSIbF66%)KM|D|vj}8Ad z9sa1O-r8LjN*{lsL;JCnvd9{!A8ne*YjIxTeFu z)%Zni(~9Tm!autK5@YO&K7Tg7AP)7Xnp3TatW+Z+3pA09W^W91Q6g+7rg~pcsL$qK zFKdsvi)7(Fq(CMV%AvOZt6oA`SXQf@)_G;PZn3CrE0R^&DGQx4*(0OraXD!EK9yBJ zSJsmmPrT`(?`uzQCWlh+|E>pZ%Kx7B)Mm0X1uK0N{fP2{DD?U}nE$!rc@NoYj7$3C zLdVj@GTAFCTe@ZSNnI9V66q1q^cdh@R-fuFGc(rz7Hzh*(3I=mW$T|aRl8#|38!#L zXZa4l3o8*G3q$^hvDV@TS$J>x4-z4f?}_YVGqS{A}-1kt0LVtf`t<@sya;( z7yT3DY_a9H>R(?)mEXc$j#D>wTaiSJ z=wITdiGK31X`04*NuAdcy&uv8HWWdh_dqu%qK~kDY1aYzEc#X!__ABF62=;}%FS*` zt<+^|aLYniA{`={eu~n`?UFjDn<~q)!x{DtrHl)PZOYN77Y>sm<$F;u53+x^^H@0I zZ)#2K%k3&2?8mlT#T@0=cP8L``zv2h}rU8SP%9 z8bR~XCW+DX1K?^`x$ncmLI2g!b<{Mq`G3=t%+2I<3c{!XG4TRz>1NWEU!)8%g|nqR zO!=#w7lp(A2qnFMk=4)$v}Jn@l}LA+Z=(_?b5$2Ut-r<8>f_P|A1Ra5}K-?+WV zqnH;|q1K~SsPYr~COhp7Ome5Ed>0C~fs}x}d;Wh=4FusPk~*EyLx+r}pQ1y}mDCF| z^<74*{X;^br@B???s!YWqGxSHdlcqMa?+Wy4`~+_muBM!AJ_Y8_Pn# z_Z#W>TPdskq>56j4Z9-&yCVsEbqeg&E($AM%5->tAgSXe^^#%o{-V(oiPVTREhCaD zfiYFuDy9VzllZ9oAPR;P@_x5}3m^%g{cj5Gc|6CJh01p#Eg!sBM*`c91h%VFuw9+N zwxm`&C0jZqAeMk6r=&v6;LR|4sdN}qWm`oFcn_5y^h-9Z9X6~>D~u=Mcf%uCt9FeH zC6@$}vtcx@XPo5!RK-V4)b!hJyIdov>^}cw=5g(%`sIM6 zHZ(6q(f@)Y^M+=mtz{dt=iWw2GXY)cCZG$e-WDaqGZi^ZkVvvR(JiY}0QkguUN@eK z`!gviICryIjRgDz2K;`1hb)Abj){Iw8Bgoxn1XVpY&NkQ2Pu~`*y@C=W08cc1c+R_C>0ZMqBMGZ~;Dd3gp<);EEflgR=9V;moTe+QEoCJkL|=QY>bc}36t zjAiBcIxBVemGnw#wGI`rRh(hc&ym&n-RxCiO1!|oYR_Li%$~nEi{qkqLF)SjU6S@d z1t$Iw*6NDbzNY?2k7;6+KB~MA3o#V9HjCw4mOBkWCSSul)!Qi(FDH`*r*$BiMZJ9D z?Ns7U6gXuW>_yPQ@4*iLOe9++m6OzZO9-Uul`8NA4>SL-P@BKmLxw<~^i%%d&s@N1 z7iu-uMo|0$)EY*Wk@7A6iCApQSWfk{U(U=DAW-h@|?vWZ`T7 zO)~j9dXZ_@Pm+Z_NErq8xwqRsBb2pyF?$2T>k`Q}i2v_~lwq-e3)XRytS;y- zGgHvxu|-`?`B6#qTC6!y<7`+Pa1c{&aEOSI)h zSlQC8|Myp>8HHQLB$jxg&9A`PtouYI)UD6%H%;R~Oirb}Rl?o+=e?$B%<#1GhPR=T zdLj^B!0u82EAZB_sKp;G?4X}!gX_}8^ z#{1%DzAT4ZGr4a+mx!;E)SD%>)>*rW=ValSZv|A_ep@6%qS8SpUWm!sI}+=~GFq<7 zwn|Y?(T_f3r@ahhr>DKF&xS++#iF|0C93laB@&fMO#hD@sOo&7s62Bi_}yETC7?7B&IZiIFO|ixGkg zc~F7mE=0u|%bO&(C9)}bJFTcLoUB5NN;1oUZ=TI@oc`!DR@RsxOR&un^=M0G+o6Fj zZzC$;ByEw)DrCzyI+z_*hzcr;A)Yr|$Xy%4!(6r%#M7!`O5JD>^@kF^afSsRO8{UV#=8aKuvW7q;og;b7Ib$G4Bagq@8 z7f7VnC{C%@m|1UcQlnLGuZ@8Yh3mLRMc22qdtG0@3i^kvM}M0@`}en5kb6V4=L=}h*JR`?9I^j-R{src67h%h>Q!k8 zk8fDz;Jm1Hd65<4D+f(qHC7>ok0iwX<0WDmC00G`gOYG|SpQ$IwBTn!iyP^ediP37 zMsMs6A9a@XU^TZekci#$--X`j7}cr7c>K)P^7L%V$%I|)D@RJ$^-N=G!me9aK``&H zpJoZWI#xP3{r!~?`RnQNa=dR6R-Z1?=dPqouny|BBS?|NenW`_3&*p^Qye$6(dl~t z#{{N7!T3%}KA4f`-;l&_LrDL;Aq~F=8XQ~-YHzhs%etSKx`gNGe{I7E_-$;k@?ZTp zncsd`{6tv@uCQ!}zR$8Gu`D^=ZjpQ~5pM`oiS{pb>njwC%2uGK?@@hsLK2>K z`gMv2B#~Z;^y`l`K=zt_SZ(OUvhVkqw!U|;d%x8#7I5z6#E92r z1;iDK>OHI+)@{^M(P|4twYmtdV_n9M54wyAc6=4-7KIN`0BY81_oWtm-21eHGd>E0 zsGGU65JK+XgLCTYB1#6AO2mx*Ju`lc(Sx0}EvB}WICU5_I%PNL;aRQ zF;ZP@H!bv_f|-S)>Ma&Ybun#QC`P>O^&0PN&+6*g6ho!7Z3S&h|5sh=>8QSgk2Z2F zR!>x?xs53zofKJFq(^_u$dX5KlQ!gxJ2Cl4B=;2QyMGJ}JxtSi3mIe<92s{BEePni z$mInHDs1R70zHT2!!CzZ1^Y$Pi`Cp;txAc?uP(;wGN#zInj$JYLIb9$#Ca6FF6-Pn zd?#eY%{|*aOou~BJFBb-)!wK;ZvMaO?!P?6bhqYj%GBSBW=rJtH2r;_OCrbgs(Pw5 zyvgM`BYgyO$4Fv~r4~J)bJt(zN_qBkP0U@)7jGlI00~TieD{t@wu(l;FqXsq?!0 zlhGTYQJurpt^VqAOIzl+ZEgAO<^Nn;errrpTUMrM%Spynne~f@!@q4=n!apZmWHN3 zF8jag%Z1BEz|ZVuOfWUqokL&F7RgY?tqyVkm-PDlm{4~;Tij@0?v>DA^u$%)(W0=e z?mkG>`ISE4XBSpTwNoUH8CuR_&wHM05fL|BM zJ22nq}&i%7o0 zYHr<+Q)J|KvHAliCTk%_v9KQnsFNd;J(&7$ks?esLdJgWHtJ**vY(}xrBcV*Z5Wfa zESC~0*9hgAjc8R?F;t=&$MOAVaW1^LVbNryY6l-Jml@@S~LY5`zu)3sJ(yo4Y zEXdsz<2X)2ReDNVdsbN-YipU+4`qiW6)MH*7Z>)M#^h9bwCa%GxD-moEwSqm{f!Fk z##Pks`^hMd^C&eFP5(7|d!2(5r`9-;_9T6(*0?;RW}?;bfl*vaAHHulHZ*enYp_~I z?VNd7z0HZWhSmDREBZ`K!pc)cIsQhYF#UXkK1IP=nCA~&lKNyJRyURpSw)i%N#vBr ze2*F}m6ZR=%C@r)uBU&!jizuNkXM%LfDFW3^k}C2ASy#Kq{N*Z{WZC+uu{wU{%Yoc zX)phl2~qzw#*MP}xJy(%i%I09eq$Znl(Z_mo`hz?x*EA-#$1s^0#VT|DidjKkb?xjS(_GDR&=YOR zP%`;7S-Tok1Dz!=sV~2nbnxu_x1gODFNG^z6_y)Tg;l6qONIPcD&()Q!;qt=7Z z?Gn{0cdGpWbx@fTMr^?9a^D$V07wwr1Yvq9n<*>Y^bkv+-UXmDq*IDwv{W#eA=SIB%@2 zB_$1-yyfON?#&OW?XmY^mgIMRYLed;R^6PEf#DGMMr9Ji+Vv-MAi?jbys=!F`6hu} zwT1m=50C)6(FJ9wb}yk?Irp8x{0sxc$xLUE0HQJwL(07lYFsWU7L|d?tJhJE0OED8 z4zk7l6l)tjrfK@WZ+K;Gh1(@6$6{3YtylutfH46JMpX9j)?G&Hx}=47h$8$Lle796 z_~4`I9XVHUR)TZn;;^=0H7cm=!rBH#*-VH0VFtj@*pd`f z7GbTS%_4gJnTc_8#A+OysmZ8seZuBCwl89_&x`9pOF*3mV~ z2PbL%)gI)k?t=ZwVo_V+F2~vifZ8!JZi-r!d$wgn(sprZH=E+_KIqEdq&pet)kW~G zUVLWjY8G<|n?IomacU7ZGvZpppoGE-#Vlcc2`e=XbG(nuaY>@GLy&Ffa5z!{s&zB< z=k?u>J6HjDmc*YhLz1*pMTiM2D4?+`nk1qxS`2nch?Ty+wjapIsv$vb$9%A3w_{EF zEx;q*vIZ)DGviZIU#4ov)40ODghPQ}u&Q%~kWYJOADsn|I-Poo*7Q$?7re?b1Az`Ei7+w`{)jX@K+>2~e{&g;H_5hVJsRH|C^^Z}Z&un_Zw&}-FasRERbL@wC zA4}U0`~G8T_U9GQ;f6()7P-}O-DtOyGq&8$(f?U~W9!&R5JRLRmUf>&#jIaZP%}!9{oS z92ae8tt7IM)u7whX64|&P$ENEV7@ySm_(+050R{+Eo9!HlzRd7SaAGCTOqYpx5vs3p**S=1K2% zwBbGnz=1_0FxV4|k_>jK&0u%ZmJ?tRSi!Z=ja-9c!&X?k2%^nqY}oO}RsV#)a~GxY z*9PFP*h2~aLV*bov9h7w8llGKF&kgsNyArW|1Uq3#$OwNznUIO@D~dFm1!@^W6|Hi ze(pAFZ2#)$FFB4gzGW08$=NsACgmBl>rt!>9VML+tmrEqO0%MGwXJ9d`*8nz1o>BM z<0r+K?y9Bk=}Eo#!4drLxpT16m%CKNWT$-v+r;F+rfXr49lGZss`|raA?j*fE|r|Z zN}uVYG7*=2v~;4xQ;QChL;58Tv7}RFp+r!Vr}5@%{gXxE1K8=Ya**`YLc1wgoAlg3 zKKCZOQQnKm5&Jtxt<=IBZ;X`xYwnz~5LWuKmKFoV4BTE^vS;aJk?fav6O;XPn4i@S z2M29(DDi83In(a;Ur3?4F$vXu(A;0#!W(p_7yY)$9iAV#*BrfGW1dc0+ajq|Pi z^GXLVldoj*xhQ;vlwDAmV!N+?rZ(*c&zdR2;t6lOD9d*ti{KCYPm4-~mxVq4_hhoi zzJEF(mJGp-{>u9&iHe!!cTY!eTy(=TXRo=2dO|O>dz5$P}V zd>86Gddm(+i%sgMC00RC;>WJ9G3UX|`Wja+1da0ek63+;MGq$GYuxf6+f2Ia{&UvX zc&#I!({K6_x;QU{!7QKR_Ff{p6ukjrR6~F#a_^Vj4|AACjKsw3}o(i?bmx@7s=l#2ao$2#PDaiBL87o$f{q!5?L9(T6K)1KJAj! zx;GI*E8-rssa(5vGwDwW13A#xzue#H zL7Qgt!|vTwG@6V2uhDl|BfVSbZ=&zAM|!sufg+~wb4L6YfqyNjbggeMRaO>F@ZVjf ze!EItS@BoiD-58(84w=tpuiVQIBmL#E^z(*R)wv7^l3>9D{&JABEaigO^-5=g`Rx_ z{)(6$#mqv_x3iqsN`JO*7FPPRQ1DkQQpPbX(5bQS3ID|&w5ggO_Uf;EW8YHWk38rN z$4x6%a2$G}-I#lhPU`*TBX^SMKkFR*XO$f$2NN=e1s1}uTW4Av=UoHuss6|G&7NeD0@Tk3bR2YZ9 zD5@p%28bL-oAR_J)_jKS=&&9B#b{H_a2(ty_xb0bO*O+&aHHJs7tp4f>=E9a^-n>Y zYH~(+Gk{(Q^&B*^%0h1b-1&&-&JjtENT5t9=<2e=l6Lv^SsZ5+iRy|ePEqwuap_VP z$Gz#W4tlN2Dn&}zRQjCgxn63!KaleiiSIVMMd1hve8zK}N6nc+bw;3!=eRd>IF3`| z*}h10JI`@V(5l^P^`;YEj`Lq?G{cKm5}y~KfXc&56!5_h9tEF+tk^beSQ*Mef&DS9C#Xr7&s#6D>7;Tw z_BI;@zNBwY*q=qY^qHZ+t|4{^8u%k^xXo_(502yB%(lA8LV=g*+dtBW)bfA=4cFbTTe(J}O|QTAVh zut95NweShXY|0ukP0x^N7F+-A95T&MhfFieG)?;M%G7)mx6gt66GK>=^xElsPQPNn zG)cIH4{S%lk71Ov4itoy)oyB{E#A8r1k^a~HY<|Px@fbvd$!9y0FvP*!Pq_pW60h|AOdaXDKaFT%_0!%23YI zYjODV+_LSSwna~-9>J&+Q46p1k6T{gK`(XHjloK|2n)OY$5 z!{K>2$E>T-jC`Q^Xo4xF?aV6BRIxL~-hehFiiNr9fYL|pF7}c~> zD^+O+D@GI!`6f#0%~-9DOMDy)UCTZdg*{8R$|XnYTA zC33F|llWbk2}p+5A8*Tn`s1a8rYTcH`CUlSI)K&O3+_odSbVA&6YUPDZ~0`Yp657g z)}oW4TC^$%B`_mU`;zVPOu%ZLGZM_9%n2;9p`11mPNTptCepw6lHjgE(}eI+t-27C zAci}X)uos~1yxb2#+U@}gBqM03L#%m^&OZ5XTy_?F4)vODv_5f2Gg$_S8$@byjWD{ zmtvyD0bH>-QKWc-&PtQV2I0Vw&RHM02m+^F#?{ou2@a0RjOVdx@cJ&G+yg^HopuE> z*KsKDpQG#`)$tP(L8{Z{+d-;*6ViiJk57PY1}msSXM5;Qwpq*eyf<1!MGsO;2oV$% zayU)}l(7RokoI4J&dNc7v!DpFP_UaS&$fJy|6zt|XE_&`6H`_D*@FMuT z{_F@drj7J3uLB_4EMQ!8{Dbq-#&2fhH>b__Z}U>;OZ(UF7g$$klk*MH=VTtM{dx9W z^IeoaUej3^kN%UGZ;UGK7=Nz$cG>eiej)pNr1{cD`oOmU$nMnn>T}b^?_%@qN}KQ2 zxvBG|{p**OKv%Am^(~}B{QF#(Z~UC|txq3MXY-~gSyed}}5;Av#@Z%m*6oYeW#5%i-~(Aj+{>%E9R|MxjC ze|+xwr;k_8=3kzizi*U2cMi)}YsFn|JP4xC)ThmXP#d;238LZ*dICyJpFyiYW>AkI zL48pXsl9&|hGyV>CT%7w6Y*D-e~YMAFpC3W=a*GHn!J}8>bqu};F)0Bmi=-)zpw8PJGu^P03TIi%^2vTt& zdiKpe(~SN;n=xh@-1qh{xPL`kJWE>;2#R6byu%2q;jEM6p@l#P`wHGCxientz@3O+wRHnm(7*FQ1zAP3pxcPy5nV#qi}Vv;MgvzHk<7 z+G7nwweS|Lbr0 zET6;Lq}ZqV+?zY7+%N9wGkbzXiE~N%yu)MmtDIDeJkxXEc9H_gH-9G6N$%wH&xUgNvN;wOg1 zZ~3KU{Faj)Ingfk1(JhP0SK^Z|ICdT*bS#^r{80d&sYUZf3&9vtquN#GLG#6s8DfV zvP|icPB9$M#o9(7)E9KqR5rqFQSkRp;DX|dY_^Cqw&=~XqPE~xY%3tHnfKj5l>{@= zUmP?|qby~dbxpqhCj<9{m} zbOS}MeuD_n6&7;1WY-n5t=a|_jq9JBfWB*3-%D8E^;T>=R@dDDOaFiso%RMqr`17p zTHS>Zm*#Dhw1#Ko;HUm+22SQH*6wx#`+7Dq@AV`7uxN!md7BvfE@+gKZ`LoOeKAQ$jVBOA5L!m179|Oar55;`iTx(F->`l# z5vNve6JJ`O+U3}myA=$H5B$E*MDw@PDHSE#QK~M)jBT;1 zK{z(?6kBgmiIzbelDdQiu)Vx!&@@rtBN(Bg+`h9IeI;?eZxu>Sk5}Vsta!B|2-m78 z#3XDFPdvrL2gIs{G*2leKP*_SXfUDR+~Nxs~hecG|ko3MQ6|x)2~IY8MmN< znXWTvm7~M6gpaOfA$G9CqfT>UbzLDSzPfU~wwhA>K{S862NmQeuNonjHBLn-1NPhi zU?%KXeA-$H2r9@rgPwo@wb@M7acf|mR(lp%QdJ*&sMqWP`eITL?uj1sLVQ}Y9iP_n z&*Rfx_FC~c%@Xmq=)d$jxE^mKi^plwpMws8dF=R%`~J1~G_Tb^h(L)zEe5@mjsg*; z40s5Ry3l)0<$Pg=a{h+u#pn{FRK8EMk|;->Ec60&#rm=eL-*!{KR zICEmy8|d*}X4wZ=376ujS~;i%t%A}=aF1b{hSPA6bvZ0Htjn^tbM<|d4i2@hrOX}v z*jW}T+pcVcEluRzg4S-q>h=A29Ea8KJfpFK&v1FW>*q=aD4m?6a?H zt-bczpS9Ls%edmoc;1YMTkJNY2d0z*dZ4D1qX(WXOGoMiB3IWa(?%ntj#6$OrQ_g$ zcymW1goi7CC}WcDY$QDmp~wKFqG>jE_8enpPb=f#t!AaDEFDGm!(p>kx%&PdE%I6_ zLXq8ZAL2k`D#$PRxOG-Kiaf(g$tb?mtdwY}NO1~6ku|9Zsl@_q=G(hYo;VQV1%X7X zSar{*Af#e}HtRUPW;I)#%6?=)(x-!v!Xitg+t}6+sRu=HO|CLy7CYYXhc&!2ksZ7O zzGFvjhkP`w3PLx6F7yLdXe%!yQVtL2P8)2k3q;yYQDUy)?P};GG!t&GKVRX%hK?N{zz>Br<|* zi!&@H726OWzr7p8M`WUfb4kWedNhGH&ymx%BHcGE+?giI*A@utTA1Wf$H(%!9VA>w zC(d0sa0vwYTLbRXE za~@NArpM!%47}EV-k6Bjs-6iFZ|4k-*J`{mir4z}jU2D_-1H&wT4y(9Aw`}6c&+kT zL*upZPAt3hSS-C4mgDVB9L6!-ULE@B_D`MzI~L zz_A^tgdwmUp9^u=jy)v&iM`r6gYU_M1@aVYw+DEZpi zw;T0uFR*ZzilrnN@=kNrJd|IBd{c;21USZ*VaY3PkU%fZ-KY7ha?^aTniG;NsVfe_ z)4vjFfdlZAe-x#qb`QNT-!9M}<~sywZoZ8;_v2r!0BE&4BuYgdIe#ofK@h30F+n~R z?k8Fk4wQ3RFQ)^_Gc$BRQxP~(wh-DX(&L2gS00}M*w0D)CiSpbc#=5xSN|)L0Z2sF zF&xa&G%a!m)Ye6=bT@jOpOMxu$P-*1hUuZ@`MJaoe#`ARa9}{w8Z2r`aVQ~#jv)Oo z-;TGZQg?f-&tlxRZSCz)jHK*#ky@!JY54a%4L6cQo&>zQEQ0icDZ~(|H^R z#;{th^tE}YH$S(*!iWY3eQX42iSasP@dM8i`W-^&+u){oww<)j=8G+_D!_&AO+=oz z36QIAi8Sn?ZOV@i_Gu=HX#{Gy$jDclNGm@pNsrP94x9itPN0(u3_AJG7@agKAI;L~ zWLK0TUP?|84?W?LuFV(Zw6TnA4RT1tzZ&%LqZmE>_IiDOD--F#e?83aWo&+lG_Or3 zh*u()nF!)?Hl24y2_hs;_qCZQB7qwE1_os-2IQk4J(OR`r06h#K9s*end?l4+(RYo zS+*e0%`Xw@XNr6|$3)g&m!3TTdx5@cI46V9>bBO|xd_$F1XN!>Xmsv2E+*ZLL{58> zP@96@G zGaCGod&ypfyfjb$kL0z9^fW1KBD9^nbdCNW$!jCw&r?X=YsAt-=w1?zq!G(r(uno{ zNM4vUTJ--2e!h)_BPGP&XIVAUBQMiDd0(r}SbP)uwa3}Bsz9V&VrDN1E4kimk#-fo zBlPqLbf1bP_j|?fxO#eAbRWnAHUScvBVDVIV7GUXAg|Tb2`2q1uUB*`J|el_b5_`S zULmIC2fMx30^Y;fvpo2|=u?%r4TEHqx33+~IGwRAu4$p;H3BqFEikq)w!rWUu1#AGHXX&BlvUctOY$ zg!D*NBk=rp*uxLhiI6W0=DeKt`9HCc%rJXN@D+Pc;RWxUa$&oepL+^_Z!ezQv?>!U z9hkmVIMS98}VrCx+N6aggp|6x6W#tokQ8f-~Gs1|_)85j=^Y30FjU>T$yf$f-efkQ!_e+6}0u)m{@MIxuoyt z@%hKWK{lQEn@ghz+`;}4#Q()22sM3%_9)FqPiqk2+}A~1 zeoW>TIY&`4f1bpArHOwV^1fT-am2jkMhr2CA9VG3#1C>$0e?&*WY=|5c=~bQaFaL` zq&0SvupBuhT|Yl6w_Y9ZZ#3=d!Tv^bZ(~$tPbX4^9nar`b4Cz7M42c}nlN<)(^c#u zy&UJvwh=np0bzD$=Mu^K^CCkuW^iri*~xkktZ7f)%IEF6s~ADuStQ77ONcye;&(?N zB9B?{-4RGRFxeE%T%aw2w6;iSon2&zKL?RAv`U+5*X8!~$@)I*p_hB4du^WJQE!PL z-DzjE>pbGUG=V?;yA<|W^A(JjkNCb4q_s8=z1Oasyqa$SbFNIx@4GPa*?`YjtLe4fCEZ{fvZD(~W)l={`2vy4@mrwxn5r3$J&>(cJDgB@p$@x|_+z#i)F!z;6hzb}2|lE@oye=p6ooFF^zU+lf>M|XMe zBE=_(2Ef4zyVGx4!$9!rOA&z%<`VgfiQ4;9nMm z8Z0z;7F-M14DcW@*(nIM!c%^SWc}x^EEMUnAk+vT7hW)~#C@#9J~$T4we*mklYjhx zckzk`*wodBb&Z*^Mu=>^fmQtr z*7)cl8rPb#P-KAxA(-SYHp#!Q07KNc5Dr|d_v+td=Z}}%v+RK-Kfad~pOn0ovt(WO z%qk21a6r=l!kKJrRcvezp@aqbK~ok|e;oJdhwRbqL(bwv_WC>KW{7O< z4`(6ul1BRwZNC}LGU77?b^JB(phOBlKTG(uZzx=;0Ub=2Vj2aA!!?XuhbchQ4W;w z(62poz(bD_+DfEt97?sBusZ#kl{HbOrmAe64n`A=57b< zk2v@TfEgrQAdk5u9VKkQyblueA?Y?OO0W%kg54hasfV5wr5&&ufmb*d3N~jQ;~M!x z-2JznVLBdf^;ljyQV+%VLYDc&xGY2xhR_CDp{GD>t-1aI+BFb?F4!oG-z%vLPK_t1Wp93m+eAar#SGBMrgaQ=m6kZEXn1t3Z0D@x6WFgXy zCI)QkX$2b%4CeI*@YS9jLi@hz^7=Oh=KQ!&%y0e3VGpNApG? zB4v{4o^~AkTLx2G+g$j?W`M^Pq{hMHh_sR0L{{2~RAvVFvrZ^Ef6=t{Ww}r<_)`sY z<+^bFZew)<5Aa~CKl{QCuze!S#UQU=<7YZ&hn=JMIq(3M?i5~z@OB`5J@jfR-yBN% z_0X$;%I2|G^^oT!Jof6Bf6qd?_kbuv5mW5dd80WVpS^W;hb^KUWbz(h`FwAYtDps8 zZ-mIxmOT$>{B{4xLdDukqbvw1*X-)k1`*@U;{lKV-7Sd#dK(`SpS}e}#DAs>`xomW zSc(74xRvANwDGk(WNYvMk#`hpn&z9V-XO}WqoG$V-fezE{@tn}f1WxzK>lSM^6-m_&ICpws#OdI~RtnT&_d z1MK}JM>-NYWuJ24W$9+*JPhlBoorZTmAVOm6{<)8(EDnX6%LMjuh7x+>vq+e5bsy) z>|vX56{ovW-c7FjECa$c6d+@uMSP&8F~oaqe=@}TH5V9&_qv#-AkbF9-|7(QjtzV- zMS5t~H^)Jw>;weg7;0hvAlL`h@Y?#Q^Zy;M>y~+ z4tMW7t7(ej>x028=iMxG5Y7aImK6-KdZM(l2y~HdsHcnvW!=fo8g|AxBhC0U9Qeav zeJjtA9xdI03!n*{lhFEFIiY1D1$jQhvLcbLF428@2rVm(O|&T_>&--}?>Y-1Sx@0* zuF0qHGU3KkcXkZs!8_k-5?a&;~ zDJwE{g2!UzFU+x6*14LKpM_Ygr|`1U8`=5dtbuiBi&R^-)Npyqd#*?82Fl_R z1~7bIjE!O4Z!oa#kYC}lbKwEEjg7;r{$*?&UiG(Q|EGBOd1I5{RZGVv!K+@$+v+sw z2gcI0Vs894I0#w5p)Up&ryYjtc4+**~4atx^5@aUu+A$5xJ*HQLYp0bhsxX=j7|F&I+qeGFf9m2A{k%~~H zmHo4k{d39yPs7%R1E29It+2f<8=cNg>5(_tKfg&eAle{~xU!~)YV9U+Jr`0koCX4^ zI-cF2==lakUpShFYHbE|xq21E=-$}TZwl247BHzQS2;e4hiWxS81MM@0reZ)bL5#A zz`NW8@E)7w{w~S-kBZ}$2S>&6%e|w_{1T1Vy6F7lwN4tvX&)>u-#Bt<5H`6b!CB-*~O_Mke9M(vdOMJU}2L zY?LQw8$5Y_c;>HjlJH|^PLv;UK;d-Ccrx+ZGCgZHzt1c@No>ocC1BG3#a7>Bt=4sZyW=M6&)zPV{n{NNWk3 zf{Wt#U7DzD!7==oAgw78S}RIo=$-XA9SPE!BB8Y+da0exFSUteZ63+%7ihXiT4VDB zHSeW@bcbDZp7Bls`!~P8PRl|_be{2jB}i**>Il=dzeqI?jl21G;KA{Fjq$u;|K{;@ zj5ybLULJ9-@%%ey(0Ha8|DX6kUfz+UKF29(qC<*{NxC z*SaG}L+mKmrCK3s7bLk0YTisjtJ{?w*^siSC9{M0n=7NZ1%U9zmwY^%BX!kb$@{P4 zbqSGX+lX|Fols9B-1S2mQ`$x3o7uB1>coWjG42N94>`zmcOwpnsZ44V5$bLrQmKtl z_Xfe);=5Gsi23hZ1e%sF(mcUm>aYm@mIdN;-v;lCf^>&Nkg99|mAVidT?V0d$^R;P zceE(a*Mz+N>U7h52y{Pjo>@^qXa_Msp@eo6ze9R@1p1DO+3!6)E~@9J7XZ84PJ-Ru zABplUnwlH0--&r`qO;vci1Q9R4rGJ93(&jQ5vjsPoE_dz{e6}PJBYJ)#ruRdkr;ZH za7<{3wMX04M(*!G=e4o*^w8a}7Qr3Ma6RqE0y{f8`&%7^R&Vmq9+7q{Rm0e#FANFv zhxs<4H7%b*lodg8JBUAIsj}nwA&%OdV93W9cGGxw3NHu|$=B|o10>j8m8FAv-&ZeU z`b8JntI!k4;l3n__8rH@Jd#N6HrS$~_s1e#+)m`I>-4;g1F0*rh60KogkGEDXWzP_h5bymga3C(lCK$<%{$ZLPxg>Qd&OThm6<3zj_Zi z_&1L@yH;G3w4rp~kRaJanjemQ1n`( zTgLy6KazpxUYVYV=k{d4$@bASj_0mTkK(!SOy_XE)u}_`x!+itg_MP9fae}P>>POR z|CvA3_x}2A{Gskj{Z{@^Z)7Lpo@u7^N=}{lu;QRoUqBIlaD`Xp{y`r?t=5hAx*{Z0!UA1}Wryl27 z?a8Hsbf(VmLq!8=b%(h6bXvJ!Wgk05?8DpVg#f4umt>zPpA@ICgON?7pB2BO zoVqpzsedPu^_}!s7WJ|O1%s2-uPi*kkUZ^ozsmx;Y}Txdy6#N@>I!MukS6r^j0}b= z&soxunoTI1L}e-aBNZ5CjZJ8+uo*|PG?#X}oe|RM6}PrPg+vaeJ5+kh2yyF0m!u1nd)mV|ad3JcH- zP4Ax3xD?XPTECHgWB!?jZzi3$339b=g_sPsGo63gItG1pisfs?i?#0ZqL0{zmnB zlYLxrHwtvO=-eDtEV~&)j0PD5_uif7uN(G+ampJe| z05vMu@HW7?Lb4I+sT0|$R$AD|cp7=6`wLdFk>?Y#(Uya+=ykfU=m7YN-VVN^-*{FWJz!0G zR@9W=yL&Z8jBMqEV2dxCj^3s1wlV4W; zEKMf(`4hz1<;^2JkS4#4$focHAy;lNc6#<)8wA+~#Yekq|r zh$T-q!u7XYW(0wE7i%KjR>Y%Yvg43?LjpaD5a!wYdW8+ko7q#T!tSCKqoJVQa~!O5AO!svq<_HGeX!dr zdwzOs!A+7l$-zx9W=Gj}LQm?3vR7k*vzHsnPJ^NBT@qH)h~-_gp=?*2p{#?1)e_=A zV_7v^WUP_LM1P$?+lce6RRv5a$5^5bj2HrKS26pY$;x)aKK3x9i#bwS2#Ed-Sl1G; z@`X4;{wlWIaDcg4Q}Ytf1I}CQ-X9TZCVcTId_CJnoNeAuS=a1fUkiB;MpnXs4G}Ic zn@HwKu%lgIm{+3ylOgZlBNZSExu0Xm`=`itQ12=SoNo#TVn_%H&6$2}FFz>Otj)FH zC&J#eIrQ4zT6w0XX)VCxs0H9UsI2CpNtG7g>YJqUNx6F1K(;~!Y!eIjrAG6;KMQt9 zD)a2LI@p0{ew5@&9wU?yq;lhvec<|`X&T;c>keCRupV)&y*_DVZ-h|D78!XQA!Ibo zsyt`Y9DT8aCmrVe65sTt@}Qt|#yDnKx4|(3V-h$92fN0=Ri$37clgdUn6DD#ODXOa zBsUW2S6XF3AcO-!Tdb&51SeYk=D25|S0fVmwbcNw0bx6_<3hk{;6gwn`uoywa0JKW zE!SHsAyR!+zoxk)F`p3U-jz3y;2!S;v;78dA8o5S9I828 z5_D*qh9YVPjRoAr29oRsTKVhRzw3at7t;{J+ue;@EI5$O z-btP|rr<;}(qbK&n%)Qb_}#`6-Y)APYZo3N@2y0(R_e`)GNj#%w!WFSew@SQh8e9N zt&7LfT*QU>(pZjoLLot+q*P9#O>R^0#MyQf0cz^s$}X_ z=O6mCZn%}y^V@2grkputWusNU4@jp)9GS-Iv+5ZcWr$*_oSMpLVqvXF7uONFdV>+6 zcHaprN}4hIRcQ0SPFeM=;C#fql)Rvl(2dJ^O7KNSO7Nw2Kv;Gwu9K`!FcNGpy__cm z7wIwLZ!ICRZ-dhPTc*TsT*_nA@c?!%c0>qay9F-0*r~!oT3rS{s47|V?i}b`3!xi% zuu&csn(8V0jnJsIMrc%DgYwJ?rh;s&8Hmb?C{HtaQ^#}tZ!ka4HBzC|`Yi*Rwmvu$ z(8dj%4nnc`r-VYvX+6+z(m53=_qL-OxrfO{h4URBT?%QPr3W7^Au_n6)VfNreU<~; z=M>-^p#bN&9Gp-sy6{!T|FTExb~o^&TS)ohgcXUBZvzjkYLbbNk9SiP5C0AMcsHN0 za(u@Ik@_|%PoA)%ZXj0PPK^>cVMYJ6h!Q9_2FnB<;6WA{e<^pLu%gJqRD=dGn7h$} zgOeF|O-} zWR4-=vQv3tiossKIQDw*_&M3@7S;sdJ5B5*%F8Q7x-F5t7TF;YK2J4#@OT`H;heGp ze%R*>R{um#bSh;}Bj+xj@r^MU;A78^$F_c@^Vl~q7kF1HvyWR1l~!l7{|SG^^7`v+ zw%p8LdvKwgFsazC4?_1!3f9I#kVn~USaLQinB~9)a|&>wP=E^uvDpg`_h^H1r>{L8 zWj1fA!Cqq+dli0D{M+Mk{B_;&ME=S@Zssp{BY)neWWl=g9TRE2THt{13S9+MzEG_u z-313x57RKs%*PZI?sy6TKW}j$RI|gu6F-HA0b-|PKnHDY9tOHeryl3_5|Q>qg2NC> zhCjrC9}OFXU%l%~D^d^r_tZM>>N-fR8?Ys|ud8ie4>$C?smiavF!a0q!w2biZw!Y~ z>Gk8l!w4a1d2YOBx7rph6xH28Y136WB9$_#t%0!qX*f9UeAKvcppTmLxBRI7c5!ic zR!*X%EKKKfkEE9axnUH{Da>T~8v{6>8)#P@N&bIUw)0Z5Nzo6bu$u;~Ev zOg-`~Hy!O^*mRCOZ0K|L-z3>|uKXM}o$>Cs{+Eoci4E^*zz4Ja2t2DUW^psiDuEo4L3? zx9X@_pX>Y|@)s_E`M`xioy~Nb;QYn(xr9l@c6|^$sZTV)WE`7iCTFt(mjf3tU2cvY z7bddVr&USRxrU=Lb^Yk-IvN1(6J z)YGeaz@uRx2BT)my>j0XHivL_0WI<)4*jnhi20g}bQ}9K@-I_9r9t>_qy6PvhQJ3B z_sQzuk03cr|6%A7tZ5GKQe(d<&l>CMhlim{oAk->5DBP>b>{*$8Aa#e?@)hO@6RSa zACR)AhF8qf6oIL|W=9EkwEZp8E$)#^6iqALZlPV*TJZJ|-o7_{*jBu!G|-L9UsH(- zZ!gccZ?Sl@1gSjVL4qOQFm*B$p@2(~z4>;Lwkn_HBM1&Lnn`ReuV;?DtKd~Cbsr=m6qZN0r2ZMLy-;e^VBI^J12^Xh1ao#@@ zk7S!LE|E{zz{XsEFdJ@-pso5=g98KH%Yt!!LA5Q+@&0wUeU zbDHg_;w*&&H^QZMH<9akt~8mwQO>kmQRGr^;AoAE=RY}4#X+Rixr%xSG$MBLkL2*z z#-AzrSEqTCk(v76g2m_pPvZ+523`1Bvc^BAb6)BH) z0sfq(e|5F~bA|r%Aw4s}{h2))`+GOye=p4J0q@Rv`ty7Aa&G>2Y`VOo^dw#SF<*Xw6Lj`jMfv`}Fk-X7F{b&VY5)sb8c$%9S7U>*iL_ zg1-Y=@HqDDDxfkqvUtY|(nI;VisfS~(k<~ShD!MFsenD=i`>6FHeF?=>9VVrpVOab z^GEUa&yS2w#m(H>k6^X9u6)=M)0LNeWJQs^#$-SN-;qctj?dU&Z~SQRV6XTn*NUyZc???r{e$%n^#R`QAO)jpf1H9L8VUw)b4(omaESJ%?N6d# z7q051jF)T(A+6G3_=u+qdMH+R@llcX z^6=7sXJ^MojsG`Mq@R#*U#bv3o8obv_25~@$jkaWOq_c~T-GT#oAD#7QxQ^r+X^ks zk+1!fZ`&C!^A_y_t*{9+eU6;fDbSnkbL6bvIr8ZKUUok5pLXDfAt|oB(ng$JD>I4n zL;MJ&j17ODO8iY0fwl|&&a;BN{H#Dv2;oSI;165imY;3pr|_E8C3tzLT%>Ok|FHqm zbEvpG-adH>uTASZh1ZsM+2P+@__v7oTWrMNn&LYI=iAZInoQ+IXOnm0962o%@6R@h zP&@I5Y{c2-J0Z}UZIK63n6i1hO(;C+q3;UeGpQcu8IhhA@T_+sQv&4u@t;n^4}&MJ zTxKKAmX+B=PJ5p?JMbe9gF>JWwe+k&!?B@;aNs3N+)&$yzjJ`}bQEiNB8+c<^>+Zq zHvr=sC<4@>Ka_lYdU?^=#N$l)52wzNuWb?KSsJ4ze`khwLUA;n>u^Fx=+k8(&R*Y_ zr0}%h@6A{t7He!iQVC5PfFI=pHvOkv|LM?w=ITES^q)og&l2dT^R%zg<2-}?{{WLt zuOQuS6AL?VAO`|DWi<)mW2v6P4+MW}ui)1l_~Fl@)7Z3f9HU@=XD_j|^JVG4kF>A} z4S$s?_**R=+H24d52c<07>HoE*B6}?LR*OcvjNg`uvi;RKd0Gzord{64fA_ipWl`g z-yyXadY5{mhpw@yONzT)fVFt8U(+Hl_iI|Q#vlBGsb3V*r*27H5WNA9v(-Ccjy$@_ zEU(x^r4WCUjW}QPognlzf!=P5ItsE)Y|jL~r~h5+*5dtXDml1${p{05b_GvC`cOw_hNf#tH<5oMKA9CRwHxgRiAR;_+wL_5Za6nAETP^It5{DpF z()k!U0jy$7saY8Sy-Axu8^y^UaHRl(`&?c9KW=FIVpBuQ(}rj$vKZdnRz#$-663K{ zw#c~Kmu_0hFJWtA_i3>5VLfcP-C{i`TJlM;UhM@MH|TfM34q z^(KJph_nNUQOeM7VXsMzm5$=;7BEHsw;x3Dbs_T|t=zz^%WQT4U-uTjm~Aiy(h1g= z`bLhFWNR)_U^(aBl@myCk9VZ$es);&em0fg!op{MICmf%SOLmGb&YbtKDdH~C6RqK zy1hm@`7lB*+QLS1C3IsOA6`0<;aE@Pc{N&P(fW<-kH7&OQ29OQil^*)*7p7Ufor{f z@%b9R_*|exgS{<<8sW694&&FF-{T<>OSuI;m;dG9e-#Xh0~dD_!vo<>d+#2&iGi@( zo)&%+gUmNEc779MGu^~kjGLGXm%vTTz+&Sj=1O1R;3!QMZ(32{0IuKF4Wr?2*kF{a z-n8;rz4TzO<_>gwM|AJ9;K1b;gd)3a3DXFpIijjh?_mWrqiCho6VlPMj5%APhF*X>K5^- zTVR^HTaBqZ^dp$MT|YAJhr3p?sjG}m5Cjz&{sudP7epVjjw{`-!+Zw+l)*&bSIXf% zRuiM)pyw>47uGY|8i!Xf@x1an-0(OC^k~8Bxb%P&?aoeLPGowTeyTiz1GlCP(t=jM z&a|Naj#PPmNU7q>h)R{~l+bHYsWLw!nN*pbVU{X9bept1caS`}JSIf%(=`!Tdhl6CusLym4pkRksJ z{NKxv@7|%ykhenLQil9t5lr3MMTQLd+p;7wq_s7P4EaYZmm%{~xeR%Fcf1U_b7&c| zs?{t*;OfYbAK4;3re7T$8Dy23*{WNmc;fucka_xwRx4tQHdVjZy88{&y;fTaLiojY z{9-t>ovdqSr;E6&E$fl1v)J*XhP1kC`L+JSI>MBB(3O-gt-!-fH^SRfwpe_2;%~CB zwc;GDV*M8)xr&H%YYCzAwm>)0!glu-cC;#hcolH(->AI#69}%kMF$k;0E~{b0=j^k zx;AoBP9^k^R_V~ek%ZQB03?5$OJwk~h+g{FD}c0I3pev!+{9^vA6xDGhht!fA>tfZ zTha=7cKDMR&;=^14KCo|&2}#Fb)W%PL9Y-4^8>USDID> zR(#~WMwGVY>dCXm6A8S#L}!=p9zAtBJMNxrwi*hulK#COL!2t77l2i~k$pQ40$Lb1 znm6jk(y0k#xuqG%lE2)T@KS2lE#-|O^@Ws&nyskYUB@lto0R*Tt*CfU&5kv2|M5gP z{0WbGcx}I?xwcy(JJ0f;D|#8nHCvIZr99ubft=f%>;`gVi}?ofqh`2)ygJNpAm=Ak zk&^(WKw7`Finn*0tN0zS;`0!%Vl*32nYofTb|tH1eOx7Tc_o|mO5WbZZ$ft)V){x$ zO#fh)6{!~|d*h0|SrB~#0{rsCH&+;Mve}!91iBmKyY_Cc7MZJGDNX&dTQgpK#$G(3 zzqo+E&~GRq>wZg<6|h_E%)1qgpSz7epF#*lp5)IW2lZ>n?pL|z;#*&I!?jh*7f_`k zSg$k$>jO>Ej`KHDjW=`In|ydv!0*QXgQFQh_FmUyMF4Lw7kJN9U<@m;ix)5mJMVTz z*wu}mpaxfgA(3jLvp0GbI5_Lt+u<1PR)>^OnA0u}yai2FZ;FHvLh27xXeNoEe>BVl z{SGeZH5_;n#gs*(@t^CB|0JRD??U54R6H%N;@A#iRGL4;i26fuI|$^xSCo(ycCgZ& z*1`FN1*#Frn%xpLL`gU2$}Y{{J8@MWk+WZ5L~~EtI$~+lI*Ifk7*2Zj^k|VETM+X1 zmHI}W#P$k!T=aU67Wu9Pp#*zb1a9u72OWZcpbPuw!(U76f`4Ef_HRK5mC0$>xoR^! zv|sS=ws?ZwIQUQY-M?Tu*Vy$S4MvOx+1DV_Ze=qN;V!Z86c3NB@nDR^e`YLxgd&9G zwDG1|ouA<#5c6{gq2dEIYwQR=!M4c%x`gQn)BenU;PNga-jK>^(Ajq4f88R`i5|Mj1_05|M0!%WI%Gv7oaVlKLE)bn(e2OW6*P!?r3nS_25R$Fj zG=AlzmB$F@ZO`3djm5X1T|{10O62(kgtjh>fKrzb|0~L`;Pc&&w~rO&C6?|ci+320 zuYa3OO(%Ol7wKmZ7UGHH-I_4sHz%&I!k0xJG+Q16F{(oHr|y2s7~ z>r4FB<1Ac*%-0C@HHy>|66w4)Bi^2v*Dg9kILK4qjfe7Y7{+gBi|CC#qkXS{ z+A{W~Y%u*hUa=bSjlO!B-v0zC`4UkLqBbe>vqN%ANZd(})M3dLR~ zfTU~NNU+;G*CSVG>Zm#~FT~c|&Erpg8p|GkO*HzwFzNE zVlhJ|Ce0r133gY#5sejM$|664tx6`57Pd#~(6?|kjV#^~g0!|k3BG9M zVVc+uT=gOk7u5cOH6ebZZ1sM`_bh4cB0XH!nx)F@7p=%6ts$Vf3Q|QSQ}VJ!stu{R zj(O3_^92(RT~n!~zi36S?ur77H&c+-lqlWX;cq+tJ6HK^yA>q{kg^-wD-6llViUJC zkSCwM5GPNReJ>0dpJV|fvC|VWaA=TZeg2i~Sa_0(0wPs8;ASxutPiDjb`IB_^a5Xj zc@@&;iqa)Snq@OGT{xR@U~d|PKOuA*WT@~1@;%o$Maz|T;y>I)Xgy@O@Hbfqt>4nG zX>uB(!H)nW?{XM^EV8SJP{557*+q=RpcFE<5!tms5BmV=WZ99u_<%^|hJJJUt0i@U zB<2?wW-}fTok;b(_eN%zM(|IX$|h!W*MO#}W6k;Sc)ri4r$qC8?oW+|X;=_-+NL|i@cf<-zMV`5F9jSd1F&5;p&NUnri?BgegO?=T5AxT=}^r~ zQQpiQkB`NVhscm-O4(nO`|1#|ox2s=(%p|MyDoVhPp4f7~d zStRI{@<8~sMuG>tOi5FUUjQo_&uInO%M5#sw4>2JH9Gk{1cuV z*f=}Hzy4=j|Ejq8rfR_4zZd?=w!b5yw3(ZOxoxC>qX|lSy*CT=BQ+-;|9NIm{<3XlWt-!qu9`ML{lZwYtWz;R(gyyJo>fe;j=2knAXVNS2r#hvefrJlQ9(_HH- za$Up9^K)IezNH3Wst5<>^7L9G*G1E7<$-_cJKV6p|32NY-^3v=Y590N^nHuPJCR5- zPb&_lM|Gs$n!C6=vX*<4vIR_*X6u&~Sq9{MaGI^-TXaXafoPg7Mv~m$ZGii`4aCxH zWeZ^4|C&IWttPP5%?C%ffvBS!n}cJ|^OztrhDfso;?3XNh5fTx=l#9o$~h)^>H8pD2eS5B0Vk80cBVNFvX3m3n3mC zN6(Lia}bfYb(s=wy>}ZV+$x?iM8YkwLBq}2Rx4kvXjRcnTVPp|ZtF=Ni-RZFdh5TE z#y8op33$Z_aguBJ?8T+m`ue6zZo;%XSPhY_)wi7A-|jZ%++>x?C&Jfs5IT3Wuzt@8Yg5M?+%TYNSxiRE-$P{i zF6fppv%Gd2zgpec7EP`77`JOOokWp`^+lsR@YGgZG?o=4kDnr~E`k$&Uo@>&FAlVE z&=k{b)bYvi-Dh~(_k^44@ZYS_&pL+a#GnWhI-Z=T*Se=9Dxo307N2QTcCA~8RNo$T z`<;UA!c4>Mw`{p3vYuzw(q~7YZ>YnVe3kTUg{w=Hi~p7cuovAVAhVXyKF_R`u-JqP z6l^b@LL?ayXy;h4y>zCYc?9R6^>DSr^J;<5#GaW+@@hTt9NS^4x3KNS>yY`YvQD z`{X2e$-((=p0h^t1ywgF70+4C`GUUlT-^2*%dgez8<)_;5cPlktks-O)u&sqoP z*LwX~XsfHAw{;7Vg1!B`t?{g_WcjrQw-+?p>*D$5dLjSSvsR?7IBar8cWi<#aN@?$|0@%gdN49bsX-NG+ZT1@$|PCTQ}kBOCB@zoA}k@CVb zNf_vl&sYcN$6C)yj)G-~%a7G!;wr)5D&A~jeyqXGPkSZ_Kjl6XKb=AUNOhUg9rF^BpJtsxIU`Mx@GK5`4#d zkofy7#D72|mUq>?gu8Z$;0Q7U2Y;Od<|A-fqdh|SSei&R#rd=q2^N!9R?Dfjj%(up zS*8b-xBhHJf`5RY!$mx+%k{5ZFx~3|6S@1o`aRvBeB#R%Zh?UcWI3P zWe{hW;IjQBc!2QeXx{4x-LaGrg!5he$iFeavkD(eQ(pKpk%ml2rFr7*9b3-nE8_sL=C%;FK zO>0dk%nb>4>uV@VTUiTUOlXf{i!B-64vO~{3)3OtG#ej43xn4~!70u8a9am)5GwOr_oT=O^as4VPzws3-_Ro?|58^~uO{apF! zpE$wOjXaFj4#H1A033VZk4D@V#LuEk@zA@#13>VtsqmOc&yet$G*Far?N6W!nzCe* zRnJYX8}^_YAfH`?ZnSH$o}5-b*j+<6KRj~)JC>}xN8{?FRQ8E zfPAC5-v`rVD{Ue@ri|Ir%hR^JO{7W(@t;mvv71QC?SyXQ=8t-A{s4n#@gAife8jlD zz~8HRH>hKIeiiSl>aWc9!fr5ias3vs{^S2>Mad8&sq8s7AXlX#RI}QFaB#1c4McD{FXf_b@1H!l-;M+1*m!(J=D`VX)scbe_9B~Qie z$L#}gF>ttjcJxzVKhEWG-XI)H@pGqP*R?VF`ZuguFttQm36&2X%oB|5_^Z!qk{srBqlf<3^n7vsQ4 zi_sdl8Gow#o64L>V@x71-sGL46AY0!VYBZzaVsy6k0WgyT*8@9ng4q$GOG$v{<`t^ zR`7$o0hWjJ+2z1zm+E}B(BQMJPxoqSw#nYD=kIEavfY23i|r=F_szR5vgfRk*~t5^ z$TDrv{0RQDUD)4lgWtxjEG?7M@@u(Vk+=RG)cd2p#p(mbM=cQb5Vb%IClq;Ru>T~` zgdqPgKWbF}{vQlk$S<|PsLn;#W`2XVjfW2VN~DLC_x=FDqDi2+v_YwE<$~W?4J)D^ zh!NYNm$;DUNw))i;vAj~J(>o2L%*i+zDC#Y`xhWozJ4ov<_>)6yTX9@`vhb|RIT4bpHj&&$`e^<}w40tIH6D;L*?xP4L21xs|b zOWwxhI}T88p#IrU49NNW+%jEyyKb3o;pfCg-GgB}3{?l8*XSE?e++#7v;L@UkWiU# zF%Soo$kV=>0%mExuu#NgmY)9`ZkBH7kD8^~(t}w#6uaXy%+e1}1+(-WQ^72Kl+`fJ z)u(mCf^bm|aS|%oqUq|CZ1r3Q=0kluwMDJdE<2Iyd1q(YvE71mQW7GY@d)$S4(_ye zB0~fwB6FnVA8r7{aqlFky^`0yAZ9pTt_QAXWq{@ zxX26jn@z`$Z!k>9jhwi+oHtCz+``Q*vu4vVSS%*~mK%KS@kV19!G|+qM&pofG%iUr z8uJXp9Z&LV7A3J8*D7^0dZIB2CH;yTb|+jA)FaWyB2_QvL#&A=!O$5f!EXH2Z<+47 znUO=e1R?Rb`M6!*c>2x3UAy;p8ffPI}aY z>{?%*e+!WyYHIDQTo<;N=T89yOVp6;T5gH_8elRv>gHqU5|K9Yz$dFqln?45*HeP4 zy1srB9Ut5U~K2I=UD4?`&z9?tLv2RC#+~txW`YP0OLf7Zk%wlPU=?W z9M)99IqbWepD^r2+&%%8uR3VO9&H7H46Au7MFTN=a>>BAwkJh z+VJ~Cp8MOdC)f3VD|_<3$F1i4;XH<4=yB`d{Nc|%Zn7u0>6)Wec>>CAh%O^on$|uJ z`eKbqzhvhysGaL|ZdOVqRIHgs_(deq%+Ew=4)nTB0Uwo(Y8O$1xK&7k7ZNQ6>bVCTz|T^9_!;_BY8) z*denCJ7k!!ZNG_`u=T*`x|v1amBEA!gYBOLCTw7|8-dXbd+Fupw3lvvERMgPd@Kon zt$WPOUr{S|soC7TTCe}UMEl=khW%QvH76SX__3H3yToM0Ed!O6VQ5$BW_zPcp*yQnV8zc}z2w_h7PJUg2D|GeziW9pLd zFRF|3FAn^Y6DQ;0h|jQJL)*Su@Lf=gBfnrju22iq%OcB+>lvN4?>5o)mS0;@m;o8)?#`j{Qsmd?I`10x?m?&4oL?tDwe~$4 zcWNDM@9uc?o6oN=JZeQEJ){1J4W%bK3dAkmhIK6ngUpKB^aoib?uWkcK-j?pI53>e z_#`z=O;Me(i8I91p)A(?0UoV}os1?w8kMpf(j7Sz?aCnIyXDb1h)~t_}u2OvcUu1mm_;2S638|iS6k`s<7kvdvMMOqH8xq$}XrgHVlk&X4?pz z?ZEaFoHIL@NY>Sl8UXH$MEvJa^>zIE9Q9o}bbUmsD3D5X{k=ACmcKX6H&)rcPt#PZ zGUb@2(eS!YkcJR9#p3Ou%rI?RxNC4ebRt>j|2q48^RGW$%k+cu%fH?zS%=KOe)Q2n zO(xC1er;TP(fsQRC2KP7D2 z?&1UL<%8b-@l#EsyVf0vuE&9LyuFJ^)gizx6I$J-NbA{=>&2GL4&raFj0VDjB+v0B z?^@4c(Jwt>MN5YAZy}J5PP)ZTsHc%Q+qgATpj|}1nLXQ*7*9uXHxPfwL8iMKaX?IE zn@SNlD1)iqy+Lrc_%2mDV)+?k`Bh6D7Qx@LK%DN|;C)e$?r;cFl?~tm7s5qLqPI*N zp{MmUfHCKUyf&T&@HI#SxR-k->@|BPgyYfxwvlk8g!ua`t453Rd`-yP9~bXOp!#*(`i_wg5Y3UUZU6tV_Al^JRA=KjekQw{Y;K%IL85{z z5|DU7RxV~GNH)omGdK$<1gR3#Dxp>sO?C(sf(w(C9Oj+ARBLN5R{Hka7W;ntZLD^U zx44_YW`l|gT0mkUfWj=J7@+0`?EF9HoY~DL1ls@md;NScvvX$7ob#OLJh$^)kiXme z7)>{1AIx89J-?`kSiC|mHQCX4g;~jX1*wl)dk{H$tM?C^XDG<>3~5bm?q+PE?3_a z$zs%l5B2(sMjkLW0v7o&0Xe&> z#}50UboL=$w$ciyUtC%Nm4!WQ?*^Rr8dmvx-4u1}^A@0GP&m>ZA63^qZ^S=HmXvz! z&y%}y?u%PfwU)XqRBJh0&$O18pSKKCuRR&RRQmkT_@&Y8{iXFRerehB$@rz)pJyEN z9_h02ORt>B2I_6~R5$wqUp{_G{Ytt_yaSD&y&%Z7c3z6>-V%?zI^XJXez*2^kGvs2 zkC(z6RRwa0oG6>~c`l5wJHm6j1bj*;I4d~&p;Ax8r?#?uB8Tf9#hX8cjJrT$M)3;L zs?_Jxd{@{V5%9{OfW@db*{GMgGMIc>ki{r@_nXb^-D^1(E%XEA4|-?1d>iuD0rB=k z&a!tX2p3stmg6Ogae(!KHY)Y}$*`}#hU8^=NIIWZ{i-1Uz~;fL^KE2P=kfBAd@FJu zg8xxXX^T53$kRMZ{xxnGr~?8Pn}*1{1&5H{0_)4DoYhl?<7y9C0fMm8bm}8Q&;3p# zd`LZBZvpThM+Cl^x2$qE? zcyL+19Z9_uJg~kauIr7QmgWc!38CZV<@q)kFkyE}QZ=EVpN{uImQ_I(qiT6#yyfx4 zco9A<;C^*F8}BGKUSoml-izHpR4C_ZR`yi5MT~f`H{agK5u|~Bk<7pxXa4y^@vD%> z7ZAP^;rp#dWpUJ2&K6s#okHXQq*QFD5vqFx9P;3Z`u5~LJq2T$D7K7E(2t?G67pG+ zI0Ea>000a;xi*0(zZ<}lCiPa?z?0S_M!Y>dMr`=0N1l<-E9Pqm+9uE;IMkkH;KO4B z_;7Nw0pCSK@!`|W6uy%Qe34ucF%aV2*yI$1xQT%Cp(H{Ch1p^x1tW%FLmxfb*jbo@ z2UK+7=IfN4X1A-R{!D@*bV1$;vNvzL*&uQpl+>cOjjdv0*N z)a%b(LO%?7^0}uIQDEy-*CrYTwv2iX@$$TfllH7z{-r(3vdM@CTjs$VA6C14H2y1( z#eYpvPtZlan;v5FcwXLhWn7`J{IsP zRB%Xe9)th!PdY`<4mS+k&FEXfF^V6bF^!PmN1M;U51P-KvI7Bk6WR9-AKQOOYUPrh z*1Z?|IW1JI8N*-!z37(89W?WU>LLj`v8ysNts(+gZjvb zi@L9_3BdYa0RYayHSPvz^Slgg6+2vT8Fu=j}^(KHdGLy#kSu`DQ+C4 zr>e`56v{(NUC{8z_)Uj`R|g&L=MO2kvzJ~M|gLO z4dF2j3$22(%9bFN^4&;YYDES8G=HQ#jfz7BT`1I>hMXhD6{((YhAY)JO-6QhSWX%92+XYVu`?`*BJ0GO?%X``uaQ&%4(on+Jc4}a_?q>+x= z5UUd-Cq#Yevn)T$)IWCXm&#L>u|QncFB_j7NB(y2%{)GU{QJB&B76?X8)=dIYk2&T zZ@m?G?+|dj3?EZJIl%#KnxU5_bWvA09q`IVD^kRuTE5-_Vuds*F?~Zh!2v`BaI%;_ zBT<%A@NohY@Tr^?vXyROKq=8`gL$K!F^?8RMNBHW{9quDSlmbj`DO=if2`uiyjikm%`?6?x3JN8S?nQ6f3pWR{~zvvlh_p z4$|5Jby0P~dJE8MQauMec$YeEy@hI2co+5Nq|O7CK>@Ffc(^v|G7u-E@i*%eUIVUh zI=9swbT!PgBH10{@w`mg-R{EkM#8t;A6L2XywO|TpST+4jWKp>9$}<|%uVaXvTS}qbxaxnS{mi6bUvAMKKDM$c;{=iL+k-W^Oke3t4ms!ko=r28Nor( zd{G`tdEog!gAqI>--v8ExFKn)VLg=EQa8##GLE(%vF)P&u6wBe2OW=M`FT7Wypsa} z7)+ju6Ya69a=<&emv47=W&_8*ME(-8&k#N@J!?0M*CDyYMo7>|B+sW~!Yyjm1zp!1 z49cCT&D}*^OH3?(NE?B3r}}j*!H!M_%`VkM=WviN6xGyH+D@)xke<7CuzFQCBtOLQ zbwl;5_kTnwQhY7buX@)d^{Y?TG5tytFRNb_bz}qe`zjNTr51#gnXR@QvOQi_Z?3g~ zH#nr!HPYI4S5t_&gJkPLo4e5kN0O~-Il3;vU(y{NNS?X3mafg#nq0aN%WD(Gm)tM2 zh2No`UTXpM9il}WM@yvisMpq7fMzp(MAsTsP3Y8!W?&=-=g$b z{A1~5_{XNN3#sMoJYgL+ByY4z&lLkP9XS`+*4}6M9I)e!pmDrGuv%GfMG6g!Q?C&% zpqoBpILeTlH?3v3y=iCRkOYUgq7h+F6Wb}&Bnk`MK3G5_Bw+z7E?B?{0~%EU3uu^z z5uOSQSm2-$F<3y|6b+xn0S`u_NFNzhn>n93jf;(fLer!=_PHHF^|AjngZiL%no%s4 zWxDzW^_+OWk=+64XXd( z02rXlH;_i{YVvdF68s-S(Yf%$*cnz&% zIC|+?x|k90p0z2)_S$5h9)GvjMiBU+dNW1+3^uq2T`MYM=W8yZM@X^c_GN>2vM*1c zm*nPLfxgS-Rv55#w{T)6%^<$_RAnpEh>LB*$gBUFzK8z}`kqrgh`vv(xjcQ(s9}rq z(9^@xch&LCW$0@$JJf*d65${R$;N$UGapfM&na6TMFp zm~7{~ZY0+=s<7Guw7Ud+97(N7Z%P6;LeucPJeHVkh1G+rY-B6YVEtq23)OU&+(h`& zsM>^2#zE1>1fAj}=~nI4jPgwe$!)To0liUu;TZ<>Q%|J=ox(e`W)Qp+_&{JglfZTw z1E@M)=Lj?>T!ILR&D*J_KWzcp_+c<5@xWJW2BFD?r&H0y7<01q@Y8I}vz|%}@RIYF zL`fq{znGG=#qv>2aw~p7WOsG(Z#lr@c~+$4uA`R=Y*Z=7)JQ$vBd@UvPR+YQP*yey zO5Mxah(tXr8@WFZ$+MAMV>MFyp+s&!d`$ht(O$hi=>0nkR0Karr#DXsxKDj#J4ch) z2srN8r`G(A1KR6Iw%jKU1j}tJiwF=I2-ba%#&f12g);w}=p#fh(e!?~kjAwRI z81EelPoKKp$Am z0R8$?6wobCS%3x&KtD%*Sd3#sHUQLCoCJ3Uxk-!c9#Pjl!63fqWtQ)(GWN5<@LozF zZD(MfUXuW`Dkx%n2>XNm{D^{oK&zFeju^OWAo_T^MT5n|h zBBAgm2mJ68jQTeHV6cCI`jf{m<`>Sr9Qp`3JFucC; zVRd~j07P>88G-!a$1Onn4{bE{(LSPn@_53YX8CD1tDowQAbA}%V2(DGhjr{vj26q6W1QrL#@A$4mdlObBF67jl~v1=~NAC~dBo5vTCY&rYH zfIuy^S&ceiR$3E_{BH{1<}Rdrq|I$C?piB<%Pd}T+Yxr}K%uw^y_>Se=Mb)I6!4P~ zHRC^fbY7lkK=Qp-R_xs!^~fu2yzI{7ojVcs zG}O#MQhyheEHq7P{}?DW(j357xf;y*9%Vy5N9d=Yh^Vp8K_WjZwaUv*zTg5Mx?mFE zUyk#Nkk1LuGjPkUGyqURZvsSuQUrMCCju<#OL~P^kTc?erEz-7OVvHx<#G1FEx$8;mG+aYAfkwAgxvrJ}Wr8#m^F*@wn2; zV~>r;?mWSHR=k=zTO{Ulh=@m%kn(`qUBb@Kp6yk4tz`bUDKE+^qeRiP5(V=QD=mPR zD{YKI{b?m#5g1sk66%zLYV{b8U zjb*9%!SG4-n_K|2>!`kRV-BFw))Dn!E_LWWngIaJ*4)}HS|;63_&e=BCV|v70WqB{ zqvoQgzJGYk0_e{>NISVAxTWPMereZ{D{T}ZrSJThkYRU}jQpv`2;Az1(9>m)4Wg$z zkX(q`zyKvJB<*rVBa-i8-ea;DQD0m}Zq`NBXCE1=Z&k(u{g?G;?@zm_)^u** zoF-jJ7gCD{j&zYCrr=6OWP?}$_umB^Yh2T72Gn#tA98U3VfD~Lw--coRYp7kO z+so73s9mh|@&{=E%vXxOBdegk_Yjlou!&KpUp_?GSq)7nT!y=(P7}hOD3bb2HIp3e zS`~SgNucccACmWtH1x5hG(F2%BptipXlMTa(@~pw4`Tt-QCry_Ys$4P<(h^4NFg(F z?iM2iBlD>L>(!{uyc-OpUeQGj$?I*@kM$%+)PPbOk{4QyOxvkNJ87ov|3T5t=9Km7 zLZQ=z1Sf0L(L_&FyGd}KslE~6NJ=K>NJ?()NHVv!NxVQ7fvP~xsC&XI@pnqjS(h38ReZHdk<@lRC~0?`Caw(0#=Q$!}>54%2YZ69{-)Z z^4~}{&6kQ);Cn-FEMWc7xUR<>)X}L|`^yjy z64f+dj~>YXUU^CW_ez%k{XrxDd*wj>_vJ?Z_XjSY|NZ@JpnmfJ%m4oHznA~Lke=wp zk-XN1MO=u-d-%|4GtceuOo)5nU%pG$Eyxv=g*rds43a%TZ7Pq?AZHJ`uDy|vghAB{ zs2euH<1Xfgy%)*ceAygfxvMEqS&@R{R5&fysVYX*N<@9y1$j{(QN*;7hCIY-6ufEF zC~%SST!$vQcL>gicUJ7zgAxc-(R#4gQ}y&eoRm$~+q{FSQ|jHIG-=c=;NH&1aEp zB2T%HTx?}ulG=1Mp;wzkFu|UJ2_upo`&o{C+8DM*DAZ}Q9Ci149UAx{C} zQEGL5LR`B|aOyP{9>=wb2=}Jc8tFA^jqKO5$Th7svY*k{F1lU+l(JoaLufnOu1%CF zV0Vx*8-(j3+I0i^<3x9p;Or8gVH?-`I4dmDCe9L^PvnU)kN+F*{gnU8Vo<=RJoqDZ z>@u>|$UcksgJM{_GlibIq&{x#p9E)b^=m10Lb4KdLbMl+!XMh!%T@iDzbVyeh1LJ4 zxSYSK<=5X!^@*X1+1Nq!MINsShL3Rh?n{j=05ICv8SJd zYnF`Zs)B0{R>8*(Rl&#hRzdC4DtKUbmDH!hmx6+`rRFLmwb;mSZ&XWn1hqRILEhO_ zGp#---pWfsE@eGRVDpj;U26G2>c0-YKp)E_k4XL3)*er-=e}eyk99$=wfW`(Z@Ncb zWz`(KvXN77Txz(deoMn5ck*(rm2QZ$>a|M^rOJa>SzX}_j+(1GyI_5catp+Ax}P%B z(gji<6f+#{G?@Xy`;l}aj(QF|+6gSg8U~9x_II?u#_&Hr=Yng-=8*qCmSd}eYqTo( zm|6wboT-A3ovVT!-&MhmvsLh!Zc7!saPFK7J~tz$3a^M~gpZShF_BDBIb&d^5Av==7Y2q)tTR5+ie8fy%j#R(uv9}6# z7{8x6OFD{@jz;D1&MPrjGw83@mLjHv#Sag&TgrKYj;(_HK)msQ&n*7 z=_>fdt}6IwunMmEx(aGq6)d!URR#Cw-%ZswXP@{-8FfzCJY4<=2aoVphdsdj9pBB~;AnS|j zY`kvlpia9zaLXNUgx34XtBFY#@dqT8YW|1p%~c;`nvEdK~8_v*AheT(;cL3x^U z`8HTMyMVjAU#BKq;_)7j^8~Da5dcuSRhS8UbAdR!!E=CDHso{aq{V}Lv)crGTENG6 zyh|OoIGMIcu8RnGjWwLXZS@@Br7-7e5XP~Y$*XK0=ZTs^GH=?wfV;@xX}k!J!{lop zYunro-Q_#UmC-6_sRs*WGmb#`Asdp*tzmN>&<^nU0#ep<>el<{(7XlI4a-X?dmEA7 z>+iDwSJ-?5phi_!*qqPtczM1}dxfp$o_mw4x#eEEn$i2{Y8KqbR`dA1$<-WoJ=fSg z{%>IY^=SaO9o>$gV;|)yC9G3}PpB8~wSbba`4$QugdZZ{DcPDc9my5ZhMcP#X#foA ziyoFhDMAIihpglokFt^T^-UG;@HoHqW|a7fX5TJO_V~NKS+1?Z4Z5%IcCn0?!f77d zqrE#MK2Z5SCpgb~e@h_ybA&5{2vza9E_)Af!bNj14Xpn@nY?d26Whp;=kH3Lcg=9<#_AoOpcNc07@{q!s{uw?}| z;K@&O4}QDoQfO!k;doFV6blotHzi&lKlJs+VP0?KC}6yqyws+PZ@C?MN!UF5c3x`Z z2y6&|`#rcP_H*hRHJ?C5v?9Da_IzB|8>bTZ%tzQ0BwtT}XjWnbuYe&Vm^#b|O17Hm zauU^|!F+WiM|z(^(^ZOQM^FUK`NvM9Q-qj}NFHEo9hxCk=kDj4;8qO~CzX z>q4W9fPibPVG}3d^|r>L6^j@yr!7q4^1BNtE}IuoT&`TmaCywa!4{~&@*j~Q1o=6e z+wmpg{;M4w+N2@&Dp$B{9Jt*hZ?w7IXc zqNYejEc(@R3+Q}`fCpDusiP78O8X;`+F!k(>n`7yT$#0#$qYlLH*rC7dS7_x^d>E& z)7!X!O|Ni4%2pll&skLL(?`NBy%dek;a;TV_71LlS!1K2Q2UuSWmPMBbb83Xi%T_1 z9_i6_B(1jrmJN2GVHQ1;q75$&YPi^!eB;?c4R4-LHas$@;fZ*%0S#&>$xVLa_CXB= zS0@{;8PpKHKG|>)q&AdKNj7{rsNpF)nZE&yc3=PljRrK_uxZeteP-b1hgpf6%Li^=Gb(YjeBkD$s}eWw7`T~ZN{-ljJss`tOd23RV&Iu& zS%Af$SRbrxh2z1-y5TuCIyfdP7{-e;e2JcjCJKXWe1yd&Bwy!td?P4zLAS%GM_B>`MYjkzu9jZZb(b~FN}GNyo^*AGIqxVzu8aEW zg1|dMkXJ^u+Z-L*{f-W;jBdAvd)RhcN)PYEh(SN3dyM@?#zB)@xg&5Sc!OhwacR8I z%*DMr?KhJ~i{5&V1ze(xus!(d{Nx^7HlOan-`+#_VE=r!2j84;M75B|Qu;hNpBce_ zS)RH_hvBEs*$D9&C&;U;jt-ZvXe{t%6H3E7kBD8Gh5Q*wmot_A5i+y^DWx33bt&PU z+uShVHS2`9&!v&M1WpgnH>kQ%_IMx>EtyeixNHs;Vxoo+gEvw-$m12ZMlN=v zuImie)A=NNu`|z`a4fRi54rs zo`^OtRcJXz`!5NbCsJ@2Tn;It=h6h>p2)n0qFb0eyNjc-(4?;y48dg{3=~awDdqnt zy0-R5Fc3tKnl~dZs(13rJWga6*L0hA{t$lE9pYg9a$P4V0R8vSG>er%Cd@8F zh5(d71fU`g09PZ|lm-ZN+O=%g>s*tW{s;Kb<|R?qIgg_3=5mU%9rGB5_Y+{{o9b=Pfl;TrjYFG>4?~vuiVX_`A=mr@-+*S#j8RzNoed z209S@-RCub(XLWfbo$QUUHf}-%irORXwTEIvs`+%Q_Ue|CX*@ZB5*t?h0SF%bp`eK z`YPZSnI@TQM~~+G7;$IxqeQnFR|*4VGXau%XV;G8;qO9l^G`u?f4SbW6JofIiMV7J z+~+o^VH%UNU2oZGk{F`cspakg0+0}MdHfF|P*#4X<orH)+@Fzd zY2gU62~Mc*-b9nuG%~XMU$ZMe^S-P7s%nUT$`o)JfBPwf6%uj55hPMgsiS?cehvep zvVHv%y?MU=x!$XN{kJ1n7NU&9`H6T;z0aHl*a3+%RzK2toz!rsB}OE`tF4 z!HDii=DXls#;!qfT~NTQtkk4=9Leq`Bv(Y{HQYK~aGv!}Ow5sNW9=132ic-y2FXHm zkX#uhpNu7hqK;yN*9;bl_7@K;6b&nijw()W(vRoTO?r)sZqhZyY?Brg4;7E-`Z&5P zW9HO&q}26F$e-5$^$fpIa}Ioms(zx`Yp8+XhRxnfSdOM01}PqaB~X)pt!!< zNMxWavIx$8C~czVn2VFd^)47#lFs>#9r5*7h);++F&sn z<|ao}J!2rBlJYR;abAEgwBU-J)ZOz5GXQQFSe?!ZxRXE&`g@GZQae4)3zTn37fk?Q zu~EQB$qZoq-;(wO0^SD*W)$)GV~UTVyA6DtWFD0Np(?q&-H{3cR=Ao&2%JS0$XD{iprlcG; zub#oV6;IS9^<`C$D8r`)pqcN2&7;!Gl#(dkFYU3rq~0vJ*}(yztaw#AZ-LKG;sEf~ zH3DPjDc*dG;EY4*WoCPw!TF9JA#9%7)LgLHoUW{kN_tjxE)GfUb}96#)Mu%EvJ^H8 zGfZX5<59d@+HH497qhCZ$^+yZwTsGObJ+~DTUi!$b3>N7w&=3U?C6jy-YnbdIZ)Q{pm1a%p(lMGQ}3^y6)(f^sHj|Vpy5cT@1p-G{J9l= z9kaT8!Klj@dW`_x1p^Tm44i=_XNqB9Pw1#QbFZ&8>hiU`Ce^)}1p}YDVBjn)Ia>?^ zhciFSY~`h$=~dGC=W6dYfKEm!&ZaYbWwtRxjvE5_mu3$Scnb7}u_IzzXppEo;wuD% zkQ*Hei4GgVkPgdII&?<_`~zzkunyf#@U8Pa7Z&g_RL~;eZgs>BR55HK>K+#&1Bi{K zNt8Y!ECC95RYLW!18pV~^!DAw7{OgbEuY8K_PZ$mnLJ?meAFhpcjgbz4lH*i*+H|D zvV)A-lpQ>L7h?z4-DOFMKW!#FUcJz#>n@=`_Kyll6sp3YsHuJu~M9FWV zCq6`2VC!=S>)(5SVk1$-V5;*{%K%dhB1FX34e=gIb7?NBHP&(%*f0}Nbyz9k=+s_J zF?FEAEivakS$(iA?4+R&S&F-{G1iZVH#aTFy0cZbv&2O%w4lMD#lYUkJkbtpI=$*qj3? zU8h{-y6VHqy-}$@t9rk$?-uV~U*GNCk9>V|#77n?qpXg7+YsI>aJ%XGvh!@s1f<-{ zxqL-gbG#?$?Y^|N*Jv|S^f83blDoANkn^lK){S?&q+_Oc%rrCFKIGgBH~&zl^}mAM z(R^;W{892lHdH&B+XfPNZk<&)kE%LaGg)3B|0ubkWSr&>sIc-pvHHJ=oodJrOK^CJ@1x zto_1S#uf^s8K;^j5I)4?ooe|kWBr-`K9hiDcatoBCVL{XyOCFxaitArGcR4_U_I1z z9Y>0-U9jG4*qrL~DPLPv-%;QQcbp$8sQF3}7<>9oF2EoLU zFJua)Rn}Mmb>k%Bf4Pl%-n%16S;wiliH~>(eT0w$)ijglyNHC%rhyOf+!q7iqD3TA z)+mo|E6E& z{IBrR^S|i>=YMyw^S>GF{BOE({x^MyMl|^Rk01_ey1?qIeZV_+uFY@+W2-6T<5cuT zZzm(pdX6ILSR5%uS0Sm5Q?sVC;9vr*88k8FMk_B}Fu~0V0KhP-ej_NB&+kp~?|=bs zMx4iI_)sh@biyp1m<9vOGjv+hFlI)XXQbm021aEdydQ;5rz2&?Z=_>$OJQIvSK2W4 zc0%s0r47RE9J!iCuF^_iASaDnnRscJ8A(Bt;Owma8Ipo=a*?CeIf7&)&d!<|7|6*m zyx2oW&C=0nNEz+C*8;YVy+**Nk+g??C1KjL!@$@Kgb$*SYKDP!lo^ta!>#6#t_Jg+ zTg|`JGL7rTIRcI$sXfirV1_hWB0|UF3Y#1ImLe>Q09R7<}34!A}vz6TTE2 za`t&e`~H-K>@k^80Jr0tA@<4=U(qegy|%#1_8XF>m~)CGQz zb}#LZp1kn*2*RQvPaKG_C9|aiD>AWD zhB6qKF`de*U9n@4yWJOhP3q60+D@Pymh6UsGcI302kR$u0N^vBqh{E=Brgr` zm%>q^Z~AuIiB=IOI!6~(M)t$N*~~pIUw<0Q0h)Zt^zXc6g7xpEzGVJ)UNXb_EvYYA z{+*XB-lfSG(*KsRl-t8ifuF1K2SYO*Iq{W&o>Y2C#F2arVWKa!>5hi@J`*_sSY7 z4tVe&px?vw37jV2-9o`B z8vG*Q57pOfq_@K`5EM9-pS{8+;2tO)yFk>sg;p5IaVYop`1&n1G)!6G;z$ao#ab@t zI&~9!`+}}(U-5XC!H!Z-gJw{kSA5$bUKC8>d3WAM0Wx)f7d>$~>)hH~lf3BmTPZJE zcN^tJdv9gDNWRqqhSR6YZM@WLf}2NVkS$(2n5dQbil$EXj$rgm6}w_;I-zE}i0%TV z{pmC+H`U*Bt9e$@WHFOh7U{fmzqrPuRB>-}G^O8nuwF@L*dPdmKH=^JJDzi^v2-WW zhgcA1-a24GNFIsG?#NcN3E{)E=aL5V)Y$ZNdcNmTHgYAfS(wF1eG{Rd=x83LDvfu3 zR&!g)R`cW>d(k>^V#(IBSti&VA%vmbu6*xRLLN51&H+FTMLRe$+?`OebCjx?CriPo z)SC&nKzgX#POlYutlRFvCrXtZOeE$qB?q}S^#L#vR8R0Y!!={Kk+)~Dw`)hRGutll zRE!X9k24IVU!<`wuxGNW-;8ZZ0{};)h+SDk6_6Y$6qWii;TFwI2z^K>=tEMU32yE% z15mUI*1wzvK+$UGHxt&fb;+zWYN%WS{pZry4HLa_J@g+-W6&@0;GQJ#cdEgg4d6d+ z8M1GhZXV`58XxxHcuCkiwJ0W~0q}NOVsRVI05nb}A6O#by5Nu{ejxD`lV!*f-*@ws zmROMMg7h0?nW==|3>Ytp(O^6&Y$B^bfGLm#q=ddYlPu(x*=)JW@Q0z}W&(Y4)E9b< zkf}g>cMAvIkun%)cV&K_ShblRXSg~~n>rAm#Fh-!cO(`{K~bqMtNMf#u}i^MrC!V0 z4*Ky=K;nT#QD!e>BiW2Uq`5WI;byO{>$HR=6X)YeasKWC12!j3sWt^F&d(@F73Uf0 z5^xU#$yW31l7_NdxY!I6*@-6z@E1@@i~mUgFW^@7=oF*#ttJ+4l~8!p&!-s1exumr4b|_7{W5J3K8mYSaFLmyhu~phVxULUhT!3}DObY7yLl;WZsf=}CzCg& zJ~Q0>J_kV2BjSdE5qQKk10z@@exLj>8^fs>W;n0iWDMuNp~Ly@O;;MuWL^qeVyjt| zR}0)cos8ru79LUb4D?UrXx+V8Y57NrDxiOq@za!lq-Y_l07QP8^N$oQf&Ok*q;Hlb z|47mG(0>vPyMyDCjiLUL8#2`H$yXZcjl2|2kA-Ma-7xjo7!lX?*t-{XJu$)(acyFB zi^V4rBU>asoE+7#z+0Ud(deNgdhCiL+D=DwJIyKYaen7r_Btgf9zswCe<5q~U_0Ev z7t)6LLdn*g*#J0&gEYuX>_JI=L>S7t zsXkEZE1Eh)ANg&1LLZ4jX?{8YuD6zZux8XhQEE7sPhT!BC1OAIaW{@1h=ldCd;{jI z(}%$P$N9tACl8Z}FK1%g3F>cbc!r6FOOQL!;q^m1oHKlfNEUc?63!JS+CQ=@=`B7pGX`@^k%_82nG(pl7nQn_ZByZ z?+Mt`C>Tir*v#*lXv}IlEmw`yI z(`;=mZ5TV1+3Z@)0zMr3iq=DZ&_cr&4$=az&E{EU3Sx(5BU28u;FhMiu9w5+CDToA z<=JQ%-b;_HbTY|%2>{@hpV3MUmBDh@TsGb8QWizsxYZ?nXvYYtLc+s z#0{Hg+~86+M$7P70!cj!ZvG1ZzyRCxtN=n?G&Vb~>-Zq$qN8i)A|+%hmhna=xwwnRJq)~GPcXpSVlqs8-866_ ztbRFR80g|Sfnw|r7j^xOY|>Mg_9i<8gDNCh z-wI~#$qZ+n+jIh40AN!b90UOR|3QsmN03sIO?}|rWtn{XV#gKlQNj8MS^Py5NuK|d4$K|( z6$0;S8jJm_lsoCI%^nE$%Q+OkEqMi0DyrY z&+TGM+#TC@o@@!y=V#-MKL3>DONl-|9G|2(?kK{`NS}md5aH)sLjKX!Us8KZ_rM2Y z-tz?SSMG4^qxjOI+{TW`14IiDJt}VF9<3W(6TU|Mqemueod--FAE0R%V40h43-=Hd*+)K@^FOEwxOJN*kmM`5vndRwmj9Km& zX8~2)+Rp2G^t`Tjr~LbT$nT;5jt%*(8Grw2{Jr}E^OGX{SJI!W%_?rVyOE3e0RWqH zUAKX?W=Bx_5$@fj1Hggm+e7MAIb99uxHqKc9VHO%A4bvnCFEB2k7TkQM9SKP4C z)M(aJXUNau$QXWlfG-;zlYI;tvAwA_b*O&$aLF#Ky#^=|)H?l$1 zUWa=pfnHsoL+FS%hm3pz9l16dN&Tkk+^V+pZ$AjnOMAc3q@_86w449wBwGIcN&I}+ zNoc-gyy`d@$atNr5B}&H9FmT9Zt4pH0K^fl#x%!1ZKk6gHis%(NmJLRzE0AV;c7HF z_G#BioxO9q2!_7Y^0t`>&rLeDsg{La*X#F*Z9Hs_BInuKW|yxwZNo$t3`FSxwBf%3 z1LiyPgGD~^H%JO|$az-$rVNL)ZK?ieiv>Boi4|ap!YzID?5@Q-cD^z;qYMVFcGvG) zcP%dkIRU4`W>f4S0D!PrJ+_CMarX|)$Le}L&F$#WX41QfsaRdFo56_s)dic|%O*ts%2jQ{t)b)TFtCqT%r+P>XGooMGY|S&I2btO{IL3{ z3kKSGE~1%@`3;|Mnw=MK(&J=bSly0pS}}%}z3IW{H|b<#)j!&FKGzO__ZfVI*`wc{ z;ib;sYC~EYrB(i*_xm2_iP}nhME&P^4pd3&vUKl*W$-P#t9z%(OJFo%h`g)58|Q!v zn_p!S42QjTmt6E}l}oz7iO1EcItR3)F1p}EXg0a9|Jf(X<`ldh9@KM2xlCwT@DWX;&Wj9{W%ZbNf8GXNg|B16H_UWC_MlO-CY zHctIK&jP9te5$nyJ{>Hpf}dF+bpkM*gU``U+>S2=<s6H#TZWj0Ff>O)rvP%A*>33x{UEG=-KiBG1V6FOlK+ zg9y_Hyi?~;LV6RequQ(MoBAjz9V7KV2e<6v0BE4@($o;CU9+vKjsE=hgRuW8UDw}# z+r+BWQrjM=6dZz>p`!lIS$qK(H0;$&xxl!{%%30 z=negZeaAk!sOva1hj2W&nG7-%yUN$z)u536a3~bZ@g1G(YxgxMPZ~GU6F0~bQwHZ> zLvVnQ=NOD%GFF+w4q;Y5nSFflum#+s{$!K|#O7Wk%$jh~TgivpI|qi5o;nQnRr3AV zFD~jjX>AX(XIT?@h}sBa8!u92n85`1OUF7l^#=`>nda!w9OPctrv3po+M$gj_j)(= zGfvvdm?(8qDT8G#se8M=1Nu)A@ftQCM9#x-^P%&)PI>EXME{||_9^EBFfi&`-?5;t z-v|A#(wNLv4ml5tC*Acy_~YM@cNN6FL;2Dv7i^A9I8Yo&8|Xk;s^jyFMG4$77$~wy zC+B7!A@a0R%{g~hA9le&(4bfnS!3nAuE*R&M3?`(h{2zsQ?F2!UI`?>Le|PRn+Dabx2n?B7Qh_itOBmFxdNQgtH=M1cSZtJotoEf;CmAP z_^S#2Y2xX`Fz~nPt5?xnPn~0u8JD5|Z7L&lp-nppYe*4+Jzx_H=EH8Wv0fO!}w8iqDM(dz_ z=~M?Ybe?W9AnaCYzUYDw!k$i~xK*ThIuSmAaEm(D##SvyFo`PBgp7ikHtGyHI3G=- ze;iFD|DxrcRhngKH^LR2NU1P7Z&O)DD-l`4-{*pj^t=Z~MqiWAb5$tw zd-B-8BS@);BE`dUTXw6D8r|m#CNb*4qAkX%q*mIIzr%YcErW-NKK=Rd?@u(|pGn>) zdx|C#=A{dnE~@l-VCe;3nRgSCI(vD!!ixO+yoGEyd$s99o|8TH#IwlX?)`+OH|{xv zxV=aU*|i+{o)o$XNk@B;GBy)QttXLmycanm2$mn@<+>?I&S23P`XZa4r7evwT#_Pg+sjXgBqLS-zFZ2^Px=TToC7pu+DR!$`uN6_C5 zUk>&hc0tsGd!$b|_`Z(harchQ1;{kxJPMt*Bd)9YYYqTZ5Jt{D)zc8J2(opzIHp=y zy#ZzBfBYdE2#PyM8Rpv`(;(I!)p0Wi%4jl#O!}xNXgppy=<%_}<7qc@fF1NFQ&atA z*0A-|*nBp9Jtd80?~`+XJd#yTAaq8~-7z9j`AvyjBqGQA>P0G}L@(+(oML(TRttb5 z{RgQ8{yup`k0P12BKdFhwmhzsc9~6Czq&cc*z`!A{y`SG^BB3q-VvO-*P^zvRfI%=rn| zsI&TB+^SU}rLKXdo;`3gt>V#u>?jYye64Ai3_Kx*^M`(Ga9151ynyU*^QOv}Vd-Ev-3& zKSw`tP%TS*;z8Yldj%&$IyYtoJh{uP;;^ z=uaCbeyHtB7~#X}SoYgS3myH9 zh`uyMuy_Mql$%oONaST2*%y{QNTJ@Prjrp6V17=4*<)pkAV#$VMy6qL6zygTym)!Qsl7w}1nVU}bCa#yN_!87vidWz2i)pr4kh?5BLcHF0b6?U&rT z-NBJD{7TpL|4Y;fUDqSJt{>2K{nX|1aR}7UdM8l}@uyh)jK{iqQwH1UWZejFJtg3y zg6xi{3n;DAW$`lspGAtNQLRrORFkAGgOG#XOVaeEmI3)*27}$}=1csW7)@lE`ku{6 ztq=6m%ml9bn<(95PK?Ic z=C!ELrZYa5Jy4cqv_KUEMoR}$)V8Es46*x?PG%Znw_+LwzmzTcgr&WV9uM|hb?6?J zH*zit^-km>N=~p$G4rlX!7t*vjvkGm&`~qtF{2+K+*+QIh2$k!*0O@2ck$z&EPU}g z5Q<&xdc2ojeS0<6COjHMvSm_ME?6L&g8~kso?|@T$Kw#aKEdN?L7#_<@X|gY;1&V? zc^|@I0sc8m4Y0T?m7!N%>W`bOuXQM6AQPifZf8-r> z3eLU_`vqBy^71?zQl92`=i0m)8!x8|xJS1o@5&3TJYH*SGjC$%utA$dOVi9`kgNby zloo)RUDxEbs8h@g8GKx#{^T(AwJ3D$JpPOcN$R5}N=}1iIF4|OfRC!5rm;I}oMY0! z9fs}}rTrg9T$m;{IIGr9FbdcH-!z(?(w;Q9B4y4quVe%D@89V<%tp9X%VCTvsQS{_ zDF0-#0QJ93gbtikMY9DY%zut{w_k@Zhstn&&mk8?2k?Gr4+r1xM)I6j2r`&P^`Oux zJL2}f!(_JI$k|doO~5OI%=5}pm!Fi`4*q&LnXS&Akl8Bo2gz)&{dzc=ZGoKwvFoX= zr%mN<>!yGEZtd2G)Z;x%#Qizj;<{cLyQ^Ctl5aE>zkk5ve-iwb`qM<43%+H}pR>LW z09gMpjSN{y8KP0zPrzamqNU^A5dnLm9;Ij$lKRKP|D+z+{(Z2XCAko{3;4KZqxLb} zDmZ&#eHS$YmU1wV?dz-a7W(?ui^q{%(PWhU`RR>hBakh1#E9oF*-Ha7wD$+m6WUp} z2>@SV9rUMBuW_T3u(~kOiPV~g@IfAb5!*m*U{7ur@RL445q;VnL-Oh29%H}U_jejC zXpqdEQTlbk+3TI}@)hN;7w~cKK6=J05H+~Jc|8$JH7=3WLi`(2>U>7tq4d84pj{=< z1kQ;H4S$_Lx6lt#`Ha7PT@KzY9fRVvv63_Z{O$0^cclT~k{8(sIHwZsBIogPu~ll( zrT!7M?;~aAG$MyTI_hVLJF6cPa1YI)pVDt^)%ZklFJGH`o3V7;5%%m5u)9&fo+hM- zKBQD^NBD>yjjd!B!b|%3U?N33bVw$=&tW5hA)Lt z6B#kBvX9-{!|olRs?GfxA%XvG2LOcKf8of`1>8e8=4}APejlgC?|*}oHH_tAwUih= z)k?-PcocJ8fSq7m+O+fg1Uts&SK+dJD{4-T@ErgE85PHd<9QYUS}ls`)z1;~G7%6e zHX{$=BU&cn4$_JgVOmpQ&<9=|55T`abFyU~`4E8EpC~7u^IyNn25MIqy*`Muf%+x8 z_P(4A)Pr5R{`o~+pAgq|XI$6si|hImab4dM*Y)4Ub^T~u*P*WK1-h=6>AL>3uItb1 zy8e4z*Uwx`r5=nwI_OdGV0#h%6yYv}`{o|-4*2yHXs3D2{|JZvM=qRdefB00V z8ak%&G!ir@N>m(aN1e1cK3d~QK^L5YYGLlk=-fL#=E`Jb)ENf41(iTTrJ)aHVSF%y z&Nwm;?_{nzMy~|a0lN~&3xzxsf>B5Sp_>NsK+}0Z*SF3&)t&An_?Yj0|8M=*y0ex; z<#bh@Q~T__&))mD&ptB-d60BYH_#vP!SMMs+PXbEWM5cK!BCmiv?IIFXnIvak}7cf~&JR0Q?`b z{ZO|QIDAjiGF$GtCEd~YNoO2b_J{{=*(c(rWQWgPMmoIo)61;D)jYI67b#V=zk%<- zQY-5(e?IANexko_xcUT0?JtMz`ZoI`!l13a;>TwVrSA&(Tu6I*7dmSw{aNri9Se!pr2j?^fF*lML($vcuh4+;lGmKS0KYmfkAp-#5yRf9{7lvU33|RU+2SCXl0E$6$+`A8(joB6e zJc}BvO*|0v{%i^sdz^Le3XePDvXHNSa>XIhgN*GMg= zH2w}H#CdR2OS?y#e1{ZkNANFIx$J0wT(qcrN+9|Jq@TL#;hNubbsl%u(#rxN{|{Ut zq#w$K&xZoFK95pkY+VQdh>%Z$YgYmQ1nq~01m9?UbGm0*6RfOvwITTD2Ka2Xpv}pR z?ME%gUG;%x_`Dw5cln;ogFdgI=-i?j=TDxl(nFWI>TjR+lcz1qE^^i58b!A(3YkCL z?)=HqmL<_e2R{7ZgAbZ^xk4p_FTU`?B=~Fy&ODG=CvbY?=Ntf?o^{=y_O&f7TvJb1qh-_R4ol;EH1;In!;2cHk+)xlB+;drGg zSBQP$!A(+2*cB23A^3bK)_8e!4f^XCzJ#wYSXKH-0yKm`bZ(dEGjw;n$Q&buF%>Q%ca6I~RSDWank3K+YswZgL z%xHS0t2uSO!n#s5lD_*#q3{08MuF3#=PA`j)ao8oT7aZ?GB7kv)^{kX%~1h@1zb#nXkPF}Mcnq4Z>eQVRZxX+pA_prxJAM` zy*}jZro{zXfP|YQ`1*bcS4r^oW=W~yMD75Qu5K^hBeitS)e5E}rIsVFY&j<5Iutub zO@SI2H`41S#C4N5&C@1NMepv3{qXQBzuQ5}oW~9!ybtM}V;9xtoG}cpT5unHY)YWb z|5H~81?u7RAy1&)cNbD>jrYPC07U*lq;GX41sUfWGTu%5=s@s|Zp8Hv7VjpK*h?gF zI((LXCw!%fysa5N9};383778>GQaRWCJ^=g&e`2REgiq?gI5vmL$Qunm0=heFhD&y zcO6t{tr`9J#fus!^XQjtwE+N1`U#i8wf|)SfHn+^m*WN{WLZ>iK2p+88SZ%GNiz2u z|Gv=F>2VG&+Er!&phVB5V%wxg97xL-N(P>`5V<{M0l*92*d^meDRx-q8s48yIUWMb%7vLri@8CJKwX zi1_O93A42P%eGFXOcsJ$>K4^gCW|eUODEn10E|9P;;e8%wgnrS~$y_(W`($p9 zr0fGSeBB@upoec_hq%0%<(bxvT8^{E8xhxsTEZT@pJst2zmXqNYwk8T@ay9R?}K;t0nh%gOaSWUjuP_LHa4 zyXJ+3SYL#z;A?Sy8mrZts%>C3jri3iXUy*z7V<%Du1K)^|b`HJs0{h=2S2J?& zMsRiv{-!FkO5hqJ7LNEjqAL{XBP$8v#rKDJk%$oEMgMZ-?pwO_Ts*k!ns3g3i+ZTS z+wH0^i8F<#!;%A45uw5nYVj2a&Q5ARLb_MDHeP^4<_l_8|Di0D`aWp)@(T zEXNfpEJL`T(S!Yh+y@^!VNz!|hu%$6!9ec42+r=F4u4adSu1dT2zPmKRq7eTN&SlO z&BVbN!pn#KZJrlSG0mb@h9W%D&4Z{l{BSo<>&Eri0r@R_x|27NiPrD}`dbEl1|Kly zPlJ_WYdPo3MylA30wLc7@+&@Q%+HOUhnm8~sXyroA=Mj}@SP6m5L*Q}evA;DmBWs$ zX6J>|U~wx87Kg*vb~8h`^wdztpLVgf#i#fLo)Iv7=Oa4)uJD^(Jcwq}%h$T-@bB)X z!|w{`li{m2glml-d(~g%NbWC}W=rZ=85@Q} zRu?pqr|1vPvtIY-UVPXKXME-jwE5ols`G4Kjdx4Rpl!*eb2a`l$sK~qJAh_~O_8}e z$z21LzcC+B#=4B#WNoH_@Fz$)G}brG)tlx|z)Jq+An!^f&vqd$MphW-X-VlD3s>K6 z7)ENzrZQNWJvNxl!OFYFa>2VedSMCP#aYNjM({2!gIw^zyEvX)Sc7+QR&p^Wco#Q@ zT#OCg#f?Qu$cEh2{x>5;6H3Zp?$WWY-pENh>H|nQ+K#kY?JTfuB__4N3hyAL?*V$? z{BlXlb|a-~F;Y6tpxAy_C{e!^I`}aHbjV{IaJ$fX*!}F}|BSrjuaftIlT7ZOKR(p)i4&}?`1q*u zuAfNC`#(<5;s5HSDes=>NO}Lm2_7VI(S*2Tvx`fQkK%6+llM6mGdKE6dIHk@4q086 z6TO7ZmzS&d;`<%*v_}HK>;4>;PNv&W4$ICc(g!V)mVb%l?p^9gNV`|P-{Do4<#=(I z*V!t$TV*)2+8YS@D!uC6wz*pVi;~i3TXNMLjSnQ!JBff-008D{e1@d)t0nhNsJu*N zr&GpNvNp${N0GD>ac@hH&#DlgkCa*-DK&he_*WD;KarIFv2gYGhlzV(nQC8)?Q2wd zEsy0jyehA?VR?;BmDk#_yvDA|YaLi#<51g(M8H>50S{0C4-f%gO$2;374QHR@Bk6;)kMHoQvnZ90S^!XUrmH`HBv&k zge?A-y@4Y>QPQ$ABrW?{q*OVO#s?gX@{)eU>N3*xr^9m#k@s8Rc+aimRktFgHdk_= z@qg}h*Gc#TSQVn$O755pXT)V}g!$t^wEeTj{D{ z2a@{(sO(~Jn2a0ABx%1kWZXcPjH}XW@>WiU!O1pSi{0Ho){8xetCO7dNQsYK@<96P z;-UK)ZVuY>V5NLB7nJija$yO|c@}b!5tQ>X$ORvi^LTP$4a#{|axo?-=Zzs3V}o+u zSfc$TcenpdFaD9ui&y4IN=>fU{e{mV<6{YMDgq)rNFr5|(#IB+FX(sGutnw0c4Bww zomR$n{esewfs}r-s5D2POt4#u$4l0eY{D$r4grqmFA(5(`2q*wp=`=;*?9sS@3|nC zw&&4y%5mBAY5R2AKA*Nzp37cL+aI9qi;;4?n6lkQZ=l}yeWcMt#vC$th;W{ycMM~< z>4e{ICH!_P9Pe=xeseQ^>nH0=7c6ayleHz3L^p|8;_>S zQY-mOeR6(y&rzP`v3x-DSVHtq2j{PjHjKdcsJtZt6viD$otGowJyh!UNbcCuaT1Op zcg{boJW9^x)n?+Z?T68+m7V(NP|F)jJ*DKs_v7M-P_jXL9)z zmCHXfxeUtg4!Gtwlz$H)T;tUQL&o(;=@{#q;$r(d)Qj}TfN z^~5!*Pt)fG>u|w(b;UX!uUOBkE7sZYiuE>i#X37)vEHt(Sm(ei);rV{>$35R_1Wr* zbvby&`W$t|y2*IO`pHPqZIZj*|4!s1K#bTriJC2_k4Y6(=6HY_YW+l&_eOt}kSX*0 z79vk?6G3>}0mt)1PghWBdYekq+eCX;rN)7Xb;jrg9iHzK`T2gD{2=!L(bu~F8VS!jw}N^3 zNQ#0X;xt#wE}f(07e{^?H;i!mnNiMDknk6<@_fQ7gg%;eio*)LaJzjh(yT8-E0}Sm zJ*anF04ry4xJEg8hkn$axm$#lo~afO)|HMs^o}u^-2$xiP0bK+ub>>gL&)5Xv~hnT z53jRhq2(0PF7-hxaMjPcEnkJt>Uzf*5AG>B1o{la)mAbBbm!OBo=%>ca(ylEQGQSiuKNK=Q7BW8*lrOJAn)TmUKS818q!>79*1u5V z1}r_#toO_zb&60Dr=Y|gNd2J$X-hcdUYfHs7pYkk1NPP-EH)bB>9$q6&Dp$5oohpQ zsl$WwpNTv}IlU+(YTE%Y3_s6RB{ zS+GthIcj78Ae8I|p8|liJ2~Xuv-BeN7{a^BlRvc41Cq2mIaw_VvC)Z*2+t*>ddtgw z@GbyGu?P3J99Ir;GIvM}oJ7!5HT+-%suDLHGVRtI3sz)N;I6fu+N4h&rke4icBUEs zekiFK1BaMq{Nq6$q}FdmxCOamzFEw%jGFa#69fxR<-G2gZ<+`zua=15t1~GwOX=*umM+nc-AKr;P%k7-jL=E zg;%umpjQkrGrlqG?;zjQHCi56@}3`bFy;KW13VbH-|nuYkD^+Cb<}R+cC7;bLWq6p zf#|3Qw<~oV+!jLWxcff016eK5z1%U}rH7|Tx{*t>?72Fb>qG9@IZKvHc$Py_XVDb@ zhY?p7=zV-_4Y-chF683ngdZ)c^?igJsRM?$aOupjgifA|tW`01)VX{F-kDrq}S?b%nKJBLIox z8ze3Ndq}CNBcod~4`~x~pCC-tH8g?4#@D~lgAY3g;g*7bE5yr38{e`CY;4iVG-A}D z^k+VH64xVb;*Q6&0Ni4qQ-~39tmwHBUUM6|YKFJ!9*h$2pD*Ek$Q^^FPf?euN5XN5#!vj;EPf(s`33(QKl$JI$^Ur#gr%^i z`ekYPV9JSHmbbsR!*1s7_u+1(o`c)!k$QV$yB**jl##s$=>xe)UG6}d{Z`~gIZJ+x zFmfOj*-)U~w-9mth-*^f3*l-&6TPg{AInOQKj0p;sF{iP@vA%!H!Q?4k8_Uzw-hWd z#E-|3qQ^_(M85IfWi84;CR|JWyyB|7;17(*24eEnid|Hp&@G#?#$O{Tp|BEPxMaSp zjcfF00U1{fb%|qWk-_@wyvp{A({qhzI^Oi{-n zwnE4U?Z5*o3pk`&Z#ifOciuL&Pf`v7gu7|-tUB9)I9=xYk$YYaT)mF!y*nL5H6voB zKTiA`PDgar;I5-5GjRP9T{V6{SB)D>eOUm#U;X7Y8sazQiHt%ITTtv6(vMrv!&M7q zd>A>a;THbBLM+e;l$eH=@JGuU5uHOjmz=|oXe!{hT0>Z>T8OSB$u%TI#=7KwS+jn+ zG`;PUgrl4~p%*H|v*SpqjUy&92=8U|f@}AgLVC9m`A?8Y zE^McwN`-Wqq=ec@=S%LDwTah|j^9gkEaTdg^K=sZA0FBNoOAWh=Id@MvbD6ry*Xd{ zuMG);`uV4cDeLoJE#o>SxaKS18d~f|vp$jXnrMCalYPVT z%Tnx3#KNdZwXXZrp3L_TG%vSG_@ij1=sF_BK9eSW#A-lD%GvX%T(=TOp$xA6EhWK% zjly9fkGy!v_uq9~ok(4E z)rYUx#{)sB;oo_A4F`~W|2yoteuS$fyl=@L1f}L|^gKbSiAQ-ssWD`=s0^tKHX^*2 z0jYO*AMBO6Zi%TFiRzc9seYN~kktEaD9{E=S5o~_&Gbvgb@b$5?zE(wU1)wUT>UfR zc)d?1GIc+(wlx0k!bI%%sH;A_WG@fU!*vT~dSU`r&nDqzDN3dSI>k+>R-{K>d$oe=C8c&#%BW>r zv~kJ53fm#2?_gn>tUWnwyj33$8*f3{cux(DcQ7&D=olG?Wqin0zde&qZw;E%w8X~e z3BlP$)Pb~deZQm}C=?2WlU4slq!n#K>VmTHlV8&1XYwbB<)_gvA!P?jJu8*IT*3#^ z-)|@HpJgCbEQ@YK+PLS3`j{1`t$z)7e)LuN0ps_568;jY)))6D`JFL0QsU>)xP2=? zxM(9>y@uFhLyUcf=(}P3+&+Sz+f(?teK!w^@-tG4HcAiHn5vQ^ zsuHeVMdj{p2V(r|TY|VSI`eEuIzo&OUFc}wu?z9sKP zB1xT@#(=VxKTT3^rl*|k>(Y`%D9Y+LU5WGg44W>DVsLQ z8(hudrk(Tzp=;?Y^f0fqk44(Jxjj5k^GlF^G*`}yvkfV(dKO=%8z}!{uRUdlDn;^8 zVu$MDrgZTex!>&`q*`N@;syb3 zkusGISg7>#FmMGuyRAxgR*9~Y9(TwCXNP1s`*`GSD{;cM2$`j!$G_vM7mAHBaD%RQ zj4P?nn*jiB&=1)HZP3${`AJC?0KkGnklM_ctKmhWj4Ul z1$0Dv@B#f)&I~R4`${`3RQh-rc#9TW+>M-jMb}Ap6P(>7!`Y`Id4{p@(glX^xi@ zHB0;E=!|Lk&?J$J9}U957&=)^$k{Er40jKl-6O-<{gIc)0#GAv0-oT{{wQnWCc4*} z78atRgWcgNSpY<0HUI)`K6}Yw!!Q60lryKSoH}KjsD-W@xu%uAiN&E7XV5s*4G#^A z_7s+V>v#`bdqYMt9<_fA7$zSn8#!>R9=4SX8g%O|Tw_*18uB?l8t!vMs{(C48~ZN* zV$v#eeUf`t4qUy4R)Cx}42t4XE#^Q@AQL*^oq`_3G=dMcOj?|x*X8?A^1MEDzNHwJ!A z6rnZuo-BZ%r-l`yFp}}WL&_ltE3+NJ@g96gKhBdM1?7xGz#lE`h}g%1w0xm+)Ax~Y zKwklWDL6ld>wnJyz{Mrp71_W6AiB@O^;`x39`2OrJd1Eoq}Kv~$K46n&*jOT9%m;# z@Pkjff14zY{~l68FQ-wT@Y6{8bA)$}Mqc9?N#oy^6+@pn*F1EWVUGzDc{koTF zX{<=fdUH-+sYSZC)DUJxYfdP`Ww%}A-rLV*x*RuC4;eCN|$M>XL~o){$VaDr1` zWJhtqK>asR6Fcc9z=>H4shW`0qK)5DKSZ=)8IPmTkF4#u8m=z<2K+k2?=?J^Cn-A( zSbFpD=RO_rTmz#$`2eKe8${o|w@m5JT$W{Ot>=hdCev}ngDKNdWYWDCIhzoi*^RVu zv-=3$Z3z2=G(~=Z5xtiY-CyR*l5s5jx8-RR4<;zSg+kb@`!r>?9Smd3*Fh>>D262G7cy=^N;RRn$>N`cZ&^kOPRw5!_l6hIV1EtG)&GnG zLt928wHyF*wEXKfQMGbvj>elBCQP&zjkk;{|6|F3KWFdn3BPd6Fd`-NBnd-wokY$a z8O}V8v~knu=xs87v`lI_DJgoEH*iwM-i^NTbPT6t+z?hDOXH4plsgPo=L@O#mdVa2 zrK`Fih`2_^AlrsB$ZI1QB#l4Lp}*b*qv@{%e?0b2@JFoyOJ{!*`P1^RA^d?f{+dzv zd$VE4&$)nw`R++AgYe!?9w6=ZN9SdMaM2dSD0}e> z!yx}%-fI|vFWG;b`QK^dtN(kgcjW%cg#VM1tUYj9L(>0wkIeIxQ(#~drT%>m6ljBi zUBqlvXXOa$%E{=#J;J&lXJA4rr9 zO@wDY8Xlfu^PddS&4{;ymhkaz`CmkXDP>WRSmbw&IjbSP|30G}rH9s=HQo_CJ7|~@Q zXPpdZ_7TTWX@^J~x1`4u-9gk6rR7S_N=i+Z$#b2Q=X%0>mJpuXDLD@c#RXG=?*;*G z_f6$w+!^+;!#6*9#(g@*6DcE)tD;FMf6mhJk}3ijcM?*uW?`K?m6Oy3HVOM3 zLA%8pF#Hwt1iN!2+@{s9LU?d`(0>e>bVoGEHXN!?ApA8vceQ6-(J>Kjk5zC&v5~uE zvY^DT@Leb<@t^n{f)ZclJI{k-;qXqw$R~GP0XOJEv2nF8FIV?po0bu9&Tc%x0xo(b z(!^t|#)258elhm9BF$fi@WF8Z@lxbjBt8nbdNU&Ul=x=H9?bgcsD&wME9K!k;dtYDRWO5xzI%RqvW=^AdZ09dR+$ zf~j6^KvGvaWW1m;dNH+cRx&(!rNhe|^t$(@;K^qgp8U%Mp3Jl)!;@D!=ntdd$#b= zkF-{hR*ENIMDgT{=9AV&(n|5fpYXyNC#XQT_et91v67YzWPA`gYZG{~{bmWx<9{&9Lkg>Ypk*7!F7idXsPlci&dt2xjHUtm?$k+TV2AA-}YE9mWFJJKe; zMI2o1#{Z^%?wp>W*oc_ax67K?NLTWPZ~*`ydaWM4sN^tNh{8|3$J1pK>4$U4tw>uC zqPOlBU7_&bGiXhYJhNQoi2a?)iCfMk?`0=UdH+;uIpM`SC2TNxKZ5XrMk4QqjE{y- zJVNBXR)CcvtzqMq@ByTayPG^c+4jxgi{NC=EYytet@Elsvq|dx4oUM&U5v08A{P#X z#jT?2q>O)7A>*R*Xm0X+G4+0j%(Y1PeutO)SW?brz|vI~0EF!s#8PyglC=EGBz08| za>r6faKD2#IuFY3m>2iRaK=8ux^K_Z_-iF~woTUTIg&D9Tar6hvtJ`~9g@2qDsQnw z&cCF^U$$=&;CK%#6X19mQk7z_pzR^rUP0TbQn5GE_IBFdNZYAe zv3Cj3VYk!fE&-0WL!?BCky1tTvD;+zXBEC%5w{Cz**Qe1$XoAl>X)hG|0K%HhFbwtkxG$M%cY2#0NcgOrajlMv$|e0|t_MH*T8+3j zj~HiqG*_k@O{WFLj}Z<`Hw>eI6LCaP_8S$~$EpFa0ACTJm5;Wuy2{=<886u64TNM? z1sZ9z;Ir>M8P|l5Y^D2>4sWGNlY+{L=v=0yN zLaKkOtkU-rp%!pWP~4}^;%8}7rxg!!zDr8m{I?3qnX@a#ivi;u2VJ`6?GfA`ti000 zg_V#&#%=@tnWD=Ol(U?FR*kq1h^}7IWkhccgkVtM0FXFcbRP5Iq8;pZ@}V&BER_Rq zofq$oyh~HEMQ5i6qJA&e{|+m{&>;qnz(H0N_hiNU6$D z`WMn-;|O{iB(7d4j&qW-A4rOxA-Z~HYJPVKaLa5{JD)si+TXpX<&@;?m6Y0qi%)I- z1wSWhxyqaa8Sf3xWCw(K1HG{H72d=j>G6@ypAQ;Qm~v|lyEU?s2Y`@a{V!?hnKbsm zt$Mp%@0%hzJB7<@1#LD*rimV$F|Q6`?^ZoJUOCJq-&%t|33p`@eMqTM&cV`o#^|R?odwV^&PvUfP2kS-FwmE1oW=CsT zN7HCWzD%=zd^7_!g$cz1Az1n+RtptY2I!OOOF68xc`hy0y;EvBDQki8hGE>P*{>u2 zN?c@~mOZ7MlW|;vo-S9jtG=A`Ul_eE&0bWhxN^=niQ1M2W%pkHB)I)2w;9nZlKDr~ z#NBc4_8o(jmuXKL(~FIwWm!n6;kf-CcgKqDWLDVsL@lmn+(=KM;&h}@0jBlvHL=_* zhL1GyHG~5X(Yih2R%G%T-nN|n7_hNgOT|bN_aQ6>ktXgySS&-DxEEn@BhjgX%1;$t zy(r0Ko~b66tvy1y%!^}EOQ)pl$Rh6Ac$$|-55VqRNIa3Gq=QVxV$L|Z>7aQKT?4(T zx|dD|=d&Yq+b!hoLvQn-mr|dDr4uMGQ0hl4WciMLD!Pw(aJvBIS}|Y<5bY2HCj}_( z!1Ng*b0;j#w*XKh?%;@Q(fVSjDU8&jO_XFA-mP?||4xxgZyl_p#FN#R*eL?qLv*UE zq^9FY(|%0;(6X;VB~?GBG+VHBu9iK?EYeSAeK&%hZgbWh(W}k*OwRW%vh?4!ncVHa z*aNqFZZo1&3(Ju9(vRtk>_fNtxB8BHVC5J=Th6B4PNv<%>15t369YGAozs!JphC6K zi9v8?7u+(#oR+RbiLmNc)N*Plrdolpzs_e1-}4}$cx^E~Cjt28rTMoLXcf~z!-4R@ zgtG`Mwds^!CcaExJ)RXYT}C`=mGTd)#{6;VC!JnB2&EM@qQ|1h~>G3AC#q!ty2_q|0};hrRakeLZry~Wdl zxg|SV(+l~h$=lE;c=skY8U*bYL8&!-N}7xOS;9q*?kYJ<)&jg=k4y-9cTlZG%!{H5 zpOtE1PM5g)bb;GDByc+t0!L+vehAViQz9H#o|I22bgvPi6V$PzD)DI@U#-N;emY!< ze}4i1k(&k#BYMqfBK7o}Ns;o+F~uo*)d+Gw^yUz`uS}5phi|g%|5yKRZkRA-+H8LQ z@9Fy;&G;SLVsE{#G8w;vm1Bt?@GnRk_pj}y6Yvcy*9q!uUV3nzO6KzEgsV5x zL0P{uCyV9-_ou=;`xoK?=O=JW_WVKt|B!ZAV$kf|Jlx6{|xE!(T~XD$3C?w|NACU;eijC;fXPCbip*S?*|_iFb~Pl-bcuyS6ur2dFK zX16HShVQp&oqRSTT)r!8dt>zd3<#eVa2!#5;LaR!bHG@BEpm5%Wx(vaf)Za?^e>TZ zG|T6!@4Zfl9U!;Er=Dg9kI0Mq$aG11=T%;O#><@%O5()OTX7@OtlhJ-fVl2j{+osZ zujRytI~O9&x|Ke-g6F>aNzr*KHI66}Q{wg&v$MeLbyJsp(@v*yv)B2SeN9h8x94+- zvgThGZ$q($`%|UKhPU z!nO4OQXY_B&EWhO%Ge0M@He_Wby_&@H6HY4aK7V6ebN!W;x!(SpP%?! zYK~L#d*>(478wgG*#R9$8#ld;2cC5Wwr?H^meg4`Nxjpd=BeW)bykjwc&|Dumr&r3 z)P${-)LGMdr;oAumP_h=d0!oIS(hcLce9v_-6E;8Zc%drZ7c8as*g>NPBQm{R-T`7 z4-voIw09mDfmVEw+@0~Y@#T^ex6t5jt$;sZ$j{V@p{z?-IX#Cs2LDOpI_y0`z_ zlLcg~m!<9Jc=(frxXalJxA3zQsrAXt9D8Y=_zOduIbH_L-VB6b;NOj}>()m1B;4LL zlXjbe-+a6N_YC#_G39vO+@$eyqSYIbHgWw-s<&q(Qv8v&ff5YYgdGirAqI}DoR74Z zNL%#c!ZM_46|_?3W=x`Dn# z)wZ5B-LT$pb0R}KAX`*{i_`Z75U9}iEvg#J3 zT4S%LWoQ!H@Rsx%?qw;enSDuJnyj^t*oe71yo(HK*ifzEndQvz`Q0m{=5HqX*+zu0 z52@C5|CQv>O)(lZ36X#Bw(^)^2)%%l@NR?`lu7tYIL-Qe9p%@Gm|@fg$c^Of{xOnv z4;SSn^&W?$P0t}x;nkLNqU(rY=CO%&(Th{#ZwPND@0f+BJ}u#Hq>7EO5|nfPi_C&A zlj(kjp(iADI+LrXX+(wI`(4x&mb7eID^$k)$lc;|!paN{8O8lY%N9|5f!pDq61}gm zOj4)YBo&#d$1VPSaJz>y1a5~<5ZzxC6-abP@aC;C!+^^D?C>^|9ONHDcuEji)yTNX z?XoJ?Me+^8o4s)TiVSv|F-2UkxK&VeL&Pyxn~eP%Wn5H|u3tPvV5A4@Z{weafx{N| ztOr&)gkJJ7-c1PKTkfAEH652#|5k6H*?(E2+yavOAH3@PT(7!#8U?AICd!HHk<=oG zj2DEWlgRfLF?^~hx!-XSRbl(Q&X}a--{Dn%mLs{pSUNEUn=EpWR#{yTlALF}?lWFI z=!G*r^#q9SjnFs$5Vsp~ z4am9c-1yWOhEI)2;8SA~_|%vLJ~bwRPmM|7Q)3eN)R+`}YS@0qkcm&VBBi|@X{a6H z-AF%WC6>E@dl){|pTwsoyOC187%4~3pxA*leCk30I^+u-aJ*+i85}Q9puyw|DL!>! z9%-#0tu&N;A;qUIoKIRCNh=K`Ur6z(3m22tE;!ykf#Fj%Y4}uPzhh4lpXz1!)D2zG zVZQ;6_qfQjE~M1tO70&2=aRdcOldkkb<7KA9FuVeEA5egzNBT_=zhmt$@uXY2^RoH zG2P!Oxj!)RsqduhcMQo~7p*E;MbAGRnlM@QZXzN;goJpgNWHflsbZODU4Bj)Hhzg0 ze=q_bCr^2ChopKbKu(P{;xf4heM5ri-x#SpLyIJrQ$eNbh#h(dpi3CrQZUdx{=nEtZND@ zAx_pV{r3X0C^xZuke*ck@!&$|0Re8wUs{NNO_yUOWZ<~c$F15Y^y<`o+-|y$T}VH5 zrN-ZsbRVY&A2*Pq8#v|(3iOJ)j~`M);L>BaWl{Zw`_Q5g>o0uO!(GIG?15Xde^`ir zz}A1}KGrVVtMp~UwJ&l2@OeSOh}=WNT@gZ}z-MvuqgQj(@<5t*C(yL5b&J1q*TRe%G3e!$shGr zalUCD+&YTKEI6x$;$3-S@ZStcsWJq-OAO9nm&)KmxcVWsk-z)aEHGSux26)HZlMPs zbnby$>`x>|Ae0QU1j*`UO_T^%Qz8h#8AfCmXPR2s( zlbuMZW&;|_wkv+&Ca(Sd^zTo%{|1Qt*C)U&{PYn6`j`%=erQ0%78Hn+@kwtL2Llh1 z0j;4rrIn6oKOGU$#y#myI{Gu>k&RSIH<=dLl!OKLBX^nwwlirr?hUuTPb;cd(7IXu zG+U=Pe7cv0|45_spnp%Lj%E;ArxywbVnHgU8_)_&OaOJ(L0bfH=__0LSmDhy8_#hwP0?r!-rI=qg5fC|FB~w8XkPfl3oJ7OF9;(&dXd=+(M^}{Ps!8} zU7_$rASF%XtNmva4@P)F1p|ZuwXrWlm?D!j6qDR#ee7kr$^Kdnsn(X4?O@Jrlf#1Y z8Au?+UVKKA|9prxzOubXcgoUWn}gzye_Dda5&6$e%&Q6d1-YF-UMh z9Yc$43@v^ji56GBNYUcWFH*Glf!|TInEV{R^@R~=F>Nn9mV3Bl`V7J%f&Au3mJ;Jh*6w`3%F3pP@Td_Q<$JRv)d1oZv@=kGqL4 zGp~+5nSvir57Mth_@##!biCLw4Amc+9^C9>=<#xj9SPazXJPTYFC2_65%3IKKI{+P-+!@0(T+ebl>-(x6p ztDv74FDOU26twZCRJ3t+5^bzQj4|l} zWc#Ua{Z|G#ZiSWRiRE;7g zP{JRDPtG!-Mnty{oge+Fgg-L>@-6r#z$42rnfRTW;lLwO15BeO!N+ytJ}ibjaJv|i zHSK|6_+xjt;=Ba@=*34V{P@e^@Z;^XO!#qm5)TW8@A(Z6dg)AYu=F@XqRC7}_FG2O zAO9-6@!50XjY7#0qCh;jBL#6314q&zM>z>OJ}?A1J~RY5E*^p$m#0FGVlmQ8N>P0O zHH5`7205Y;!oPXPR}258;&9=A_ z7&#GOXd?ERi55E$7B`v+7n=lC1XL~enKL7rGjmCGTCT;;^jwSMVP$3_*MhE-Z)c3m zwKyKWZ|3N^7LPqQ1Pt3vU^x8K=gtAJj}9*1@Z34UY57X0Q4yoAlsphq!KbHg%aT)LZmc zAT8g%jNkyF{d{!CcR_zgp7yVuIZt_S4+=pnfnhcGsAK_k`imzIAw z%hX3SyN~vttT)q-oI2dX&rNoZSQG)_eTjNEzhQ2q5d5JL*)nA2S4hg)g{<0=tXXG% zHwz4r0^x2rCG~rg^@yS)>k*x0^@u(;>)Rl+9??7*cT!-QIIMldVZDsX%K$4^^9xq4 zX4f@lxtatp-7Vwev?k70q*-6TCas211ySoay_o=}a{_Iv77Od{zx3Mx)49Z-0O~4Oaj7oK{NrX#%L3?~)EZBz^`%g%yqz}r|HtR9FZJqBeW^E6aKo9#*A8b2 z4IYi#a`mv`B<#I^Zan*k#`76nC2Ny4qZTkBoON|t>8T2&ZP;kyh;^?s9Pu8cy+qog zSESUxQngJCPb?pfCzcQ4i4_SvabpUeSe}X}Zen<1`4FDC`bZ+Ev?+-v{^2QxCk~DN zYBu`dchX01;)&^_dZPBKm)iCqDVq5T3Xxi6@>`*;+Rje zVue@Bw@6A2Cprg)w7x)t$15zUE8un4T$Kg9EZ-_w?<{rwL(UojZt?g*>H>&xoGgI5 zzx4tr;SbZ-zzllW)VRM)%>rekt$%UktbtqjUw_5=_aQg5{=H%u638uyNV-nw`=CxN z16j+rF}j%W!DW;hyG&|aI(cdqkdpQLytpSFpEc=oYy^Gyr8FQ*gX~H2?4h{AchNg( z831ik*%hW$ZdUrJ(bFvFdM4Q8b&01HpOiC7gmw*`72V) z1{xh7G0IEWD1ULquu+bv-}i0D+dQOC_X2agJq##t5i{rRc*=PHn~nF#<;n5Rh)39Y zA+e+)i?f^Fzx*6(xHl}6)3E%eL|Fcqj8BDsa*%q(n^ME_Oo<*3JIYfvXhJ)-4@T|R8vbkz(~38i@?iAy z)6Mw&8TB0T`IDRf&&21i{r^2ae`g+2bI^ladO11-bJyBYD*{n}_`IO=HLm5AYQtxUm=?5GD(9;07)MxH$d!6(gJ-=iZ zX=Q)yZ{Hu<-?861`xPGSuRj?1tQD4ij|0FgPUSD8B?3xAzI$P12x;Sf@ZZFozc$@F zoy`0L_GN~Hy?MA_;t5{Mv2m(&@eYK1nM%lDD>+iF6W1hH`U+<5HZpUUCcwd8S^2;4 z;51wn2%R;I;=v3UAmfZx0|Nlxm2{YFh<|^J2kUqns-<^w0DvGpb6MT?m$URt#9R+P ziZTzh6--4Mg#g3-Y~RjSW}$_cg;7TT(U{pmXGGR$qX~*Ew6nnQJsbdq@K^LZ3gId` zdODm!1aG}i=jegs2Kf(N-as*vJOBVa+h%M{;Jvekk<0dEA#GgAr4)^M>{41Ap$Tc@ zmeH0QA7L%s2g3-?=_%mYmRn^%2%6*Eym5$0(#QGf4yxE9v}*GLvO2{0pf~EhUCmrtOq7%fxNqUa20L7ifgBA}I!=q8rgFC|&Hfk?3 z8%-mFVB}5iu6tv4jl61I2n~i4`b)mL=n8fxamMrwfYSAt-0hU-rZdjenhV8Ee(h zE!!a>Tgy>bTdzJHLGd)YJdWV&2h6{exNS*3U*Kw^Y0$1_tRwhJ4{AADPJZ4?AK+rN zq-7&Ou>)vQ3%a}-T^{SL=6qQQzIKoo6rFdqiTHTb=4un(CH=u^*7G;f-RZQbrx2?( zrm6824{j$G)lwRqP(U;q5jQ`B(yy4#Ujv~itx zlce62c*<_^;66P(L22hawl2R_44hnL;hUc!A@uNW*7ZnE#So$*Y z+BE+k(SzbfGx6n*lDcB5L&girqE`>ECrEza4oY~%)MN(Zz0}G4*z5dqj+XyDuexGt zj^vIly(l>nSzS;@pJcx|4X?Y?i=$pRiuEIohmtQXEWE93rek-xad%wN2A^!&w%w7$l@L8OWs-L0~^c{$ttTwFBA zS)CdxGT)ynn8X^MI!r!38!2ef`XR}tvONEvk!8|C_XLT7-sM*#clTF6R>O1OjZXU} zw_PX14tQ`^a*O`_m3H8v2TF&FRpSOo_6M}!)e+O#nq({88zQ>l77KC>pJh0@T7--vC z{XSV@J&ir^nwlQ?W9!Q=@Sq3YWBz+>s1P2lI}MN46D4%L4u7k2I`+OslQnqYf9SJT z(G~Ir>f!S`8DQl10D#Y0Y5Kr4T9)*T1qLpopwOVC&dNdV)}@eH^#~uJfq&A5;LK`P zg>I#7dmddLKMB9JoCiYeV8qS=u>aojLikIuyb!JoVZEfoFjj%904QFCtMua+$r=Wr z7?f1~!Y~Zc6$*r8=&2Xpeb}J(Lo*%U?Zh~S&xLa9U}c{++oJ3lLx(5!2_=SM0bo1% zKLN@y8G9>aEN=DS1tB<1tbo(Jp`jYkn)fvs_k>Snu+Q_|ZbH`ne6s|b?_x=vWh*Qz zUXf$u`G1X+YC{oU<4~Z@e}a6ktBro~j8+NX=kTaSuSKu>#s_5Ni7vu~lU5A5i`RIl zySRAh_(+q^FASq|G#JiWHX46^T|KK;U-?G$tnA0DeAjgmeyHYsf`)9`2o78an99U2-APwowY;1L4P18vAG^f4cW0IAcG;FAXDsDmKp0@~4?k zh5tN>Moq{k)&hFGgc`^t&j&*O$w)ORv5ovgS40YlksDm~C=h}hbcD5Ggkg7k@Tu^u zNr0aA2Ll(=I;$rmk8uE~u0Ssg=37Sj@}d0QfA0I&ef{^FcdP!!@LzK%JvOO%NZUpj zBm6m~hQHC{Je6o#o%26UAV!flEsP>-*eeP5B;Q|gX6XHl$+nSyhTczZNO^xc&k4#- z&V0gyPf7S}c>6`eKlDrvCB*}0O;Y^+A^?QgM}l&MBTJ1&KTF0D1U+>KYg_4r_VtP( zi;RC(C*w!A!qS6uOB@w3m8HF5aU;UsMvpd?qa}00NYf~Nphx$p8#e&})O#Eru1#=% zia!zHypL2WdmdFI!Y69koc09gaqlZSkDj0#Sx)PfH?RCLwYwsVEC9p~Bv|(rIx}>B zk^3b=a;R*kh-2!c&?PxBXUzIRn96cwBfZ(%=yC7&;Db=^_qg{6(A!Tbu$fW-dQRb@ za=|?S*YBlwZ?2>7^p{EM0vpjFH0w%xhy}}74wknOH^iC|-msh|0e(WR7ZfWY!__R} zkJ*Vf;LW%cM4wb4l zSXvC}%PFNb`$nWv4J>Q+m(CbuneLwqSI;H)xEq#^Lt6fe$lV23yCDFQ9W#cg{%Jy@#G-6A<*W#RbsgcM9D3^0;%Tm zM@52?oQz3kVo7hso5|%2Jh_;-3PJ06#6cjU%=>bwQUHO_a>qMy!&v3iJ??(^lzssK z956J97f{aQ#jjt6qe6GYhzjc%Q^@luTnfN5*l4?`=fxE`Ov&=x+W~##W zPXvI^L#np|sgi9*kiXniMko;SH6T@^{6i+^0#~!>>W$7#!<%c6ax_kVpz~AkjQW#j zcrqc9R!jc!^AyQe{Ezz5d2>&No5Le}>GbSId9QgY%yu zzl(uhSUT58CX}>NrSv_v-#A27DxD-YHgmYzVlHAgl9QPDzW!`Nq*o{zR9ehU-OQBb z2Bs|YZZ?Tu4Y#~u18#xtJ&jj zS(zoc53Cr2djvK6Ioymg_aWyVxcWuHB#ObowON?}DAfkikL4;ghR0pK>i^;HUErgt zuKn?Sl1Z3^z@7+bP}JB)%lOP#sEnfKzzpnzXOPySSc`2hn%2IwFeA1SNH`hE=6En( zrP5Yf+R|IRm703x;RBpWV3L4^5Z(kKJcJnrAq30|nEn6kwa-juhVby--p}X${(e4@ znKS3?v-e(Wuf5jVYkk-6BR}Q88ioz{bh1q`d{&SDa|j%xJ4B2sh-re|wPvI%R1x-@ zJ4zFw3qjt}6*c0vO@ta#&T~sarM_j+AxZRB=r_jDVHGOvBGes7o9R~uAtcj)zEI3H z1cA!NuxniU3f=)7c5au{=B)GmP^PdDWGN&|`!0x=XS7SVR5&fa#{NbLA+4S{_sj{a^h9(h#510VUYA@Ci=L2a%tbdk z0&eGNZ-4xU0A3l80$PAkcN5Ve`d44QM2IEG;?Rf7(s`FN>Y`!%aGh?XZnQbZBuV~| zZ?Z0Dv#R@+mE|e)i%7X-=07@{W?v^m$^*arjFeXYL8b00*~w^(+wd;uCK-E9$Lx4G)*Z^5rT1UfWG5!jXf zCL-MuyHbv$+0ham1N1WGoudWb$K{<%$U9<;ela2MEak))HlA`(2>X!`ck%s52s~m8 zn?Z-YdWHLuanb##Le*h`L)U9W*KP5x4}`9dPvo2bulK(&-v1=s5&CZv{V(Y4e?h$e zw9DiF99O<|mN5_C{kmW%zlF-Reh^B!)l?7oXq2Q;q|yIhG#-_9aRsX2tmv!a^c7$Y ziTi0X1amE@uq5^$ePQzU;};_2_Tn*yKlk@KHI+g$qcUIMxFzi`rwH%42=7?xYLfF!Rhb~(H7 z%TT96+U|CqpMAHy(h>O(^xWRncU4Bp>cjr$B(4@aS|Weqs+#kln;vpub&uP*A1|2Q ztNW^=dopd7JDX*0;k39Y!#5)5&e_+3=CD@K^873;8+rHYc~x{%)Z%D#bkGhWZE`fa zoJVKp$xb$_pNj@%J&)2xlCzQ6Pvg0d@XbRzE6ucN^$_yGU*K}?pYtc8Pp!Ff9I!}~ z4~B7~`{x37opwO-zNmHO_-2?bSpf`r+J=zDdM{T|iSAo8tC(mZDIU+PKV+p%<)fv0 zeM3VQso0pr_+#Z3n?$q_BU&tDP77QabuZC9OR)cW384^ja6KFQKSu~@k`(y?-{}KV zui8qcO>U~PCv~S81Jn*+lD}q{O!8@l*ujL+Uf0e= z$`w|DD2`5Y1S$i*t6j87Yn8kMb$38ECOC*bxf;%?&vJY0lE)dsxzBAAqI&{%E78|1 zN%G7=Y)IbsEQsi9Y%q2|`1RoWnJ3};k3=j3i+jCobP(KkY6k2*Gl-cN&H#~zcz_q`#!(+ z9KZH`e(gD;g$lv%yUgQn_C7$2VKqdnvk_y&yF?3_Uf)!Iy3KW88@A=$hx1(zwBh`` z2NM2Yk2C1KX@W6$?gYb99)CnHCR)Hk?Ja1`^&DZuUoQgf3oo&NT72O6ev(Ct0eA5AK;16CcV2Ub%_S1-GLk z()GV7zj5U|ZM~cAjO)@iTE1BL>VX@m&&HQkq^yk#wqBNT{r`wxM!`y2EO=o*ID*0t zLQ>$=)x_}Fh%P|^nS`m1D?b6*SGG*mpRsyqLr$G25m7#s_$*BW(+Nk888Ba%O9@}2-Eyac)B5Q)^s2yDL%apM1Dh( z12OHSM)x%l!)?3mIa}PZy%ix8xjVwx$2QJ-qaL>)s3|w{nM1jV(E9MK#~=Xli6_MQ zkwUYHK63lxd5Gvk#yy$`Xr25i+&_AK^g2T8_=TLuEhw5F&5Pznth<326RK`CKmg1l9D8(ls_F&Y= z0RLZelK-I;KfC)hezxe9)A-q+zG5rI&z>p8&26Rl*?*Se=7v)IYpT1%vTF^?I8+^-4Wqj||n==(>llN{H?Mm~P4tqnU z`(3nA-g=Ur+ImQ;qr=`HTCL=wU5c~Gx8Ln&-dmIlj`8{6;VQV1p0|yoqszq+V%{pieIE7}7j50rC2BLSd%lXZ?%e=+anAdh$rs+e5aQ5lmCDIhX+pjy z?T^y_UUz6Yki>ipNVpzV$g(pJQ|B@9>!zYk2PmUYGUX^Y3E}OQtjAo8~qiX0kz;o0}pV>>FfE zwz`}>Wsg$dHbSR1DEh1-tD-+?br}>SDeQJa5+ZM%cM~gEw=f=q2GB~4ba67k@T^0E~=tgh{e(BW=gxoYL+gtF0<=o`( zZ5wNhxKGhtMc^#I!3@<>>C^zBz6LJpd=08TH4wjr;4y6wxCQ;~-0JqT*$&;kP1;2k z$yz;=HP#Pn_d$J%dZ~Jhu6}%u=FKBofGJu%n{&eLZ<&3aEPXn`7_r;}T-6dT`Zkw_ zEwb({vbpuQi}<{`?Vq}-_z1M1oo+`>DrcRp&B^A6Qt`w&Rbf2hT`n@)d7DEk@XQD5PKWlp%429;qu@gTCGIj3O#NYhFNjkW~MZ4m~KwS9Y?$r7iT^X~6LWC?a2-9ZGJ%s$Dj-fs*DbhvgW)eJ^Nwj*2#8r4J#780%A;#)}k9p3whF?v4H>TSfxgV*rk1dn8KYc5`2 z>qgEmH{yKPP;S2rC0bn}aqjbd#wXAj^g1ROqx~?w(n)U3B<4~J7M51)V9C&X_$#?~ za+0&WGd$x4Vyr6O*N;53LA}otz?Dn6m^O$+bSTcn zcm5v}vC2I3PR z>-$8d0b=ihY|_e~!r4b}n+~SZfcWW~5S;M7ZmA&noqE#%6Z+6t-Lgp0>Lj9j0KwuEbSYv|Ah^xF#5wsBTsafKvj&$dTJ5>y{2c!L zSY2IYaqC}E@jI;^=?s5V)_-+Q(dse?ey3ZNj`B;2R@(*L{nWQ1GF*Vn)%ZI=^~4iH zM4#Hk_p4aOtZM-1$(YErS?}`gYLhpj1tr=b(-6_!%T#CE3@kivD(wL0TY>6qQ}LKK zmCmqj`Lj4I6tcz;O9L#A)`!5ym5#n+8ax-={*Q-*p^~Fmz`#1-`+{ANKN*hKi|ZlO z=mL-9K$RM!IBz^@rBiD{?j6Mn-2{j1AcPXQe=_}4);?wOdw0s6A%rpzp_7;4%GZU} zS^|r+Zy>kT0{#!B!~d28>PJHHW707DSnthyac zJ1eRB)60C51Q6hR$OHl`ar+PBsuHe^NylBcl{E+`z>t6fgq~pk8xmyFL{>u;IoZBn zzyO}-Ey9A*CpXx)_?rO>Fw_?oph}?-6#Y~kvB1_PVSybC=Xdv{VSzoI1O)g-QVqF-;m^8yQh@-AOd!DLEC}hI z27e=7@WYIBC_v6SF4`tA08Mt1?fZM70OgNNC9+ixp2(NABPn2j?cv}5E(r`!;8_se zT^=b0b$uO_le%v2lYlgfW1T@T0i9Y-48Ul*6r35+ zJpAiQbvI|6f4g|1N&x>R#fSH26G0gK#em)_KiEeu6J@vBCkq zu|J>OJHO~jf^YOb@g)EoecnC*8%@sQOI!!W;wu_p8{c!`weI(NVH<@!UntNUPlccE zpHw=oVb1d&`xhn?oZ$U@=}gasu#JCo^&-vX#gXP-cEv&M!l~P8;(YPq_>J=~j^B7h z;5VL1!EfvUCvPu)W8_QXH})21G$#($S-zVLo+%fJHMA z{zejGK;HB(i;3pZXIqtN<7|Yw8{G3t2P?)*3Csgu6QO&;Inw}e(p`DjE2orD$iJX| zLT}-OB1z3GYan`AlZnSz_ixaOtUp=cZ<#Yyp8w?aSJ)U}&do05OENW0qvSQlWV~|X zFh!p%?iBbSe@maDmiOPpJLZA98hq#eY*RnfZoP5=G{=YM!*UcaimY`jwKCsnE06914rPE=le4(j*h5LF^1)coNeJ^=>R-On`qI+I z4qlZ%c>K-YkwiMBN{vJd+9nu-@9a(3F0H;?zBUjXS00X;DP#|NoM$|E%o&xo6YXHv z1Y`8AiZQ|lDcf5i|4_|B3e7VUwrhPS6z2}?zdFWPGcIfZwJ4guZBtQ|$40+9T)g(W*Y9fOGgYabcsz zYlgjOgWv426rT3}L)9Nj&3qKh{7!P_<9e(K+^pz@nU6O(0{_?Y9ow!r-|?51$ai!N z0e&5lmhdCFoN(+P*>10TF>$&(@XT2SxlctD(X?@F9@ zS2~5hwf7sB(zg=zm|WEV9>f=JlIc!`o*}e{=vng~NZuS}0G_-SaM0WWcXB9T^8xaf zi>?vtIqR4ArEHAxZc)FvF+THnVq^47i#=qF7)^|Y0=2E$c-xJNn`2j^*uUR#}p$0N4NCt(rp@Yqi%#)t>{#^Y&9!{h1n z(9@T|oBQQ$eeaipA%?6qtwi%h@b*W=&BmkuOZ&o)tEUEc%>HIr| zGrjSwq&UC8m5WU|Q;A5_Q0yde6!%48!5;+II#T5O~0-}X7RC+S}k4bzK;|e0%!B5~@ zR`0IiO^m+RR}g>gS9@Pe-8Ipxh%tE?S3~H&@Ksmw&aPLSpW;euCYM}m-AL=Y*E>$@ zD#QLSG7uuu+%<{b{u!CQt;^`Ex63nKLKB!}%73h;x@WPoe9} zN0s5q>j78${>dA1QMmFZ#+*&qDD7<~OZQ4Pe+RDo7Gxn5Nkn%^R*ycrKnpP~HW1JI znrPrD=<0}7M2fK^ypfywXk@^}8aXJ+H$IWvh)S7@9tl6|VJz|-L@~p6_D#kj-xuFi z{`(`0MJ6SEpUhaKB=Mcl+Hl@uj79E9xfFSvu?Sad9UbnSt8?~uTv=tzx6C* zk>Bzwih1RpR~d^`feD_NW9(FX`2-U~^*{=;RAMZf3qAI6pY;EAK*>N_oH zf-#~{rAMPVs?-X4bx5T>;eitwi{5?Z!{d{S+MKtKq8_Z60M!s$RC*LuVI6-yz2R>Z)86zWPS4dEOu6 zpL4}$jem~a0H62P=b~`C_&hh1i^4~4V63$I*m=f!&NG%9W9-@(W4Fc_yFbR*q!?qb z#28x}W2`C0*ufZM{TX97GsZ?S#^y1`{(hdZwdWbzbe^$&=NUV3o-rxL7~d=(i7_@e z#@OpI#{MJ5*yb2xkr-p=VvId>DLl|g#JNLM)>gO`^#$KZ=~iMtO=#!ZG7|x8(d`z{ zmA|FXb*0sc;VqI>XUzMP@(0R%rHX!oYCl2rM+#Kw1Q#mbRXLT$7I^4qincyOrDs)p zRHY{q%_+BA0OHsm@coxZ{{|OGsuVS4$_=UzNojjOG4B5+pT<92&sduMoNga>#p4Oi z6FqBYaY7|f^_hhpf5!{A@-_R)l>S@CRFTTjR!fL#5-P#jLCZ6d(~mgrYxX9r$z zXUf$qm+rONAenzie{O7#wi5ljR;yxo3J8TDtx~#pIAg43IsekKCXaE`JBEFQita`V zos5XRNs-)e!bLZ*t%^PsMg9zxz!pOQ6D=zz)F_Bo+JHk&Y=@I6Y==`BY==XPdcTW_ z|4Qrq3WS@5{G8r}A-{)z4f!8tj7jxyzQxB{5049e?;`dlqIG4=D#UBYNLpZ>*7cQ{ zh2;G#gb=_F<39&y*c=^E%xUQC!Ie8Q5h|H~w``1K)IXY;n0GFEYHKTXzw8L8#?513 z99xt0?Gn6plkv?~t!FBpw;v$x2fwaL2iZZbD+_Bwa=7eVSQ0fY(2)U03&Y@ z(SmTsW8X~t3@^yDB2-cydl6S2u_A=mIyE*LSN@Fmf<1{Ve*zyK!2ZMixFF^|oC-b6 z!1K2BOX}gee!PdA8OouDneiSjl@N;j6`sk$^A`6LlZPJQllMwLgv>JAxbi!EjQ5q{ z%5PfDfQc9}7P{aB5F$S~ZN9Ny&?Y3}} zQn(=awHUf;iMQ2_5CVOrbagR`T1rYhG{X@{Jlb}_qf-3QdHm7&u*dOdvr6UFnZPQ(Y|fv*l1i#p0CKDDSCM)tD|A-^Y`9D(RKlnd6(d?T3(Tth_yg67eZ)PD>o8&rxMQ3J=@u&qwiZTedT)3Oko5gq zG7)m=zVb+p1)+FP?yYwRGDQ^Tm2~Akvn!uKV!N-L_&adblYRB&k8TUn2U{abT0gvU zy*psJ@;5dXh&O(xx1C_vqP6xT#(?|b9Tmhd%m;XvA_p?l-l*2Q16fILGz%hfb?Y)O zSIw7y+S?@2SHQ!3;1!t&B|1~%;*(#&2^5*tR~NGXTU}_p#vFfUALEa|(o;^Tr<&*@ zNSJySMKUtE23=lOjzEPLyAU)P31@Rfy&rFHt*<=wrzh+PMUF%K4s?R(3q^3DubR-w zi#lr&l92a-dUqh_lI-iNHoKo|cK>(KrmvdllNX)FHg~!C!fS6uDDvXvUie_WJCJ*6 zo=LoM(beLO_M|tqC%tj?eF#NzF89U>_3l9b3kg=*H^CAwzs`L5+fwh#Tb6S*sbzGL z*?~9Sbu-xnl(gpZ-8_mGquSUq>rc|!6SugPDk_w6`Je}H{E1O>V!%=xRo}DzkeM3%r|Qs}83FdP>DXD$jazlyQWJ;DIG z10jj-AUSEg`kjXvi#|y@_kF-`=Mtn6QPr<3H2?a z?j?A*yBZJoEV;;xd@u;2COmX>5z(`XZtit>+#wwFU8#Xf#JK+m?|OSa45R4-ZvW&n z79Lc{r|JIJ_>bGgkIir8qHv@5JePl7lh0UnVFzO$nt%4r-p_sg6(;>V)x7tkPR2g_ z;_`p-Hl9fOH>X>C9@@>=_1(Sq6m>H;yqmGxyD#j+yi4@2ufO6x+DPsP|GTG~vHQ9i z8^f*HZpJ2cGxqIn#-?24+4$e47-P+`-tUKE7v6Iw=~{dqe$mZXWfxs$JoE0V{Fwq#{O`wZ~O9*NdUFosnD+Z*BE1( zM(4~NRNhnU^C?RobK4YZd(gm4?E#VCHlKj;3M| z$q~RemLM7;bhBYuiC1ngEV348Qk~2@1h2ft_)Zfs9+t|_=1y-RT98FERoYGH2Gw3m zw4U5qH~Frm?Zg=T?|AJ@riGe_G5Ar!MIkEpX02w7%~74*-aF^#m-pQ3%_{FH^L<6p zuhxELLvwDfA7kTYnoP%832jJ<{UOHv=l&xXg+l{j31t5@7ll6&jzRsWIIhEo4)) z^~^iYqnCE6^k{g%^>C=BI=fWbL-3d;uIg@8=}}15{@pMO@&~+i(U7cX`vWiF3+?mM zd>CxNW$p7SkrMT3VZt(Z;g!FzDq0NVd6Ne4@%&R9=_>RrF|yPF3FVN85Oa0_4hI?} zBGBsJy)h5D@X8Sq(X)PkV;-7#Us0Q)?L)HeMzZd+7!#$OAg;`YB6uu#vOqQlKOo~( zo*eA}F4ej%*gwgFkcWmvMwp|;*@VY85j=ih^A zprWyO3_^56@SxT0XV|sHmD5wf`5{B5J6*Jg^MCL}f!p!9N{^`YfLV`oOGMGuONthf zh!*3Lc;;~(E3`|WV=-n*Ih!UJZ{9J7>(rI^W(Wsq@I-+soiJ-QVgHAj2suyT@uw8$ zCKZo6MS{l)6#EX3{Y0d)A3|>4U3X>Rm%|+axjbgU3j@K{0RxJsAVh<~1EQ}DuAJ_Q zpy=ynH|M*3 z0N!IToXIDQXx;tb{6?ig8LukIk#%CJ4B)Dt0fxlp$bw9SLhf?ps(QLYHQeQp8uh+N zo8GU|6XE8`j77M0?e;V80J-8QV+>*ca?Ytxp{%^#T@4-~W5k_A3zaL{xu@{l%1kK1 zcl6!dq!N5kTiA?mZ%wPe#}`dneKMuuoTx9nEna``flN_<@0%<#-kKZ~qUaA<6*HC* zYOz@53UJxTv>v}ClBCC)Zrd3JGny1VQx)M!i(g3kF}jM6GRGXHZzjJ!!N?n~I3Fs& zbN?>!&OBt}FC+d&T)CL5QBrV%VX<>js?r1T{;`pJyX zB5(G)bbp_xDSh2`vA%woN|E1*X|NH)GE{MnEx>c{f&PxQDf%N;IJdh6${NHh#29%E zCybHx?w@iI!LAUIHkj@efQ_zp(IapGG_1I4s5k%$@)6h+x^2dx$e!%ffSi)c%>UC@ zKL7NzhlXAD(|EyGG7yqtgtkYn1=Qk`c)>1iXwq2lM1d4@*-t7o7HQzidKX^c%Zke> zsouVe&`{**EQBT)Bkm}N9K{o<>(fOKlpm1F8;h&@lPzJQ)$!3u3SBqzv&iS%8a6Dq zkt{Ay#C&cTO}$fFx6-6S8hK9+Pr5c&EB(%oJ#}Jt5M* zfZUwT#J8-p$~Pp5`I`H!i_Vvao=(&!|1cT9)od?h zk%~F@i#ev06+TZl2>vaYS(1)E7O?9Fznh$JHhiQl-Ev z!V32IJFs8GPXiCAw?S@7Dx+^jX^hU-WV(PaznpyEa9Mgid*%FXzAu?xiWXwHa>PaH zmEJ~OsuVQquU%CB#p%}Q0J@okg2a-8akZc$+!E+vP<+?X;ew-=vMNG-)hc~@5uLn* z1dkOuT8O=y;IX@jk#%#41p=N|e&vnDa@9bg z8-@6Y`|%MUijR0_u{q)_-;jj4j{V0a5qe&+t}4}JcXSZCg1?jxb&DA4fO{V_8F$x} zaO~?Ji$PP!JWFTXWuWyh26@hf(O&T#R>WHOP#N&dZvt~#{jPW!s48_t z+C+@Jd$<}$=#J8Ax>Kktqquq}>NXOs$3|%TjKh&VebGNrSsBW>R-EO;r*(MlBp^*v zNW``aGIwfAtK-l2();H0=k{Lk+y*`p?|=X??$3qcT>pc=!f^HzDMGa1$As>T|Q!mB3cxGNjYk@aE!UpTUM zl{S;$u>wbn{2>-fo;j>)Lc0lG8Z?Wd)&Z1=;;ic(Py-*(?)ZR;bz(7ODW?rr>M)R< z2@k*lK9Ft;_Rq@Tv~DMO+zusptU$Fl6Z;-#43CeQr1a23kr%Q7)j%Av(<3T9rqYN? z4-vYP;H91Sb73zgw{5NH%MLAxe=9ww8YdDp;S#d;|6)%G*8)G9zUV-AAP=Mz)fO$H>rsxyI zZna97)5Ng!7rRxYwAa4siR)W@On7O}g9*KhWdHyI-Ko%j&e#!|l?VFm1gk=)175L< zw!wZC6ZS<2zvKnkGscuX(_z2LQ0Y!cS1L~WF}e!I0@sqpB4qRg)6^bQfagwvv5c`P z`nQCs{h%axix?x{{u7Ae@vrq^Y9CAN$G!HpN>8YG>5Z>B^@Iv@tXzHa53|5Dp6hxf9CGw#qZi7DvHaMTi_pUDyIq6UQ z5zO$8SA`iaiV~~zWQu)%NIS&mb7)n8N~0=XdT6xR7y``WZ2dsI@0ddOD)jvHEs=*T zriI=;r-;zqYEFb3=^bfCdVAbR-{CQe?ouk&Jt(Rb!5YpHrn=KbJA|noOET4cnSGn; zg{G;#u^%j(KGw?wBX5*gFOO%YtrwCB>qRjvIDNg)J#qC;rN;d+7fmg(HBA@d_prG)eFxBDehb|{?&Vs;%?4|O5r`& z{}-_3n5wU^!S~&qkhiTUNOU4DU5=u(+1i29r3=wl3}*tLjJ79<7lN0z$HfcLVi{t( zcJS%i8EJ>}nm*@C=))mA_lYZ?uY^7<+7tF&J;Rk>OK)TE#oDOrWAPCoe|z~Mb@`E` zpwNCsBmb^SoztF$9x?T3(~+3b+pahTX+Djs`;7+GJx z8wf9{^a$B{!X?*~&VUP#55W1$52bWz zvMKJyiU&lN2)MoP#o_j*)u~3&aHV2h3E+jZr%csUrGEjfU~U~>cr+$|j6t_NllVDz zr>tv?J0UI7rKzV(TStsx!%0P58ubWW3}AwDBYf&U;-vG?7`_py#*1n6dY5IU((Cr$ zB-86mFTKvj=>-*&OE0c}B;?^e|08)Q?8S4jE0%|X#tPj}1V$6NZ84wjRH9os(Z{o> zjTi&uMG2aZkCR+ANv;DDWSsKv-5|uFzXewg$`G15-KWy_$a%;tAQWzQbO?vgDPjz; z-(fn0V83 zon(yvk#@#>r^MfzZQ}28KBmR(7l|h!+VN2df79>Lh5n|dWPj6Hfkj-X=uZxp_2-Mp zw3s~q(GlR0kwS`dW&xht3G6h}rsy-RgzE#G|0a6rj;3cPfS zIlg-4aW;J*jPE@P-9TvF^d^xa*AxEswQ(O+d#r!Dk7`uhM}>Ma(M9lYAUkf7LN|jd z!ioNt*${Q_!YjvEiPm-1%*WrC$}J*SVIp4jP!8Ro9mJ(tj|Eq5=Bs0acJR4Ue>3(6 zIc*zp6_@^_ufngpYf7qo|4OTZxM-TmWe z4>bTJvmB6$=1E; zr^?S8!jA<`M+^WO2}8=F3A-Wij|lZwiyFa;1StUi!GMdv zB^$!K<^UE01iO~vXJI6zcnQQ=y;lb%$TQ)36eBlnAe_^=)h`j}24BCB|HJc) z6?WDkBq3r9_@X)&5o5@)YH&SlA;y3xTp8IauAIVmHWECceYEsGxN)`JsLJfxzN;L4C$n>sqk?f)DM zKN-8%m!HjWVRyJY^vZ&-8;DWdh2?;N1~3D`u4X--P?ZB&UuTE2>4A z_a*U8@AlBH@DJaDew(~NbO5tbohQ9n;p1mA5z({m=;@!1OED!4mtw>hut2Y!lZ(O~ zM`8^3Pc8>yB8xO7uqs~T4b%PM=&588cmclL6oqb6Xr~PMY=7-eEMz5kvapok*#Yvt z$N|HM&=9$46A6Y#+|2qRWUQ9XarP(1w+BiDyLQN{GtM#Q!tQ$c{Q)rL=ksQc8e>?N z^EY?yGDz`S5c^w?keeVcH)fqa#4-YEPtYL0EVYx)edMNgH;v%oSxW|65VpH(oow$D85_BXnyd+F@EQv6>Hc%>_=W^}R7CL0Qq zwQfnKjdPB=9gU-lWxOyH1-Mx1S$26a4YQ;8^}1dx5592*4rP^Zobsg+KrVMX(aV<2 z_td1obHJJ7Agxt$S=)SBZvW@AN2E1$b)q5ud>`))S)@Bv`m<`4mR0!~uKWX6-woeC z$Tasd)fhZn(Q5w@hwxYw{aU)dk%H&3&*R*IE2jdU$99kXiwVYvyZXlSSd@n6aneJh zm%#J5;X*u*P#n*r1MoadB)9!UJKE2CQvyGJrDb51C6{PHi8wd=+K9A?NE?WKGf=Ml2_mU#Tl-fsY$N1l^tL7OVI_rkS_ z`dydAYn!|%3C~0JIL~|VnDZ*_CQznf#6ZOuYz45kjdA;UbhbiAn{aJG-$})}8CU+t zdB!5Qr^2Sa}B_uK2DL%9B$yb${WulckO@S4Wn zl?-cl(tl^|@+$@WC%3=jg|89ksY^c=vPic@hhNEUcgUUlT(nJVkVJ$sI^7?+XgkRq z94xJOHy}jn-2u>>gFS`B7;!7nLIGKeJvCh=#*nhATtsMF;ymRPd8YA3fApIq7`gc; z-A}pbY5Q5cYV>zX=?gKU1!8hV41bN=r<-OrYu!0B2bBkls|bq@Becy$Pifsb&woxE zi7}+83j81wN-2qnqvV6(N%`khYN zpH38(;>Q|G@tqAbCIB?~8UYzFyH@!yzGZoC+NuPPjgTu2GVsMtU4kn=1RVak|2)eW z=r8~uFwq$Hcw{A@*dCtkmdj%qz6V|OkfM)|mw!wus4%|3tT3q1@eon4w%ANQKm2(n zk~{ZC9?rf}_yf+BZpY!s_1OpkBDw`(|Fszig+Dr$iDbGBUKFlsR@Erz8ei_53rAq&w5Y-rWsiAir>grFsZy3p0n@1p8VmQ(?3(_deV7-cRd&>R92&5Xa05`j{VQ&$RFfz z&cNz6PHefOR>J;j2_fZ~;P2XZUQ2@E!GI4%Lr{In7;vpW?h(WQh8&qIL7k|(plbTt zCY^ngMcx%cHbiva5|Yy<8}m6|x*Y+xznNfH=z~pX8N==^#NUBm56W6kMs!*`{!Spg zG@OYPx=xhKV>A@b9LQK?XC^}Y=Tbboj_$8G%GexKaR{OEIdos}#5Kg2hfq1H2>lpN zAp-suf?f3={DiL+_YOb9uLmp6a+MyxR#&(YuiR+-(!ysJySwFzb1Va)wfuiFR?iUX zu2HFbHJu#bmTD-Afx?v{^N>rfa$B=fgBWeiC@f zd{oA(hCNqGhhd@xGl+A`^aCC#!Z~8jXzYK9uld!eJ?mBoQgH_HJR%{qn)3?wZK|8=Ne)q*Q)C4?e3O9+wofBPHwZ>Y-G$N^*6RkAUws8i8rT4_^BN4@0x0eL2n z%3HN0c#QMb+PT16-z=pQbAY*`kG^k(CBKDCYb5%R+#~&w(=s2w#I3bp_(n&gCucWa z7|hw^4~b*J2)B;OGlA5}f)^MQimN8(h*DLC<#*2RvO8%bWvVe`9DnbPiTQ!M`TTsV zlzw+$j+mhC>8);iP}a`n&-upt`Ov8Y(5aEW&v>U6JZ~3t4Tf)Y`y27XIxFY0oDKe3 zACCM1Y=-VE{8EK*)pHqH?y@pT*3ME-?Kr91;vC(_mwF6_iV)9;=M)D$6HhNkt ztk~xwS{>uBCH@xQao(7tC8;@={`A{K&$1rx-9>MA0fO0&QgCNPzd~vKimnKE9mzzZ zF6ELVnF5A<SJM4q|B*~6PWi_}nd$ap z-~OQQN3YBu)bteigZ!8B2N66wNUq!?l=ae4@+VwE{{N0k=!K(~a0&6w{xHjePUAU7!YOoT-%g?Y!F@Z0F6IrwZK44Gm+}T} z_?d9BJSMzBhUpD5QoTWqU&FOMz?XIhmE0nFy7tSt zgWkWCJE%_&&=0?W3H%>;fS!Kiq8^}Q2f+h$Tllgbpt}!&2dLm@xhQ;Q+hsjKuO1X0 zpveA<>em&=M?so=*7BphOV$t-lBvHY1|CZ#6Fiopx^&jY!wF_y2Dh0NWY_R-ZbxId zYkwwE^%bk3){^+K9v((!c0uKTAcPz((VK+7;6gYs2yArj^WNmbE0f|M&sj2EetRGjMXg+xKH2{ZrqGb8 zuMxxl%LUzHJ}Z}{llNuvDJV#?Pq`EkJ>2iz>%uGFHhY+2csBK6tbWAbd^q$z^my4o;t|cCuk!StHvCgYW#3Glr^KGx9@YuR=sy*E>YM z+!Pw>7+WIwZh_bP?n-+0hW%p6HS7~x=Fj)?PQ5rOoV7m_iQaC3-hQ!Sfe>|=U#d39SBLPej71n3@1j}lJGO1 zW+G94y(~cJzVPFpW+E=!pcak091nLdi9>!t=GGEoLNvm`Q@*DPD&tZ2B5ZdDNWHrW zILPpe6tR;o+OE>>aKwsGhr3Gh-PHlVNWM`}xL@vYFA=3tYQkCjGEt3`rmzsbY*9G+ zX(lqC^EME@tUSD%UvUQ{@5e+hYYK0GuS+D~%IF$G>)=h-$KP}dyy-6ZeJr2(b9?xV zmn{mvmelSZXtyHX?iOfwy4kL`A({j2E|I)zptDmx6;!O*li3$NI)NVdsQM4BZoKNJ zMLEQnDdxMoC3U_dEtyCOex4y~pA92MmMxZvWc}M&$i>y9e+dmbReB)&qkfksK;_azCg&HRDz8H?)lfO4wW8p(H@na3O8h3o<4{7T#P;& z_N3Ei^_~>^ytU`c(5GdmNuTL^(&_X4Jt_40=AMhu=bk-+KCkS&68dxieID#%y)^Dh zo&NWCrL33M9&^3?i%7!YXy8D2l;!gD`1bCL(c|9T>GT-BJB1!YcYhgrJha24$H86c z^k~|ZLXY6Ci_zn+y97Ph_RG@a1%+-`OcBPHO!EuZr7f8scV{BqVx{hF(W@K*rE|YJ zG+giA#+Qyl*Q@$h&DB#K&fS?HUkxW;4-Cb<#4PRwxIY3)Qc$a!m}sbYxTgl^8;}{R zy90!}tFYZ&6L(viRnbJPYn2|;J=;9AE&NTsj6}gLPPy;LDOV%;TpjLeLAfR2-|jRi z_d+V=s>08shc2e!?%hYb5VSL@x`3zYAZhCEtHVKj-c>bYd+Ms1wwXr~K_SE!m ztHyu>KhH%9NoX5inu^GWSAWv{6rpXZy-9{JOgc73w7M7(M>K@)5cnT6^UG_C zs~%y|0z%vQh38KaBdhY~@tpIqu?uT^=~G|VCof7=dZbg|G?8NY0+8`axo&#TTlZy{dU-}t4d z-FO=}HKK#z_uU@4U3DJvwT{7SRXdZVM%lTgEJq7T%OqcGbS=?MK~Yw&>h3Ci>YLFF zM~8M+()KW^ofz)d&0JwMQE6~VZ>7OSrZ7?szbLf2iO?tlGt?mP79IH2JQ& zFl{*;+h}QD;J~!*?($=iR^!fY>j$oy+Y3`TBtwqw|Mgf7O_g( z!ynJ>VG3QZ*!L=WKfS=;;=T3CYvw8X9IK)~1};9`s?rnT=Wb;TP&1&A)e$I(m5iel zd3bIQOM_PGi=R~i`v5z4Svk?OUfG%8Zt8iRXt7*En?%sNr)tKadiR^)#y6h+ql>mh zhC#gjPWdB1T&1TKy1jQ2)ABRJGagOL%?!_&kjTq~(Cq0C^yXxqa5RSRZq7uqwk|yx zGXlw&+o%6t*4CYm=E~Z-SkxkG>zIo^{boGwTdP~5XtAdtN^lpN{n@W2Wx;HhJdVs2Xs^UTPLx?e;?Z?SM z^!!(|un=FFvbi#Suj`&SVP$gaP~RdqUTOE}vel#i(&nMZl`Y3T#xJCYjlnl5TCMc3 zF|425v0hT?Sy+wD4#vOwiXi`hckGDj+{)KurtusrDUX%SycO2tAXtxGDh;X57GEn~ z>ndhay>oL}f2~%6CJsbD=6%$Ci=r8hW-TUZyP32lWepk^uE96c)}YRrYJ~uK-4OoI zbKn@bZTqFy;>e~{`TOlh2;C^t9SS`oQ$}cmT+Xt6HxPe|4?_X>wFL;Fu&pT*VkC-i zK8jwO{%iYY*b9rO)zL`&E%^1ItLnKSuBsOXQ({XP{ptJhBa`S^(FnNImv7EQRa306 zuu{t{_JL1U01z=TqG#Q^t#`}NZ{(8Umu?4(-jI4e;PHR%o#>&*ReFdo?MI1zpQ=x@ zs`^iC#Lv8g^zk->F#51f>yqYVg}=U8>{hpJ&P4qF0Dr!2B7OUO;4EW`Rxd?Yc>K&e zaH78S{AzKDMgK(ftiNsT^>YnXX(y>z$NQQjJ$7!&MB%@0x|DuWaeTN%KRP72VjiIzNidp;R}Q z`-QzTckaxYGiT16Gjrw~b-HIq^<;{oPCpqC;KcZi4``3{Ei@PTNuQbf4$TeF#AfC89Ao&umNo;Rt^+6;7-^ z2QWl;$`f$3L%tNxTjZ2bX@Bw|u$1pW(fc5ykBx& z{2Gw=dqi>;tB5vsmqZ?J4>UY7DS(=&6slqfa54{*cGPsU%kMd|Iuk1%F7z#7?$QE# z^@o`3!11J2Kuxp9lO1%BJ}v2K4a?iGiXAxG5!&YW91)POQ=h{oMG>78&%X`lOo4_v zI-Oi*ypPE5IF3_dyg*7F$#$OO{N#wF+ELSX_s&QMil`jN2@RJB*Iyo*TP190{m6mGYUqbOEhV8TS%(foXPdHSVBJ3G@yLOZ?C3xTSqq060t1TZ#WAa$kgk3cM zJ4XccYMb913wivW6|T_rSeeJ62y>m_W0B-EFysxk)3F(Yz3oT=7rkV$Gr8KraU`%+ zBEd}(32aP5`d8kfNN@GmKi~>Rd*nQZb@@^g;}YrCE$$drgB!70xd{$jF$rxD8cOr( z1AB%$SezNUC$W3`P}lUk674jljwg1J*8kWffBge_Z6yv^_tl5nCGs_itZ<3|x@kP_O-!oo^eYEQFsIWn+tFd=C>>*UaXuzEUqDS# zft?O!wWJ2OlI=Ktgo2PanS$_fPjgtF4L$`PaA0zWUB8~SVaFsNtG;|pO4)BTCf|s? zcR1v$>08}}$sG>%ogI^f`OsXnL%s@o?{vshu@blI`4m=>Y!%7u0!*s&F*&J!6Dx6t zNZuBStpF2R|1P~e;O@~E1RCl_P_B^~8lMgznxhQnqJ<}vR;%*q zS^gw5A8ZeGk=j2C{5i8JIa6S0(8_X@-rUz1xa~^Zs(f^|@GU>Di|U#JJ65yEhsF{| zRU7wp3%SGQC#&pg@XrKi`^f{2DnEHFPgJuDRMDlxjVgjCkCLgk&^D5@48u6jU#+1o zw`2Y!R&)GyRz)Rj3T0fKLxcbUHn1nV$1fIgTFxiLWeKs5)uwriuMho}i6ewBP z8yAspujFk(>mjaH{E&?bRkv(|BPcQci4F5D4S_wrdfQB_1~x7x{+ae*^e|RK?R68W z@T7*?CGv5ieVdh|&xCI5vz2c>*S95`Woh<%aV_ zwE`CD2~~}h+o@ydvU^(p3dD;ob4Xr~JVjL69FRtm_P7J9f&+W)p>D~Wkh6nom0cul z$=|_&;sTmv@{Cs5DUnYTZP^^hT>A{sutd%zoY@?gxF(ys`2B$=|N1;!avL-~|6$Yh zpQNpI0F75TFsaDLYK04viXwHD3rBn8e2Ex|mV7!`nW9?mQdhY|^|m5C!`*|)c2QgI zqN>(*9PhVa?}=&$F5FGg|1|qTANw6U*0O&ulJX*~+9mZHPT|S31`D#Z0h6D?)!)cx z8AD73+p${W07d&9lc|`ySSDj>mt7`fX~e4g!u%u-=Ez;7wjKBhG$?1a1v(i+@fTc_ zqtp#C6p^&0c#68LliXof1MLDS%MOs0j;a9pcAltasu;M6Kq@9v7NLd0i4A8BgY1>~ zUaSVgRR0>uDZUPzBFs2Nm~o0Q;}l`WDZ-3Xgc+v@Gfoj^oT6kE$}PDU<(4c#xg{ki zx1TM1(`$y^g!IRD(BsCbuYM>sI zRy|W9?Gky{U)UZ`*s26lmd8fkfmKfB+H6m9L(U_IHi1R&afvx(MiCEX7E0U!3t7P3 z6L7~c3B3sVk@{e7(AzCf2@;p6#Ox9YYywFvMh{CQ*ojGHyZjZ=`!-ttpH_}rq!oWc z8%cQLlrywRYOoWlmF*z82g$VugVCP4DJ*b6yF^YTHpMAFsBEVN7i+f9f|~6hgSr;1 zDKQDem|8&gNTen4Zp_NjvLe|_$3arxWLsgO7uDM51vS9Yb%+!{DSD5~4yBEk)KH8f zD)|YRA3VHK&kVSa2HdfLT9F;(`+}r7Sa<|QL<`4>@qVkIRyf={C8ANiT(6?~zxwb- zR%)m*a795UGlWjU>KOGos;7{=C&>=A%&EjE<-_bj3!B-}&&O%)ScNzOqIajHLJR1r zPH@_^J4jkZb!pb~qWT@XI$l)s z3W%*iQUjZ$d4X7HGb6vwAlWL$&ss&zUoe{fsE`^Y+r;=ei|E}Zp@oTI`U8UWC0Sh1 zPI(rkdx->|7rpPG^_0CW(u$7)4gPU6Xk3ySpcLOpiA1-!4=f_H4+W#Kx`~(^#A>Kh zBFzc+79hjUMVd`7*KCJGkW812Ai?n_2`=7DN!uhp6GzKZrzgq8pkV~P+hjkpOG)ak zQR}z6N1dSNH419p(*lvF*eD~Fym5IVR&%ks8rFjY>J94bjr#6j^r)OIk%u=)7!=y#OivD*6{qHh8GtG#qc4Ml!O^I911EAzhwz=~BpRC*k?Wz1~h25`~Ws7{D z$oHaG%kt(k3AcymIMNw#A83@kd*#4F)RcX>sI>5K@0qUb2|=~hOByA1DQj$1v_rm9 zKwECJ`^nzIPC;og(5pL?Wc=;tEe9nR*TWO|+Wg_|eLin7ODfSQzEa0hgphyUuQJu4)2vyM`_Ex}C zmy05IvlkgCQcGWCuon|h#K&G_$`3%)uYjj+B8tppnOX9!;GZDismnu=OK4{ortUu} z+YEPyJ~1^OO3V<*HorHy*11r#74GQ8_w5aM)?A)b^9fQ84jP6M<4N4_P1bb@YN?GX zVA&?ZlJ5>0hTz@hN2U9RF$?CL$)B0rc$I}cKIe@DQ57|KiDk5J?q3&)Ls zCllbo`~YR8s!fr!Vn#{P4ixoTIL_T6{0Txtyw1X020Qf$P#@rHdw{e+PBTG+kaA8jDR~v zD<2vU(js{GuDwCfZ23ESrTf~;JP)Cqnop}=h5dk-;N4qyNS_iO;F&k+k^7&5S_XqO zC9O$)(Qp~T`)5BY{didZ_r5J(gPLsP!Bjkjnk3~}ezjPk0F$@Via=3xyqia=>4>OYrVP-`_cC7|Gb6=|?KySvej> z4i6eec))@pbP+Nq$V!AFZx1r7-bfM6XLDqw14aG_`8E{Er}=D(tjtA`pFn;F1Ie5r zD<_~x1oAUcgfd-olB}GFA`d}+7K(HZntnV2o|SnhvXsL31|`fG3~m|$h+yT~DUI1n zmx0mb8WY|Ca{bLYKuMWBKt2`ef#y4 z8LBn4@qWSmPZt&0z#-tdpyn^=rt5Dn1neZbMDE`tkw8o&A4udQsW1s!Nxe3#^k$%^ zDr{6K>RXAvuV!#e@B92Fk#7}u42tnjZ53MaO#EcuqYF3=eeYAydG591XiP$47f6!v z!?wlR>}wZm)2@OOztBdB^kcG5QUmRYNm(2xsezc#VD~lTUFF$xg4$*p!w#y5-;8m7>4y_D+fQT@clsx-%r)m!b0$$IKw8LabKAWzOyJMbRNO>Ayo-Wio7OQ>= zG?h=rE+(`C!~%6LV+)OEfAzN)YuPiYoFLR!(yyRqxalG&F#hSAMR7^J zf73|*gSE%ICGRm5`DX~8cyl){f!J)x7!)AD(p&(7qvSJcd+Ks`bFLK)3Lg!7ppaPOjh@r z^#;9z67n1RZ%5Q8Y5|APU@!5!i`MB7&nSi>5gUcoQR3N+*1Znq^f8CzjfM2&KaGko zz=>pc&^su9MW7Th*|Vei5}|&)K#8E-E<(p{vx^LXXe=}r?Am&$3X@ou0Zy$&ZMlQ_ z%Z1#BGB_?0Ls5>38WDriIEwxl0#0^Ig$bBv$Enn-wK89nsp@>Rj2ehh30op3gXDDb z+h+}<-VUd_+raQZ_67MeY z99(@8d*7|Ty#9{v`dq9o>BZ`!c1%|FVsf*6*uN4vojf=|#Rg0At#kC(nrs2n{x(W1 z$?=1RA!>DwRR7luP`%?+@(1iU5HV0h88D1wH^c(Z>4h-fwkI*)ZgdF^{(^2gojmPG zdCx-UNPrXSrGjos+@dNK^ok^C7m2^1H~BmIz9GN~4MB&{u(Y7t6GzG=JjZ#qBjs71 zeoW^D<#Eb3d-9J|XVyXvQLA){TCj+snsS~WLp7}3BHHfltlgqiyPj0L9%xr+2s(v^ z02IBJ6?F>r!6H$ubcrf06m*HC(jzofIy{|7v9mG`p}x{7s+IX73FeEW(gpmc6DbKk z)y+x=^b$H4$WOkP1~AY?oWeVDTPpbh{koyjL_)yn*-`yX3fTwTP_0f;3)z#WIEI+V z8Dbo%-sPuymv8otA(Y~>8~~`yr-~NkgtQkFmHI=pg;%*$zk*It4dsh!txF`e`63Cq zXuqC=$Ue3CLw(aicD-h(9yMrZ*r=pE&KDXaHh}w}+8}IU$-v-0rW>^4CwMHTfGX`fPta^4DidYK0xsk4c$bBIR~}!&vjHc=gqib{o`GKOR6> z#FmqwI#pCJ5y{jbxgCcz*cqjN zF1;1Jmz~9=8yEIcF-B3#M0Ifly!8Eh<~>$-OW^^HQb#1x_kt zl+xnuNZG-snp#@m6g9cPp8OnUom}7$HJYcib%RY|U*g0$!$>}C8Sz$=3W_B1Sz0dS@Oa2z zirpHXRSRsdJGvkOF$m3(KYvZX_n$qWcqnWwY5 zfVP{ThDB{n!3B8Knt~$9YoN$?snobrY>QJ?)z~oI(^9=yQt7mO7n8nv9;-qxoSsB` zD1Q>V=yHyg){F6{kLoX>lTT^pm43UNhqVfao35s()EpeOiqeqP*T_0CH315iF8RY8!gz|UH!PI z-XIp9k%)ogh6QWc)7jzm0v42fXxHy1vG9~cKF0BWi@4*g=zUv43qMNVG~6yBUso`C z7?V)D?8l_GQ}k{{>)!x(IK?l+e&El4MRlufSgq~U3vl#+JUOTpyny3}EbMY{;s?L7 zazXN0kkr}rM*{AnSSx-L4sZBli!|HI>@fkllKCOrA);SJVH2=!e9DxuKk*?{HZw@7 z>{tzSilh{7JWmD(JX`bAmhk@nuyP}_;IL^Tg?aPwksBoJK3O7T!wCH{ar&25uCa0G z{F$AvVlp6UYwhednH{&4<{y*57VeSAAdU}Ou~yDA zDx7aR(oIp}^dLFQ&O}DiAHv>uP5P6sp%h33CZN9`aA{{E1shEIgS}`t6FIs_vwdRH zl}PSB&0#J3v>npPVAQC)LL$dR@@GtTgYje=Cc(}`gyKOBc7kQ%$3gOlT_oiWk(B1+ z=uX*=$)3b7e@RibcNA46x^g%!aaYa-&oBQwdifUIZ8hoT)?fYu>1F#b7`r4HTj9_KR;zi#7KPi7gkQ+ zE2_)wB3bSb)jB7%mALyCR*vSk0kDgh^t)yfzqx4J~7jTgyZqnh+)m(5iCYR8L^!#-D7rRKd(q^y0q#dgKYjuvK-D@{3`$E9M^}L~YqW5>|S>Qp5 zY!%gM1>nw>MOUbdG0yW(KL^g^uV3ZFZ6&VM;cPC)E`s*i$m;e@4ti9NQ~;gAXCxdoov!an*B!s*n9X3 z9Fo^5PZ5=^j;cmc%`T9%ZwwiL9Fx2;Ia^X6eo-V_;e-QgG6M6J2a!-?7-f!ayM4cY^tsR!y4Km^6!<9 zKOri$92W{OQr+@zV9AyRtd!9xxx*n6szV1iFicUT1~)Lhx^^Qbt%+Cno-(i!*aRLt zXo*YG;wz1|uPJp%-XeNwy(kS0`2l6v@uD&f1^lRllw;;@=*NDlgJ@S zdw8Snp!gUkk`HK`ZcN@nO^cnL_SHwIxLp7i@+<6^#iR>$B_}}6!y6@{Co|zf#s|s4 zL3U?O(pKdM+=ulAqviulPc_70^@;q%dwXa#P}%mB(CM=oOQn1j%Xrk`d!+h5p6l>nIEH+(-G* z)vRAWAd7^4X?l6mB9d*oT_hg>{6V#rikB!V8iv8f_`nM=zx?(0j%G(gL%l49Ro@Uh z>IF75nCvw@14?S`^P=}4irC;JOuu#nyvrKR8%9c;mq;%z+>7JAR>~Wm+5;Tk_Liis za!6W9e$d-0?=!DNNh)?paE=hH*K>!@pGYg6aT|n&QfE-T%_Wfz9gS#DbYb<;e5$>i z#M$ z;^5N+y?H+~4G$_~VEkfnA1EhzIu+8vmGkeiggM!Cd(Qr;3L@I zzMon-Ney&LYOp>vLGv##Ka-7v%omU3EkY3m9BZ~Z&RZWw&e!B!KpX>D3v7VXeQ%qb z1D3{G<;KKjD;@CAMy%CtNbsMW0=M8Jlmk~FDwc5tSV^%OYIBqcw4jL0x zRxmg?XyG_CPM;`}R(%Hj&!K10pGn|Ef-(%+kVHOBJa_n%fz{f^l(E6{iCsToV&64C zy14(|B_bJ&cF0$PkHk{~dB=S~RA;|0sCh3) zfh9ycDnu?T0wDANOAJM zsE!YkZZw^9AMkq~qzpx3{Cpqq^Psm|ekI^}z*+OVpn8W(|4o2=l)T(93_%kN0c}}q z7YaKB^;R2>cRBTO09QXz09m){hu{ zFaFnyp7;K=e+-wn?s+)xegCHyKkrR^@~#gGa?$3uSw(o zTiG%cIt@F4^hwvpNyJF*0ulDGcGS;s#y#` zIa4HASapl)T6^N<_o${*=HP?TqoEZ6_hBliifSo^Ummqyr}}5gN6Q_O_iJhLQKqD= za$xli2liS+-4M?)Sie%$txs>4>FJponY? z+Z$XEze$Me-DWF*5@t60)-&q7G$%po=fOgWF;FCSh{nR%zrfxY?69t$fiqt{ccj>FoWY3u2wAPYU* zPB9P#>2%~SOlnw$;?*#uqsXbV%7Am{W-}iQc28>zq#|(ogm!HuM?>ZVNom^y!S( z{w2j~0*w+0y@<6yBh`{jg$d;b=x-aV$WJR-3s0tSygMHs)LEFXGZWptY#d2F4c#u z^Y=$+jhV}mE1tD-7hI3=eS^!A_dGjv-`2e91OJq^&P`N(P>dUDCa}V7Sj!1)vvR8K z$x-*ofsd2gP6+f_53~2rA~_Rq_h5AySfFwBRuQbmTlk>&)9P>gP?POOw7FgB`>LF$ z^j#A=*lKm^@2AE0*Gestx2t-V4{cs^BcFH(Y=yT8@lR}!V@Z77Fbw~g1X$0l&4K!@ z`p;UeU)7(ZP0@$ORx5|ES=Pz+4AZ3(6F)sDa+`(Yurg=|NA35pgaZ=aq7nn?#!6SW zyQ2!N%&>2@g3n3ERx6jT+`#-&;tncjM=s?#?j%|{4OOADd#ljOT~+AA9aTu)RfXzy z_B8Xdt<{EZszP(~cJeft(dtJ$OIuQD3rky5X)8rwDxJmB z_Eg%=(qmHTF)Tecl^)B|<5KByES;T7XR~xpDxJg9<5TJJERA}ac@+70&@fv42;G$2 zOSuMJS3l;!X|5ebJ_ptrXK3!FNN#CnNPY``zq8Y{Ut||E+EL`+IEvr80*c?RDzx(b zDztxJ6_VetLUsFl(lLB&KZRodC@k+Eh2{ODu)Kd1miLds^8Qg+-k$}%yxV|YX59p9 z6!vz9Ca2H2M)1AsZIzFprtGY6yer&y&uYEZmUWZ<$?$xP_Q-c((k*V{uH-m4`W~{c zq^$J0cx1cmK}~X&ftA4=0X-YX%AgZH+pLwJ3HMphGjYFtyL~&&ta(>NFLhV9V%e^No4@-E{z5_iX<9q75(Xr__&kKzv&iY(KYp%dknIWV~qliTe|pRHyB zzAuio90?2|ZE;M>oaqEH!oLCY?^9#PYMCRb72CwZR*4v!i(w!4L}K|5s0jUpi^^!; zHlK&d8*!-+{3J_-y_oolFj?%tTE;1etLt-yu1ViU{}8OFs*6$|YZ-5t<$}>3c|4dv z46RV^n0}JU=aNdL~tX8>xgcBia$FPG4`Z(#&IWyF>JLnl^NsvnOkJ zo>2xeRv%LOrq{iz^f~2yO5d!|LaZ&~F{yA!-gxzj@S4f|g3t??-;GI)3%8XOS>Sla zV`YHuf<5OlCsvv*x?AZpWRLDu`WA#{(@(UF|4O|#zvkK3UHH1%Es$%& zee+S|#~jCn`(}kYByzh8E3rXL%8J^`JedsUE!h;gWllXp-%BKh3p+=am~UYvf+U{2 z8^jf;#~4}a#vE3P0+5_DTx?Wx8?%Rs8OiY%Ek+P4medCgWAu4WnFFq_({75S)S+A4 zv7maTs4lltg2aU_lpwD%!yml!Ju7GyQ>oNjI3N{vrM|;j#>crFr)Oa;<4)Lds&k2C zd6Cdo>d6AZpwu~%+D7Yhe-AuYnDEU1B6w~|!PCM0Z^Lu13D0lUFMy}nVZ!76d*NAT zeA}7MKQ7A8vGP}!q<-5jsrNVnZX@V@A3gPuoz~tbsmx4Dq7)g3N!oP{V<^zInIg*JPt4>e^^)r5n^m!tLn1@^Hq@jic)llX+uC2BriB!WX|6Y`mt z|3kR21wA#8MZ5QDki0LR`EyV!wg{*x+Y;_ufTGo4h07Qm#aC?uTz}gXB#*m5XSm$T zaYCEmVaG(3ox#FCV>K9)v}wG^Zw-=f6a~qh6qyjDkOeIKAXW3t>JA&jhvCt3|BTFLpx1)8Nn8DTDVn2$!Xydrz zZ=uNZ^!F|l{gs8|d=1h>OR_M7*27R7Bp+62*G{EN7gV-YBF8p=)dbr^7|~&@20IsN z)4U`4k2TC=@4o7*!`=lb^1BRYp?BCN<_BF8`9_gM z9(S|}lpZK2Sql!b1!poha~QZ0khM|B764@Zw6{U>c986r$brPuwE8o4(ZT&uQVaz-jV0}Z?W#M=58+LC58qv$@H+14?e z+14zIL2nz1{KN*XNwTjW+1ACo=I)?voZp|TQvJaevyE?9pg(f;=)N@T36b1cG(?kH z#?b*rd^mc*oCnd6jpLHvu~7h84NA*mn*gh0>a!%a(HZ)U^m<+%FpT7lkpHMFSonVG zHP2o@MPGw!BgL?wbw-MUuS3z3lw!kcCR(mT(a&J-&1Yp~Q9M;t+N_fLaJyKzjZXXP zfG&8&(Tlwq+ z-hdf^$^IaDC-K9mm6NWyzfzkpV>?KPilNbDmpV>w4lc@lB>=ysXU%<-cqE6lVAH= z>N;WNxMV?!ACc|h?apxjN)-JbN3)hrv_i&xp|vz&gM=JfO%oZAcsz7JO=Lo1Rp<_y z$b!WEp~VuvM3XA%zWIGcAHKaMvxp! zK5LqRtl`@OuoU;^HcRJFhbB%@LbO}mahypCh z-=3r2q`#)wW-UPFw0H)qt?(q{K?3kLKSbzFHw*uQcAlmSO4@pqns#&?68Ee#2jO+* zQV^~G1D)}Y@ykMQg&(sl2yMe!&Tmc_1~?NUi<}bqrb|5Y;UX=&2rKbkOcoX4YXTHY zR!kN;+7>eQx0FrZKlD(rOPoRSm@7ygC=%LA7}jUg_k5h@i)TKR_-?Gk&WWU?2p9HY zC2kQ3rWn8e1p9vIyR%??k@58&IubsoM4l*u`_ovxe%a~$UhaOz}Yrv7*&n$ zoH2|$(*7p(j!a+dkM`nkDR~G!*H>=d!X(zlVkdj3OJvB?xax9eaFN=1dXx-5M9n)X2cQ=ZB$kR1_bGE}& zU_aLG>{13UuX$IzFZ+iQ-(h@|Qem<8I8uH`i-*@Z_ys6>9p$Zjr*uK|WOWbgva~Va zAWENsA`ekkqAlWsTApLHZp!vMXhXl|m|SB|*HOnvGY+8W8!(lI^i&qM8g$hormp(t zg|)(oR9NjYwPgy_UCWa9uuhoclj_ST&6;8B1lBT&j=`Wjcyf49lK%o9-tK~H3Zss&D#MKviS*pke&r zOa9IKlHXDF{4(Qw{resuRP5bf?F*_`Vl7AKIZmHEY_9}+8Mo0A@(ckr+49ilZmsT& zVq~m7q}B0?;i{RA@0Sqa+CDA5sm6}U4rxYf$R{dWc}#ZW!Vf{JJy5&=MJCc(y&uYt z0DN0g;eJ2EN{d0u7vEH~SDMi#@1hb};l7m48zki}OxiKkrb;Qt=0#FYIqPFb4I{Y` zHa~aDH>BXzXVT={q2%>g%lN#Tb(U5YB)1Kz)B5A?ok6WQ4;SuA?HA|;BeJfdS-B&! zQd<0HPkezEf0i?~`08%DL|#OTPlg8#V?;j-_v14MXjvFcE#p+bVd(EwHI@$=hI7y` z*8T(kQteav9R2QE84DP7DSAYe_C7FxDNLKpBk<_ejvC!J|YnLUl zPWi}rOGv6gs=t_DnQO+V{oM5Z69`gy0+T_kF{7YyN7xx$_2-5GjvF(zAe5Phze1`9zsn_8XZTrv^He-mCx$e4@k*rPp5bfp}l`Qxbn1U@<-dBT%K+x_TSL zh*WE1_?plLtW7G&8_P*r&NVNM<3^m%4@e}?3=Si_)UfR=7<&E3``$-GbfYsXn{%(>|TDf14T;C z8AkGVR#W4l1HJCLbIcsI!4dAiL&o9$$7El)|E|y-4NG{? znzBz*k~~`Xq=hb33+NJ55;5c>lD3fdYZWhO_jC#2zNsas$$(Kj=$R^!W_f$^PSE2h z`fJ-ot%iq1DzPhMY8V|5<#4OJ$K9b%8o7T4gVJV*iowgbz){xEdD^(O_-grz;#r{u z;V1a3L!MN**O+c&SXN)k{3GoQKf%umO-;T31Mlw8vze+y>B+s5yoZ{s(GCFx-YK4o z0`En3h8m(Bp{MYDJwm;0w$jQcYs}fmrlK~GJ{6x%pNf(6srX&2&3V)Tvtsg#<4k$- ze`P*2@aNCRQ`4a3@BQ-sU_O4#jh>GW_CxFntj)>0Y%G`fuFM8H`Wc9)G(U^xe>0W; z-cWx3w6R=bk<9$PkeTEU9%cdcUzTRgT`gMNwoA%_!KEp6w zwY=PC7|M6;T-uC9kw#k7;*McuD^An5+2!dY6nI;;l@-wnMW7%#FH%V5;M<6^B(RsjDXvS#su_S8{0}4@2ANIRiEfP77wVQd7yo-D7#IJ<5j%oFNC+ipR2m*vGNAZS}{PwBf=%xbO^C zjLh0`m_LEZj%0;l7~w+)v6g*3R^rz1z^y1c&oGRJyRYZNhYp4ZZb8v&SlR+yykk_74lT`^Nb`1`yG(5B~O9{SK9zqj7wHuhPC4BvC@`-wK+4h$8vuH zr}<@%TDfRU9^>vH?RN>wm$d*-(@&)7*Ho9FvYzkx|8C{{XmeH|8Vg;T{5_w3 z1S61UDBVa|M6`z;q54tN<$^MBC5rwOSU^9Ip897xqw4stplBfvC6-(KWN)^!_%Rgy z9cU({)_^+gNr440WY&0QFwy>u)px^VRU>l^)jN;*HWO6alk*|oVX+WDWb^ZT=Np`Z zLqFIC-^F=>v|#V{PzNSE1k$2UZe;$G+#UKjMsIBAnSU1-ZWok+8R#c5!P&f#7sCBK zicF_PV}a-a6v=~F;saw*WUOHr`ga7)*I7KK=3YT*>3q$~ptP-Sg2$2mOKjtn-g)v& z?T*gyz?hn6ecH4i`?YCz&<}+t2Pn8}r!o@T9@;_4;}Njji}T6*;Q_Y24dL}G!B460 z1tESYU(i&JBtR#Gz+nccpknk2|KHXlxv9 z?|`+8#FVkz1^hirYK`3;183lXQ8FN@Te^9w4_sxM+dAog4guw6iEU*?Y+nJ2V6_Y^ z8%iYYx~6|0TA#e#)mKwJ(uT=F!C1PD!^GzbzkV5IBO!+nUYp0s`xUt3&+Fyxm|meS zcJ{=_%bPY{)f2abCTzT-CvFRkQ$Dh9q8c6Y$Ni`&22KZh+&d-G7jSnZ<^Z%lmswG( zGL8NK7XA)6(sKk$W}~(ogz7nNo_mUrcIIfwq!okv#pc9Q z4}+C7SlkFGuobJp&U#@Ipz&Gr(oVTn?9!)KH8TEn1`g`_{p8bx$Udf+TOn$t1}1Ur z-Me}cCUIB~y?2MkKxAz1zUmW&?V?u4Z{R~)B(G6DMrbJIg}IsXuO!lq3-?NDZKu#$ zmRF6{U`!+kE4_S37Te0~6b}tnp}uU2@Fq~k+O)EP7#J1@HbMExqsoH{sL#Mk?{s1F zbUNH0D-(VlogtL`cZ8&upFM7{w5ZJw4@ z;u#3dpwjZS%qA@!+7%@4>E9o@UX`HDZG|oRlc_vlhsl+OVFbM=Ld(VY$F>S}nuRv( z4{F)tMqb#Y>z!??w(14#v96NvAZ`B)@^uSnv+dFnPj_f0m545ZIJDkmLo>M_{pM2aqER6$ZMHqs)N{1D(+x zVY4~VJ#3)W2dx}(1-ekK)laI^M-{mOohaAm7#dv`2X^_$8K1Jx!&=4!x^kjGD@Oj^ zurp0=&p$uDQafw|ox^Iz+((8&q?i|AQDGo#Mq*3dg~eJ~5hm*?K;mYaVR3Pseg$e0 zr(mV;I_C00L@&LIls~|FK?&=fOTaHrVpYFkh^hv?X}UQt-0zaR!u|Kj2g3cbyc-Vd zo&t7qvz@N7@_%5Z-y+|Im40hz6>7S9injU%?Yn6Mb)qCZSRSfGO*iLX=v75%E@~1l z(QbZ0d$cRuPv7iDz8&HIr6}?(y6RmTetgP|(4_F=`7==D7Me3A+*gMpWd_?1$-4v$ z_#VI{>M{&N)S?*XNVJHh^1wPOx&%^zGRy*gF%g(CmgIpcBiBz+8O%WIJ_Wre=nwZj zA}i9uw}n7DXXGc=*jfavbME(Oqg&ItFpLyrjIH>pHfD3|EpG>fea-CXPWQbp#o7E%tXp7nM0j@Ka(3BpA3_hK=d$*9GyZ}ssS5Xe`pG&2FlN|(rZD_ z#2LN-G3$Q|3tBIa*1u%>gIm$+k@y5wVnrf}!ct9+C9VWfTwX1Zt)dFK;m7js3tf*@ zT!cyRMdaX+13Qpoi4zr8Hlo5{ijdRqLeTl&8i-Jtn;!uYg{9`JkXZKw{b=|;?uc>$ z_hBLYCM@+R`q^Z78|gsNDRkzqW{8~y%*^GT+!iKq~#T2rI}(N$Hc&XK81l}d!>{pSo?G}7^f!)_rzxec81(ok>Dcxcm!tJ{W=SmvO-gf}C8~GN_bgWZ^F5eE z9dH)B7gkKAcRE@xLaVQMz}oV;I}F2Eq|Kg%l~&5F@(sgy&B=CwH)8Ti3AkO@pSblt zE7$73Y@-vCpMom}t@s+OwEcc@>QnWn4zuWY?z3`|`X;SuVXJ@sMmjy&uDVvaQ6hbU zQR#@pGHlCCq{PMv3$%#@=V; z%+Q|6TsR|zN&*cQbLg=O9o26~O%@;{2YxM$jN+>&7T3v0zb-s?M#v?E*W}LUfR%@825$O z%=f!cG|S3yK{{Gk%LtAe%Za2p7(F20UasZkW7P~6neB1!91;J-mV4fm!dgboxUn4C zTx==voIz2$h2u&hJt&f6G0)4qyF%OCh7g|1m7wR^q6Uhdpfq^>7%+aC@2^79Z_?)m z|NOFSXYqq5daIel+0NoB6!nkcxW$@n7FJ^ZR&FU)qZA3r`F(}~T`;?bwT!{BLp@n~ zUQaFxfBV=p_~{x`66rB%1VvushP$zOxEsl5%nQM7JP7cCjabzvfz*e9VGQuMKN+ma^VlU*c&Cl|*8)nCe7ldM85HC)e@jgmIx~W7&^j7B`}v zPtAwxdJF??jxmH+ve7@AHI~DqjRJSqBCVJL2bi`p7+DxfcSp*<4kS@io?Tn`g0^}H z%x0`j`a>24GcVWEjG{Wnagi8RM&i8aeJj-J-U*6Vb95()957M3b~(rik?&?ex)4Ra z$({rhU7cZeT;j+w^JwArjP!{wyJMKJt}b9T-JKe$$P3w! z@dS#zYl9~lMRPJ37x8QOnQ))IW&&#J_|rFdV87eZx}RlpoNaIM0<`|HEw$`fV5mx9 z*;`ke&2h$RTriA zEg3`fPPNb;`RWvjyfcDCCc>SSVJJGS><&Z55EM%;1_g}&#oEVd?N6ocf8_%0>zTt1 z-_9DoWVqo)7isunO@3(mJDWTVE`&3FZTr$quKIhMe3UgA`0`DT{d=1nWV8C9^-DMT zbL-#Pq{^Cn{L44F;O}iRpEa5P<(vG#@^?1*GP98Qo#jh6DUWV)`WH4S-ymouTZ-q_ z_}L1xG<#@;F`1gVMj2ga^0gM1qiBU?NJG1T3R;1pGc7|p+J$sf6zQWPvK{URym2*^Nv}lF|IFaH zq&JgNDg#_-kaGO6&vFevT+)pqd6^uiPd>kxjTUS89uy1rJ%S>727Pd&$j5X=)hafJ z`>sXn=VefQbzp7M!+@{s2F&j;KJtavT)oDHB3EV%H?|T*eo4WakZ~cfU`KvM%(F-< zcG2}6YjdiNF`Ps|aY|&}Min-Aj>bYLRi}(1J^-iez2X2`|Ei7Se!mjNZ_?9j{MKQ< zb9nqx?S)*!eRHD-g1&tRMKUwY-k!5@9K;b0_gx#h*4Ge$!s+6{j3M!02W|D*VmFGk z*#MT!#n+i16Gqturf$hz)fi?VE5`NCE>w3 zIamLR5PodRjLR#0zbIE@d&Nlb@%yLq3KXwv^7WejY_$20;2P zDDozIvZCl|R%6MO3vPn!`QlBGO~acY=e=HvB2{#HJqvxFjFo;mH0hf>yI1Fh`>A>^ zgcr;R6${}tlkkktY^>dC!7Fxp0u6r3Tps&TN!W1IOr&_&%+KKImxE~CPc0yUx>4kx z;mN3yucc##qDLunq@;3~?UY&YiVix+IaChrq#*s4-3X%7EV?CaP8XucMxNsqtI{N@ zb8HzH!-*t@qaAWU(rk8fohsL|9qt|hH5I$5o^g9u@l@2*3~I)t?+uKh>(gYaW?UAD zp~$^}=vE$kkB8o-OO%H#Q5h*6BD#PF@%w5fem|0&$#A-4iixpwV(wf$nPMzgU&v^A zo=MAJW3=4q5gO!4ey#4AlCWV1l(lU!CtDj@_X*E&CE-CgiW~rvwH0C|=E151_TC?4 zl<_2&qKuchFQSa~+!s(r=%I^kjmclrmk6i{!{NcG-nFlu9PXpNo5^~2mD#)Ltat5f z5UWBc83em_!;K=g0p?!}lfB7j5~kv?GIaG~WzBpKAG!keJBnx3Tmq^GZOr)_wl!3p zDYRPL`YcfuiZJmN3CO_<$RRoem_l;1{OW1;s=jWHH=pKGQ`rX9ShVi4%4I}&1|IJ^+z?c8_@R5<}TaTV!#`uE1w45}I zpYlTFuF$dn>#)Hyy~=JJaob^-tA?7>CgYDKkJ$E^S*X^_<83^!#H%(FsAnY z|NU(`e&OeT)L%u<`FU$k4L@I~&*^#e`NeL-u$*Ck>CgYDzZ*}VpZD#P!_P-fTp)hQ z-)=8+SLxqwFGCI{2H!UfrPsQqNW%uz1Hx=i5t*?6-h!{w@N<*Cop5ADXE)e zZ;9$(NbX>*wa4&m(!Hw`0HBRuWZVp!Ue1OV5q&n43}W7@i;Cg6qQ` z#ihZbO1euGH!T|Sf2!R>4X8c05X3bz89M|iNoRzZVNpA(36c7= z*Lb60nFt4h{IQux?y*E9kaQPj*F$^HBKr^yIG*$!FW0UF95H zl~nX&>VNI7CC2ZRTO}$7cCv8QyAP2{$kUq-*)4#4{&dWI339Db2bG#E)ub2}? zaxj|=+3U#F25bKn0MHf4^1O)fQKOlpiuB#D(6)^a8NYYE?y-)vkLhILhTqfnmcvz- z%Hcq`9Io0^4!>wDhn_uVT7*=8sT>}CVa{R~lmwp_uyN9g!u2+u%k-N&@aJG8q0=Ok0sLL5&s|e8{Hx&Ba zuD*)urRv1F)O_za3Y@VmRx)Xn;RB+YW^ta3ccNar>zMk=+v<-J4ETECuCzM}@_OU; zdrb^-9g_}=c<(6od!OYVjCf;d)Uz)&8D>8mX9qx9B?QjemMHlaQuzW=O-o5M;d{fV ze}sh>+?6&d@1S&d?IF+1Smj4W{E4%b9+?Gvtx{IR0e3a#lE-vvMqA{qwAdGU96bIF zumC_+oT<9=_DGTd2dg&J7h;NTb`Q%&8Xx~;y+2q@+qkUTnYhPsIIQy93>~W(>Jdmcc-re#C40BgH8?gGhPBDmp(wj&A95 z6XFbe+|Z8J6K~P$L$x;B0ft~x*g$lxANp1?MwA*>{>V;^`cql?qYU!oagtJ#2~^&MO2GYj z!HwVupl{Gi1S{JRK25K4i^?-CB0j54U0^JR8%UvB2(<35A!ubcfp(0NfYBrZHKAE^ zNPeLZnG=&NrGwJD5Y`PbENVn}0J%5>KE!Z9;j(gz^B% zJdHrPI|0h3QJ~cNC2O2|61_Ix5MOdRs<||c-hwoZ=8=-LjvW#-)Q{Q+b$u71Cheho zD?s?yei|nCqZWGEHK~(&O7^vpw~+7Hpso|}As;C=j-E{VI;h76ep`_LoI&bGq`bCy zP}gyj&+i$FRB5}2yS1J9RuHkV!DN7xq^}E%Cd}j8r3~s+nKUxCY%uvZtpB7x!HrZx zr58+OKQpSme%ybts4OHTE-KGXbE}>lMsNiyzT;M3$gv2nJr(PVy!lh}B~Otz|Ka)4 zi$&i284ILxH**0gR4NV@WUdl%HVPHkt#o&-0hVJlf!(y!QipC27Tf{Mt0jWmY<1)F zkySSqq^sqow5fGyLa-n!Rv^N=nF}9SOhU36gQ_pjsP%j1BSj%F>ex&XPevh@5-kfG zQpzzqA;{hygW<-P#Tes=4?XK$I9IxRs2Ot;n!#>@VTqpGT1BN|npsbfC2e(*ib$ry zO}3eJq@FB#(ivW&Q)k^n^n{cY(*w)2_)xswL2q^KvSqNwl`0%s8Gdj7aPKhY_$eF7 zyi*Z_UndV;#o5`Cla8hVhO`G^Cf1(v5If;sVAKSL23_`BFa@+S{P1nyX7K~^1gwi@ zW0AUs5nWwUuApo*k@FJ588PIPhYBX-0M@K1{0hD5JV{ii-zs8hyBl8@a*w$2c|i{9 zp7jW?Y(coh?>vd9I0TmIRvPbt2v|&_r@3)xa-%2Bh~n{ubXvrnNbYAmPa@w*=@q09 zFw!=-YxXQTnge~i>CyHciy${g1$n@NloCIbC(tWb()RElD08i9^XAXW5pWmuy=wu$ z&0G@XW=pJCxWl|-!uE9IK#l-%8~3@`U~#5%=$g~;@Q__m;zqDx>tcjNP6&SJC=sq>#a>i|3E5H9v|p4A8j!24nCw+UCL7Pl6J z`F8~MiJU0!jK>EMUH!0jt`V8-okF;4b{>U+)cIr2I)HY6o)rj0ne+LjBjNETHr&i5 zf*nC_*4?g4FISVnah?>hCMs2JiQ$dP4S&sYlPT)>zEu#Lvo|VjRz9Y zQ6b<7Nbc8R?VqTOdJJ_R8yz(!UVizo6@=fSBURN#;87caHbHrt5?fJb1;V$|J5>`< zsK}g;Jg6(0U|95Pn|6waA4088Qh?A&E#^s@c@i`#eN~4SD z5vv<_(*U0(ej2(*k+vB(Bm~tqfp%YUZ>KJ||41F|CFdA2n)%s61B&Ga5N;83d#HG= zb^-w0xdVi_Op|5{>0@Hg6n-nhRzV(Mpl?0Fm)XNj$)taV6h_5h8pOZmrqeH2L%U|M zwZzzS|6DKr=EU)rBi{dFi;#PYOd>bF99~cFs1y@y zY(vb|#p=WbNN%#Qn@WhdhOqmcx{{X2_{FMi7WE!O4=G#V#!sWVUYM6TOZwYlHGh_f zFC(R7oA%>5RsicuT9D#?$LE(?m#DUfDX!=7Tj8s}jp}+FuebxPr^4>u(kJ7I`Zd zFb_y~7QtP!XCQU{V?VHh9d^RHKAdGZP5q9bE@IrSzey>qH$UY8&l1tqUXf0prR1)n z>S(UXNI*Wg2XsF+%JndYSug4&d$kZZ-7w6?!tgeWjk;3?~PD>pW@RzVAuZ zqB^Jha|dwelEownYfn)FZZhIAIEa)NEVzAWqENnYDf}^A3l1W@SIoVL z&OYIX~=hoa! zowo7LF41)k%A3eaGiInARiqt(o!;Ji)~K}{M+1W(iVUX*v$L-C}x=$*0t6Yu+;e%ps0Li_U%I_g{gYkX_$$`N{;l+%X5n_-W z&^<2i!uzDF-fCus6p1`2C_foR>)15b)H>PYj`UADPs;2_N^P+)hemJ{>{sIKo#^ z_d&$;(w01kazjWCMMZoja!dK}{g+QX8Qw~}Wroz@t+ZS3lfscS(bf2JdZ9NTOqP_@EUi?juD(ZvF(o*1bl0BQoc13;;9gdb99;% zSlbT($bVXT!i_6)rWxvzh_8saOT>LFb!wnVyJ=jan5@DG%9}ZcQ-#HLBsWeF@dZln ztWM+h8-h%*AoFE}kA=rDL|lt{){&Kgdg*2cohL7%vQR&O`~1IW1BjGg&ur z_)swFcpF|Di>HaoLV*dP+$Kar82=o^Ji`@yHy*EviVQn)j8i0S^Zh3J1bGi5x*}4$ zfKL%sjP>p`ngnZQU??qux|t>sHtJS)(yj{1uX1ACkBZZSj8uLjtNUo^!gS<^anPRW z|0G!6`Bh{hLDF4h0G$4C2HjMjM3=e2yVqLjzQSh9FL^?Ol0whjhC-}| z3aEP#x3ZA0TboI+D&Q1Khu@3I`-BEIIoP_TF_r2iK^~m6c6wr6A`Y8%!FvA(FOhcg zEwL$7hbUlbK|W$p=pPcg&$;olh6f9ZowM3IxmK!i7X`Vg69DUtmJwYVzR4iwSmdua ziMLLL(WQ1#d1{(lt+2RV2cY~jy3c7X@>W`zsnADgWr;dFOC;jP38#+a#;9k8K(`kF zu+sZD;sT4|*W_?J-EI&kw-Es?#2{Cn)Q<3H0uyz+4phu7^5)N+D$PRFY5VUI#k7ez zNY)u?T3kdUoSBGc25X*~7;@hWpI{2TF>CozoNL79 zABykK6k3q0qv8Riq{&H%ZRe#}uREoPe9%xtB!To* zA0KjYBjV>1*yly9dWsc9irvb421fYIm)uyQ;tT$} z5w^$lCD@ReT8@`dWhpLE1uO`+tZXvX_28n+ClDSxq_3wA)7QZb@v|OXPAAwxq*U0E zvOKm=ZA=|gLRwz0>jDnOXV}jZ#Uq4IQ>xOJXXKZ|Eq)V#zulTvPIuKisJX^Se^+sN zZ(#ySJdE(lmKa&2nq=|2dkwOfE8sou+(8j*Vs1ymGFv9%SyWMR-#CT_Q+?EpFSwO= zb7BNhHjE&ajUWhPj+9a&i!t6F5wA}mvOevOd+8cIZ)lBXs2qYdlRo0&lN(DWeO%MN zyob`qoH%_jG^qSPI8TbrpMfFCINvGaZZTJX`9VR+%qiS7ajth?wzvOB(%lGm2p+CSS6YvJUP<2r2b@<-stL!g@v_t)7& z!#x_XAGy`plLR@K6!~L$=?g z&6h1Jn^9sSE9JN$lgY|0}d{sW*9RMi1bzKiXOTF_&ZE*8SdLexXKJ+cob)AFt#TE_+VrdW4 zT-DZCy~b5-*4umCa|`S3?T~IO@J8Q&uR>kdBdG=6=<9H!m3kdKlfnkh+(KKF#yJkK za{EFy(4NdXI^+urIY)@PMr3hs_^;7X&)aa%6wssV^T9Cy;Fds*4!}47f9B6_G4y4h z4(r|q0LXfEb!tJ~0@I6jjjpEvP(2a%1hizEzb?7JdtqUL_Y-eH-3Dg6C6-4Apn4j~ zlV)qLOQxA~7N&XY7BLC=E!(Z}{28EnHpzC2t;5KlX68>QYe^_;r9@+dxqQO_@Uk7L zNk6T&8uUfV*^!#Q?MMoM4K}s_)_;PS08*2Fvmu$JAf(y~kedEfwG|-M78t?LL^X-8 zCQ^jofWFolgZShP5XIpT(@lu5p&+v+Y8Jj42-}f5e=;qcwzL4&cOm8gQqv(Voc1H6 zrU^)$)3(71MAdcx2LqSwENnoTq@eGR=MKf<^FzMF*X5ZmM=jC=<#Ml8n(FjNCc%cb zZA?ucU;tP%ww!!iML+(4U}qbHQ&%>r8=~77S+~MhuLA(oSEBS;BLf_Dz}kPI4=J!# zr4Px__Xf$v_UEToq{Dju?gk40@OPm#Z^+Rx1#nBKT<#qMxA+U}J>lPxoR3E3KI@vF zs^6l&xWG%GehBF8s1#WHXX7au`u-Y+I}XU+uey%no-6KcSJ$HF~$HI;8Q~4vXJA0XV zNlPZ8uG3FiETzlQF_JxGF^E}?-U@wRM0MTUJJz$-+nWS^ZBbnhS#G7Daf|FXDt|wE zW99J8MyJ1^_A}^vi_9=NnhtAUGhnT~1vUhBmI+!`~m&^_aeadrYc#AT|A$l~xd$i360z#(#8> z(%52H--ejINKJotJteVk86-CT#Y#e-X?tOVFc#JHlF90sgVgc9PD*MW7OKi{A z*Zyy{XZ`xb_WZhSM0+;>cvySfL+!~(Y|k_QC+!((P109Cwt`5Uoxrw{>}2qjVeDkr zj}3NGF0UJ_!#Bxqnhv-4vs+-jKfeAZ^i~}P|GiH}!vFPf_)k*!X#p}tUKy)P~QW?>%07l(I2HCGoabzcI!Wa|IsUn@J}BY3IF4D z!{EPW!iT$Wg8vtX!F&A%cvZvUEimCBxEo+UQqu~Mn)J#eR)ClmQo(5Zg`qtIx~>~_ z!i@t~YT3-fH=8{r>PE0a*XRHKegG;EY-mBgL-4hKw*v5k)#vPKB^2O?xy z{Lhb500$dpm-0-oE06`>Y!ua`XVzH_eB*sA?&tAY4tF3meZyMXeU@~ehYk7uuBHM{ zYB}%IVeL0bPnxnlX>1qg&$K~bqXmHOCQtxCEXy_{B?ACh`%?=5?5=Doi5%HYe(}|E zR@NtYHnY@xk5?7#w62q{Q|VWhdb@vKAC^|rzmqHzwJSy@x6tJIB$-C-BOf1#*OCrv z?=ed}5G!%ZJ){KTyKGJW_(U%P4#Y*yJMt;oJ^fy}o@Hp6-{-6Z_={a`SlV<0hq}7I(L}~l&GXe12 z&DQigW&$9wEOm`evMn&Oku`*+p-xF+zL5x{21;hcP%@r2qGyogeag)HR2+$Eu=doT zQR1msiH|ATgS5ocW{Ia`ANSFZe;lMO%)bW!4`OTj@4W{AX$8Bh(#&3IH0D(b;|VkI z2_x}EnmE@?oNFYO(!>pB;sztJXi(Sj@$Q4&0WSl9G=;~#Y|WXdPR23S%$geON^cgd zy=73>yPH5Z0G>)#4)u{9S}T6UJHLuN{)3aE1ppk%Jq;W5z!l36^eF-Wfh*%`Lf<9x zaf2-ow)~)#CWgnU`K@YxHSTkW&suqF(tnI20*D_kvPY8HkBsBQkvqrT zO~6Lb^gqcQfDImhDoZ3qlJsxX8F9xHeIcQ{^o~dh5Y>E^4O||}%2BIi=V8Ocf*i6S z#oflrL56pJ$veMdVZ%Zy(*rE?x9j^7hBsV&69i6JrCtmS+#AKDXSi(H?gwi-b^XAT<*CQ);=30Y;X+R z(nwlZ0Jj7S>_=&1(}_H74_WEn#U#1+Rw*NYtS2Ksi6jyMI+BX5k>rpy6PS+f?jj=X zEM3=U_Url!{kr~GzplUaPyBnMca(UA@}&$EvgH7J0N1M74KMB)!~B8A>^%{7Z#Oo! zrL728ZR2o2K9hw)P5pE?Aq&>-WdPvu9uE7bWMvbAAu9s4eRt#i*xelB{YFi?^W+`JHT^oKufaA>V9RB`x8&ZpP^2)&>f&>XDX&Nxr<&O?!SJodtn?H9S(fSzNz@ipY?gz7;6fMR=F z?n#%jMc2NnJLSr^ZK)DR@_o%kK*cunB@ zAAF`GMQX!iohJo3#0dD5+ZBbi4_N?Mq)gn+;gf-WJ1RSg)bvOrkPnLL^J*QD$=RCT-`x+u+HbS4p*3->7jXxt&TcJIGhY^PklD-T9z^Q+ zqlH#b&ih)WTwYbaeOcF8x%bYs6M3eEbc@5u)KJbZs_D~TNCx37UDw^duS7Ndt{0Ml z^bm&wfnGZ*Yej0(7}~!y#2P9oYbc}RJ%v;=6Ofwp!3$O(s?%F|*udXX&Kri)>lPt3 z{p}a5U=eIsaqyOMR_=>df0M@t*_tzCvE*=o=(((`bRhgcs?2M zKL3VSyZHSU&nzyco$G!>J0FeQCkG+jBg+oW(~G z?$@IICU+!qx3iV)4$=)=pMx?0KdenA#C|ApXPmz|yJ*B8dKDDbUSI%FX8+vRweEr( zt**YMplOVRf;!I_hI+z{{Lv7g zsvja5(+a$yc9PL772E2p9K$3Qwa{xJ)Psz%w+LTfsp~o^bW4FZ)DeS_HVncIFfEBN zt@Qp-cmkacfpBUJ5re=$gdEjj?Q1t6;tLQ%#1{k+4uXitOK{RZ-T(hK`_KKa_n(Y- z&^E?6m=BjHV59W^5;krzY5>R#h&19p5%2W#&eoOT(aztex$yxvCUh>~BLeOg@E{6V zjFobBj`NVSmBaiI5xf1`x4NlK7p2FIG{ZA3NX`E>wFeMWj044|1>8(ZQd6iX!i@+Y z=M?D(k2^%g?bp)cK-Mh~@dbpx;P5pqc`%+j4PhF(Rm2xGmjP6Sd^@#j!P${WoT|ztoZ*XV(X}Qo)FzL%U{(?LCGhHq8EFDF2wD{Eh!i{s}|* zfA-JhheP?l_s`^?VT0yXa-NIZ?r2qGhexacBjck?qejmC zobv2*oKn4-cU`Fb0hW#siJbR+3F}^@0`DoI>@?4O$>9sMSsz$w%p(zNZso3^6Y&*ot!{D9iEK@;uItsFTaD=FHdYQW9JYu5 zN;igz8CG1T+>WOAYn3Vd(&uCkyx%V#*IVm=elLs_)&W_??NEi$=9SbA{bZL zMP>fu)-k}iker2ZksT=o8p5L0E~;f2NJ%P78Uv8*&p@~+qpN5c<8dHm{nOeJ#!3xJ zXEOA{mYoi0RO<#-B1*4Iv?%j2M#L+*iB_FD#;~P4bpLgIq<&X(DbJuUdIjP!yQr+q zFsB1j3QAGg0oY(etojH8-)q5bTyC41&&Z*LOaKbK0X?-h{XRvfc;g6u2=DguJbmPyEBeVqP2S@`QgSxI1t@imhw2D|4nQo*m$s%f} zvrAN`tg-g&Sw*i6;1S>Lt@Q zj*y{Z_qAf_$c8k5X^{guw#!AU84>d>Ox>Mr|CR7zJDDYnBzw@r})y4;%#H%e9j zgtD~FB6CJRg94h3RnnU9UioZ_+?Q;GqL=$D(6^Q$%c#YWm#F^;!PQe?V`06$2sUts zlhto!%e~)$?t^kK3&n$58OR+hg7xBIn`c(FbDcoTj=KV;i+AiXt_LrRu=x+1zeptJmUfa7Ms#6My{-y9OZhX;=JHr>i4e@Zi z>+b^|hv4clwvd!1dA?Rydx73$jv}RKnTQMQNGY0$lnmrMM$W{*X= zQG_c~dk~(TO6|PLmggZkkbzunm4`@W+ZfCrfwfKawsg1K)gj#*t|#kpAWTMJ9~q%u z3#`2kNN;ih^mPLOin?rv?a)W}TjdZ#_iqIp-D;O6v+7!g#>{LKaf#oJPiepC({(qF zh)Ri{V2h%bND(>!U|vxvRJ#bj>OO6BG&4ZM(M9PvoYo$vh5Oz3A}PD1jJskZ`9y3B zgm=*qi*B_;-(Tqc_z+{16>+0k{LXms@Mfdkm+g|2kW;B@5pkc^*-P?u(vj?O>O^)ZB%XJWdB0uAQS?Do@DeEQkEAW zWp-l%4>$l{MFYBy9Nh@#H;TABym>&^%io|_9fOqR%a9_hUR);j+C*&I>+{3c?;p_h z@Sc9s&M!oK7^!pK{WDz%wvvV5zX-$MKz;0gw9Qxu2LGH2b`S|lt8eVmS!MPY^7$0P z#XI{gv2xn;eYzgvj}Tf6ujdyyseL+;$f7L$}-!*2h)g@q^Q=Z9y8OcO?KfRw`0FUf+EvMHaJ$X{ja z)=q=<*Z5k$@si8dJ$9cPFP+KbXY+X9mmBhoNRkXISLazOry5f-!_?;l<*}J?oQ+OB zq3p5v)Vm-kDXj8{oengbsj>^zZ*TDVp>Ry@t%0w382|$P$t*r41pa0vGDAtf1qe!Y zfq;t(kWcqGG$&0dE@1Ifh{`~hwfuey;F&L3dBFOiap&Isxv1ux0_OFI30PPI@SpBqsi=QUhleCZeEPxFaKUY9~Bv(%Zf^xU# z8w3EtS%Q+HthNh^d1X7%BJS%RU3V)l+ugn{Shtz*3g!zlo@QsocLeI=Ae-n9OGSJQ z<(}|XX8}(t!e3|~Mi>yurM8Ia%Gzm!YR>mrK;$;^@ujaAFkFA8*FF3mJHp0!>aeDf zcHtA+b3M9V>xaH%Le{>Muy%0Ja3d?aI^j=#sOx$-GN|j?G8-5sU({TBhluOAS-@S2 zltH8BQNORgE~NgNMume*j~l^{mj+q6$HKxl{g4leklSa50z)DGEh+>X@%2QtYAXuy zTaBb`hP2FYH(vebYm4#PX8atZT^(mQRUOBBL;UN2ZpAb3%>ZW)5cRfmEwT&BSi$;;9l2UOHs{HRz8p9s!u>i6V z#@c42ZZlHj9WYY=t;YhWCyaMY2eF1hA8xu4>?#64CF^TcJN%V}%5@)pZ2>p)he7mJ zT(T2ksSV-&UE4(Vq$gl`lZ_h`D&3s6Ly4l=RZxRDcxLjuasS z;o_JGm|`~^Ypm1UOgE8)@OkZjc3XfDqR#k%;brFy0O;X`An(a?;|C3!ad!*CcB21^ z_<|dMt=YOQKvd>WAoa_k3=yx-5Y>uhhU2wma9q*Tp`z6ph7XuFG7+nKEXHl2^9VO; z&wfOO!cL7ai&rEt@{f zNs3p{t)2VYLYYgIk*7`T=_I202>&g{-Q_v^yHkOnBn!$TSqP^XBaxOOs?~O+Bz;B( zipt`}_O4=NR9>o~E(`VB^ZTzYK#+rWBOtf-{MQyDi?5E~Kc<|f`$qbS-7`RP$d1%G zOaIG6vv%b}g7=CHq*k?ScU-psSYOiK)yQ~Kky4@|rK%&6f(~9pYSkH}B#rAQD6`XT z9Bo;b1q7{37vD}>S=FKaJ8e#L7QOt?l<)z6ZBX`^YZegmcetAngZ6X!rHPIwmEGn% z(?#kS|NnKS(jr?)k8zMZR#Pl@Yrnj9WB=%V4t35~B@Uofb&^p?njS}`HRh{t_3|H5slJ=qI~-TM4vwQ!Beaq7FyLJn+W3w+RZwW- z@6E^H#&^ljZo&z*UtcF(2$4Q||G-cUy?_mJIS8;JE=Qym@j)(U88DoI)6kHZ%Xv-+ zaXG8ab<05cK~hUu4+>nc3f9V;Qf>9`7z*SCkjQDMBCczU+=oE-^8C4?)O$BAdO>jH>XrQSFBE7z|DL9 zg$)yfMTlW{5ngnoza(YJ)2!=b_!@P;QWhkW+}FC@P9>N?;(i#5n~PLi4)6L~^>w$HHyYCioUGFLd< z&gFKXvJMnDZ`D4yM(FhUQpzn}yJi8T6Fk$+)3GQ4Pzy70Nt|6bCOwUkyxWo?1m*X79|_%8iDL-C$*jf~yy z*r;dH`+UkIt>N#mSJE0e+#_a{2_ zI)y+aTeUsJxsE~KFR4=13*p9}66IBT-`C|SVsQ%_Xtzb~q5gstTOSSvF57UUeAdo6 z8s+vBM;nW6eZDSF7VbWHrJyUwc#g4(r_aV>vCrn~k~EmX`(ZBM9-hd=B^zXF4MF~M zpzv*&?)e@;nE!GU|9KsM2{!Pj$}#`dCjN9Cef~nO0*mKx5+O`sW&vK4&jnF5O%*MV*VX!+xAmBZTAuJmW-ks z2k8d?putOh{WRinoeBWJ{JS`0aMh|(4oC3`?a^N|gv2%@#r-RvAJ+cbB%a^X+gE%k z!a)?cJQ?kdv25h)fxa!&jEUleRVH@e6OSyioB07-@J+6S;y~(4g5#tnE!Yazq^kABqAW(GSrwz zCc=S)*CZB;9X7NBn4%n-ycheCqs{HOF8Br%_q*6l#G+=nh2I~$6Nu#I(tmh=2+5c7 zSp2boKNIi(!kvcAM#(k<$CLXAj@RAC;-CAH-yu(-pe!ooaG1>UY-2w(zXSIL zE*g{DoZC3R!*|GY8$NpQG7%m>S5|b`IQ&9~&38z;7(-r=Kf>G$c{jOVEnk|6a3@*k zOn&Y=>B(pDei0jIiQ4XNin=u{4#p5xO%MiaYv~CnKA~;?SJJz*hr+K?QOYd%lWt@B z|B24nAZ|ixKHVfB0GwS~^1m^F!ySwt10WywXI1g!dvkh{9VBmdUt7kUei||1dIFpSW2Yr6e3PiWEsPISDCVYUh7dfOO zU$18#=C0WyOA!u47LQVKIb6lJmBVV@Uyk4g^55Ls8kq=>a7*M47W>I!rA)krPs;VLBuC(Rz=M&`n&`)BUIfC*pURvakry8k?b=*dM z`uAEZY|hq5A(GDyI9mnf<#i}zJ75$b&)flf;!8&2OBOJ$i`$TEuhfiue$SK<^0=Tp zO5p7UG2cV7UzaWlp`W}F-(vbnOobLgKZ&W(=JoCy?`ursaWi)Bq*MHBg!>IruD?o2 zxsb&n7S7&dIY7U*>}i@=*i(TWOa10tA7Hp)#LOX@_aMK z{Nau>*=usCWn;Td$?srsFDsw1^OPnzN|ceY2p^0%5Z)WH;T0V=V++Ax>20_bIRXe% z_~meee*|M1%|G2T79SMK{3y^q4qroovkv4S3KCLng=9`TnnnCfo2af`Cn|4~(rz+i zC(+ZuW9XoUc9fWZXmTS-%56hCW|@BoH=)UgQ9!ex$!&-^Mh{Uh+7Q!-wnOs|O>Pr* zGv=QN-|GT=yZ`D|pm8=rN%K3|g~;&#z-3!`GIxlmMc1)4_aodWI!+MH%ackgMz}39p4N)nM(oGC+B|d9Q)?7R0m>%^(oAAtsQB_7?O(4DDn(pg=ee$-MxqKvTcW+Ocl+8Qnd3 zAmR+aPL-$ux9bYQeUIqSVz}=iDEL~yM+okF2o}C(@ezvqiR}cXj|r+2!#A4TA-dWn zPIRr$fVKOWINrZ$;JwH5H@TO2`IzX^)*PjHzBq*EuL++0v^uoIRZicBKNIT)7P z8RTf8`8#1LDYI^WrvUH!w3CGyk7RekZy$sYHm*%4LtuB~3*ny|UWr5|OwT?9dCT+YLx$llgae`@i~`}rVMsBDK~Tmb zJTV~1i?SFbH)Y-E(#_n!ef6}lfqUZf#0^|}e_PpTa1%eQ{T88!vLI5HmcsfK0UHPF z#Xu5l@C1_O^NeB($n6~{(4KB`r^Ra8V&u3gV*ic&$3KGq1POv;{HNn){O5xN{?j4^ z!g&Ij2)7`*@u=$z5SbvFd?0ck!UsfGV9h-Uw}=kEF%$^55CnA~d^F-9&un)GK8lp$ zbx5&w5FC4ul1CQp7u@PHJp$iAuB92C?;>R(Nqh_`#q=O5%#uoP6(_fiv_}_Rev|(+ z4$X^>IREJw$$yZm!}D9Gj(j@39Xb@RW*OaO{Vt2U5bjqR$QtbH@+_9ui;R>(PxG&7 zOAYlXGCSsvMRQ-I3vD(L^y3Sx@|Sn$LU>KPdou%g9E})G?P+pCScFmUU*f|ozAj*0 z`<{&`_Ir5WSDqZa@`xK>76O;Ed0&@jkx=%rpcI#~T|q`FRMJ`kVOwNDT$%eIY{-X~ zt%fp}AWomhC$vop1HzwDXW+%996l4VDPoJwZP1)BL^2=7C`I@nP7m?L$nEoU_?i9K z-R7wh%gz+Sda>PB2CuNqC2@CZsEGCTis!7mR_NVgUdL1m&qxq~`A{g!P_t6xZjH zFyB@P8^m+T@)>54VmrqMG@I6n89>M+Pbk|XC`&1s42>rAMHm2-lD5EEn=(6qyX6aZ z$7k~S6h{=#4un4?ANe-S?^pOEL*qSEUMy>IE02}B4T+~%vF#NCnvF_6vkXfrZm+Ef z){A?SieSTvy~*-fM#MoBI6n>r+8xNzfz;UuIgXk#Qo>^0BI4tQr*29QVGEjkoGi?E zpFt1%5;;@TFv_?E?H;0x(`a%x;YZz~>kC2=9dW@3;SN(i`7Gif&qPA`%%q4O!jIM< z#ZFd;AG*~FgCG4U!}AhS93-)Xo*KJ4JYiC2rZ~9+xq3WjBlCyLLw6>~L$}4`q4@as zc>WwoGi4+4_PZsfI>5@s&*^Tu6~D5LRc4 zTF7qVT5YK85IdJUXp=nTHHkbYNzbvcfjgL7&d%amleaQbDVEw%i2u^i6E1=9PXPd1 zQ;hv)q|OPe)S9R*s_Q$RwE&>aY}a+9ess*RCUU$MvnG1(H(k1!QJa2L*F)5`g`tM{ zj+l=@-{<5>q2K7?0R2SI2k0kyMBqCW)pdGG;5$vzuEciGW0s{Wo5ZrlqD?CTHbWjO zJ0O&atu{7qMXOD^n}zjHv?dkJeIk$~jVpo;PXtJRpJ+|)YGOQ3d8?NJSWE9P1gLeK zt#xaPGzK5on&PPsJ4pH`Y~G4q8}#Mry3TImdXtLga)Bi1o2Kh}5p3WnJgzr+D+7I* zx~{9XhY-Gs0%s;i(v6K=DxsdqMveeI25^5#aXUwk8BkF)C4FibP^m{OH`+6!vMwS& zY~rqxfu!Sj=O*rI5*@{H#vsn(u97yq={Nk+jEIjxPj!*)KPn;H9)ajZCGmK@QX)AC}AxAM8HuFYjV3E^E>IoLdvB zka6~tM;!uy`Rz0n4Ct6|rm4CWVE+B#>wQg>`cz71YX<2Zi`rZU06AJ+J?6t|I_Czf ztLK@QKE{4Xe%P8pUV5k51dZg*?pz1}DCi0UlYiL`hrqeh;K6vVU7^wiMV_Cc!i^6 zWim#Rls5IcPet6#JN??SE4t2lHy{9gnFMANtJE8El@Wu2l{bhC^m(YlOi*~Gi{`>~ z2PE81G((e2)T$PuB5LkmS^$efNUhqBROyH|pS*iFkZDL7%KLQqS_chFC$+%(lKmp? zcD9nXn$_?ad>YpN&J1(c0_(ZE z_QU$Cc>(DY!S%UkFKP8Pqfqk|U5~W#K7E6Sl|wpNr02JgMSA{F8{WA>0rNiH^FIXj zDTY*gHL>PN@tSqAs%@A~stuBA_vQsE4k5YU;@Ll<%o0-ZUf%hYiRu3w(Dej7(=#}N zXK4wgg^SvzuW2Qb4e=9~y3qRCZSl5r79HcYc zO&>|#PQQtbu)Yn}w-UM|2tIvD*S+fzke+05(2&A!kl~fILr`m`5mC86+Nj4*}< zf}T4?5mb5;1i7jW1kH;Vc=(hdxc-pV*L-84KFvl8T?j8`%y@AIV)5x+?WFZr;{6&E z85MKaFOHgg>f%490DNsE1#JBM?@~bNh8rmWpWa3I%#Q2vhJJ7K7A+Y)dG_eZcU_E) z)$)-9G0z+;=o>T|K$`Z^Rf8z*rfAeT{NX#JkO%J2n!|DONI)>D@;}2vC<~2>vOeum zT1_YcWh+j`P&VrDPN|~9OHlTA8Z{$qARz&hq(xb=7X6RJL0mvPUu!kYVvJTCIPrG} z?(NDO1}@?3F23JO5u#-HM!&NHzN=C7Tj^bYC#%pQ3ZEq^RT6_ zTH3HwK{%kTJT@v&Dtnf3Ia$cnRQadyjwB+}y!CzZ#}5E>Xl88A}yzMwVegLx^nqXaA7M_GGwS zm!!tXOGA}r|J_PsRgPBQwB!G5edP$g)D+%JvHq~2JZ5KMgP3EH&lCj0$pr6JCv`pi zhns(&e?r&8zQ0rcb6t--htxUKt5Rb(pLQH1t3t&mbXC}HtO~DJrGg!Ikm30+wToy{ zvvUv*X%~YQ5O!M$1&TRY6gR$BSeGD?dC>@hPxG-~E- zx__&^=eZFHk&0oRo^Haq+-Gze)`ucF!*ZmWIrbYloPNGmhj04T**+UxOU?}&gG1U} z&kc4cG0Zat=KsGwU3V)lAk*y$yI2)!9EhGaFzN0<#E8RFv=-Yf`bY3YskuGh`>6fmuWa#X{6Jg0zYv z>;j4j!P%7@kE5xgrF|c2p0@s*K2NQ&N{m=^mq2y_g@C9iDjy=uGNODY;VbiA=RUJv z383xY|MOh`_j-HvlFfXcIp@Cb-+kZb{s3ayDsY@k9xupCeg75!-e07`dSJnfW%GCr zub}K?PD1*q_a9BM*Ka6$4SFw~z49K*;h=wmp*{sl7roGMt+6brwH)#Bx)YZ5eeg!o z-f85Zi~18MENiB?Sg-F&vt}2!v89;A?4)js?qrL;YHs&MXZetL1$`-dAs;V-d`>uX zRICos@0h8G4{ZjE8~?)2^Dhq~D;t?+4D%#D9ICgKgNUu- zsklSI+l`-W$wY=NENG7*!>1^F0~4MgM(ITVd&mF$L|3^uF}MmIUg0zg#HJV(_k+F# zly@qXvI|9aITVNNM4lEgNFPV8mxGqSuhu0!-d9_cHSO^awXU&MBDpo~UPWeZM$VX+hJK*otE`@ zr)B+nr)B-4)3QG4w5&@{Sk~kdmi5*N%evsCW!-$zvR*uCSuH0mtIsLRDmrCZPoJ`^ z-ltiwVaJu!$NIA8)WMsePP~@6U;bvMkGD16ffBZ2)$# zv7AbbrG<^<6BLO%(2`SWV~Hfj5-Ok?cW4%)W6oRqvJ+A=E#t4_sQ8uZD9z17dR3jf z-6+nY;%J@y*QdQWu2ybDq@pe=*VsCHkXa*7a|9mEhY^`lgNUydgYB7+r1%TUGF4m56P+aSP6r*R} zq2C)pB;4&N$u-yC9?0Ouc zj|=Tscrg^8aUjQPdZD}Bh&{-2xFTluIcrp-FQyW?EwKV5(5&Jk#*FtExe~pz%d)(+ zKNsZSUjKzpO=+wh;H~{7k0obttN)VtG@epN5j}n@JtzkcilK6-IddFgxzS!XI{RWM zN<~M;immLvVga76SeUI;b6QGRf+LdabxbPy%wDgj`P6!S@sDon#R@?{Ime!BCf6I& zRtqd97#8dpO!v$GNL#R~dSk&q(pC%9d3(XmI-vm;Cdww1b)R~1b2=_4!`@F>3@VYA zE5l;GY$M48t%&#7WA`wW9f7{=zW3tvTa3%IInL~549?~_ zv9IYgdz)FNV5X1u>ll;A!DgZ7{@Wy#T;&e?LVLyFFDM}#)w&$wvv&eHbxBWU6_i}y zFD&WnA63#z42|KTN58kA_e{FV*YZ&5l@A0I-CN)^=P~=%O&K8S5;$|hOlk`E<`?u~ z7xbcruoIDDW0n9itxap;kzUn?zc6O9m2V4%*=CF+zUeOzBr>@m&v;4{I0g4s@qS}* zmcTXg@h01ND$99EXFw6r$1>lzd{m#nT(Jc2Xmp-G)3Zb3YQ_Jj6bkis?}Q;nb1jOLpH7r!yF zjA!`sE#tdyvSl2+Qs~~_+U~t&=Y#xcEofZD=eMa{GtZtGVv2T^hs-3103<=ExZ^Dr zy1h0pk#D*ovwvVR-vS(Seca)AE|5?=>$O)ZX^Wj)pueOo&gBAqqGhvKf3LEsC|Wj^ zsl|)uD0ti)mioHBN#ID?y%HX`kd)0rWKk&|=Q6IC!*levabU6iJmaU3i7S1;hRU^e(Y!%6@vzxV@g|+T}1ynr|~EH$f`$928n# z?V(Ram6KdZAIT7>=rAI4rXqeT>i86e+L7q}2=N zJtDpa9Lfdt2*zfsjB++hVa6ZR+1TI3b2Y2;Kx4eZy(94%bJiq~GOs&Q0vgVYay&1G z4vL{?p}6fU#dMIPUnv3Ix2jgup=gsX^F$wES(fB^UwryQ&@taoD%WLdEH=O47Cq}y z3GbAPzO6n=;g!mD2Cv3-ZzOb;LR+`ICtXib@cT(UrOtT$jijEkj$?`JN@WLtdi(2C zG`v#CghHJWdtFG3o(|T$wl$Oo>gB_>O0b-%1nlnS*Wtm-5r$z9`3<~c1ZV{G0dnZz z!eTG}*476KyXym|e{SbEsyJ?I1YSJ*+{qb;1X!{WTN9=pEoeN;J&m%zcdw^$;puIdGAe%F;X@tc8&sLtho(95g2yaNm_o{ebD5kAx--y|s;w8bMhF*q0mw1xCh z759T@Yeo2f1CEzBK?$m4BLgX%)#&y4~{Uz~c>BbI^}j8Mq9JcQS%MQafL7)2}xdcZ1X z`J7vk=sk(}ji_iRYX)!45uca=ytc5@m`)$4jmzs)$bu0}y-J9eWE~;Q7q z=4m>8^oE?D?)4(NSXa!&E)*SC2t1EFQPFl3>2x5i(=qpIIzMEzvHey0QFl9iq}l~O z8+^Aj<5FS4cBFOk{(kg#z|~v~S?0|{K**HmtDaN-;$%I((MIj7P^iYKdQJttRY0 zq1HezgpZni5$-U4{|YdJk5tnai%Y+u1fZQsB!z^+3;RHhhk4;y(>{($;@#!>JySMD zHwqm6JB%VHZ$`t~P+pyCEYPX9J4Fi?tK{g3CZH9EzxtDXxxbhi`8GB+)q9bW)!G>t6*9d0LP- zcDw31HSa>$VfrGiFo$@Kczo8cHPr5xK}kA)mG1TCee}AhgG<&9sipTu%RpAfcY*8l2=h|TtV87bgqsq6 z+FnZgw=3;;hL18v(Jc??bzl!KrKyr>E{M>c2OH&!Tt0HUQ^kjRCQBXqSCXa9kt5Q} zH*Aerw+nXU}^q~KEu84bbr zO?L1-mQ=g{0sAwlObB`g0Ij;6kJ4y8Nbs2hw>ZgVxYWvLy%7!(!YvEhlMBkZHa@E6moN!bV}GK$Mam<2Gu`k)xn)(mHEoT~Q`eykV5*J<9Elc!gA z^Z2mQ-(HCHkuIdQTJ{$x9s5;MumwG^rWh5qs`|+GTgdQZ6ZDc}km9U8e#~k43ncN) zDZRCmJS%oHGqhC8G0^ohU7C-8ujmFURA6G}p1@tIFSIj^d34b^s87B_)RK9)Oy zsK*8&;(#J!->5pAvL?AEVDGUZWq9(j0u(urUsgN$SYgd-xJ?Ys5;$&xo^=dq;US1P z5h?A3u>3y4zF7Rf`1G2vb&BqDn*CD;6ykG|KAtvFKf+OEX)Wi!FchvHpii<88My_G z9vKmX69tY#%T-bmDHC1ZV?+Ka(zuM0hFB!m8zUSXCl<=}|9d1N4)Dfu|268+%0|GV z$9s1r^taTU-$J~{hTKBbV+9k4|5&L?24Zi46XB5sY$+t`wmgL87@pDwffG}<&6KpN z-ojkfp88TdwXDP#&>(Q;sMfM#{wzysO)Bj6m<;`hOvr;8y82j)QZa?BtLM28?#R?) zsLk1h9Jd!z^~hFZ=3aovqn*ZY|4iY&EUy!|fhyC(`SVeBx9LV?a;y~gUBjm>3sw4K zP88Xfh4>@!H%~JMDl1SnA?iH_^D2vPR`vFUEdM1F^xR`eiZ>Z+7mMzVO~it zaQws5mNkKRkCj64bTZO~$Yhrj5r=}$AiUF>luswDRH+Pb@M4_h#*^Jnn61g~TuGBT zwu+^6IM}ybiR{mUy^Q}Qa0(wqIIZGXlxGAXLD}(EDVM^OOZA)xe1(W_dB(`-r^RnP zZCNUr9aG7SHq(prQR;M1h$*YB`Xhzn_$#0g*Vzj3^c-$gHpCk|2nsR1(D>?)RF=(- zLBcjRRJ;c*Sv#wnl?tjPT;B9Yrb>?a<9YpaNc$Rr8aXZ>X`RL56VC!whpFP0?;|ro zWAu^X1&Ths0Mtg`=;}N%^i3AU{Mjs5bUP}FiBFEEBtf-F9q}j%)zksz$Q1MCQ)XTPV%J28#YS(x@%T#c=Qzf(8;!kE#rM}ul6+9K6 zQm($+i6W;Qplefi=rC5 z*{J=Kz^R@u#n2|uhQ2{p2in9Z?}a((av*)8Jtv1jr-|$qkhZ&1DSDqiE&e;6Y3|hS zrUEd6A}0hC3bU4Mswl@*Y_Oqyl*KyQQH=)6vGIDzK^Uczj*?7?srsO{iF&S~;*XS~ zopcVx;AIXf%t!uI(W0G-X61?6Kj4L1;)eu|Gv5DW=3GtdL+AXQOMg`8zVu6bfw}#? z#(&W{#*hAZ?(tU$-N*l=z{cO`p!UgHd*j5ih9Z0fMNSGR)c!V$Ka@X3o{i$tKS96; z^I968{egb)CrI0UTGfXmq~~sj1%`$7HG|vifBiuK!c*}s1DZ9g(y8M8D(*6V zDK7RkvdA(|)DLz`(I;v46T)&MsE#2@)dT(@aPdWS?ewfRYKmyPJICuK!;ltrDW1-G zc}UOQLUmg$;zXWL<~!*efu}U`twYhGybpIO+OE@zj!q-I8AZMosHB(hDM|a%fwU93 z^ZK~A#;ZVW@x_py8$()T4$}6YMjbodTkU)ymv@^}5?$)HJaK?`OPx4C-BJ%n3*l%n zJ=#c*hT$lJqf_b8HhOdy9GyjHLEW~H9zJwbT%5ZFX=_|ai)IB@_(D7UvZCj1Ls}#c zitI-AJCHu;W5lnaS1FM%d$}!J9~NC+&!MB@!?_-DfcK~HsGlM&ny+|H1-|roqW)nM z^xQS$^&u^Zc(Z|20j5)=wK$RIaNwYVd;9PmP6f|*`S8R%s>711<*c0aih4!}K76gB zmAjlsTZ__5)czAIA^cM-k>%cMEZ-Ul`$Cb!I zA!)Dw==TCQQ6FSX)N>Dkbo@*VR`MVj|4q@>b}HKGym>%pKjkTW4Kh@`o6@E2409sS z$$5F>_1t)Oy37H({Mw;tYk42u^*!iv-grIN$e_tI9mAFNf#^~{aHU97ba_9>r^iO5 z2$LQwrN<_v$dVqrmmZq~G${^9BgqCzk`s}h`vFzAl*m_(gcn@p4`fhfxBWFBQqg78 zs5l@+qF?zuYyDTG$TLwt_bl?Ej}PDJRPX|q58slf;A6lNA&ai7Kihcp->Hna-=&b= z3eGA}v~eIO(sP)ND-T#_sgG;d|3{SeMi2En75rKJCjf4NHXnJ|rI2xXif7%tX=;&? zPLQfT(y3^zyt1WhqFw+5;^V(o@c~ryss93{Xd6?njF(_!54(K$e&={S%Pw$hD0rL; zXmSlzP>Qynml#(;Re_lfCGvHO8khe+0_VeDPSgu_F@oHq6n#z~DF!D3Q4SieXzMyD z3F0pl?M$Bd#1%l6Be$zKo=KKn^DZ5)=YE1%A0Q{Y2YGgiOAkSTu!9aoTgUsbaaPJa zDQSBWl)2vgC4B?ZT9cHyUUX$`6kX~@N{^c;J#M1(xRKK1MoN#HC_QeX^th4I<3>u4 znMO2TuNjQCBy{%jiK~6 zMjSv1aX_wz(cei*f9rt$){fUlrqSORgguP@TAj$V#iqaeoeI7a=nsW<_;aaz<9`Qq z=LEX*7IZ4wIA>?KtzP4=`+N3p{coecp}+e-M1Og|{r~Cjf1Li7{N{Vm-|(+2t1j(- z5D!^<(}k1!aT)a|llCaW8^LbB5#Q--9hb|g`T`e(<{DrAM&LqWF?5|kDPnae>$xV0 z144Tt3S&TMJF7n8Za3cijlik6s-9lo2bvSD2=mG7+jw^UF8XgYbO>zvnw#mNPWzNo zVE^XX{}u`yC%gAbT9uRckt$9i<6IKCQ}v48T@qPP>gD%Ijs;$X4oj4m7`8OgWx}xO?0K{sO)c!!Z)XGJN`Ut zXks+OZ2>6MUixc+Gwxa@a8#v^8Ux-rYSDkQ-#Kb^+h3f2`mFWnRr2O`DCE`dAE}V) zJSAG5mwM-t=jj?$JCid7M;~~e?L${SPo=|~yUu;Tbk_T?w(q|J&Msv$7xrJ8v>);i zS?Dsd=m+ENbPm5(w08|?QWM+?9_V)y(|rM}pSk_H^pp^IBy&~&W;<`Egs{$m-D_z6 z%-+>X!%v00N!K(Lif{j!jK)v??dtY-#(q~b{iY$}P&x?vd6|1&`<3WYBRSCI7eR`P zGyQwWyFg>nrEPpVLG1lCW#@OPkTm}E9MHs#3VD|i&(cidX{Oggn-|Mi$gaI0ZClZ} z=sAHidl}+$2}+8-%_!;Jw~uz$x6|sIrWWt=^!^lV{k*?UU%z)U*6*Ee>zDWIjFg_# z`n~wCtY1^+`ZaZ1zou^M*YsWM_u{$M@5#ja*~L$5xO2sOWZI`)(8Z(=ijIRJXk+XY zD1?uyq&iR4uiVk@xN%KdsMx930Gn9+=C|WcNRXR{)mw+5)d5S0M zpCS>_Goi5hBcxY_kv{6u@*K_`HkM6?ZZYBZHN3wsw3;SUVy3eW+QkGSlq0WwMo5on zd*WGvL;8jHUYX6AzfpUXZGzYrsl7MvA7K8-4oVC3rw0Oqset_B({^{ApFS&aa9vy> z)h^@eXPNb`JuUR?XR3W&43%@c1ph?{AB9kX3n^XX&y=FQg?r5Y@b8b!-tg~KskL0- z;*T)o7mMV2l&HtAkGe|E;b0E%r}X=$rM^EW`Tc$D&qsPyy>YFc`TfrboVLixiO;Np z##cAV$LXrfsF&RbRorP7+VP$Hkv{5g1=*Ytf10jIC)FlVa8=Ap z9x5c|!@ayA);b&^Xux8)8aEH5|nYaZpfQnATmEz-Q5;!qB0tyzla5bK05labe#wnusY zU_|7Yw$RCmLC6&K92cL-P5i)ij~n8PA(D;At#iE4$YdjwFyjN$5vhoI$?Z-_JL&LG zltWtsZWL+{cvV(djtu!!!aF5xe;-M+1pkGSX7vtSWuLLjpyf&0NnTvm60BGr$knR; z#EGFjJe7y--Zh=hfTEJB2J;SaC?|*ZiqG5#k%8U)KiKOlBBWWjkiNW_Eh4Dm|82YfwvWRb6Uv*6u z_HB!|c3GAj+FRW}^;W7_lPTLmTZ!+DKri=J;`7o^R$JmfeQeN0lXRGUOzzSFeCU9zU6-RDK4J z!X+=69}{_7WS5Kh-pGz1Xz|(Q#d{1ND67yQ>IkNy;!roWSArB}Sl&;K#Sd{@A}Wzo zH5l(=JN|oVkNEGjdK&LZiNFqo1GRWc9ri6#b*9(oaxJ9;qz9H$h2Kd=3nd6FY z%c83_qmAmW5OSi0p-SH)gOEPxxD(cL_Itj{uawAMLDEYGX;Bx7?9XS(FNIXv@h4E^ zL_R8tRSiT@xSbN8>~4=QfbF~~4G0GsRsA6z;fgTA>7l)A+zCC1B4^&8h33qB1uaX(z zK#sfJoJfC}vt=BSwB23qb}BC_2fc=HR1sf2gTz-`P~_WdP<9mYAEV02uVo?Jsfe$x zL*lEaP{gA;5;k%SMF3jhW|P${1)_5Spnouy8!ZuQ~~6U zWC7$3+@^ZMff{4uUz-Qz2L9w(=nT9RvczXjLHq-!kc)_ObWVV{Q}&eN zIVA>n@Ek{`H)kRJ7Jl^fRappc_U}WZePL4dp7_LFmSx3R&tX@~Mo zb*Xq(s@`?5z<{vYw3^q}qa)eMdGU$wTl3mtHLpKDDv7SA3l8xdm#BN)pOQj0?6<$j zaohww_h!57wFPCb?}W0~AD^%6b;pzEDtiq!>GIhem!LaEA7?3{XrPxeY@Jzj9#Z%) zofJMyl0vSLsDBN4FK%|cD555ECF$KzZ>A-$TdpMPm!WEBFg0Wv6C_UQqG(aFEH<=#rlDbn@*{Dv3EVwh)gUp;c4G z5h@nrkDyMB<=$Zqo>?c=RFCBR*Ch(5IFYBNYPv$Q3do@4+DXg5Q#;w^pCE}%YC$ga z_-r>6j^oTtQfv80P9o(abi_+|;t1$S8CvgODS68C=f8?7+az)WHMjA|-zb$A;jCXv zT5sNbFLLziWF%JRi0BVAN+Xd~AnvWTu% z@|)v-hFA+fU>Z}2FC3r1s(N+L5>4gG-@BMa6&ck6SKMV;uXS10#xBe1Z>4@`?k{AJ{20zZ zR>GU06%1q#k-PKi$Uw<6rLY+S@g}yh_z5pQZ1`CV<1D38=BToyIOII!X$frZ=3qWs z{U$G#*LHie7|aJR@K%J6>QX+m*R9Tznm+~9pAtj3s?EGwYUO#z2$X zW0g00J@X2y??I%GN@mST+XpEllaF)wBOsnW;?g4UDF5-$+&8o?K@2`cP5Q20VrT%* zaWxBhj*N5qpImZ+njvEFG0U>3a#>4aFJ z$3#^QYbPX8jg+-}kN4(9Z=_6Y@*mIg91@>C)n!@mS1->Y@!5lrg5zsev9B?5AWOv` z5#L%PdWsbTKHeK?oxI4Z?MB0$kiP6|q+*o4eP*51?#*&KkzVTbA46L@6+WthR$SE< z|24GSf8U2UA$@f{Bj8_;%HdZ1olziMsxWiP+O7Cx*vHr` zHU*sxbhVZ%#JkQ#^|#Pgf$9No6l{lTBjEIwNO>W+{k19zh*i|Q-eIQs3mG1cV0Z{6 zMyjSMMCNQb+(qGVyd*aHazS>q8>3HHmf3bLG<*}#@U?TH;c}Tw$@Sv4h~bjNrVV(r zwpnm*l{71dbv{3VyR=O?(h>`}Rqjyn>{wu-+lv2=`IPotmz=a!C+Sr63#L!iHP`2G ztA>EKH@4j}hc{Cp6@Qyf>=}CXPA&cFA@u4W)2j!Mg-B5PSYyYdmgNq|p9DE~s^-g` zH7)PfoVr93pNmNP;mO9pO0>_EV*5Imb zr6W#y#ik=tWM7t~wYsG2_Kq#XVk+M4BY%PwQtJ}qe?cYsA37){MYEL3tO6#{y#-XB2HsQ13fN{K zFT-vDewn>~#V%&KhFe4Q%Q;oo8vy=ToAFP*_yi&q%@W>jw4bmng}eaw5!gFY@JjZS z7wBJ4!4vei>9PgGqW6^kES-s(s%@O;-5d=2`%nUO_yzY?6@P2|`5=9qkFys#(2FR8 z%)UzH$70jd0~%Plh#0C|kFa-xtEbRNCH}#R6)j|fmL(1(`7uJdfl+c5_0B~KX#KZsr#oV?mzk{+^?qY-~DLf z{@-@LKP|u9s;PEzfkFkhBQnP5_ZZvZeFN0_F^0qb`%e`9TFafhQPs?I3VAjLTB&cl zLY_6)&s|8b+HSQe(WRY{jEY;B84J?zb3UFF04c`R$XSTF)tjZ$#QjVg4PhWqBNmmgUYII7~4Y1wd;zhLX6 z%-LF&$E$c=enxU!X1?nG{&@8H=O53o?>nBF#d(}xsAxfCG2}@euZRzwpO&wGmh)CX z$k=Z~OTKoo3czr2Z$zf$n*o(vuV}5Xz27_^IP(!iMpH|Q-0mV11{wXoPGm?2N{~M4 zis1lXyC{6^&Ehy?VwIIB5sdUvO~Z4zRaZd2)zR&V9A0DmJg7itOk!^s#4_kzyuI&b zY!3*W@j*b~%xjrYgu4dKvn;chU5TQ@7|3pRLjLPqfiwOPNQjT0y~Na<+g>_q&8$0D zK5RnYX$IHK9fgSWR>?#s!gBpYeYlhA_bM6MKDHl^a3H4QiduxHG>V~@98ka8y~9T> zu!|u+Jx~V@{$`cTXf!YF)~^X4RY%XR7lVVdC{%sp!(S`H0+UxJ9lGzRMpkU|ck*YQof8)g`jmUA9)bCR8T6&F2Dr)1?DJUx-|< zMD_}-)n!!0dyJ8Ofio{hI-CZo=h(}5gez*;eA>e*wm_v6=HJ&En#6_^nrc@PlZc#) zLn^(Zvcid1AgE}y{Tw6e%SKd6FDC(xg`CLCp}YU5#(&HcICB`%;e299^o6{NU!gB# z+c>Om=bRC+|5R}T2%gTI@gJuX%;Enf(pS@A8~SOsW>e|a2)EL8JaLrTEl_2zm-HrY zjz{|HLdG#$3v;+tf9S<=M%H7NwdyC#d>O$`#)@({qof!(iC%ATbLh;)nS(vJX5-)^0>_-)%?MXC%0asHVMa^5**Xvo``WZeDPi?GV_6bW3!I_# z;xnD6Ez3u;3J~6av^Bi`h-LmLRevk@EmY~mB}C(Rq^+^ERtsq-dGVPwr!5N~Rw_$s zk!E#?!M{WD*Hnln`^d8}fBqJgAg8Z#&|AbQc{a>jIo4D1eBf1c6(SRn)WlOpn3Ev& zz)UjM846e5qY?q(R;0D^`a;VbS|{PG-=Rt#4|zi4d8D;kTGT>X7f&am+KoGv${{sK zJJsdC5|LZ;P-v_FQ_o%b^FLI{txjL%klztr^0dr*YpiF;?*gxz@2J?Mf+4j36iiY* z6$yy=V&;z(?KCfj1c76XU-8sZl?3YI6@r~TL3owSuBXS)Xvu|eMc6;sD>f~(Sg&1f ztk@JRrh>wB*+)p}An9GIZ&I6S`dSwX?GQtEf;^)#V;`k8{cy6RMW_TEZ?hZHxSg)< z{Cm1_xkS7LHlHh%(+e1+Q7PTA8?T@&pAKrx4-1@v*V%lokdXz9tAL|!nImv!9$wTF_-<@DhWsfjmLq>uWKD*=HhJFGfD`R2X( z@En_E*8V7mTUA66C~H)TZ(TqigwyDm$h`H8vW*n1WpdN`*0WK95J{V zbemJc{4woilnKCovzY*BEi49~V2Lom0fB{Nf-|(f`Vo~l(#YP8v{StQUUsLi9${2U zzvP~CaY3~^#Q~H88TEfbssEEq>R%1i|E9S{#k0fq^TY7`nti+%A3{skHfLHLvb){f zmo^9HCk$?3ie7%evdlblVA`SQ=%LHZJcL_dvTml6^-~ppYmPv;#k?4fpK*YcS9L!=Ky3#ok^1M5JJdxz{k7_S9$ za6Xb&^1e{J|Iwr@cvvFis4%$SNAHYKos|lMf1~fG@<6HVjfXrz4Sb|Um_Rte`|y|5 zH>AmfAN%lU3b_MB!gk4XcmDjXK5_@h1c~&fLg5V%3V$Jqo5{KgfsPodSHn2 z=m-xuz4#TTBN*pE)E{q%53vQ;1JsUrO9SWgw&~Vkyqcd- z5q3Y)Lq&LbSPo}gJR&9PKEJ=4if~ZTx~PiKkWdl6`Xz8^Jw4c%IN0_}funSz;_WJ~ zXhgW8-c}IA;QfyDgnsY=KG{sCxm~7`am?A(gMtk8;37~De4riVoT1u*%%zFR!Zd&0 zIrW3B-SmSs-&a5I;VySr#TCsEr!pWP!H-n;QeUqZ-zaH*My?M!xVAQK1eN^XV-GKUvhtq-j(xC~Uo_0-& zdWX))pk9j7U4YViDN64*iteWj>;BzH!R{ntS%qphI z-5~la-iwX1LG;0Nh(4GB(ZYQ_Ao|Gm3h~7&fdVe}ZcQGt(U|8H>?44l?065&p z4mTR_&tMRJb!CtGVBc*|mlvw!21F)0+e`cLV(4ZECCWe}L+il^zd&WBPoK#{n7V$q zCA%#Jf8pMW@DwURp{xh?)y=F^Jtr6zB0QyD7Mq6mM+780WwAo$TMfhz@luuw2L@0w z^x^}?vVDv$-B9IE>lDN%|6QQsYOSTf>a|#k7Uk)?=ok_4)%l-~mpLd*{&^U)ro;Y` z6e6!hM6N^p_V0s~zs*YWEWqKM zoj^l9$OgbDb{3Tw^zbNK!MQUjb`BW-u{Q~tS&bldR_8P6vgqOjX1?;P6lU6h`p6|Y zobgp5NF92;@t1o+>NHZObBC#+qE*ElwiKQ_n5nleP;VQ40d=%NAp#bnXT$7l*mx>+ zHW(Izg$!cqRQ?dFA7Q{`QQBO3A8cQD@?x-^NqyL1q{5+*k3ZtzIECM&lDm;Fw8Q@^ zZL!l4xQ`$z!75aeL{7;vFQuYNsqBkOh@?4~tO_$(bv=$GWz|&*nZ{(5nOsoJ$P;h2uD{*fhsd$&5CIWED_u96`A; z{t{^26^#lhLkj;MtLvT+yT7DVLKHgiyBW9&Y2x>iA5hNva3vl24KQ*xMhe0200fhY z7+S892V0l|eHYK-uJISp|8P%&jKt8*aOP!TWeP73XRvXZ&BhA;992%s#NLJ7u($4B z0cuY$MoxL30DG_cIb^QWRgacJNgH<ID4MVJ7hfQw@PJyJme{6vL$^u)z{;b zO68C`u-C3i7;9gEv9{euCQ@VVw=%g%_IyA|e#q}A$y2^l@GYf1(OAK)i79w;I`c-; zL-75#)9;^1k=C1b**)~K9J7~#Tg^+7*Jc>VGw)7E-!MBIHg36_Wi`Dr?JWI`zuP{3 zh~h6($U}V@_%>5GR`jg?3^i=C8HAIHSIz-EuI5q4CkX3PS0GeLxrRmdK995 zS1)81YXdOxv{t!}GV$^R6U$FCTXlBrxee8}>5!IKld@7{%t}S1qRp6D0m_n@hjh6n zfxvZ?VVB!8NWT{YcBy1`Jut=nJrS6>v%N`ocIkOd)spE+^vx6~3SMV?FrB4HfC1eD zd{z9)Bv|BwEK+jL2;;du!1{EmjE}wo)NN!6;erI}zWY_CkU``H5I$FZo>cfn6@N=L zZc5VgrkE8e5N;ok0O7*Q9w7Yn1v#8?@354RDYy%E?&;`k<=4G~@riAsUNa3Cr-3m} zj4@8kxM&(Az^J$?#wviw4bVg4*)x{KD9T1rKcMJC%nGfZnQnnfmU%_G{rQ9AsSCz2 zqnV>OSUN=!{?PS_BQe0&vPT}3k>Z^uWf z1Gt(l$^%IN{yDRIewJzX{II|~j}GPPpDxSSu zcDF0UUoe7NLXYfBG04h2Y-aCIGkb?6zrjCpW_d}4^l~ch6_TLGzO{C&8Fx0)?9fmf5V9=H#B8L_1Euagt z41m^OU?c6~BxwZ5?G$Ps0@6q#?QnP4yibXG3lea9=MN6IVFjxNXT{rSVhS#rlEB+2 zeEuDD=(no4!yKn#Gws5IlP$~aM-ew_USgjDsnL%TE^HScyW^~af9SbzH?Pv}OfwR`Kjca{%lY&uE|sCk7t^ z^zy}g_>AJ&>>udE`^=wptKSMdR!l7kwP+7)=I5w*pAj6#bLPJxZE-#y=tmY5Qq}Bl zcLpPs!z;qC9CED{Qf!BZ55*~av8S!|jKyH`~3&_Dw-vTPyWWiao~u>b76l^*#N8H8(X4=&^mi{QFq@C1>@E$G*!izR2mttC?TC^BmCr z^U0Zh@%^d2^OHvBbs1(p$V=OeIOFr4j`3SR@9tXM zW31i={bQMH@r?|}_>0*I{UY|W9**&+b8?ro#Q|NDikKYS3%>EtnbVdPALgJ86F}0NAYm6J_njUgk~0*p{*_Aj zv_0s;4E?_Q{!_YiO>I8)l&%>&Pf6*j;xA!4`gyh;-C+Ji(JWpJ@etfzQL2)v+W1sv z-N%4`iOi|^gi2;K&~sGyD5GVz9euIbgc7^a2>a?2A-m?l6wtrLvGBTjYF`IpDOa~I ziTCY@OsO}HZA}5b8?5XZ%YFEChQGT@m_NOTzq>r??!No{-tNn9WxaJ04(}V%4DO~| z&*AJ2)KE$w0Y;&VKTc6-%cqPQ?@H>vQ|gVMY)$iYH}PgU(nt00)6LWEnVRnDb~_Uo z|HwrtavU|0V!Ui`Mkj4*%MXP)q)GN}^nNB#-%Yr?Z(#23XTao=DaFyDR3|ar&(yuy znd;s(pcPD~1fgKLl)Lzn{t21>?Yqz07KDRPatSzk57epiLcJ(SS%rvlu)HzJ-crA3m*kcKR>y;V;a) zy2ZQ7v7~vmyt^~xG z67YPl#Ll4&*A>mcn-ypE724>(@Vw|>siwL76X@S)qyI_u9Nzwl+T@maED8Omh50kj z2K}&Ys3x`zzYF}gPDlg)M2L@EZ%flz>bb%H%*iJeINn; zlRsn&^)slQ$Q=CP_mbe>N5P-J4k17Z`2P)`fdBQk^?-j}$l(lrKuX@OL(FYUdB?~ki^c5`rt7z}1?jWhZMg}9Nk6=E^? z?rA!Q-U6l#F9+iO^J%t!!nEPvo=$1Q`swc4@bFB2Jhwi4Teto3vEO%p+#UAe&rAsU`kZvi!=m&cz1bp=Fd{OyxA#b-F_-8(X9y?Aqq)*s)R zQfgziYyaPMzyn-ZU)_~}kNL7l3KGHjlDsND3YqavW5iGX_Jm2z7;WJ-n?%bDZ; zSefv>;@KL&Uw;D&X`AWv@yD2)2>pt=?bBTKvl5atrsAq*6$cu`p`6ciObou`;5c=3 zRkMG94}WD&O}CeA|A2~*WVi=r+{kn06`AgVXUhf76zSQ)9zGfW%XY$o(*S>GShCm@ zun>X4q`Uj0OwDKEtW?d1{KfuJM(s|7TjCPH?0BIcbMN`DX6}~)74JeG>sG=z7By1?-a&c%fVCy|jykb&!Xa(sr#{uzg zUI11Ez4U39FZq7ASWrD5w-hOJvr3)em zueCA)%pNYYxrd6u#KE7HQQq05;u*1Ib85L+4z`QIJ`NjC*{0D6j^o%y(N2{F8pPo7 z)9i(alp>(loA^|;j~Kd^=QuEh#Agb4ThC6&uJ~>)wJY!t>-TMX*V|9@|K>^Jz~;+pN#r9xH=3JeTk10W7XN`KHmrLc-; zmBttH8J_%qBt7{y%NO%$EWgLNv?XQOUzYUbSJY6ZnLi_wWydj=y(iO+Uzd*0Q>BC( zzc$GrNpAgC5~viTGhlo1<6m$IAAT+4-Ku)<;Rk><{uZ@asx*F= zm11^xI6mHD(`Zk|w40KNTQC#1(INX(++mibT{Y?^wo{%m<*jbOdehD6c$;+F|LA6B z$_GpS8NB@w#akO_AF+W}CG(v=e&7EYyghzxPrMy^a{_Pw>^>LXQhPVReQ&(|{kuKz z_S2KO|0Lf2=MRau%Wpa_-d;22zZY+_Z#oa&*5C9m;q6^5wos{WJrCY$tv&Jf+tug9 z+t`r=-kvP$fw%7*&E|~jgp|Z-_k0K5TBFZ`w+BX_6K@A(;;n=KF1#I=fw!I%-u|Qq z-kSfzcsnc|ZymBzAwHMl@UgA;ry2C-|6ho_|MB(@io9QV&V#&xpZ=4`J2GrD$)c8? z$h&`4Pvnh$+YNb-l%^x^fkO%8{jqgC$p_!ua3176ReTQQmED#*{Qo`V-9762An)6w zz6*IxIE8!8{oM)>C&FbSMbJUL_(i=QVp4i-hh}`Z({2D~&N*+&)3g76mtc*tHcU{lwne4u7gN{>)@hZw1So>5$zPZ1=r0iWNrj;vQ`&%0>yCF=mv&nU}F*sBK2w zs8k7p-q#77F?3X-1i{C5vl0ZG?>>9I^R#-Yvn2dJB61!gK9^m?v1V~D=g(>7dH0UE z#B-dCH_Lc!qWnalt(E7{l4vJVw3Go z%nR2GoH@<-2L29QgtsGY?X2|W^j|M<#>4cgQ9!DRhXh>4TZxBEqNgu1{&Ib4nTL)L zIHUOb#4;b6&X(Dje$+~re{@|75k94LIs8(nT?|3$5w0*0(HfuvN~h(Yh4i-@SV`PN z2+M6qmkosF?MRo~5SDi#{lY_+bDVi&_ZzSM?i&XWrKbbCjAbJP4lQY+t8R|7AJmxs zpvLn*=qHH>O<)gVRZ<;DTU$7d^$$m(cK=XTWQYoC++iG80gK713B{jw3tUULc&cvo z**l=dnCxohIMF4DMRwR}z$uBYKJ-tC3@VVsCT{^R)jVDxaQGw9dk9BG@5$1jZZ&qFu`JoWo_&KPE{h=TYp1GD2}@$r`?A>7 ziu5ULldtP`={7_vT(=wVpQ18*ZGO#Y&Mz99ALcovSG8Gf?yy-94Eryysd|q?RH3;6 z5nq_fK>F~&>0Vo|8R%d(=OM*D!h$%t?$+(n-gg9g+^p*Hvnu0r}scnV%I z)s|ch9dzO$2j`c)A*S5uvMiOXZ0=%VCgKyf_NLE<18g81HUEl2hv4llurzCKro<=~ z$@OB9T$i#xk-qv6VB-rADDqezjs*u1Up*>{K-<|py;*bW^+@z?QAt%ZBECkIKY=_O z0(nTUsxz|k*756%5y@&>vfBcsU}Q|uqExkRwzJ?=Qm9l020?Fw7M=|q!qB21 z`RVXv_ukMBf2G#dB|ftX0@eaGNH1BzvGt(Vve9`Bn8k3Xp1T}j-M0Q~sRck*(u)+n z9d^m0#z%1VPCGUqk&0SG0ySoq+nQOYRK6#PO~HN*iTK1NC+H}u3Xpy)FBJ#-{RLjT z#lKGR@&Ak+nVuX(xcsQM| zFOViLccLY7BL~E{nneq;T}%wy<%%bY2vBWcG@aG>UZKZ+G9td3RINlQn)Re*u{wF` zXjn`CI+)34CSN0iESkiCE*`;Qlc+n}4vdNH^Ntl>~+mu2~=Ay0U_ z?Xi)s4|<=~^jhOY?ltJ$UtUveIuGnzfy7rordCemn``ND_mPYPA0hG84i$&d76YwH zRSIuY@fuXL2H`gJZn9YTuuc>?AfRC=Q%pcUcxG9TeXJwL%Z8p4Pd25kBPJs&pJu@D@aX z!^e}X7@_HIz%Ckn2;nyKLibjw;}CA^7GL9u`Cm@EpM;#2Wnp<+QpyBk zNT0IJ80hFGW;UV7zTVJT9mLFGR*ZT|BjPt8&qubHS#fFduH;ErI4WiiE!o3pIuJv6 zWSdRT&1r8oRzR=|ldPn#J=1|4q6{(z*z`H2CQ3<$pa1;?H`a)s?Vq2g0OaC6W`j>Z)!N_m`{eiEGQvn7BcV zABP&XSAF+<-FH>@`3kst-NBIdQoy%CA8eyWoDoxads|AQ*t z)w2b{u79Nk0(vV=u*Fa$UQ8wPf(v~5{=9y=n=b7h2nR+OG zwSq6kRQU8!6G$A)tWoEyp|a1KWmq5;Gb z3HZIjD0Ku2f@oXQ3%LfaajFAcmLI?KZ$*9uzompv-=q}3rNWH^Dp@3I!H)yqRIzm_ z@>~Cb$e*W}x~)!4Qry45RPHKHYSQT?V^!QoL3Ey;RwM_JDcvY|IIvJN{dW8_ndj}) z5R$qn{?~Y514|f7uBKJLj7XWNN_|84Z>8}6!(seCKZO71DgGm@M-_Y_h5w&*@Zgh+ zJ(1a7&SfqiPP^eN{EK$L$HP0|9l8T7wgY09*#T-{<`(!kkfq=Q@x>~RsX{EZ11_?B z8RHOvNIXlEPS+rXxC$$XyKflvod{nU zf0W|3M=<# zk>6d2@RYD(_zEfZw|Eg#;)tW%vGGyshN;}(%D84I|J&VnBK)?s05h?Owr_idhU0BdigvcNHU&)-Z%z+uf>eXG9_SPfIT2x~h>2`I=O z5@G3vk1)BFi;I*GXAFPpE;A*wwX!M#GTC`cSLU>3+YO<>ZHTbukkRJ|e36BT2>z4@ z5Es^nfW@o3#sTEb0y1wo{e;Mf!fV$!m})aoU)u-}sjUx8u-+|T=jmiCP~ZTukP`rF zcL5)NIb$bzO8l!c`CZ$D(h5X&azA&i1Ed1Xfl;yWxj`lNN9BYc2zqX{ z9PtAH;!xr09wp-EQHRZy6p^@V<*d|*UUdLq)V=}Wle?MvCB%VO+k{L#YUK~wwlM?1 z@BJ>bG&x|~1`rU@qbfeNl`^N+RX^jQH3AbEi~o5CQ-3)E%M!E43HrDF#fkXjjCfN< zt01pV(l-N@sdjw$thH}_+V&VWoDjHOZ(tm|EO|pVR*9f)rwq64=lQ7dX=}!3SVG|_ z@rR6%fc>FT{~IuPI}a4Hfq9Mji2ep_*ae0GpNjW0lPF>j{Qu!1LcJL5f=4GQj z-#I$kGv~kbrgX4p{+x>Roc`j;{4yfOGmB9Axl82F%BD+#J%5NI{tdjHp(Rf^1wE%a z;-t%sNEu!3bTV9jFae)j%TyD#YJMw9mruo?ShM@tnyy-sF1V?mEvLMVZk+fSX76mY z+BN@}u`s1S9lAT5kBmV_z>SPS=aK`)3K7(`53LD{s_=`eDPR{yWg{Z^N^9TXPFuAp zHPO_V0N`fl20@3Y-HMN=nBkE(Gj(&Bh=L&*u4_evW9k3>48zifXD`^c^|{YDKs;bw zLqEP{O{O2!mWO^k6u&xtWqfjcVtfMSQn!`&*l|}phlhk(jec_gFWv zqCm0LI>iCv6Rm6c_o>$ADJ;M0#wls$_tA2$h<>QNhZz#5&}l+SUJJf$L=C(qlm1zoIbge-yJYLatN6$vUQ+7@tx`IpR^Ze@FuTwO&s@VE59aITh(_3ztG6oW&Z02v_Ym8{7ds2ClPr_ zRLLq2ip-q`QgObEI$5TBqtChI1_tj^>#3_8Kp_u`8maRjqeWEkgW`y)j%A&UB8_9W zC!Q_90YE%!3t+y)N_FZrsPS&P9>XhN{$OT|CL$ z0R?W{k&$H1XmKb~r@li@Y!?DkP?hUhgxeLk@h#p$?29P3oidDgw@Q|Y%xy{+0AQ>r z+<06GpZ=njdx|o)moTHT;eIs(|59KX-4nyfFcb9++<1?}-iOg~v1zYtjgnQy+5$?6FnZ!1$M(QZy!Zn}J5gHd6w_NT;!O)-P zm3w6PV0po%yzHx92cX|Wl%YjaqbRqHox*i0?nmvhOqJtqT2$1IwhrS1m2(_uYCC0u zg}n%$;rMU{Z5_sk-6MpP-BdWCvdL%YW?gbEJ@62Gt<5-dN8%u3#L?Sbagoxb8z(vd zl3Ea))2T{>H52(AeMW?T$kWUZhxDI)xqQwx71w?2HjU!i?J#(d@+{`ecPY+T>Lf~C z?oex;*0xbOFg}r=2O5s2tCX;;BYu(g5Ujb<(u=9HGK4tyAYO2t#c8jdS?d(3UywuV0{?udVm!U{)K zDGD2UlC~WyW6{s{6*In+c{C9!GEZO^hVC#Txe9g{vTv@iil@awNp{3%CjPdr?6XJZ zd->|!OvaxrBI130h64cWYZLgvPK+ideNjBPgW^GZKi_4=9oDfGRBC$hsdNVQRH}$E z6S$V-?>*^!IG1U^_li{egtt${#;s1e-N@xzed!9`s@s#vUQ{;?)5qa1d}~)YcsETW zy74#Ifh+j%x6<{nu3cf<@dAGPatA#_+xs$pMmTI;{4N{K`jLcWC@sb{sZlM34saR% zRemmGEz**I&JxGLXSUz|U^CQ&hUt0YHU0ld0LPUsGt3Qp!#; z(%ayn>}ZWhc?uuyHoBaO(Z|X3H)uVcDvQ^>m%f{lm114&D(h^DOgABN^RPH~bA~i` zbA~W?^QY5iL?&EHpH*@{r_VKveP6-o^M4?J^-2bR)ux1FGZeZ&S=!X?@ghw+OBt(Z z24fXXF;*Rvv5KY`s}4k*6?kSe?iras91kj_lwH_uW^{Ri$npu(y z?2lHMt}ZHwvYxH{aSotLCtz?d+fkpO8}ulA;$a4pq!XF*Q!qKh_C@%Z0~yEql%h9j zYq6gQT-w7L3k*c@yx)O>A^Ek`5MwH~_|Q5S;4QW*u)nRsocS>u{W!p)mi{r9bT$z4U9c zSR%Z?X#7`v%J}z<{q*tQ=NLWy#~pn9&pQE&d-{sa|6PmlSri^{pkU%vMvS5V5R&%5 zHS3)jJnmy-xmUJv?1F0Eh>+>-WDCp|R@=htFTXt2!4OZyT?+OC#n>s*#aGOSMAdv` zeQG~zrFCLpA{`epTKagtSZi`N0P*(~G7C=guSd9cy$tiRRb0CPPV+bS$Z*koj|}t5 zJ=JiP)?AHXU7I3B0_@x?I+!7EGfxmodV&TPeSkzY4bVcb=W*qCQFlSC>8Q`V9 z8ZR>4Os+M;B9aa+6)Ak&l!*+Vb}B|h&~Tq(bX`zPbOGVFQ24Y184*FogR*hLiHv@C zO-^w~tTyG6jZAkNGQx|Iaq0rK%qh&5;-wbu^wGo`Dy1^tJ3=(KgZrxigqeRN9Z|rnw!d7ujkNn z>>*JTKGN``^c?F^@LW+PdNlSPBe-46LTUts+?Jw{XVf&Kx0j`DIIo01b`0@*o3kBY zzL{^$H{IQgG9G~qRRW`mpH++iy2PBybP4wKv8l>m<@BkWPa?^ASqhcQ&bha<3Z)O`X&Qs_zHD9js1 z(f2iJN8q|)^yDvHmOkWY_-mqqmw7b2z^kx?8f_?O({&BxTDe)2Mm*|KNVbAqg^Dqk z(TNc<=(?C~UuvI!Cr3s^aj*2+fT-Xju`jWMO^<41kw+nOy^6H6=6 zRZ!ZK8F{`{{2?kj6u3eu+Q(Td>n1j`MIH@5Dpr`T^Bi85g6Db|PO|IkqRu~wj8rt# z%xb3+{%9B*r@0(J!zbpOgJNUW$)C$ z;?7=*d}(~_2+Tre$sT01Qp|HIrh5T{ge8uDts;`zQ~39&sNk*>g!|t>*Cbc z5HQc}3Af4T9ISEeN6qDoeIwV)lC>?e;D_@#5u{2jme z{7#;Q3z<o&Q5<@Re{WNWU-So0BBDhDB}&y1Wae`N zZc-a%X$4xXtGbIOglimU<>RV&%G#&%on{dR({d8t4I6uF-i9I&=4@cX$wFh zPc$*D<`Wd-0*e*$B*(ekDEy(Qnlqzt^FcZ*#d)pbe6pE)=N?1hn5cwLx>RRj+i3gQ z6M^dySt0U1a_AV177xOm$_+W_b}9+#hba%B7!fhvu9({x8hvgOqgQz8y-K7!1C4&cOJ^&Q@(eUGdFgZ|Qa*%6{XUCHbvW@azFE62W)u41%Qm(5bj}!SL;#9g5@&KQzA0IZa42NK;{~DtAzdQ z<`$-(h8lj2KOM+4*Q#!kjT}M6w;3U!xB~?{ z^w)!-072w#uUgej8($!m6)aT|nI~3MxnC$9TQd%YkGUk*7})T2+qTJAL~6u2*u5E5 zjWxeR<#rc#jlrcARqoC73yS#0q%>rAd*jZg;tqvqKqX&aTt?jI@LuDC9HZ4XlG$+0 zeiln%g;-HF^JPk+kTAeZ-_6?>P}#JqUTqv8F6EOvr^T< zmMh|7iMTbqQV>%s!mbW@_9Q{UL0S|Mm{nO-r91Yx008Z;Vz@sQFN|K&XZ(wFjKTjW z0PrV97F)z{c44%P_|CbQD3D6Xpl`4q*aARrH0W=J!DSb1o6dVQGRAIBy|0iUBNoJ@ z#A3*|CM(0YMj4I-{6+`Nm9ot-@{akw_C zX5J+zcwI)@aC1AQLWsEA5Z3CMS0k=$M5ZebVSiJ^mB+#9cO&e7>J{;_(J{U|AaKhb zqBS9+*CQ5l*EdU~^Bw{_`HrZNWg-e6cPjWTtA9WM^mm2K6nFy%*^IcLIBlG z;sx8@dcn4fFWUCcF50&DqHRYm+V+OQOZlPE{$-SIso1{(Yky?7q?OGPmUiEm1z^K> zS!m;=N>+GTcmgA2(*sn)7ZF|<%?u`0VKVK1JFI8%iA9C|C=g3>=Z+ z=5kL%DDYXiejDRP0$znY$qq7-tB`vNMN~QlKK>3B)T(r#knxCoXEDj|#qGwi9HUX{wFd5P%I61pwswx;zjVkBHW$l+G`JK_URq5P}V_I_QtQPuMV% z-8TjbMTKnRo#!Aa8$Lc=03e7y1#W#TF{ku76)q0uM6@3mdDZG}9+&oft{hJQ^T zV=qt?X4g2yp-X)^6pDa7mmR~jUSVhoBl}u)#ijiyM#O`N9z|8zES`e1+^a|t=8qTG zzmYb`A5UC^C~Ub9Q5KW@Fy2oOx}+m8g&uXmg_H&{glJEJDp)~JQ{SK~CXYCiSZ^bG z3OvmSPcRfXK}7Q|8++(ce?TEmvV#SS3T8u&@3`z_OB0_8@V{j4JK5ah?&0z6967$7 zfoYUk{!7NkVHKO7Ooz>282H>-PN%+nR=9-zF#S}Loe()FGM8Pq8Fg*|pWMfp8-#mQ z^IIW*@yYmSQ~7**k$Fq|^SQvfvPS@lvBTk$s@(9&U(hp~W?0yyu>OI z1at*o=2@C_YRLp1wJXUkCWPaPw14TH$h;--9E)L5pS10* zZ&2#AX&^~SOd}^u@^k5MARljGq=#0tUg%ERZ09~Ua_6d8YgR}tSew%j3S?>01^rsnS_}uiWa-6Xa%rEc7&l;5z?-;9=PK86H!t$#h*UW53(q==TH<>*M5z-|a}p z4-vHksH&4Q1}y&0DBj?~vjR|XkZqLk2`9Hnu>Q|kN-KhGoS}Qft6{xBG4*MRx$sUo z;%DjsIpSv;0L3&p)30q9w(r45*j0=s_13s#xEZSWw2F_bray$RzD2|R7VhIwtT`=H zNM%7V1cO)7b5%M3*SMYZP zQs}Wu%wQ;Rn_4uGj*FJG-aQUL{Ay(MrNg4xmPpZ4q(3&DWFBoO7}8xDsV&gRCc1I8 zU?Ol8Q>rk&RgPqHPHUl?#UT2dxx@|DY4JaoOMEKDC9YS^lDr`faiJUG&QDtRjp_RS_Ka=I zB%4v%@s!Z!DI~}VZMKFPi0SgP1%wTsp-e>3h7CXGr-7gmy+Fku#Qt#6wvGO5y(VnA zm`qjGjmUkA=MYy94zp9msUNMVQhQu-sphUdm>xCG-y44enYVo9H^Y1MFx{hhy_tJ- z^KWv&)_l50l}+bugd_Mpi+m!0n0A5oo2AcG2;Us|PBFD3g!mFVNj_bK4>3^qi+5R@ z&)c>faTTU^KztrDZ|V5;aR1jj0IV4H3l1`!SMdF0pa3F(9mZMIHL5&yamhm5XdaiX{b5v@6sUslL#{AitWD8A{2o7! zU~M15m2C<>k8sjQ9`PXawJzFD|A#CngFkpuHT7l{`g>rJznPix$k4w-Hf#s{L0Eyl z_vlxncAo%$uwC5kFAn*GwhY&Wu&WSm-koYr#h=i_Lcs^E`hMnKa}{kt_fm@DEEg#% zD^5+M>*gvx9Cy4Zqz5wnW821^X!Q>9azYNPGVWvUOK?6WTrS?v>W^5=HmtWHT-!_@ z^3cQLD^37Zvm_O{px655M*`CU(&vXh5?Dw`;&0=gW-6KO)qLsXUjLpkD$x@ft6or+IeJ@M3O{ULo=y<^7cLobBz z!ce^U()a^yDv`Y;mz(_gw;&@VqN;Yq%#R`|8u$hA_=^+L+e^Ku>MZRb;(D1KO1Kj6 z>kA(~i_DUBTpgAOyv}_ETcb_ED^;yBR)fqf2N^9crK%N~u3)Mv zl3HNHKe9OQr7UO$SLLvginB67ODNKKe z#n|ss3Z*Zm-d$QqXHrph&sLXDI!oc8u46}fC56LQ7Z%w9kjgf?;>K*3fXEy#vvIFZ zGOf)8DtSp21@MVV#!l}?UCoWQ{tLm*3$k)s45?JcD*&hht#iVV2n6z!$B>lg} z=AZw1(H`Mn{@3_}G+M%6=?@|>e~@}`d4G@@mhkWL2kAQ{T;3mKq`jGtVQ*&tm)e_6 zP6O;e(B5p~Dd9iL-fZ^=!e3x-_R9~1|5kgm!ViSM)!r=jzVP2~Z}yG%KYjfF(e`G2 zCxt(2Z?^rU@ITAmtoWqxzxHPT#r9^e9T)!B-t51`-mEGM0PDdl0EX<%glz;s@M{)ro6DJ+YWhB&lL`eJBpFS)w zZN=Dw!l(JyFPtd?>*IrzjmvuaXzr)_*Dq|jOuT`VzNC}UzBgD?GF>%3j(5w z|G1Nzcp$-tkMq(FTDqLBQ=5ukqYuqOYDN9QkUqg+*%kl{etrnPTCf8){5Um_r$ch@ zPC5$sgRmGLV^VB`!Q7;6^Fduv-84KN*wB5EPVmDKV+sw8=|f(+mzL5^8{aX6UJBkV zldFuu>4DG6_=s$rydzMNfiK=40Ki}@2X_RD6YLd1*Na1ljJt;suv}ECMPX2(=iBNX zog-D9d?vjuqbJhv4x@qV3fLBKuKdi%6*IOc*@gBu4hXdOApiywb!%kYZ6pPKY;gx7 zo9J$gFZAQEY#d9z?&bd9ytujvk*9CJmo4nS+|FoB(LsbCm}McX&g!OxeAS=6oh@F` z9$Maq@RV6xT~CjWc6}>X){kSi`o~>}{L4gEo&0g)a`xI=2)idCymFGrG=_Y2czni; z_3_xYjSpRRdGH}#7#&)jR_nU`LQ37wXz7x-xw?O#Lja#n&spShJXpWV1p?!c@hTVE z*0sd{PivV=P^(smTF?&6Lsd01(dy*;7Xer`3mL5rQkL&a5va72wkbQ=eV!6V;Xa2} z)yCX9cQLol0`z00w;xH}wFSk8na+N6E{_hmw;M^_E4#=FpL4}*=L*%ZlkiC^n~rbO zY@4EL@BwxMt~DAFfr>m+I>vd(nO!Xy)UI$!oAib{5eFQ@8i$S{^EpBs(otdm5BJ8 z=0sduIEUb0@53`Vt5z2Ay~g0)8l299VZX*YG)?-oIDtrIqt%%WSj4Vym*W+t6A6Z3 z!_7R6@p=`1s|{iEF$Mtr`BbtbR0Wi(dx8KF9vK>LtZYPh-JKLZ=8bvAihNKv4G~s= zgmz?vUBw*~zap;hPiJIlyMU@{@{x3Q=XS(44Fx)IAyU~!^4A&zHVodt@+tj}txxIi zSjJ_u(+Pml=TV8j&4<_BOUoXA82})$i{nQ4#P2~WwRM%NvDE*3%{WB#^^*Gu*zkkY zFQoQ)JhKs1Md&Zs{e%$_aP9MD#C?hmAig-^-yp!?BE~3Hg0h6`ln8^H9So6P5U{o( zb^!n|ckDfN0+2O1)q47oo?M3(1ixeb(My2@UuzVj*Vk+=qeli z_{K&=Si0WJqOvu?Mf?6xHvK{>H<;@D9Z&tmVru&c14J3z9603)ANLUdhEP{_;cOq= z9P;Nz<=p7pwd$!X-;BMG86%Y?e5bO7zzt<^^F60r#=zfi`8uUcbE1B@d6!(@|J^O$ zWya@aZ9Zu?eDV|a3WLHX#zb_>+bGW3A=t3;qHW8#Rq{UtpICg6Zk{$4KEEn|ZE58` z2K;8p^+VWDz$}g{Lqy+)OV*;Qy%ZSOwbp1Au)a^mt+C>ZBMpRsANw}B*vQQ#f($o@ zrR~sUA@Qq{aPv#0bQ7(%fdIf3o3U&W^J{iyJipa;5&*DjGBOtk#&%)$jF(DzNcOh^ zC*sZ~yj>=~O)ebnZBK-!2bz3RD6lTJjB!liE@OLFW;kpwstAbD33(YvYfEs|C ze{i{REVJRYU}XQT!i*mbb$>GMs&2xqGV!e&>VG}$e|@YMWM=cW*5rb%uL}TJ@9j_8 z{EloWG1Ts0F0dx8V^?XXQdenr?-kOoTYKI}+VQMr0sA+k^2i56DtTlJ{GK_;*f1Vx zal6Y$^yfJ_SdUECY9wt(II5CwwIRZ&BMiPXVB2cd8ASYz3f$PL;0P*W@kxAew5msWKCrce3Q^F(g787_X;c|p};;*S^aMcAZGR1w)MR+09b3sFsGU; zGjc-xW>3z3Lu^{ToST2jw)GiJ@aO2Fh6*6#9%&~8cclbaP1~* z(Wv*^tcA41$-ix}7QD$dcfZ*!P+a@h3$}fBz_#y6{a-oAKPex0d47ZC7fB$>v#t~Y zP*Q^Ac?I{Wcno5M^)TnJ^6+JQh{%TpoR}=MIWm8sDh6w(jjPkGmDP*po))bMeVRb%>rPaIdiOv-&2f!5kCHs3joDb z3k5~mQ{z_gd#ZE_u6dT08vO;(m@ZI0Gd9NsKygSl^Ji%0%&Sz~j*LMOJ{}Z?-rh~$ zZrAABi&!YX!GapmU%V^!61#pps2In(6!WewgxgU#mcf!N<#(N%+y4e8qHMjc(AIkq}m-H{s*g3mj7w zd``n*1@BjIR57}`6ccsvFg#g^9!qDrdhOvFSFs(ht1#U+uvW||0y0__E2g#>86R9g zz3&y#jD%KXw0aQNyp6!W5pB+5ZO)>C z6p{w?W10}rq*fhjxQ*o{sBMcq!?dY8HT=nNp${MQ6)~M?Z&VdJk#Q_1a8>F)Z1W_! zaWd1!QmMfR+j<-seK||+P5+)PH|EH2bGaZl&ZS3qxkGN8>!1%#xpA(OKDgw@xi0#U zB{$B^q7T_}TO3td(l~B9M8!NILz8>%tp-K zXS=PRMn-?mlDn!${mwtih191b_32D~x>BE6sn2x%9Iix7>RS}NTx7b8Z_urX4^)`0 z8xS5~8A_OC2JTm-PH4 zF8!BUup=;AHK#}l^N>s;VQ*?QTxGqB(zA?4D0YnPrXTLH$OsoG(r*1IGTqlI(!szq zBrwu5`o3kexA97LTgE6{=aNrU+@fG4(#<;-6&+Apl6`#CPmr-jW9ESKCj|_WXd)rQN{;3fua$2PuI?-_%fwX zZhT-O7eS@{`p1g!4n5!Lp8Ut+(53jCUnn=;lQsM#3_Ur9o}5EZuA!%_p{MMjryOP- zCx!LjX!xv(qoeY1DTZB8lT#dGL`KDZ$mr@q=AEO?+JJWHIjflZh%+`liGTO`I*Bdw zB#$CRV8dM7w&g^`8Hg2=^WIMP{{a}hkBW8!%$)1g zwTiGa=4YzAh-HG28IDHA`>kmieIMc9!R{lT2=n`h#+IS`h=*GEeZ-2;r`|`rd7TKX zg<*Cd;f{RzeS|eJEM)rM$f-Sb~ z;YqBZuMID_arFJhzxRD^f2NXE1#u6Z^0e)oO`h!*fEKg^UsCa)#>~>nn1@Pz=_LKA zN@@zUU?Q-exns03cZ}0v0mNU+h;YZ^KYw)gGVz}?``Z%c{YA(AmHn-{Tz}8SFX`{A zcO%?`f{DN#!%gPvUrsk!gd$}HY5m#Q*>o^vUd62QC}gSE+Aa3j^oJ|hC_7o?fXmH? z`Aa7m-(K8do#UOr;I9~>tteo2Hczo+$xCmv-oHg)rDU#X^f>}Ej6OlHqvC^)ET2MQ zv15z?UZ*Q)Js)C7E0akGN4BvTl0V84fDf-z<`<`C1|?U&bTz`W~X z{eS@1L>M7>xzbU6^WBcbb^!)Au}ZxPzEI!q)UT6??v-2pz$HigEH0rE@uybsv~}fp z0jzb-bn4?sjh7aP;{_1E$A|TO#tJW}EAkg7s)z4G%L?X@l4e@3Yn%WmqlK!md2@TVOyA|9YOw?)q;*f&-ad&2jXLFuV)Fw+Ea6yX<7qlVMt!Snj2Sat& z;Fk8dYEHR-F3JC~EOo5fS0>%_W7oO-7R$v0Kg^%W)D%LFdO)bcg3$Z>x7~KS=tU4?3dw!eq@%cLT1Se!H&A?5I%$Vw||1nnM-{n z{}ox6JAep4;B&HZag2T~->@71m^zRmDO303)=vZh#BWxy?ZcnY?`v5eUHwM> zLLGlWCXs@SH?QN5K8PP+ zxxf_sUObDX2BUPO`BiQ=ExvLoJ-Pc%1=}PAl^?&##+hjG=y@vc-8LQofDc*qKmc(_ z3$EY=ivVko&ibB#;aQK2aeLdV{Pg+1TZ9qub{V-z@(!oHnn8mpd7a2w?nU@LYoLEr z%PH!3d@HApw{5xH{ng!f(&NJB&F|WpUbNuh0Gj|~SDI}A;^XMoJo@!#Hb~FriP3!y z&E}uB^4aWoSpXyAf!}ktf-m^U9daV#(XZ$I-nDfIyC7TW0c)n6lJpYR)PCEJ&+y^F z)q6kzCBIV&`D<4VzczsbI(zu7c%NfrhfGcw3UY_ zRW43!&1JvRBC@JLCSSdA+gMui^)IjmQ*qMzd>@5xM(Xxf1s~;@+Db7r`xU;n4{jE~ zNckXRK5{A(@v;I&f#Bv@hCOM?mCUg#0&)RQPnl z`gr*Ad`Gh&?ST!?0RW6hzhOI;dEm?C4yi>KTeEXwO&~qphArt;@!=#sWG%S}K(!nx z&!+Qyps)ZDdX|@aGFhP8RI;LgvRuW(ERb!9x29R3RUU;b^I8%6tWAG_6qRM8E?Zdk zdFIF)5)t-NKVd4F?JfG9gFG#rWaW@<(6h%Rgw)aM$wO z;I2C7k9+$UwvhQ#g1c6oi=Q8DUxeHI!Cmml6KutI$wt4(42!7*hj$yt`?&gGaR?xD zNgofV>|`QiFaaAjraWL$f=;3uF3Je`)6^rwMfuIuaE276j}J6^=<`AP>}xKd&)b<{ zYx8va%&fDR92D6g1SSu^%qrc(U*1jsgsb7=wom9&TQyu9u1uBHg^;v6FeO7@K}wpW zR;ade@v>e2WMK;*zq7^OgODV@>+Q|KBe>3*e#TWUdd+^1}`kNUa-K*fY@Z0PhyI>61 zfiL=`cz7O1z$aNN-;_F6?xL?TC*G|38IzWb z%h(z5Ep#`?xK%b1v;7SrAM|x|G=F9j_hzHiXAJlLvepdn$W=bPXbOJFTOFC3EdY%K z3JbV5%Uq8VDQ8G8*U!q=D;R4V3TK#PRnORSiy4j^Ynb`1cH;DM(m^}xwEL7}1-FoyZfF%bC zGG;W(yE!du`kPpy%$xQYp)D(wee?pG-S83LySRp1dh)ef1B#^!FPtdtUK)fF$en7t<~0 zSTCvoaNr-MB5&-32H22zk+nnP!I?4O9QleUMy$oKBC7gB6gC1Wlp(Xu@WO7#5G zjF2E>|1@0Y)yOR7AWm16nKxO#eSw+DXk@9V7|CvEtY(N*+ol-F$u*P8OxNGZjjlos zpJL7r!GwNOe5Q&YiE3uGM=?&aw1nSajYJUfM^(JsqZn@pDlSm)4izsJRcs@ox2gE7 zb@BxPl(o8U1uCv8;I{YHr0x{I!YG6J@#Yl&_xnru zzpvgs#98ib&Xn#ML|!=$K%~rT^W5UJ`yZX=?8t*d%w;gu_`AOoF01d#&_w)Ww{52h z9;36JFu{RFki1i&@i6)WN7B~gKm9d{Xl*otA4<#kELx{&(emDQUafDKHfgGbH2Wj!|0XgNBfJX z@O|zuOuoPeGkYWBp~!?Gklc6<@Z9tXD~~0BJjy`Aw!~sDNOQL5f6rMP?fJ{CM=IYL z9<&xR3zZcG{HD09z&g^$+TWJV@^yFtP)St*yL0&|%hnPo^st0g-{*(dBpBqujLO;T zGGzs^Q#R_nfTzHdTeHWexxR?6Fm>q7EX>z$*T~93#_Zipe;MNTuKFUKv#)TN-RnHh z*}a0_53zfyVwQ_4E}(P866f{e(-0~1MnDeZWXnX($_}x9v}&>!01bbT0$}tbx|s2I z8B_R&Vf`r6r&@C^jsi`%cNjFOl$*&(;8W?BC5&#MKBEDvWfFxgSNL6{7HDCFbM z&KSSHI1#T*^TPBCN`D!_L3~*u4;G-{;Xu(a2XWMj-jL!R%oQF)YP{C>&Yfl4)Pd(I zCU%cf9S+TZEv)Z%1g0X~SKptdPp&qWXFHa7c(NC~Q6aPH?{Ea}vsNeQs98)R_;OixH9afu(ny`CM9RhVm>)<` zEEtSm?}IPbIA}>lA}vvT`T4W}#r6W_v_5l&N0%9vJdKcDjmxqXbEyblj-v2!Ctdho zJuiUx{?tb7{5QT4r~g)9^F_FCEsR5c-cuQZ0JvGCbDs!bM%mRyzYsW8&7&917UNy; z<>e0Jlz?xm?{@|A>ieB~0guswjF5L>3qf8y9+BAv3tQmJvmHj4fE|3=6kwNu_oeX@ z=;8O><{?i2fAPuqxRgI1J@3fXaIeur1PXOw=@FLBk$B^W zW;z33o9WUQl6hX-R@7ZrVuWq!3=BRfq?CwNtv*t+#tJ`|p+>|t-d3km3!c=!6uVc* z)HePkqgqN8+3IvK;&2ml(`4@cs`vqp@IEZ*r52I>2(JI-B#K{XGi+}>6E$=17^09enxkP1IQ&rtK0f2zs_)(4Bu z+wkR@Y)b4u|63s)!_9j3H%U94iKf-*i2d^=@hV~P7M33B;wVI=Qu%ZzQ|D;-v}%6w z7k{4%tY>=wh!xqkjmx|oztI6kN}9)HkPd z)ThHZY~s;j*3p{QdKUornLj3NJAUO5KUvg9#n*p`{@ZiUJtyO@^{Irdx?(=mrIAHl z3Rz$&(wnehu>%05YHpue6r&vGKkT9}NNu%W;#%L5og%w3{{)%&J3T4Cw$wbQxd4d& zraG0+Z&fFNPfljZ+@5Jl+P1$q;V(W(__%UqX+JbSW|0HuMimO~{5FNuGWWkyt?DES zA9H5%gNR&Ff%CiQZlP}=Ghal;c9FiqV{nA&t4lg%vfzk$mu(C8#zL)_^vKB?hFmLEUb zDU-QJOeDy7!4WFV!8JT+)wmW)#;RPakXR6_)kLujulW zMG+3N7pltI5SiDE%>3Ct9B9usLIN&pi*39xgiy%5<<19l!PWta0sEi71OtBhU@ox6 ze{&cE=KpdS16qHcv=y?TOCfVDB!yvv{{qX)WUM;kghBcxcJl?>)`BMkvMQa>^Hh8) zegmVocuuW&V=gHt+rIFd>`BlV#sKik7`Y zU%xUwIqr&2i05VaRb2J+q@6N}{!`&bTQR>TAZa^XQ%R3IO4#~c2yT2!H4AeUX`c$`97kJI^&LoR zS7BKfh4Bpt>roZ^+Z1UBTvL$pj1G6XkU4Xy(dCW>&6Dt)4FSI9LA6>{+;1(%Bo zp6@}@d-`>h(=12$=tu!HR{wK)9wrp&y}-MwxipGMT^fJtEbH%oPVpzRso-IK>m@R5 zua$cz09L~tqx9FQ^<9pz)*MX0#(F0JGET_2m(p#2@yX&2dN72F535+ON4U00#kGy` zDY#X|dotsF?hrKT9Bi2F1VEE6)XbVsZafwDWW?JPHS#SW!_9s$GfTfohA;amry&GR zRtH0YIU4yEs}O&e(d*(}{^G;_;*XhqCA=2M@MX<0(-rW{q;#GVVHTDnKG9DWdNuN` zg7{cgg}-GS6QtexykMg4c7O12-3$dE^y5Rgr#LjMe|6W(rD_ns;CESO_mF_3PH23N zO5;*=$TY1+ugrUe5%hiK(LNteSY_u~urQ-VP^B*2@?kwnt81n! z;=?BpVd2{q94>0%k*mHfQqf$IT5D9M-0+839Ex&L#t(YrNO`_Z>l>|J6@Ob)iC(Xg z+D4W5*OSUOh#pnR!VQE@Vo&To?yQ&AZ{;dQdo|pvgl#9xE)*0VolEZPEd=Bf%azYhuiEp%=b*fp3+7GHsVgCg-iJqP;+J#!+yK{ivh=&Tk@ zsNB@P?lTBih7hR@sd%r7&uVzD_3=*ypy4x!RE8={*B})wC?FBeLs%Bs%3#@}1$U`D zu69!fybxilISjVIG!?&Pbv-Kp3PW0^M_Kf7|9bjr#`7~(`6KS7dv_;`Vf_ZXal~hg z7QtWqv7bfz!&+3ukAx6j*c_kB^`rhRLx?he1fpm-P$(j@uo)38iio~mk=~TyoOcwQ zP>h{|BE1V6?q|^j5{mRD!j)~%c!fo!Ejhh5d!{3BJr$vQEI{-6mxH~yXC1eMd5$ZNArbgsTXx290Vy$U{OJ>SbRyf=jSAS&Bb@<<21t8XJ(EI{5Z2& z9A&Y)C)&1c&S55l4Y>@B_4Nq9O-bk8lPM)|RgWf}ue(t(9~4H)Gi?7_<=u2|`i}Oc zcd(^@u)uWn`f!YPR@AQXINZKMx?|zvODTs>W)><%Nfr07cvM4M4Z)3vRCC_wtwv83 ztUaw_e0;+Ubv1h=M?NaLU)*qeMdZU z#CIgM!_H{I1R|9i>ZYWE9Bn~F-=N~NR@2ig_RS0qpc9%a3%pJ0fq2V zonUT5vK_Fn6|X7pOUj#&?B zod55-IRA_IP&%!S(8?(P5`GSFPFv|2W0O?0PdDEm2Z)}>i=qIWLY;`2RS;Y9eLM^W z04!QBP*kcH@WB>1-@}Hy04-MtduxV(<(p!2`}WWoI~8`rR*9qp?}N923Rel{)@s3x5HT79d(_)N=&UvPxd~G5?K3!U@kb}K zVoP0_Rgw|lxMM5N4>VXjcj8a82 zHYl2RLwGNo#R_|p-Jhr8b(38>wdu#!%PxcxzlEF5deR+*wc~p^=$&872w5|J-DLw* zYfltb(S13{s+oP(R`J?9xc1$=T0%}1<2W%#t-MV^*1Xwg1@Jc4MOrNNK0vOnX{nb& z{kXg$Y})E%wg9Srfor*AXP>oO{54W22ZD`8{;Vgg>zki+f!ANjVbD<|PINYF4c7(0 z4CTW=Fodr~aTcz#rk&w@6@?4|EYPf*?nb&tXLDD+tTh0N(o; zt*|pdztCdmGsyb1b@YU0&XT&-+J3~l6E8mxANPAY4Xn_qpKDvqJs@Dh3JBTWpK0rUu`m0pm!!VmLz;ii7L|UY z(JtC}y{sT)w8^2{jIMr5ZdMJu-=Z6huAC*8=(H8QNm?4D@Hi_!Q$ng?_g^$#r>)>q zlFZO)tB-c@`#3ETbc-yZqNcQhh>NSX)?yce8Y72B5Ks9)6BVqGBK5v51@S1QwUiV-YG0wRNomN{hAACpuz&X@>R7pO@ z>p_ zw{$X{e9C(!-IQOVe3r}<~b z3%3>RFl-6GR4>&_`vE03u*=G~ZCho2*@*HA4mD>X+TimZz|X%4u^$_K^z;S!T+I1W z;c4$~eD7uz-`h$|c|pK@B7!1Ki?64f`ASm!J(c<1Lf+j=cB$T(Z^?^33Ybs4g}e=m zev`bcyha~AH(D_*5IG*2qB1`(X1oh33oAbF0Tl-}7+p55zLOi3XN)dMB+j6F_*nMv zvFt6}T-0K8NaOHJn_BnN`qmxBAt}MlQL=Qy@QVRQ1I>$T#NPFL&r28LGj;o;j;n6L z6mpr+F2e3rh|%tv|DyoAMXjntGsBM&Gc);77V@!tf8@yG8QfeT=2a^$ccY}I`+Q`i zW^AxSqjfeq5V1oi_{wy!UqE0lOb+_XP2v^{V3e585>;zdJAFxW@1FUG+L%4 zT}Au4&y>2yaxwo|F7E(qq;(UL5yI8=VAyo(Y>A>7whJ$N0}4JObi2lK3##s(i6g&+ zt?WP@UjLv(XEoD3RR=$ZN~+qY;7FAVwl%8GO~I@DYalAu{IN@;B?X!}p-bqdMw`4| zhT#2Ez`SiUBov8;#%Zj$fS8rd)}7P2q1U{$9ic&J(ZIOB`MizLyZpc86-JwcBfoGt z*Gt>^|2V>2+}1fB@~Ck?8X!^>s(6rJp?i$>XK+b{zYUAqtAja!; zIyV|%B?UU{L`j5hCq_&He7HirK+)*mbz0e&%q77_P1>dveiVrkx)-lt0Kb16S6>HY z*{K=l#o$yt{w$xmE5+dWz<#UKF6*KD`PhEDwB5EnXvqMhO$xsz1`&SM$vJc45)H5A!(qJP zqjay2p0>`w0c7%80G8yoPhmaR^y3m>&QMh$^t+xqag5nZRO^6}droI_YLf$C{yrpy zTO!egJ9zh&5aV2m9lz#F+P~iq6LuZAt{$~so66_wmGt>~*O{-sa)vYeGF(DzL^W$t zZh=-fwLpnPab)3n+fK~pIv<}wHaE&gn;6|?+x&Hbn&Yq4s9y=tN>5^xeewK)##h5t zx(x#4yNnJg{IqIR=Ap&67VYca|6_g+URS&tubaBs1QyXWoU{O!*YHGJu5iA&)JRp!r&MDcS2-~cP& zDcV=mk}T+@53LLR%q76#B@%4r+P8TSm@fBc-j6E|81=T(&W^KOiw}5soykUGR@Pc4 zJGlDBM|d+gF6Y#i*Yp|RG5+T2vlkoR;yaypzI}Y~_Je2pj89#9j4Pn%#TpMXonSXdBx>(a#Airo|@(M@(vZ;Gy zbG}24HsU>3IgI7*@qS!+w1*On-vA}@c@@d6OFKB{RbI_?WB$uW+ljGZc$#{$`Wvw1 zho>h2N~L;mdNpmQ(9qAX_!fVf`=$iwCXIeV*!>XtSqPci+6Ws{HFjqBMn*=6Lt~wu zNmH|*6Zu^-VWVD3P9a7|>RUQvU2`9NNFxZloeRQ8zbhe?VMnOvsPSx&=kP@pI$zW^ zfk;aTtMRO!52{Q_h5U#mIoL>~{-kgc|Ezu%O&^#A8NEkGb<%RM~kd=rM;FitLS?$-kS-#otTxotRGF0 z5Ubp^)D{Dd`*-yWc<@pi20V~2@&Bd9v-yCN%SiAPVf~48n$Z4)-KUVkGlbs9hq~fF zY}+;`G#hOMFMl5F&QS*-?WO!IkxtnM07T=EgwRTC^@!`UFH#95CP=_0*$AOpDe)>uy)3u5S|zUf ziL2$}YJj+UT3qFbtN##J{lyh{e(^D%0EyqjcZ6=Uem_M52j5@98K;`*KJ8gvr?H~6#=?`+<{q1hXgCf{g73LH&cDyw&VV0ewh%cPy-T14uX^e*ZJNqi9|zJsPSwU+{(}ktpI&e z(dYzEV&Zw*X8v8|9vdO_)Ih=p)EYUc#kcexIsB1IvudS8;d!80Xnn8#KYg$0|Bue6 z`v0NzR)7=hLx))Z*#w|pAM(CKJ0ut*QU)n3RSbWlT@;Np;T0ctItDNy5Muu3*a4aPo2@@xhfs#UnfjZ-a<~Sz_$m~zj&tE+G%>p5 zI_PZaDeJ?@qO%)1dx)(BdJ+4-I&GWAKuw%#+qOe;fJsZ3oqc9~Q70_cM7op|iivi0 z+BU1))psbIGs!z?L#f9`MVD=xs(8+bePFa-kC)Hp&()CKls;lk+M(z$va>4 zx&GSuE1egAvGez;^Zy_p>68H7pwW*s`Y{9(+k|Bi&UD!#vCw>QG&9;<^9K@kY1Q2~ zhqJ1FEX@k{S6P-y%j8-q`CXmb5II6GP04)Cyk7?V@I-(fu-y zI)fZ(xdj^Cs2LmW0DYoB!PO@+5L$W3ifNxzbvzta`EsC9cY&}teFe(fpfFuGP@@}- zb~!YJ(9hG9rWvQXi!j91kw+goB%Xo+T=&zN6W@=*ACwQ5m;ba(hF z%{cE`G=v*w*c|NYgJ-}W*IBrBez0U_c(%IIS0K6bOXh{As_YJ+4V#h=0AKW&PTQ^b zPuVsXKU_d_IdXI2Sg#su)Rr>I6&|b^=OtX752^ST6-cviBsT*gKfA+U-SYI6aQex{ zDG;wE@jAIcY+`KDjEycn-~b&_0P!6uzDo6yFU52}w*tR9(>;7nn#2V7M7X66 z>}bPl4#C*88i!zi72Zea`!j6Yrs3Zjm8%hc z?g2r_)x^B&Jx;8&_%u#0XUI0L9w{<|ui>j+#17>VTDby3rH)rYsMHGGdn)`PH=y~C z2HkrslnW{|z)zjA=2!96G5p7X^bJfL#A5^s&+7DXh0~BhzX;vW0>8C>ecGX61}Ij& z)ZgS#HJ%M>{cw;%PzZ+x&onvtb623=`E!j85*HXwyS&A!%1<5+4@k|S^+JmyZkQ=> zAf;LVi3=t31Xq7D%9@)Qq=3C=e)6P#JiZ$~=quaq%Nc&g#qCc#)0lBzhvIiD| z7Q)^FhdZOog_muFF2RFUcMTUP4pj@Ku{iP?SOmmHs0lu3#-=VpQ*UPAWgYxU?-U$4 z4X3;9oDqf0a5 zT{?aJ5dmEOIGnWm3i1ezh)rzpJ0&!-0vdD)aKu;o?~so6fz0^O9t4;Wj)D~v5t^2()$TY2fFOAmj*|MoYwc#>I54}<2g zPD(LbqyjJo}Vb$Y_m)E;u$wg=(o|KhB!zjZ$0UjY7695{&=fF5C=7n^6j_TIic-<$ma zbN`15F<<8ICI_W$-{KYTpSNwOY8n41`)=GmIv(WD4UV(?tK)k2QfvkO#p&Vy5ChI^ z5Uzd<%qVC*j=DE+$0>=)U_lm!?l#)*#_$mfjqJ)F101!=atpd+)-peUG{H{L+A&V1 zLv^<8OlBy@Uv1-RZUU=xXaOD$wW)XzHzyL{7;EF|XAwdxGykf&;biD5P%1>81okrI z05D&Vrlt$Hu-A0i*7sE)z<5a4+GYJ_tc2KGK!7eFKp`i9vb2j6AT%@*U6@B!lfni~ ziW7EEvF1kB2dxNIN5d~Wd^8ZmmkH44oP(ITQ2g{HZtLvkwt*rDHVbHW1vnJHC4|c{ z>%=DBdr?CMybZ}T267!+DpP8uMDm<%TZKNgFTsh#nmau36c4pxH=%Nekrb+#Z{HK5?;=k_mgbUSt9~_K6AotIs9t1 z$SA@8pwK|VMDp_MpO#S41;F_=+}Z=cdW4^Q5zb_9?o!-*l6Ya!zT`mImNYhs4fXks z8$U?ZNEGVizpd>HojONDo#7^j`^aeMM5u%q@7F*#ZgXBC?5))zrvWdwN`OS+7j$#P zLt5+$S#Ky&tXeQeQg+34!GWG8qQd}MUxEa}~5{D^Q1SQJfflGpkA5rmR| zBn(z7fyW?znx+Tbjv7Nab(e`$m?@^Z_N>T;ZN5(giKp<=Pv1Xd>-3)M%iNqJZzyvk z>#+qAO8ltPwv*X}HYD>>NqN&>``!CzY+~Ni;&&tKrUl|aS*?&nc;rdzuiL%%I|%bffgTZE#5Z#yth?JG$w{5ISQF+8l917}8s~2#EU<={ zY95I+>E>JDOJ|C-0NA%#$Np1#+*KZnG;S6ri_&Z}}Q2)K6o6 zCBWu-lG&QEQ6k$daYE>C)J^aYQd>5-!Z*QbCD*_<=YUT_;?Kg!k2t=9{vz97bR_XP ztPb#K=tu9$AQ0#9Aukk%VJUy<$|%>NI)9GCctu3_IM zF<1Vg;|UiG%h{+nYTf+?AJq|1Fvp?p!GENP&g1pjCi&E8pMjU(o`KN2*+T#OZNIdn z2dU0Hzs|N3cgx%g^G9)^zqaHV9PugOcO(qPI~9cR+IuC!E~}rLgIatm?~!r!HHv_l zn15we`^fNMymo?%u*-f84=lS!#u21&>XvoAn*m`^Ul;B07c~k0!lmu@fwP(T`OmTu z(!9;MdKdpe_u{oprRGrTGu;oUMywgH)rYuucgA!qxKB#=fJ#zT{s`e2$^3yEm z^;OxB0CR|DL|vrtV{Vx^@3vRsNM<%d?{Fn2QI*wAMQcbsnCg+S83-j_&F;BzH77`6 zMo+=4sBI_mG7u6T<0<2*6haNS$>eoGqNcGpa;vNRHDZRN)}v=cBN>?pCB|eU^ezCU z+>`bUF{jl!88xi?z7pF9{Y0kb+EfoF{l&HuAIJ#3tDv5VBIdmkp@Aqd%WVEZv_zh^ zZQB)=i&~PS`09Oqm3M47pBQl$p`4?+y%ug9w^kywJrFq(@+4+tBUID^;g$hTLsnU< z(GLTKojRRUHx94e>hypBvOrD0?&saKcCHn}Vdrf-G3UH(3yKI8v+ha2YG`Tj;K(XT z06aM$UqAmFLU5wnO+g7E94V9#a;O;riw&sx6Bj}&C%_IFj!;)Bu=xR~euJsVDAyvU}I@iqAMd%`C_l*(2bHlI~5BdFE$ggY7lgsCVJ&D_vj<;K&s&gcARe z1zqVe)84y7sCQkE9)(X?Wv$g(oF)kH^M^81)>)UZ&bC8_ku-sTSKKZl*I-IlzhT>u zXt%Wic{l-GQ-tw-Lo?ZnSfia1Y82>Dh%CHd$ncYevEIPzY%ihtJ+fk0|i z*P}S{spE>`5k$J;uLvbR5%In$ptY>Oriqj;>)4-cJ2^^Jb$qUX-Eb@gy4TwCCbtzP zfUS`B(wl#R{6&U8DuED!1HN#h5KUm>%{^z^iBWQ@|8FCh+>$9v=9Z|qxO^J+e}LE`?HH+zZ3VSnOEl|SloI@Fc;ciXm0zKg5h=8gRr zM}BiY)mUavV-6_V={I^cw&OM1PQJnAzO@!1ANw7@;jcb|DUwqA+L60pd$7%gmnFge z2}jkcF*9-GGj3smvpT}hHN!2))uNmCbbQ?(B?tG!Q^iMW#ztEphG}dVUmCyUi{XQF zQ~Q~^_v=s&UYAj>j?M~i)r?Ipora@?Iju*#xC9WRy7dW(uNfBy1@yd;`dpMJx<8lX z9t5C(Dx0n_6L?P;q=!CBo9-5?;g6|hC$Xa4wprk}@MW3dTEaj(u?`-9<(3OEKYyY} zhW*cVjaHbqA3?_R-B%d?h;0r`Mbz35h)`+FNQjB}aehB)!8Nft+v04rR0NF+t%o( ziQTObO)r%@OK9i^{DYjI#~1HQ@!F|FG6)-Wcn-h&lY8WFS<#NA9ej~qQlc3hcIXbg zw#m$W(aim>QQxfMwM62h(~Nq)F8^sxYF*xN(2sc z_xX#UXJcA>W>+&dbm??XqfU<|)}8Ai@#c5=C^qV>a&>YLq{+JL--Nn2<*(>}hd*pT z4*0|DWl&3d>!61p7nSaNT!M7uOE;|Py#f7?6gFa-GlYs8OO&=iQlm9#Iz9H+#}PLH z^}=?YE>vJk;+ht*=dkikgc7;%QeX{iV1Mk6Bs#;+AAq^2X%#-Jpo4AA^YF+~g%mPjX<= zo$QxXl37VP=@O5yIjfT%{$S%{f;0!-;PgHcx>cu#1MCL{y$HTP1x@&OwIy2$#Wl9X zV?D>4crO)G10Wfb9u`~KJAVMd7}jeqoU!@eS6?_|<6&sdS-vj!{9D~(+p}71dswS& zU(woAzM!S|bN_Gt?fXAa$N%Qvp%&ZT>x|)#t^ar12AZ9M z*!mg8`foTh5};!1=Sb z5sh{cbJTrT!Vdm{F57-*6&E6>p6E(pA`){{_{tpg4&bg1zX^8m`GeM1k9OG_n>><4 zn!;C-r5ikw0DtPvH%?D;1MrIgEAwdV;o-#mkxfkba&h`zPhwwYYb>|fIIx7o4rCHm z;wm?mWVz-KBW#f?kF)S))|)?&5N{*B4vj7tsj;#=LhJRydO|;e2z4V4jBkMjuu#h9?*r0Q!eV;Pqt!gq}vr z@^$aI&|PWxglmFn_W{G&IrO$?0b4ubj(2(A`Nw%u)WKJ-C{`&qT=D@bBrkn(|dS=pAm5 zSe?Vqa&bfVTVo!TQmlAtSMc#8 zB45GoN4xVC{N+(02e-`r)_et5HDn{}^+y0fVrKcb=PS5K{D(^auF+OP&sjfDZP%BB zSzD@r`vxoZ5H=}~6vhbM3^_xMdKV^gk=-eUOrDH36mJcQjhTsI3mnz6wKpa?5lXT>qqII={G9m%|xmE3TzIpPM* z*r=2mi*8Wt(B&##cW;)_E`?^7N1DR_?q>l6F^@H@w8SJfom3Ku;^)4C#F+s4Q_7~^ z;3h0XD8s}wd8s|cQ%Zd|c&Z>~1L5k&IkjVnCOC{0c-rO!B{?t+Pk~KPcx$S+sq((6 z%3TOoQwbpe#I2GLQccY!EVpsu=-fse`Jsf+B<8yzj}@;FjoVZ5Co%noJS{j4QTYYc z@FR)SDe*M`e29LQGW`b6z5KoI9@|s$RJyTT1>tq;BvZaYM9AO8KfGbq$=MQ0=4~py zOX@vPd&+Q?ZUoj~_l+dxc$-fKpAry&vAlA_mcsp<0p}(Mk=QX8p@FD1kavj%qJ&C` z`)XC;jjSm*}Nzxq|+$PI7?SJ`M)qTXLd!hIeD&QEiD;;vrhqM^7vJ??6A zZVnPh1y2<8#9fV?*=74c_5AiYA@@unj$V35x+wk!tetE^KDmdpBVP8rfL*KNay!7v zLFNb8hyu-=Spb4RFnVzwj(jEa)nab5#s(6)n-n(UXGa5+Lt6$hi9}+Fu|#Twk8^vQ zMmK7$pOM&s42^!O6>iW9KM!4^(_`SZ)?q#Hu(P~K#{zV*XQC-5HCm?VY;JR+T1JR> zfiIOhJ*VCDumaKYe8Ct9MDNHT-klZ0KR_OYbZ;B39w8xQO`jz);}VFqXtmB}B9s^l zPHK%L*5)FSCiOjuFL~I1Kr{I|?2iiBa1V|=nTgOuvjjkyEVomYZjRWk)48=eox6rm zfAd6BK0v6y4qCR3&XkbuJ&Yq;LB}~kZVET!XCDEYbY&28vO|;8kfSGd&;|Li3P0kt zCH`9yYcCC~CWVcV#I@Z;B2o2yr;7=0VL;b*0paB&yZM$i$q!gCWc`DUgF(? zm;VM9vy#uCt-EIWDbh`TpuE4n%7 zmG1rj!05$F=rZ0jVl=eD(Ri0NBnzSB7aALbhx=b4wDJ`d56aSM9n|0dGIcTC;at$%! z9?jcUkw;ATb|ESi;@z`A;S_R92x+mC833G1+ce`qr)H8)Lbs9FNf#HyDm|wfhck%L z?gp53A)*3}#B?_jBQ}p1$2y&qQIPM-)q?T24amC(1~Rogmy%%hKfEDuM@z)=-zY_=lA znNGva3#NVBO14RB-7i+M&$PmgTH&XBB|8Z#*&*xs>3k)dtpud60`xJyl6|ew35w3b z&58XEN*N6__Lhl$$GAy6z=|q%*a)RfLWfQ#lGs{#dC;Axg#`VV;g5dx?eNS=iz170b3UD)@hk>v%^V{>4pTE|HfM&#-?u0Y{DLS3-;(+I6rRX{J53# z;}*`3TR1;%<@~sn^WzrIk6SoDZsq*AmGk2k&W~F-KW^o`vlSA@I{dgJG=`YPTSWHD z!x@_C-XcCNkqpzZ7qG`ShV$PTJcu*mAh%cWUkB&Ejlh2!CYr@*{5OVBui(E;kP%hz z-(!kKrvv|y$i9#p@Xx;oe5U~4`3l-JV}jDw$HT<>&yyGK-&u2}^xBWGruDw2r_CRY zjWl8HG(8jR$Rfdd!sNJdG+KC??6kQZHY<598k0_8xixeHhvfTw&S&vWgnyg-kykAGL;L6IqC!P zYEjg}S4k-OD7#;dS-j4T&_wrT+-V|K6t%t>Dxu_E?0#OpL6j%4c*RO~^xd(1ge16Bfcu3|d|z-hIV+0}ooh zM!GnEL0s`z5*Hs}#13W6O33$0{MnlSFZ3_9-@cANYrQknwh8;|Y6sx`wV}3M^-Lc4 zbUrg&Xh7;@ZcM#f1uYn<-idoR!M$hZk$CC6p3=)i=?oGtoslZdfi3)V0SR?yrZAyS zD-OF7&&;#d!)a^74BnA9!3b=%`Yr66pL15?j&H{g5NS257H6Q)rR+Y%$qT_v?*xS` zjQ`<@`)hes{>X8>VmU%+vRUxD*seZi{V?F13j6DPbS}7EJrn?Yw$VrDHk05a5JQ7i z??(#;sd4#vaC%eX{#vjP&1tnxi{g|Q*7Z=Pl^KBemO63Ossp}%pO|*b6F?5ij`P+w zz5A`OM_^UO{dLGm#PEhL^wOM(ee+eM3s@$b#3#UEnfHDVe(p*L(`Y5Zy}DTd zR;+H$jV1@z2#3=N9?jUG5N`uEPm4{&c@xdz{P8Vvz7p1nS-HkC&e?X0e~m=Uz#l>~ z;2+VG#2j^nl7r~pqNsHy58%|IE%j390mzQdrZpz-?~5nL>$>w>>e`g;)b;zcx^C{S z>pOTD66kC(&M0FiN+@}C-}-y*51S~V7JpQrw>4YyC-KWQ60TO@Af&R+nmtKEkS176 zPCCd2II;4#!@2yW@CdafOA3$T^ru9md9w1I8bgPZ1Cp*}A-u6h3hjc*U6UjPXTe+G zEcok*V)iBxkgSMq?OI7Ni^<8xcUi6Kv=Q)dC5CfT2e!T88mmP zks+x}E)d_xnk-!127Vr!WD?8}*hrABRP1a8g0~RnU#+u+^X@eZP7<^76`dZne%H=t z$BHOl8_WY!v@1zVHz#Uy_H6G{Bm*(SVk3i{t3JI1hW4C)-D{{Q@ z+qn9pF59NX%SiB2D!*W4NC`j~2N0rO20Kh~oy3J@WurArlMp~|Uzu==OU_}eW= z3Jrj2*g}tWiU<}UW#5)B-~xH(cBIQ?owofi$umy#KJtu_Uh>TSugSBZv*j!#(Squm2y&vpfL~(_5tJ<~=Jia*%G$i5BfhUYV|+n)gXd z&p|3{6IQrjy&tcw&Rl~Kx(7+fNpl_8Y|aq&6uGAhA+#iqnDZo~LGs^Ko%sh?8Bc|d zB<1oNx<%~C(LG%M$?XwKgS*AjrM>)@d*sir{6hZV>c@n@X|_(3NhtAvof0^CeK{*C zg$IJ5xt0?q-{%OLb!CnyNhEVpvSU9;m6yu|4bPTdEFa$#AA8K>j~u}(G}!3unrxQ* zE=B%O8Te@PpZ~^x1}7{2qNu|hA9CjKnMiPlz?k#VdSVu@63crFu6Dy#;?Nq6*7s0A z4>oCR@w_rtvdu@&mDkWc#yQXY%jwqG37HLTrF)G-*+xfJ=vXpa;B~jq&Bmcqs&Ndf zIiHl#l5Ix2XZ{VU_nQUR&@)E=L?zyW+7izWU8NcI zvKDOA&7ms--o2ra%K9b3wqq}kXEV3Sk$s`zsr{qiPUilEZZ(c(8(mr9E9jP3Qa0N0 zQ%A?sncL*#n??J?k3Ya4)%)p!UunS*@5QEyOz+UzP!04#3pUcBD|kl|ivTu`Q*U3S zDRem}UM>l4SL41_Df+!D=(mTMxu&4s4qW|H2pn{;(AfR+)VB#jNUi&+KrBs;P>o}4 zsLpg&N5bVMl)>B{O{KU22&(JN#;cVla3rAk%{pTd|dB4UH zKAx&YXJmvUE5*-D8%LG^Lw)STV;7&HUmJ(BRs8Cn3Z3^P`Bi%VCkFL1GH0^ooKDNM zV8}#1@BWG$ue%mkKWW>xpUyOq7W|sJYg0W9MQZD39_BMzUBT6M?O)o{lsp+IOv{W3chsO1sj}ewlyr)8B<^6V1Q&mSl{8Egt zB?^(^#M>G!qs;}M%O8|nF%G{NH|IBxtLo~9UyN3D%*HR(EA``)4!pKLc0iV5Myy}r zW3cI$D6oycfnP|iZ)ftq-qr>E>1JcIt7=R??AuJdr*QRBK%y$MMTXNS2W(xOh05{1 z#&X;_UJ@en4wptMb7#HHazo%*A6+Ahr-$ID*?5Z#jVu)#G% z1qW$1ZI=#^zu`tmjB>A8(&?uozESDaZ{&bE;v3D_sF29M#ksJ`Y$9~8P8+PH@b>Ni z{XOq{fc_cAN@1*lNHjE9r|~|y9$p#;keSs_Yb>t_JJVKa%jXG z59cTT2(V{)xn{%_*pgrALdef<4Fn&P{gLB~XR4;(rki3XvNTrG0)WdjMs^+| z_|^FQu_Wgcjh3|N^aOF9@X-X>d6Mir2K@Y*#HHew#-S*|?`_N3PJ&G;)1S+yQI+b? z=Bwt^g0cR{5fy8@XmhMBi>%gI@h0O?)JG2%ZWr**(AL(9A?nieoIMu*FfpZ9d`-^B z8ZF+Wn!W-_HT8mVkto(0>DE|R771?Bn7qk27;W9-lMWg&se5+{S06zL#g2*{s#9dO z%6!k}mr~#F^PP6^^9e49YE&~k)*m^pV(n~dvkNLc8uigc`hHhg_kI@%?p9gomyj!O zE`Uz?ewlBUNvm?caLS!c;;6KF+&2xZs)(wY`;4dTLjQ^DG zJrT+y^i+*EFXZvgkVE|;jjz`VpGXeSy;ewJXt=XVT%sO(HUB-%cXg@ z>UjL=bXl}HfJ;vWA}xgan?tt}TG>cwI2!P7!pr|#2qUrEzOqEX^|NqP*dmoe8cj0Y z->7tGr%HXDvStqL{iZkinL_L_(0phMrBDz4m8SNSkW3xkAN8n-t26M8mHOoSH~9)KACn zol=dh9NL6V zYfRqKYy8A~pSNQDtsT%ZByItb;CPSb-H6TiUHluGKd+R@CyWExMw^VQUjys|S9nJ$ zUOV%IJOQu$!HG<#7P{X@4_P^Fwq4rdJCP-Y##NpB@l&JKs?P7vA7z|-wC?*5y}w&E zI)7aE<5Xyc_wbTDqv3#RY&g)Xo>;4G^On~rI5G_^u0SJU+Pv{hPbl2V$Tm7$IC8gb z+eI;>-Gi5nwrxA{on8^BrObCiUXu|T#pj^vpcEcK%$I?#y&#~bwL*#YI`2DwpII>Tq$J0eGlOE1LOFM;i`WLVWTIeaE4B{7~=H%w8_I~)q*tn{$ z*(!c1sw$1D5>=OW@tIQJ~dLRrW0WQiIaqQ+66L$*7mqyLN{* zN~fhWD*aHUAM+7KzSlFNpPset#CUP7u9K`|e1x}vC*7NCz=5qkH^t}=odesw*2x`L zS!WgA31<1~RLLvW5MHu$1OFD&w-D3f8^pFqS|vyB=v&E-JA^6!o#G4fLHF^uty+?S zaHKK|O!`d|G9)(J69=FN{zhaUUQv<7P4f{i3tRuBwc-wES18ifW!v;+1Yi>b}Ad?BO+RSo}H>ObPa!cJb&7BuO?JHK_Q-;P>6JlLxQPPgG25ROAhr{(OD~W z$8(A^(D_lY8&yMRt&T&cjMOVfMmetlECqdex06NVLwEs@E9lEscgD(?XC8E(1p#Ha8fq@7m-z7naWfdWtQR3iflE^+n0S6|e@=0IGS6H*)<;0;9x~S96&jpyvb97Y@+Cl48gO(}<@>lUWe7ejFG2Um?!+Vjx)Vfn2hCVXyHB zUQsNkxiyX|hJ9?|#W?E~LT9ZZ)L&}=as$HEe-)r_HJY(O(apK95V{-U#|w9pn3bUg z^@2{7%FnATRM6II`&VuN5kTw`c$iWc-0bP_f#%5s;Hn*y(pSRzBGC#++62$3K# zphz|2ui?bLgs@q!5awT_LwMc>CApOU(%IZbai?-k@{*!`sV+wXA{a4HcwUPgclqfL zM>>$b#r!`XDg0ccom%Xx41eUvV%<*<6g6FN{-7GZXNx63aPu~XZe+z<=qXqVrO**@ zF8oqfS?*6`hh*cZlJjxSCR)5Dxmjgp?npFrMNyMFx=g{VVk(;;tF+9mGT-z3hvKK@ zVkhrq7q?g2Y}AV~gi$v}~S_9^?{bkW~$ZW%KwzRW{k7vdV8ZDba_wXtQSVf}B8N51`KKux; zPTE0ed_DgHt=+dt$j{0~`Xf>N+;V{c9@W_WGc=RfKDx;`nn8^AjEa6mc5*U*FgeFh zW2$kmGu`Qi1c%m@(~<{CaAuus-Yb<;_k$#;*D2;~S2-Ozk^gp^voqkg5tlV@dw2_1 zKl2>_yr7%EKM`ESjZJp=gcgjFdk~V*Q|>zcr)Y=TdJ6Dm0A8=`@s#Hm7sG3;Nkx(X zWpGLwEiaS^0TG957KF?$nQz$ zZr%HJD36#kEW#FAPJYIPr>y#sPJU02DD*A>sI|Tbp`_cok(Xpz`6Cg+{WZENp-KoPALYN6LX6L*#2e1vKOkpo?U={|OE)E& zdy2ktiW1^4iNkv4EG-Fz*Xq{jrsU9MCjWDzz_Ux6-MP2+o!y6S{r1@%d+WE)?sekc zIJ+l9D*tWuzoE|zb==Zth7z}2Y=(B;aPGea-k(r1Q@Tg1lXzMC$H z_vwqzs?$Inp@FDIcM+EP;_W?&s#zH~RtOE(5P@8Zt6%5({Nj9st6xP3vB88rtk6qI za9~^p&}X0dUCBoWlVE>3wNdu5hx6HVx9Z)w;4VG5nLj)+IF$LkJ1a81xw}Kx5jI&V zqq&p>uco=X&HE%ecw*2^eW{mKx`UY0-RxdP^=?^kryktn)bVpshkJMETAfW+CeYlU z@jBeQ&1WP!W>T>DXFfXhl$@0L>twxSHIF49q|9rb`d6!t&jt(B>C8)*>e1=bijUo< zdE*t>Pw&)>xUAE*#7c;ZZA*E&(R#AIgG8cfPU7tZm+mLtukrFy&@oD29kvGEEOaIx z9ZA@Vid9L_Zp zI;|?1oBGx3ndwbBowFuAxwXJ+>8=r1FV94XE$k#lw3AR(N#3Nf2?{N)(Sl=XZaetH zjU_?3hK6FYNJ|k|!Q@!Xl4+c<(mWE}2J8^14c+E_CV#=rgl;Bml0t&+7e@E5$n=)1 z2tCIH(mM;+Qumvj4N6uJdfLd4oE)TtjhjcPe+82pQyxq=Wu|#BX^u}9bxwd)@AQ29 zEMzZbPbnl=@)MQa>21ZvSlhO}x$U@mCO6}X;KT>R+YUXUdVK}?3+8BSYJoB_nEQ@8I=7%A$188g)t^C zDmwttjNXQd;doI0RJ1cO8uB1ylFeC@(0irmE3eT^y`Wb%xb1lPhZ&q%g~#Xmw6u^; zA~Ab5Bh&-3y56Zp4G!r%2p)N_5ne zPeJBJZxUA<4n76%b$ULpK@(45PpO3mjkgG^Xd@!av4sasvPitNP1I9iIT??efnL2b z9`oWs$-BGbYxnEkWauVhK5P-TIJJH*K4mQ{W&YD2vcu3(E$0LQ3z!(Om zm>87nNYEFPH8xl`OU6w!-5tb;DHGYu4rMZXqQj$mlNH05|F<-Q7!5L^mnY8m&g~5A z`6@1~Cz>T4;>6d}XaYEncwpQpG&HHz}d@s1fmcZG6fNrpUGh9LedO)KaV0(}Ge_KlBzg>8| zaBU$RFAx?HU6tF25%o+m-G7>7PW_wgB&gKs4TK3mEjpM`B@l_G=97~zZe25+3oQ7C zh*2+-(bK9z9_GT+n-V|iO!;edixChhm32D*hS_Y7=H1VwRz;pl@6e1*vQD2;QsPXY z$FN%ig(m{^8!gu9(oA1LAM#Ca!prxAR8A7Q2c+`$bHv*~@c7-mNJnt#UJ}_CDu7Ih zzehd7S*5Mk4{wx^k9OhdO&X1Jve~7y_Ogf>{GuG)F;RDc2`B#%n_x})s zk7Zh&PVXjkqC)6+PatxLZ>x49Hz6dM~zEDVvPyV#Y$lGVh;`P!qpQYBi1Q3wK#SJOuZnF&rm)@ zfiZt0F-aa@C5REthxE5Jutui{G>isl_Gg0$GgPGZz|YV>|3IYjV}pAO;8 z@E$PtxmZHhm_&l@BoYl36E^J?Z@&d2KyZ_k;Lh~AYeH*OmRq2)P=P{o*K5Jt0_v_& z4Y@$_d1Il`giWg@>=F{$5xSMIaGiJHf*T2&)d-myg2n4c-(E4q>pp|4AMUj`DArR` zWN&?79&?|AUB&eo{NAe{V*~c|*wk}!fGt)6?1!F!_at8Cg{A8bt*|w~&Bu#!^YZ_6 zIi~{uk`$<{AvC-?G{r}!{U?ZmX|5hoVEuOiM1A|1f0xbzYe3gz;nhAi?LU+Gee6}E zBMVpmuFJL)^TlT61e*K%K*U}=j2q=FyjrIn*69Myyy4X%t#x1xuX&Ow|9O(>{=M@t zcyxLjKDZ``|#m)jEBh(0fxgByQ@m?GI$$W9vEz@gibQk$n_tG)ses zs{1_D)X^mc6_Bnq-r{XI@^AdJTtSQtkM~LZj|vd7{^QzjKR+hM zS0q3`3edPlw*rzRt*mi$YK>j4(FYW5^aDa{{2>b=db?OS_vkcSCt_hMUr9dQOP_I~ zuEmMj4;8`!(TPlsY1H4Qu`*>mbH_+5;aYmIlYcs_at&eA6~dO}k)XRD)3?d7gEE`a zMn5r*DLLDWL)keUbV{4f=GN-0@)eB*6wMnzxcb2?gqYe%j98~e14=Sq%)d&<3VBnh z5ay4LXL6Lk7qeupm+C=qkh)p*PRL(yqsFFleQ}vOdPqg4SAHS%Yn2Vr*b=S?F4wps z_=0L=OWsoWahC8LK_TnZ{@shm!5!u&Oa&6qcy$qgxW z`NMQ|Ilz7>B5l3rD=zCxy~L-WBF%~h*uX&HM*#{dXK(p44CK#anFs|6x9PN<#M&L_ zhq#W%w{;63ECf(TAY$v(-^g{4Pw?{Z@b~D}ZpVkK^I=;sKu;%KMf)bk<-@RsM2;`c zg^2&HI{h+0w_3l#$Rk>;az;>I<>T$vQ!pmBQYz3*2fOX#z95eZp0*&2HK3Mq*8w;pM6e+@oZ6p z9AK4-#%6gm@8@{g0Kn9qg93%e0<`N}6tyujS2GU(OKOH74XykIXd7-h%@oWS1`cuRwNqotHC};kbNpbmvbB3`v4?K>y61tbrEmj2L zfA;XFCzG-c6AZ2*$SCMtw|FK=Sdy_D&j`C?%lP^3m9nng=tl}PMqPiZCJyAtMvm_(){ zA&Q>{6paQv05N}8yEp>ALOj*IvP6cpL;AvAao+T#_2y87tgEgR>iou`5G_(?y*Cv7 zKg_**d{af*I6fy$+dz>?p+HsCx<+kxz0d{JNYNfhV2+#s`yz<1R8h36@2)FKBCJp- zo@DKCJj$-{imn%S-AnhPR(B~C1(Ft;a8b);5k;{e!inKhE~YJ|Ils?5bCM>dxUcW; z`~7^rf1u5rnP+C6=b2}onRzbgp)SK1d)6>!o$L8`^qgV5(aHaR!F*83_kT6}iz|AP zZ@}}|>Mp~;C4uE#hC#LMU54S@QFRSbv;TQT>d?V`GtYmwEDcI2V*$F2YC#5L5!DImtJ~p;6h3JS4Z0q>+eNz;KkwXz{g;4+YL~3uG+r%BC`WP?!-4}= z0U@eIAnqQFl2C5Gpaoj^uLb;9g#W7Mzqa#VHC=`=9@o!GSSRB8pC__ixc(~<*Z<3W zv~|(Lbma$KhM}`nK0fYBO{7Y&B=9FJNMN*W!9q+MTm@EeU!-0tc3nTHmHM0!dLeUmduweFxN z(@fre&q#7oIS>RhwFr1%u5zgbOI5h^R zPgA?ARl;vN}ew}1aNK^+@i|QC>Czd-!I!09ci*!J>Mg(UI zcAxZCaC?PCe~L|G`Zc$KGc4W_iXnK11`OW^k}87rPd^4y*-{?+tE7rx`!j%*a8tI} zN=X$9S>dz1Fvtq4@2O}4h@#SA@%~IyIs~uB9SGt;KR7gUz++6n(K89tU{6%eTD*^m z%2~ntAMU_T9GC(IbQ0L?l_zcXZiPZV6x=hE=$pKp+aayyhIrj%a|f;Wd9OJZ4MM^vJ+qbRV`JC2|0 zl+OM{yXd+9$Uy{;ix9ORp*EteU*2sPr8_0srYi*ka^dz$B4GRrQ0wzAPYkJ+#v#zwZN~F zNmN$A%Sa=@&L!%~)eHqnx8VChX)sm+p!g)Pzchyl;R$v&ndr4SJb;gKI8hp0t`T7) zTO7NN;Q9fU%6=bsSdX}VkwqX%(DFXFnBDbNWxrRd*cak#_H7g6n+5MMTwh?Z3LDHC zhb#O2b2_vw&c5p>IS3bP@M}f{7q4uEzgln!FDu~%#adgc21+DrwDB5HP^{S#$r?qe z8c}8Y6g(a$aLbY8jj6oGY+hq-sz!CH##~;bn%7vKsz#} zn%AgH)d;3))bScYUZW*dqcv5dh1Y21HQG`&AV~_x2d@DI#gG-l#7C+Il$G#;Vr@jK zMtQ2n2wtO{*O;2BF*{XbDz7n{*O;5EF}>PE27I1gjf*|Y`G?i;!LuBfOka(QJ$0;f zhC7H$Jav$50rrWyZo>!%g57+Zs0>2^Q-Z=W4JSEw{puu3_ZJYt^|^Sh-_7_$Y0WC# z0-60*gh=Rsm1rwj`%3D{xA262pE5;Na~mMvC8gVf{m;W?b5v^o)I*yj<*S6$z7M!q zgaBiBt-qoUIDEhrLQn|`l~?(J<%u>)khD=36D46t*tNBi`aMu_t-s=3Xdqu9Xaz`V z6e_P;VKy0WAxa`aXo$C10WBnLz@@Rs7W&$@Zf1-Zf&B_vc{^(-tH zq67umsl)IHcDGd0XQ$V}k?GBvZo{}k8+9YmR@QbKhOXN|s05f$@z6$T$2SbNtiH+w zi>zv^p;<)2uCPo$ldx+i(MH(`4Uxc3@AX7mU=XD-GoM9Zr?--5Qv_UppTIuedY^^R zk9|jo^Q6~9w4Ydr^OSe&vWsH_llM;oD;Y%h;`&Q&+3P)Cb2pfi#J;}ZP#`22{m3J1 zV^!|ZRt#Z6Ov3J6q~sJSX*T7iZovZDh-?VyPuNZ0uRm6U{DTw>Vf|6NfQYi5VFh9T z0Wi4a$N&`Ei5h@z)c^?E9BGFx(+-J-Cu_rzyL5}Jtzn2wzvGpZkRXrI7)X>{!wiZ{4yhDcqG>xi0tNkPwZz#y`86Wck{p935i zZdQ`e1|*@qJdoQBp2`z?pATepN|EH;@nmjkF#0>eOtW#;hM(TZU;SGM-2uT=gb<;g zh^+p!*j*aT&`)u_4cE^UT)2LL#f9tVX1Q?vOsfmmPi0Cs$#LQOhjS%$)OHsQkzL0n zb@=B@sfc=Pr6uVjl~3yV%!nrl#z%H_m)3i~fJK;VoZ z>V3sT9lj055|ij&`l)i@cE&Y2|H_J8WBz504LASF zjtw&Z%8A*`zjD9BUx88cr$v%;_x$@IQLf=q=NA*XFKcvx%;vi6E>32H@8F3rGp8N zcHMuIrJc?z5W>&GC6YEXiv)rMOM8j1k0@Vtcr?f5vJm4*P-XfJp`Utahu)Zt5Owbc zZ)3V&G=}+u*k2)-d5Wh;h}xgfJVGsS?|9s-aKOyDMASTqdJv&m{PxZKoF(uCnv&{4 z5*^@Rr+&C^i9-c-`fmOtAgMW!VVDk-sMVn~TBAGpdf_>WL}M8DgEl+f=e<@^2l|8F zpYf4dB$`8L|FC;E+c~3u?uq9bcJF5YV`KSsYN#+7K3q$x1G6y$3Zr2I9>~TUyG3#D z7Gl#`TX;$Fpq`=hv>JUr?67;cg&j*SQQW&Nu>z$ri%#F2$v;2^6PW=g#Js48Nc8g_ zdB3T{<2+;9e?q1|sO&wQi88ffx6&j?+5{Us5IS425@L#O#qQqk85IpgY3fMJFKbI9 zsPBXsVmO&knf0IE?FrfW)%>T3n#KAiG!Mw--Yv+^mpc6dS?gz0%LsirpUPQEyQiqj?AS zW-_Ho2<-FSmSpm?`n+t0zXKv<{3hDnY}Pz6)LH$mY~YZrx^_j8@LuadQFx5*BbyimwMo9~6>Q zJ(9UHffW0&{|LVf^_vfa87nkeVz%~ZzpzW%y@kD{P?=zceMyO+cJyyV&>n=)X%Ro> zMwNJOaPnypFL9#`DfCaX#spic#sphzrldV-le8Ijc$xJ?JhUS-0z>p|PHhvBy*};~ zVA_@CVh>^**G`t19gE;q?fEf2!dIf|yX&46k zSD7%3WeLMzXP`*pyY4fUqlF$CX1a((_ek^%p(@GRl6V)oVeb? zU)EY+{V?*H2%G`jmnYGIu(zb7g?Hrn15ztmQVZ#l%;AX2=B!wMQQ0iStfI2n;-Y#l zpSlaiL)rx%bO~Aesa@6{v+)hX7*xY{=_4|Iv_+=JjltDb5yWQ2cBOJjonYrQw#R1q zgWj3vaUW5uS{RtY{-F2P-aJy0#v?EuF`=|O)3mA@5t3w8Rp@$-p=5p91rMZK(a>?{CxQT?Ji?2A<+(8dR z^+OR!bvZg%V^6^FzAI^7N1IGf7=w9?%dpKK^nD(Ctrw$y$NP4%M0ZQ{TVTXCQqsW` z8*!}wx(z&Y5bYvIR+>2C0`LUTwZOqv^GVnx(}iDjKa;N7Jew&k&B`)8A=1r+Rt15Z z3LI|#G3*}%5+;v9dWwsuAW7lLq zi?BDGFrk8;WHEJ^l-9slRrN*E>ag9t7o~Znmb6L*tP*}~ye&!M@wQl%tSw}tvGq(1 zn9pF;H`@aHEimV`I~moSO=^-odII&#%AAo*qiiN0vRz=cz!jubfR6Dtj*|X_PU6z6 zJq`I@0mhe=99~xR0kicobl%7rlc(Bxf1c4URsmhX2yH~I2qqUj?`J@A-!WHyvZ3tft!nW;ENK&M5MJ7;duPZr!P8)wV>#%d-5z>`XX9mnK4&r_Ek9`o zgY5|%^1dKxzBZY*i^ecU6{airgT60#0F<>tERRPCI3eN{VOQ_Xsi|`LQNu9Uzpu|3 z#=vgFxISSRcXjufABN|*_{u=N@>{Gykl!NSZG$s!hk=s$Ej~8*%UbN*dG;#F{1#(p z=OX>XZg?o45bp}q=uIP%Q4!i%e0y7c5-@)cChW(D^2qAa?YxX-vEBE=mR| zZfvD5#V!0g3Ul^3(8_z%}O9*P%pkLI9(qm30I#OJu zH^#dSo*nya2jA8-Uk&T@?z?#c*;`b1jnaYN6Cmh8M5MB#Tvn@=Gfj4+tol|-N}>%b z3m_2un{&adI5BMAP2)A|O*O#6vi9cv3Gg=b$+4NHFL#3ba+`i~V%&`c-&A&(yw^^Y zuiBVIdZdGmU^AgmjVRj$LSF@dbj`yFQ+G_r^pt+21EKNFuF;TSbS|XCb|c7~y~r_B z#~t7#&45VMZO6sXyNL7MC<@_fd$50KJz#(G-MNUz@u6Y8Wj(`X3VEUS9^?hSO(Ji7 zJ0Nc(lSO(R{1|V?#o1R46cEnO!uIUJ|Fj{TUv9_t?2do1KT&14yy&3^o6CQ|@eEQ6 z1N&C2?v<8NZs+@;s~t>Z7W7JtV-Dvgr|HQUo67z(DRy`48YamZBism#U~NYz=7?Rv zK3@mEh_TVJ{8*`}t$ZCvD0Xe^2hb=rp%va-lhxqn1 z>WTkX5si0b#LNA@`(eh;`fv6_TtAR#GXz3ECOb~VLju9>8Fug_!0yF1LaQ#kF%s&| z*cgkr;Z$E6U*&n@GxICbE;U!&V1*bk zg7VCfcyzUqZTc^f5SuUv4#P-s-p7U3}5xXS%FQS}n!wT%}G%P9I!{$9XUUOZKYTQ9tdnn`y9K(TU7>wmS z>$iyWbENPD;F{?AR3`9LSc%wNS^Jq?Qoe4J=?Q)EspRRzE-4=h9(n`M-grc&3C0V1 zPBB%@IvmA(GK~?XDYdB-@Rs053_D6iP^ORaJE(+AztMktitQ!V>zF?9=Q_p$RYCp1 zHYS#dU80li*v{0u9AI=r!sRgJG;z85Btm@zQe|LPjzq}-&SvF#C%MGjcKrPFA-^~4 zBD6{;Dqj>#g}#w!@52wx-3HUp+&ZD|y+m`j5bACv+K@L#f)d@TzkGs?TUo_*`{K-e zi8H1F)i+kBj$7Gdn6k8Zgc%?FR)}cG)vJA8I~!-#8{E9~{WkcvD*fA$-}7&;!?$~H zVIQs_V=nu1Fb}2g5=+|noab{Gt4$b}kujI~S=9n?c%onGH@(;i04MW`wP_XSWK_Ip z6o+_q8&f4F%ocou#P|dv_%4O8wGJ*k)Wvi4EM9{M-mfKf@l5^n3B+UAelDqt?GPHi z^#l+}(iYFw*Bxi4gT+LD=QtNGe>u*3>bf{R9Q<-FZ~l}>mp4RxCaIZbtL1hxp9DJ) zmZ$H3JaiXPHp1b+JB?Gk^#T;vA#bJTZZ#<%;glcpeko9VuU>nshvI>t*XmN|+Fihn zd;?1#-^QAr%mDq9QT#If@!&KUu`yCH7;>4$0hD+ToT|mN#G-j zOL&fGGZ@7j7?CFs^p2N8ty!g8O83QZ(tj#slbjLnb?Tki8rbPQf!CkX#u-<(C>?^b z-%$K(7$8Au7M!QC=QKSX`>=GMClL2K$ebpk74Uw9Z-@pJA)nm!C>3cT3=`?Ows`dz zx?uE%rSL7g@s!Q9tJv$iL}@bUUb1vk(Db$Bmm~9UKuF(o3?Va6Q{R1+UZ^kM;Mh=z zZJjEVsi9kraR&a+Z%`lcoIvJ?8#6evLZWfblzT70l&w6Nk9)7loI%c{%c!uk+mpG%8_@b zSiP8?P!T_--|=TqN`g!&@ns>TA3Oz02@mr$y7|vGwC*Cdz%F^`j3KE{-h%6g!kP1r zu!d*Yi29^G`Z_|$O+PH%=XO2^`|q<5QF$eVm#1s$;BXaK#ZF0@TcClz!zu2Mtk(_T zrAUuR^kaSZH|)>#tKo2Gs89{N_qqeeuzRo4HK=L@x{-E~I_SqK%}fn&0|h9Sy3jfsoNrTg50V=g>7CWXGvO0zd}e&PMGq*^bR)J3!GlIopR zNL0Hq71D9}gT61pp>((z&2DBCp(r*C;~xT)=a}W?th|$9 zRxkc5-N~3w>4ta|{Qfyvql;*sHvXasr(V6H+c5k=Zyr%SZA8c;C6jFCb#z9)pFY}` z?$nDe*!aTs*qr}&^NVbvX8++>Y89As1isTB(D}8HjRb;=J@7CoL>OBP`QafOiskp% z1B3+P49&Z)+BwU2D)}plH9XVJ`wIw( zV_t`a@q9NsBs2*kuFsL+K$*Ozn_wq&S5{C{@_kNK>}t67hC{S7Xo zu3-iJ&C96qtc;1Wgud($fSdKQ4Xv}7pB=nO;&(Q*&SsX`lT8lmckw1A=}k`l6`Jg3 zP4djLFa8RfhmHMx6>oFdgK1Y{>;HPjh~YFz{dWKYbJFJ?>^9t`$2gzVX7Y&(T=IRZ zL~PGt`W#WKs%60-w5pn@?i#tI!$S{yO7=@avrK(8d})C0ML%_y9&-nF5^d#FxMX(y zOI6qs)n*DVXN!nEpFt8z^&O_QEX(l+z5ST*1QX3=lLh}4?_frc!2O0{a61Wq&{rTT z9Tsj);l?iAA7uZ9fK$^WxPIL1TES<7uu9*=tVI2fhe=?k_i_MxiD4ME0uKBJ{2*GQ zE?j>gsv*-*M;lj2sC&5!*N?lbdL29o;FUq8D@VkyG>b*eL|Hr&;g#-BAT8^Y4-;){ z=juFU3?tOu?B0Xifn(k$MKE@MkVzw@+p=u>CpfTx{b&G9f+<;bZhu^aS0Y(`G=lvd zSqMe9XC?jl?|;}+au`4T7+ievz_Z#fXIKAn0V32_i~av4AjIZS#g>8+7NU!oSlU7> zTCo2ufg8~g`YHrlQI(YDcYlxO7i2m-f6Cz@SpuAkc_9U5ooGWYyPD^D(jbJ3hkody zr`@z!?`mawNSjFavva#z5n=q{p;4LZim>@zZDDmb6Y$OVtR|X!5202E3A-Hpp-}Tx z!!!2uRd7emvw|?);>Egz0p?Rygv2!hgY6FNlvU4ahD-lF-G;%j7%k4~6QO|eDhoo< z*ZKRv_E&qBZjdeA2czjr_m$UdXx(tObYJ;1tT`7wu7A;rP_*@&VbF?}T0y224Km$^ z1NSCz&TT{85uz@b>j@mf&pj$2G+DD=E7ML~pRYZ!Q5#oOUY)oE*9Y2-Z#sC0{qx@#G7o_d=j=fAQLGBJbwA6PF)bocir zdhu1Tjj><)pf7nZvib%m>>=#`buQB$GsbBiu8#B~rbJKbTi@d2?Vp_@Rp~KCO9mFK z>3C`B7PX=!D(Chf74CHo>g!t(3IrwkDQlosw8&~j0}f2%R(*9I;fPGDs+rK?>qLYF z%od*SHgM5Zo|=h7ymAxK#!h~fEme1Ey!t&@+7kVQs82jhsEw^%zCI=Tp>M2<9*q6e zh3m!3dV|ROP7o6P(A%VR<+$j z2>EweJ>$RNsLwW|9F$( z-Fu^l9+2o~%cg&#RZY7GzWWD`Vl+BTz)ux70vst4Xqo@R?&<~2J?=9lL2~nmmZ2v&Spsd%tH@E9gKyxun{Kt2m2>=8V28` zgIq5-@KVnpce17a%dgW1`O(YCLB8__406ZIX@h+AjWY(WAIXOpFo(EQIKSK79c-0V zM0nRzdDoR`T_0v$Ck~}|JuTJsO}y(F>0SRIz3aOyyz6OTSLK8KeA?&G$<@C}(*chC z9sphTvZ?H_vQK}{bO4R*rt0H%Rx+5kjQu*Thyqt<75A=G#?ibAN-kfmwg` z8MJvny^X@#e7GuY){pTvFyFU7>zVJhpLQEbp_XJBbLMWUM<2HEWya*(vhvHZ-vx&X z&RC=PhIQ$SJ*maz1(?SS#CR#(WD1+PAU?fBhN$<{e1K-w@W@FowUsy?(}so;{Nc z@BcX9M&AqLT=!hsIG=tU#`*4lr{U%ouQLYlIsh$i@Avgs=OO4tJOve`+t0={Eh^?t~%QHsQb*X*&Y;x10uC&Rx-i>M0D>w$^l1H?Fjy zb(b5=LE`ggLzj=Q*>)&^OPv3X)zR$eS)AtP4 z_p@K7_x-@iq+Yk_)iXwP@M*(15BLwi;gj>f&u~z*+0RrB4?X3gUD)4t3eq;#f%m;T zuyb*)R3b=%Xk%)ra~IY=W)JL1^5u#pp{Z1Q-U6mfsa|1jRMt6fJjNoye!^*Cty;a#P-dOz~Ad1#62#k)bCEN0(wOxY3PpH<&(y&wNv$v)?rpa1gm86$e1 zVHinb!zkzMOpOOOMt7VLt)iiuKFkayEPQr+wc6-n$!80o&ZAadAC=>j*Bs zQ&KSzBJR>-L>+Q@iw(twWacO2H-Oh)_&(6(JTBtN-|`#5k45@zY^$hr+wt@5>;O9E z?+$(+7`4EiH&}$JJQhH`P%HSZleNbMvO_0AgnKXs8d6Cidfn~CMi5oB$?D_wzOViQ zL0t1^){W3+f)SO?0?|YUb!LLAH*n!6YwPE--*H0M%uX0atT5$o)-1?l*1!;+se|o$ zB_FFLd4oyRadv`T05EA{h23}92-OzAo!}`_(&(bsIr!7KyEJHCV(PCSHQ*>Vlfz|Y zl5@|zi{+A2M1$7=na1^-cci|OF+Ab|WRfBZJXRna2(tyLEOHbIzQ>3PgOy9-L`hg1 ztdI`1O{VR-_%b`Uc|C9k`W1t`WEDa*q^@B@UYbBCA1x~2rexiQsqt@Me<_`UuWV_8 z{plMe(a+QPFNqsv7h4rP$82ikRV@fb*RdaS4)heWGvu5WggnAwiGH30@T)f%+JC~% ztmciay7J+ki(5C<^&%dJ2oRCA1|DkobuDL;Rd72KCrN;%44_@6ab^7~p0nb&uwAZX zpNVtNJWNt})^~mkrfqechCFBm@Dtmq`DplRy2DN=k4s_ik4xZL1Ls=^9cMS+FV4HU z{j>${elOY6bN73di?)%an`$zJjk`2%Hug2eKGX;AKqy1*p9gtK3%?Wo@rY&u5EWTIO6l z4E#}H|I~l_AxZ&dPg1M%Esi?ZWj-W{dH#Kxow}LU;KFNIOo%@=Etb?}0F@OCA=TA5+fIDmscY-@$EEXZ~rHgi!?u^-!@x$T8V~6)@7z3fr-fW2-5O96j zP%~u2=MXZYrfg_zXD?H!^mI9@=L1(s=i(nrTuCOHFG#fMtMwnf1J^p2q->ITY82BZ zc_~+wa%u&i$o8~A&^zuQ0wZ45ODH{C`aid4m_Ge+J3Pl`MwtW8&Op$&foP*=j?9H5 zK-X*o1ww+K?fS57j29VPUv2E|ls)bd{nS>lbY7jbbgm=n^xCAQ^Y8eOKH7>amKoHOWOM3_LveoRltZB-$m4cM2J8DLRrlY zhixb}l*cD-YH@ys@*eQ-ThO2G=Z{prZA2TrklIje5&%@6 zUk-uloLd*Wh&K9l3Z`azON09Dt4y0D&O%eS0SoCS3+-hr6vIRtji?Q<_vse6=1AId zrt$u0arVIPRSTJ|$;~w%!hR%o_W! zVN2?wSoec6+N3YqijbK^Lt6vcN9dROwG5G2kY$WGUuC7fL8ozkV1Qv5`W;&lQf@)s z%S(eqy~qLG_akFGy6*>M=_ZsksALC`xc7_G*bdE312I0*FW-8;e^Q2hB^+7Qi)HQl z=_7IxL~7K*2qO&pTbxi&3*K<6J~$7wog3VK1N)m%G9RUgHiK9hvqlCmkm_@Vlj zmJz-o3xEsNTGbbpYZwnR|fq*OsBu?LiD%wrazFnNnaG{gZ@`; z0s7n0>3<662N2Ldl0p9uznlK2upOG6O42{_-Sj6!&2HJ=qr3#-*k1@qc0ZONlQf~z zSK$q}2aE*;w3Dbq?rE~222_sFRjy@avHly_pZed!2+7*jgKx-1fgle287QCAL-?UG zjU{P6j?sQB(Eet#24ewj)KH={CxHG}^g(|S!p4_f?;RQ&N$5vOE|BPcqI4C_znLh_ z2GOck%k-2!Ka5bbd-e4)Jsleap9|S1#sITmqz|obc3rj_N%RXn*4#r7-*TBAanZB- zD`BQie=R#7UGBSxk!^D`C&HCLgx9wviO|Bvnz5MZ3*!It&6)TYtIHhMdq?OGZtjB&S2p(| z!)=?>$xyiUdyrws=9GRmZ7QL=h&H`VKYkAM;)}r|2yYA#XT&#vZ3g?ixs^1JXFW5` zi_+}>QtfX@q_tn#$&ShMzfb#L@cxHE`#I2k9&etL(K?fVdfLCmEt(3UJ!EJvx&VOh z;=h*2_gViN`&$1^eEt9M{|)||-*n;i-_(2kH}=7Jzi;Zj{u?vafB5^X|Hgm2{=?sA z{jcw9{WtRUU;O_D{@X(rUjLyBtp89SWVp7m_xcZItpDckv;IS=^-t*7HC1^iWlv7j z>_2Awrek02^<7K<-AjM!lIR|(B<`W#N}+CxtX@mhiFQIma>)V6P2&6z|LRTd3Ekoe z9P$pA=^XGJwg}4s8-;2Se*BI4XJq@x_D8Fbj-mWkH7Qb`M?Tu*IGr zw4y~;7uq}}NAA$9w@D$x;&FBpJfTsd%~DC+doe_anI4hpDMlG-A`UC ztG*UVz1K!c8cAU1;(Q3Q(JawV^xYc~l7%jb-fN5Hd4w}OPx@?IZ?_csrT)B`ne`cz zc^{LEcW`<`?|28BH!_wOlCz%2JFsm`#XI{Bsd2#?>h;M8_C^iTd>W|l@E!5I2fgoNPqLIGz%ii+6_iw#4vp??Gd1$@K zJt$8Y9N#HhbwF1HJNp`TS!|rJ|LZ`Q|Gb+)15&gX_hJov+?@b=f zb)rshO&-lZWjyfW)9?T(T%Kk*s62hfh`aal3jGsO#Pc37RpjiiKoG+_$K`@yhuU-82vNDFyiBjxlht9dhC6; z5C8|DFW*O~5B`}pHH|JNB?5-`8vVv1)|NXN1cJVSM9uy{%}W(=zD{}}1cJU}u`j+8 z-ia##UTqpYFNar~0k1X_9?{0GS&)Z}VHHiV-pXrkZk{NhN_v;2GCa{La5kQpgYzd2 ztqf1R2BA!S>HF4a+*-)(YAcl`ImlZ^w9zkce$yGhfiLv9M&P$L&TsGj(uURzVdYO% zpGi7X>bEs?8_TlFtllfj3cS~s<@u%)^`0W8Udiz+!FxM+jY;beij5-b!Xk#Hk@`sX z`#Pd7EHpEpu44;_Hyc8%eiEjrX3UTO{<|xR!I!4-cI*z<%b? zNrRu?Ovk8g@1b6+wa1@1(aXQoh1br{sdNY8KDJ>o0N@z+k$C|972{HOAdXiAxi41V z`pQ(i_CD)U2(pg@JHa^YoUD#rK=Z(Z$FUB9`mqJ96t91T<{?R~ut7?Zsur))qxo#H z;l1M(W-%2a5cFP7Xp`)mQ#AkRyrHr-&j!JO0zsc1%aybWn?(0}!28oTiTko2YB2Y< z*+t>0Guk_a-q>NA{5T^syv~ z!xM`c$5x7Am&0lpvHO??LpOWWDwNjO%K8iU#eruf`+}~02>K%GLYw}~v6BW-#@hu^ znOH0kwJM?yS_>>POs1{9;yURs)+40+@T2&OXp{rw?119r4UeB4w1>q~Nt`D#! zJIle=EL*Q$hb=P!VcL4V0@mw7#xKJ%*Q-s^W;ytRy}=VW=JRk2k6eRz5bXsQSg=+{ z4>he0bHN^$)I|=P?l{WG>2k0o>n_%aF&3oI^NSeQiFAsUsM#I&d<5%qnvDc@V*eNX zveWe6p*wgcMBlg3HZJFu`ty)S_1QduIQ8uI{@9~EWQz?+zIUrR9(o4kn?##E&cz_# zJX)nK`TC&8a@l(I&@+-c+(82SlK9H{Cuq0l;fr%5Lr{wS`*R65$`Q*VbU)|+Z%qDI z-Mi`dVqmhWe*%-;*IU(AC)tVfV((Q%n`ZAFA6)%0(Pr3*I@wN~rM@=eEc9hDZBZ$= z8-(uH#~3GJ3mN|pgkmr0>lp8@`9~&mXaBQ@xfj+Uq_6l#lDXwCICHzc=u2Lv_VJ$m zYe>qgJHLZ(UR&NZH!uG4A|WM~)1AV_ABT{UL0nJ3>*buw&@~j4^&>iy#O>C|am= z3iIa?A^4t^5vTot%yg`97@UBy*rD&MgK#!QqKc_aSy*UUR1CN68T;F$B2g`Ph88RZ z>z6r`3W+naNM~4ER)>%}zA$FrSOlKmCbZHZYotvT=(Iwz%0)*leD4|4=xLEA zHnK&j&#Gg1Mng~~ooT5ImnZep@}W4tJf|{Tehoq{I=2uMtL5qV+9T0++J)u*I&FAYsr5##Gk> z!?A;kp+DYf7!v(b20!U^{LoW`CN|m-LKV>g#`*CI`S)D-ezcGHw)}fP_`dz$#J?@3 zp4}o%1a^7{i}YWFo>tBZK8LJc6)nm_h);FhTM$`8R1!J92P(y|)ghqRYY~Th>AUr@*@hv~&20Ub zdDLs8Z&*OlusSSAb?*j^$-)&6!Hgy1a_~rTL!tN@grf6dr|uG$b|XfCXO9EoA8p_f zK&m2q65qbb?>ba>Lw3SINL(*eqiPwytxKU}H@a#@HjfvePdeUG86KbH!tpscfBewO z@c3&G8mE;VgKMET-ZUpQ-bQFeU8RfuEJsu}8}8CWM6C#>k+T^Mk!MO5&ias|zE-KxYMFn?gWsrhh-~4w3(e`XHOKGsu zO@Hplk?8@VgqTj;Z6SDkgi-prQ()!QZJn1}8jtPMS zXJu1aSvf14%F1T5vbn5mHY=M;l(3yBjaFZ+ClK`BMzn%XqBPoxR@TKnNuk#4-uWi% zuG}_kACQalU6wYSKfpqiV3Fhu`o5N(ac@3Rt)~gKo+L`MAUWf{6KubM<@=kzF*Z9- zJN?-W2*vVcFl23F`%hIQX(p>wMG#zdMD*!@Gwok$`>=nZJNOFDhHW@l5uJF>Fw*X? zlHYSu&!ZJl2UICP?>n^5&1|2NpY*gu4bD7!{t8k!52Wygg&7mXY0@f9p4>T2q#ud& z69^2+VLr`a_Ww?pvu!TAU^o}>vwFWEr{c4w?HAW^s9E1{zeveDk?tn6swEI#Tux6b z3BmUWQQa+SAqW2PUy{IGboPay)0u@3QJFV+g*UOB-z0}M<4vM(rRx8j*SB7vKB4Z2 z+09;vj~i}oHw-3Pzy#LU5}S~YAJ}?fPN($&e_>3u-$f5fbQ5GQp|gu5WwYR-9U?98 zbKB8J8?e6+g!GAVYQbCXz%lPSQ88>!{L4i~;u7yR;Vgn+x0sp)-p_)#{*GJaM05*znU3 zXIh(Noun1~oj7;Q8-9m2fXAGrpAliJq{$8|ac;%WMB&`+ZinmqXckdIf^vWfl)`z| z(w(s-GHoLvJqy$mrS%+X-&?vfb>0xM-L=9hV!OPe0Oz}2u;P6Ag#svbKR_d# zpwtDWcd}9!E4>p+AB0jbD}9iadWq6lM3kV__ZngQcWVb^TCQA9v{5U$o!3XKS1SW5 zk7CkoB+i#dGU;R^O33i-A6v%Ht3(_2(W`ROQy zPqxwUoghkQ))S+8=Bp0y(*cU8%6==A6)XG0MrFmu{un@IWdIwsUV<(2{Qz!WP5%EA@N>a;tw%XyJwk9mHT$K%C7N?yJ!OCz1to!RrQsZ6+M zEIg?N*D3L@*l&-z#1@^wRG;P6t}+W&DlG`5PDpnHyh%1fJ)dJUKysui^iAaORzYSn72Sm7eWvmDMlR-#Vg1F{g+z3K@o z*H}mGAar^SQAf3aqk^wNUu@w{R2DN43mH?<;vFtSo^|Li`abG)U#~*YpgL00l%D$c zy`G1-2!7@pc(41i&n)1QbF+-ccQV>sDmg#K&qR2xU!MN^ia&tP6U%a!9-2Z&9VLN% zvg)f_Jdnq#CiFA?4}U;tl4dK{HUezEmF{9TcYCTQ@``Dn{O*^X-Z@{1vle7WHndT)^Ul3kv zV9cnelWKx(|IAPF}o48zdhD@G{l=w^FToTybnws!i# zZP=3Ev#qy{D4S-chwP~rVxK^iyvK?WiVfp&_t>8U^s!eX6wB6cx*8#z*W*x>0k!1! zTvuB9dMbV%zt>oXZyksOE`GyN9Wtsr3-B|0!S)i@Zz0-{`-HT_^?2d-?g!ky#hz>dp#9$k|^5*iC*rZzp(Yh zjhwUEj2p>gKiV?#Y`5!|T>YK)Ddzs7EVd)>EWUT7Y`8@=H!T1&(Xuax={O>6W#77* zPX{ZH2>cbEP3aMczU&Ul+M^*)AkMib`fOjoc3cOzi7?z8dp!y4+8$t7*?FIP#z4MwGw>dq;rY}NNR`UepDLSQ(dOaDk*)&0iM`SQRPd*}t zh*q^)Kk-V2iTSwK;9dK z*B}SHW|GrwlCuKA8;LJP(o_2K*MOv>z~my+@CBsPgsb@d>X&-iRjI(9zJXwb?qJ2= zzHH`3c=lD(Y(5&x<4!T`$LC<0KKE5FxFRoS`a`NYG#A?^*l_+tTc7r_X1qQ^XhPO} zwV+P9BRJpPfb-q8&F;O3sM$}wmb9<{hWfmG90tUd?gSpt8*eoXms-_I)a?1`RT(NP zZ-(dub+YPfNGdXnyG!<(iS)9bxWTmVR>$bIfOxYu-{|WyYFp;-B}#|jy@>tovo}Bj z>glf=rdn2^LjZ?`%Z9$B}9JYsq+pdN~i;L{PrD0vqs=0Ppzuu z@4#2S!giMqPA~3Navf|I*)P7@Ykt4F3AU`&x@QF^f%_%%EudY0`DT8NJE%GN9?at# z6E%BE3Qn#*o`K-W-@tZY-pvMhaPlJk&YO93t?ipn_9?IaE&VRr`U>l;$xdj+Y97NG zp+3mibqmu)s#=p(h?-sdO0Vg@IQrj`^Tss%?|u3IEIn&p{$J7aCoi*6X3+CCxK*oI zP1uB?(ts5(VL%#;;R1vKOFrHO!<#5^_udEADjG;_Z!X+(^jVV zp>`zahoZ(_{BZkA7v_f-_HmN_?M3Kt)JqxsaP^Nf`C#Il!%L(&?GUw6Z(oU!J7D1FMp_V(v7i%L<+amm-J| zSW{q&3KoRMX;$t)J*SPs`}0b$Xss1|gC*@r!5uJ`46YS?6By{2OH!Y-y937JV=mg& z>-`PX7j`Pqe_z4j2?(qL*@@EHMwFmIl(WO$=S{}%mDC)f zv?ie3*@XRrA=*~gP~ZI?tx|YL;1%hf=nDuTx<@&jDBTjfvS(5vuAlX+wPqF;Af>nS zBkZqB##*FdhQ-Bp5!VlYwq`g^7H(sOvCZ5_ZlOS&d*|iqe_RPCm)BPEw-Gkki#^&e z1Zl^K(k-QiOwWSWV>J2-W24!WO1H2AkNOLH`C5S(jovG0)pjrf^|i?KxJWeQztxAXgq;5_+UeioYlVEgTyvG^lQs{n zw4Y}T8rBD`L`WaZMtu-s{%kyH^kI+7^UrmBhli`!Y;_X0djc z3G*)@bUHgHw-D-U5S{zyO_u3H5f42Ry9rGBi_gnvc!yfnD$^!?#Xh!x_wwiEdvfsF zU6OP6ym85%_OhO0JK@HQRsZt~>@YaV!Y_U)xzNQ|tfW#oYmwE5B2QR7>cciqNw=%y zl!(_73taEZ^tih;s8=3>_%bbo3Pi04;S^%h5p7-}SXst$i8`-HomQwE zDGHs)*5BzejAi334neH3I_iYzaKkW`r{cfwA@n4nT_zy~PDqgxQZxyfgQ~}5`-Yo0 zP2R!q4xht>SjBHjP~Nzdr13zi<7X z^QH4tRc`6N=;v7o!Sk}AB%WIGh^QpQMRSzIxCRlT7c`4X;y>T}PvCm_qms~~A=M!P zLTm3j(*B8cBMt33BKEsoNj%VSf2zS#?>*JiU}#2z*Li~_R*yEZP*Rr^f&tFEz#c(D zJJa!9y3hG|5q_nKU{8ps13o2zExwrS40^G1?(il3UCy~hSaTYN5r{9I$F|I0xU|WJ zOq&SpWcyEP(B+hh@GC)rJ)aVFK!^eOMs_xN-7fWK!$s$}Rb}e`ohI9ss)bf!H|gsA-(kZ+?1{4Tx~mnIU19pUG%hWt;rz-%sN-?Rw=A4$)Q zO5-l)<3;88wPu2+umPQ9u%a@P?O!8=)Jemg5&Z0D2qBj`r^rQH+gpT?C`^GNk-!%3 zC7Ji1J>!X81vws_h2BeuHp!km&*T&B4m-riaN2!s9@;E9@3Z@?5}jz5l!--Pl=G*3 z+$iU*=MnPIHV-`d@Vz=7l>rcu`vJ0GyuCebN&o&4ebk!lalh?*^kS=%~y2SW(qQvi4IOQ73}U*&&H`ME?_J*dft#(J7hvXyAPn0>IvDmy~d!?CkQ+ zlxQN>Z#fwKb$IVk=M7h<6)_$0DTpG%(Vo9N9pAgs@EvAH1Nfasw7cz0loO}T*A{y# z?Kw8(Z!@KkDB(f|@diRWGUUfjkROev{MZ5VgE%|9+0MDc7iSULL7W|UWiZ`eL!D?H znfn*RFtWhy{5#_{6sO*W{Ldmpw7FaomlqN`*B&l6B{AZrefQdB>WfI);zHu=!u}Bg zn4Q7(67@9@S`}RGQs)eJsS6=9<#>t4({(w<-;(M9`z$7ymhru5tWkX>z;Jn?ivA1qu{s z0il5w2rbY+)6Rv2MK+bC*3v>{DYgkMLLnuMc)3P#d*$_2Kim;FZ~;VxgrzNr&?+K= zvI%-)6pA1%Pkg3#4{rDrYsYkp7H=ERnE^wk-@;8uVi?&Fx(DBHnCUR3MgA18=(<{Sz)?(`Wi1%+Y3 z6aPe!xvBC;;WEQS%;2u2V4vr-fDZrR{;-wvVE_H@M(;UT&w#U1#Ad}Jejj2=cbdE7 zl@M*uP$NdamDV1h%F6_Uu6m8bJqoYw)-4Nxt9XK6ndHZD=XMzEaVJ2rpV3ztnB3|B zET&Af+mpG5*I7$r2+9_UWe>JA7OyH;JqhZShdtv5b3o7mHvi>1C+N%QH5c6djN1Ln zdkMbGFvHLcL0cW9fzekPnMwn@WT#6j16$HNjS2e=%vt2Dml+tiuxPYh_#D(6DE$xK zGeZh#tD5QsuVjJ5=j3>@tMF1ed7YqHW{)_5b~R<*8IJK7y+hC|GFBUH*QxRyp!inj z+5$#k^(uolo+^JD_ciMQm4V>|{vnZFr!uhlDq3qK%$E%*OSV$wB@%IcuV>9MI%@@Q z)SfNsgC|#}-Vj>rL$2$z--#|}S~{WH$W+o!UPjw9B}iLKt@~I;5Ol&Zp$25Mvq4I0 z_Zz5jXPeGMk=ALT#{XipT`*}7Gh-uDy2-%kH`Cf{)Veh?I3B$SbujTUVdsX`Z)Qt3 zA$G<_w^Vb=Teb;|{Fc$?SRD=eCC6#zxPjTr?S2f`#h(-G@}DQ!<+pI@h2sfuq*RS; z-{b0j&e4>d_FmH&HgsEqs{logRgu$NgoschEDKxXxz1Wmt(%P5A>n7l`~c^;&RbHX-3Qw&zHI<%`?gc2AqFOQGgG<= z4~^@3NiqFZG>)cwnW7zDliw+|QcVF(K5Q1>`;NHcL&fFXLp@RPt!eFQCnGiUm_cQ$I zcTQinRyb?MnldT)dYL$ zZ8*>#?2}lxKJsz$Gfc5=;3PSN-`IVg@w?87GbIu@p%o$L= z(w;O8WW%&qOc$(99_ zONH2C71E9|*9x8sDomk>y^lo9pYB%}q|&jINCwGu>?FBvSY(}3SV|B9S0w}djUqN= zPg&D>+{ayc9@$rt+;81rHy^g$BQ4@#wy^EKr<<_tK4QxiKYiJ1%b0Mp+?tst37Vfr zpM?1q*^}QL)1+Y0S4t4v1M7ShEXJgf#I878<|5n~ zA6#&TRB7?jhuEw%JS=-XA9m;`xJVqh2F@Qo5u?(K0#o>A7oMl>t4Z$1u0S%>2C+u) zZ)mN66O3(Lg=3F|cdqcw?U#VG7OP{9s7o?BvZ>8|=9bJhsm&B?xBj2{3>7i-9@Mz31;jbM9)7hES|m z-Phl5X3A<|6nS=Klf4<=_6Z-|)IQU3`|Ps$w$HvXB(bX>F7%({o7!jl$`;$_KP!dy z>9f**eFXKRqM2ie`4hL6-F$-UdHzoxv1;5-a?LmH*)&tRCk^Mdu~hWhRT67pe&MFB z!UAV{oSGRw60!OdqLB(_yozRe!ukBZ-jW~Y&FTP`2^+ymEPDG09JO5ndQ zEG^q}@bdHJ(w6yoyhGr|*{cBGg;GC${;reA&k^b-eokEF$Is_F3mEQyD;Pg}&eNc? zQ??LT9D10VD*p>4i`#g~$u3AU+Af&;3B3K&O2KWcm$yYbA4VqE!`w#J6h~r-BE@K5 z73Y8d7w#w4;nwU!GZi{EBUZa_)o?KYd&5?N8jcl4kZtsxZpz zM?L(ixz0tegiDSC5z~Fa1do}Gv5y8ZvoU2txG;BcPdqC6MaMZx9u+wH{^9`ngX>$; zf<0QWKXVmJ8tfXHqT>2a~P~*<|uKf-fsPSiwwhOq`P3ed!t){j6sdZlvKI@)oD+KK-wzS$E z2maTM_P8_1`LhfcfH}>LS%IbWUyaOa(!CU1&59=mp2V{edOdjbmV+wiVRh9pp=XXj#Zd3>8y}gE8yYv>%H``z0K3(2& zebda>G+wneAm$MFfsE%dQ%?~`t<{8hvFZ#rZ7=wqG-(A(tc{#>sGsr74kbbCuQEK> zZ76m)n5ook9*!)=byI_>1(O~~{Aurhc zj?zC)McGR5TNF4+s?cvFkUb32YFfQpA5XJG2oOv^)v!F~z0TtSUv z#&Y5ERM~!uuV-9?y)>wHj6Eb(f$LYl$wwmwoKgyvyFEtq{e6b(=D>V&!4zpJJwcel zu~0%fJQbW*9H2JxWfza?OR0~hOucWVCI`sNDcnZ0Pa?0rOnuAxGXB+CWzgR8)0aVJ zPkr8Mv%U;fe)u-ebM4Fo;o5r}Y-1W2-n~#zh+DlpfX?sKgji>d+`pF*gj?zU+MO&! zp1M3J*S!Wwgx_x!2&~%ph*zoR=Psgu^H;6}`pfpYcfOwT=w*NIqnAC~S1-G177-4a zyTKuI7iz~u1+w0d7G>g<^GOIy6Hc4MEh{91DQ|r!;0`VNlG^V4EETuU>rUz!hx>g{ zYPLD3a=boc(@58DQ8ON~GE0esFb#mSXy9k28fj}xk%&#&hwM`%memr%{2S6%QO`PD z*|`5Y;GhTDlRr&@ner^2DYL;}$;#WF84=l&k0+7Du0A-tM0<^2AO5(p4%y9hUIR%F zX<_~Zm;L=7xs4G^c%B!C_B(WkGE&bwT<2hef4rJalY{xI(Rjs6J@1IEa#aZSP(290 zTPDo9bC(gsh7THf-uHVz{O?;xD_>GUA^;u_A)B3EalfcBDrP;Tg z{g!5*bQUJ(mtG2@FX_QoS=5BDPXIovKfd`QK0^?Eh^d?F+V@$LKU^SqJe#5UxP3ks2xsZpC&=teTey%vfc|f7o14DujnGpuKKZ_W|My8>Ow#P zXOg1aVLFnBF|Po%u{m+1Uc?iWVgSq0CB&dGS7MgRCBQSJLg(GN|{qv zZytlRM|9LPmB^ktRPb;ps`nhxobs(Nnoa$Yo3#t3EQyZVk)c4^eT6RF^-2j<-p6~_ zx&JZ{6m-<~;W}!^OeyYQQJ;dDhj|KQy(OjAMo4^453Us8_?cv$j>%HwS#QZHYd9#< zxh6^p0;;S64&E_&6{zmCZii%#;NEDjhn|_3o(4?MO`xYzpeK3^T(AO~ZU(1k-Dkn* zG0hTanO)GF7X2rFv}_}MXz2@su`__2_d%J$^`1;{E8{Q1ZQsuGLR{M^sytsJDq1>7 zNW1p0MxJMWu%2r`_Nfhm5jrVuARSXH+}*wzQM5|KyUq|$SEe4wK7sdM?7ktRtSL~L znp3W|_{S;N`w}oKBW4&6g}MP($RWdNJkK+yTfHn!SqDf7Lc_aWgbQ=OG@!cE8h!(o z;~I37%Fv*qqU7~dl%Zawqg3e)u@IO@MWxrr;?P70O@q)WI5Z81PJz$|A#@oIeGrF= z_r@#a=1oSM!!#V(lj^|-lRdS;dvE+3@xFR`=UPe?(V2=$?^H`gMRY>ey|J{m+I$gd ze=tSSZ1iEoL{|wG+01H4e)dDfOH~azb<6GFF;KJy#*ApxN}pDh+QLiQg+Fb@*MaIb|6s zrJma-xrMAwIno|7@4{5vL)#+`Yrbh_k0z-`!&}A(2yWp@$A#wvR;*qO8j>D9)K_C( z{A?S~>!}?}6?*2fF5!&M%1c*8r{guzuQG1qVnWov(7`$)FP$k-tDMb)N(eOgd`E0X#BwoXDm&SjI}t zKXN0sizRZOHn64Dt}3{2E1DJXmskDyMX)dsz%QbWfdGCHtqcV4OQ4+r55EX@2K@NN z;o+B->Uw|9@huZX3n?V&iNcvmJCBkv*9i078ZXT!Bjnf{T6xgbdMkQtbee z*wqvFIKvR{H9h-6f^a$UTD3AGM&faC3VRIhZcX^%_M1D5ofxBICdIJh)jB3aty|yO zviG*-W>j$|wf!4pPd)}BcJ#lHWTg{&b4Xa5p)_R^Q-%1b!s9|NOU2lN>CAgY= z4rZB^r0Yk)#OVHnCL%t@L`+`hOT(&vNipm9qClNO`?>6kmulp#NRV1-Q z?(RC-WS~XIPF7oQ@TLebVs&h>I^npE+A&MYE&meu$2H5x ziyG8W_gq12d~?3Iu=~Tp@0CWL z|EiJa(;9jHm>8xNzxgeEwE^-x$ji@u(1N_YyML3sybp5$z0_A;&W-oT%VmR_-3Xi4oq*X)Z70HJB-)LLz~J-FzP}!u_VqqZl-c}d`QzXM|EoH$Vq9px)i zzYIw-un;;=;Yt!*9B=4Ldd$G>8X+YJuG?bZmJ~q=x7&DUMa6ZrEc#X$# zVGrGgo9)u~gg#S^o0P?Kfs`uW2dX^N)u2#&{6)F!P^M<3;g zbtG2L?r=E$-wchMp^y+XGmnIG9~fENi~D=b`#kR|y$urhJV79?6Zh^!3A{+DIq3R^ zAc#8&;c^Y{&i4w#Shm5y!28R>JjgbDfGo^|Y{Li0!aT?}e2cR1C?8pvZ<2+*`=xD= zhmZQp!xb608`cJNL%~BBu6Bj6mBkHxNT|N`S>oB6z#i@_Vc;mrg7G<_f#-d{pNZcL zpYJcXdA@g}f4pGdWHC<5>-VzX5$L#otpi_d)|?E+;3ogU1u@9=_i&P%9lKk}cjB0u7JoXp$XX0B|iiH2edz$-3Ep?u(?&~ z%rCgWD?asXCvqP=ND!`niv@jTbIS$QV}a@MNm5Mmudpz%Jt*3P&8^Z|_w$-ldEWfv zo9AE0b?{>6>bLSdopTt>oPmA)DqO7dpLmPa85ip?tTfZv(rUf-SL(@A!j<*S7+2-n zBCaLJFg|W8Xkh8U8=JPi^r3X7URQTaFKGaOcHG9d@&A=V3x1vDZNU(NAlMnlxSenC zyl}v}1^ygQ=2ebYNC^Wo(!eYv5p#w$ALG`Fxmfq}=64Ki>1LyiH;opMmNZA2<3&0n z7*f|CQ0wk=cF8f^Hpq60vi%^)WrJd2jNORG*m69^?#P2Nc9Ss1M)e|zT~QeG<+y7+ zXcLxh#bUQZO%UwdYHIt8t)6T74#dvb>A9A_4cG1GabVm1V4b4Lw)@+0qW{=mIBqT! zVT+pCxdR%jmK?F-A{7`7EGQU zMBgM+&8Ep=kJS`sbC@%P;(jp~Mty3>G^wY^+*_~lyt{{J|H%LU2psm3k%@ysxJ!|Bs>;6Kc3p)F~y9}lH7=eeG*d3Y#lZZjTQMk3}!p#H#5 zb42uMEz=cVh4Cucy$8Qt%j6}dz`Iw)+4PvST?L`Urf1T@dzutp? zi=+wv7=Qe0MEnZ^@mDp|KlaM3)-{O)Ro(*xL(Is3L_uf4^2e^{aaFC)x$W79NA_f@ zJxT0>D%{)annzIK9=rcGPqW2|pgI7C+IKr0!pHaYpXx~%mALG}n5InT)v8%^d}A5};Tdm?rf8INqd zsUtURHWr~nR#Se&&y~gBR257O#Oh*c^TY2W}NiENo2G0 zGSJ0m#~|x|&}|DBh;^N~-%IxfKmD1X?+?_U`SbzMpSeCu(4VQl->W}!^nQUi-7{O% zpBcSNL2zHs0)3ZNb6e4$3Gk207?07+cY@&bwlcoH%CD#RA4z>H8r zt>ENFh8ER`yx>4odNpDvCL-Cyc%(gK?g$nqJIHZ4aI%TYBbJ>` zlGeQvW;#hCb|t1X9@!%lVt;CupMg#K9xd8C10^^O_Bfh$UXV{_Q~OP}59&u-50K-n ztNM|=sjrUOFx8$zfXU#uHO(9lY`zr^nP`{yLsmyTg4>#=p4^8s z3Bs+e7(Y_tPdGm%9#mAutAWGpkMOwN@Va&2G!Uv-SJkpMbOF4ILaKy^LZ#I+)<0no(7$oarQKU>nin7ArmXp`vK4Cs2yt*5ShEp^Aqh6{gBlepNCh^VPaLpx}&fdix{JW`(y^} zaXSzraqYP6zdoRI4jS0hs>!UWpZackC1u;&fXC+2DsBbg-!omC8-$a{aG1F;Ywda+ zcIW57%(YXPx$?qEVpk{*C%awqxc%o2--{(6uDNe%VT6Y`o9`7y_{4i#xWB_@#v*I| z3~KFDu(9rV7mvb5HV;N{BReQgbWkvlG^VUpQ?^TTu((`JvyoVeOQ@nAOTkTvM|V4t zAg61r$9sNFJwZGcvof0bkxtl8C!8_02RjI$mvn2oI9W)3H8QJJ6YO#~&18@U zc1gACF*%-OSF30?Lv3Jg(F5m^$azZ!!+)e_Qq+E16u+mIA_#-Fo+=+CAqeiqG*GL)=QD?pzaGe?W6Q(#oI&PbYkhvAJFpkLMWUMwC$Habjk3=)M$-=)w&QMLP}^k6)yCTA1K5P)$yQn>tkn zdvx_Adjw}-j?)Qea2-%7IL zzbXxE`gI|&f6}J%cWR;h=-!sgKUW%9{>P+3`M1i1&EY0Hjm)3Oc~gpP*F6`qP9p7B z)VeohKHFG7PQ?WOfUM^l4E8|?u3q5=hK4ongd>-?rV5N_V9tW42WIsRto!N(i(_181wptk((D*2UcU)3rJDq0wbIR0yngFd9aS(%rK6%U zRC&}IJonN*ZzG?Q>(4S| zy%ABQ)O_PAh2hCqh3pYk$m(2%tiLv(x-;T=sE$&lA0u^?%5Y3gMWxqlprQ;ln;EgJyrf%Bh0o?{a$&#S^c|K;z=s!8qag{ zuJJq-E*^~ZnnV!pc*N{;_Yv$$Zx!_9HV4y_+ltuIO@gkW%P6e1brXZw|5Xc1Y|#Bp zS)itD8E~1BqS-7`7|;xixqA7Gmgcewy6&_vm;FR19H0|^#B?+MS&(C)gugfqWST zeEGW!3}!NC+rXDa6YLS3A5Z!Sp(^>el*;g}s);ozRrzQL4x7@%mN@J| z9JUO2l8W+S$<3H0Cn0;px5(;L(awvQ9lsMapnvn@$^dy7n3Ph9JW541vFJskcE71l z6MK5@y9OB_ltyM2Ni)SNBQse|GuNO?*m&HorciFhL_9_;P|>UcboH&7szB$Qob3wF zH(&ov5ttD#t5Hf%6G<~ax(37KX0A4}1uB}&RMXl6MYBDZ14V{3*po=wS|Oop8YkJ~ zfI*Cs-wn)fDB+~3J>1L1;uZHlP_hD*ky$`au*?4vHO6TsQw2P^7Yir}Ct793U6>i| zc{1AhdlNTqoPas>=SlXsvjRh&rxSh>43kU(ri>m$TMyJ@7GzG-*4t`oZ69FEq!R|l z<P@J=1raTyoWOny7O@k$Xem$ z%!8Cl{uQM%e1-Y(2<8w{P-2-$0L{@k6?cM3iIPvm>-W|emsKt@hi-aUtxYc zf_di%W`7n2S&8#!8EudFO6XcD+Ib!`qKE&+VE!9JMPWvaiqH!DcN6p9 z0pP#=6YNPo{5J+MT7my6NTjV1`ELP9GqZsIknNNy0`5Q1z;`6@U3y$SZOtU>1HJJ@ zTyB28F>MNPT*6mK`z@j}Pa+wGm^#E9LCi@mmnK9jspM>r{dT4nv6FFUK-4%VN^l}= z4Wh=?AepkI`+Nqrm_(HhES1sPUriu;$n(d;@Tz7bVoFa`>W^)DOhO=g>Be0OP^sbm^>ZU{DXk_< z6tXA(tR%r}G7aKk$f!)OF8xNFhD$ix$Rl>{W&>;9iYoP0K`vrweC$J|a0~TtUqDD8 z+!xq<7xpzBf%Y}kdVl+xZIpw~rF$IKOldlGO{SSj#D>hs2p}^3Oe2qfAg0m4oHsD% zxZXO!u;xvj_o#g`t_kK0SGm-0f8M*_&+D7^`>&pE^s|`R=WL^|#Z39xMmV`ywX`LB zx}wc@g7ae_VJfQ|60Vw^uhNP^RkBM9qCHDOLg_T-;JnvN3k;da_Y-=l=a5Rc2{ z;?Sm}gcRLvUI(`RkacA&VX}+pf5Yg1(P05`HC!~Lws#Uwx2}{0m-PRcFVoR8jgwSq9X{`vtpo*HLG>hju}$xc?tJI2tl}3 z$Z^6_HL*Go4ud`Wp{vtqRv*hIZS+Q87y|q)p>yBM55y z^Y|SMz|NQ90pU|{`OQ9$$#Kn=c}tn$P!L@CSb}ghHWmFd8A)&jIMCG;_!bU)00$mx z3VaR+>T%$nrob{Bn1}ZIY+bervquyj%!S1f_X_CYRf?tgNJgU1;}RSMy`#J|9Xmsf z?8$FPy=|d!aOMc#mN3opZw2>#2+KQcrpmG^kzYmGif{8gvR3e@axb3vIBqm>v6Ol$ zN8+uVf9+NfuK7YS`ru+zjV1^e_~fkl4cR~4Cc6CCF`6K*!>NRLB?7U6G9iI$yM0r! zV~{<0yTrHHyTkn%2(BRdGmt_k0OObLv4C_u(Jb9{m<4~eu2B)DhYjok(%l8_SLI}? z@cJ0ZGD+IHpQN?>O%wHOYMh>394FUnFR%FtJXNvF(hzgYz|^HPjob^uk+WWVxpa?# zsYCW;y@VvVovCo-md;$_%t8$JCh%X9Qld76aJ|ZTyacNft5g4_g5Yea1d+~`9>XJ+ z+0z?`UsDp?qEv#=ID+hx`_=WtRDy8#^A8(=!`l0Y^-1+<69RVjg*I7?+wk%&p7$C} z5u=&_#CO`fl~$@3Anc)r^$o`38X z&p&&M=QrKr`R{J={GbM&*ER6`%m$uc)WGwW2A+Suf#*p1ZMfTCJH!2AbD4Em154f_hJo$8^5(vAY^&?cUfiZ8c>kloilR9g? zym%b4xBG?gnR1amc~+y6aCbrWUy_jCm5=7Z8+&S0uNA~1? zjY=%#o?uRD9Na!7IOI5ihbs+Y%^YH9oOKUI_GE=`w3mFMb@N733kpI%U@}H(!Ip4S zKz}VkT-Tov^l>=u(NWN3P@;XJOAPOyb4Llh{^>o+DCUxd`WZ1-0W~XieD-f+UE-_d=aJv3%-&pW41$R(2gn zPrF{>Fh6U#QCIw=kRbF>=w9b}McH`=-;*f2364(J7VtbD`sYqLE=`SV5!lxTdqa`d z8*7R~9~T_u%-vUZgI5wnaTlh_$tfZnk1H+b###Dx{D>L4)}_fnt{N zP-(q{8swpBqRT1?g6GS4f>05V+*-~1`-jvxY}Z$-FqZX{*l2T0B>Sw5(pAxx8)pmu zvNpJ$aznxBP z&y?xPYH@tsb%(>urq&g&6B2|vLu;Jp6lLdt?QaNdzmVto^iU^M2vg<4b)n%AQx97O zE!y{3N=~xJy)TTtzjEi2L3Pn+`-6J2i$vIAHL$~slD`c0(I(I=MNDaxyH{SNyyu+$ zKK2i-`=qqBLSocjqO98pVMU#Qm+w+)ZK4FO&qdm&)>&@$DDFdT|Ax+qe!(EQ$)5*A zCik9z_OjfVVc5JaBx0U zg{=GJE<6Z8`lYT1JwFRwGdw?gyC(2F|9C`Cyr6=Wqe1&KRsI-35Eb&C1hU?$En0=F zw>lT~vdg;}SaY@RafQ*ICqcGT<|H?%t56X5RddR%HP{!aXzRsV19O>sD+$h8aRR~O z>DLk?Gg#2<`W3O}D#V=R5|V|2>MG2%NZ4}$_hEd;7iv3o-6=7TwA_#uE=M&kYP+0D<;~NOUB?rS$Cbz~rvxVz4oL+; zxQ{lwZ#j!Zwr@g4g--^n9M zja>4$pUtvn`siecc%Q8iG0&g9$@7S@b2qV2YO95Zz5XU#&KpT3*oa#^PbJt@@OVBJ z9xo@tX6GLJf1qMk=<4ex!AD8iR^k6Vr(1n&z*S6PJ}Hh z+lE`BwG{8Z9Abq8jLiW!Aqrw_TZOlc!rM;3`DHac?D)Uk1gHp{=dy|f&a?oR&WALiX}G+=}*T~eEFFOt|!rBkSu z&N+>xh=Uri!9&FhBqVss=Tmm?@t%RX!F@Fpm&)cSc{^Quwe&USq=AJpfEmn7Ttp%P zIX>&it~V_*L>#RIn?QC`!;x_7z)=uer_cz^Up3mUn~#FP>#H9toaJSZNLz1;MfUr+ z>uDSyD5>YB1A-F+2H2o7xu@Y01b%kfwZ?w zeQ4%;*i+x@lrk)1oY%T3YMYBo+!}C*A28QSI?hzV^y9drx z%m;#a7{6nAdi`_dIX*}z&wYQVJWmh$$I6o-mZxe^>*ay|aMiL#MVLky*dj2l+Y=X& zrkoibyb1$T2YBnaO9TD-O1_v)_8>wq+ZK49(|Z3O7^FXYilavMl_NRsUw`t~$Hxl! zC2}_g3i(}WO4(Zdnv`NB-)w~-SKL7FK->KMiDr(1C9`XSfmD+Uu|2s}LgrX{s-@Y~ zINBN)M+oOH*#ilJX2*D=PW6jAmbUg6BaR&Cb1!Z~@cae)xa^ul+{nXeHe;kgTW{(W zFv?sS;5*8!PV{ukk=(HX1VLLX)VRI4-B);Dr~bk2qqL>}54c1BAK)v$OrK_8`x|W+ zOhahqI$|@_2JKnXAh@&PN5Vi43F0Uf(PS(P4_A3=?|3Eouke4B&{q7fCj2+}7quC` z&VwH@^_Zosu_8ajC&0S7$zE-%^IyD|>%IIka~jPYLCn=a#7E-^;<`)_G}N3ko(MF_ z>uaCMe?ELJ-mj0_;)Om}8sEx%i1}58`E{^?xn*R>`k>SMqZ=-w8yrs%?yqTf3~lX4 z1YYBaif_8c;om=kl=nh^zYMg&RG8Q=sDJ)8j5oL>t&KNV`ug`*#N2wA*JT;l zKHf>pz|^-ii6!*)Yw$Pv3Jv~JU)3NhYyC{{unxl7{dFsY5j7cxBvLpTO9v-x0wG}|LkA)NAR48;ECRT(@l{6 z+rs*%cT4M^-a*zsLCVv?zdUlWJPo~ks-xNcI?(rRFtCGZ?QPQxaOlaHtBm$i&d8cM z%u)ksc5bafdld$-&2avfa-9cF8*zmwuw@xR{+zN$+>@a^l_ zDn48v#}TVU+FDZ&nyCw5XIsxEb_V`a^IDMbR{G;@R1*LC#OzZR|#r$phu5=4d-w)mXQThhF7K}bqx7O*K z-tBMG7u5oNH@g0#^i6m*7=6!my~F(1^>5Rs=^C8AF8?fj4{r)a-zQyKr|-Egf1AFk zU4ql6?GlW>JL8kIfX}7=@9=F?w=n(%;tSkXC{g?GR|Jzsr>p(MH@#XA-$twNxS!tQ zd?Zn~J|CUy>?4mfm#_DB_AAlHorMy;+xbrW>p|qVSL#}k-|p}1v#HobpMf1~wDG2q z9=jUBiHzwSgh)=&*>5^;X}_}d_I7p(-rnzY3TW@3^0>8=U-g+f3Dvi_Q*e2_4ehDv z)OveHb!xJI+Kj)hb@VIF#g0O8e(Kl)f3?(}ATa)#R^Li{G981-<8YtL0M1@a!(gAd z4zU?3gO)SJ<81uvUf)rydp9Om9_LnWmAE4e3-A6k)4wUE ze>rISw$*=jht}&~*WoVrzwUtVN_+qP6VdI8whnjxqsTswyPhE+TV2oXZ;uH)-K_J! z*WRb|-`#n@Bkfx+-_-VZM{ln?;FH`9y~m=0)B8nKaC&{mhqRU#*rid;7T9@d+=8f} zYs=R5PlM4PbqD&R?yf#-RITINrn-yzELR1u&&8_0RiF2$g4Jhd)jv_6HPjvGr|$Cn z`wsZBslfWYgZxXiApcS=$#bo=&xOd~?Q=Ntj_uP@`JRppUcMEP|3&%ITPWY47RuL# z_PEln_4cS~cX#dk>K*WvwY!V{GQC}JdQ;oA(jKkgled8H_lUpM|K5)X*8g6J_$T_` z)QHyWQxkD_?IXDZzH{Nh`(G>jr5}Vh-!J9<9p3tSYM!cPgmarC%u{ih;VmBcw?uzu z#IEEpa&A+&K=viS6~VQz;41>}e(d#3udGuQ<|pfX7AD9#Ibr^ymNz{W9;iP`JYrM09${b{N@ZkMt3^wKs#YusMhZ7+ zWe=y_M>84mcuA$fXuc2iHz24M3<#=%84y&{;sx~(Zd0gVowmB3=_9m#HDXK7iY}5% zIBs63&{pUD+6slXuo>&I#}4hK6xv6{bqN*PCn~gs_GzU&9AZm2PkCy&BV@4h>?B)S zP5S5)97oJmC=<=DzK^q!ph;j30il>?SF7Mc%2F~=|Gb6t`rzpYw>5o8@bs6IZA^ba z88rO|%9iwh+QzR-mH!C8_E-K_{93DMonP-<{tp!YNck5i{;TpQworcYJgJ!EF1=R| zcjOd`AgW&f1--jN{tdJ!+ex4^QFhd8?LJLD2}+L>C^E#U zOwr9qN{>^6X9g=}|rZQ0k%4yYIyJeXUVR@O^&=cnM%Vz%U-e2!N3QRRG%q zj0V^Vpc-ITfH44j0E`9L8(0N@;e^8h{w@F9Tn0pPd;3|Nt0a^gA1y~O7 zF@TQ)To3RGfUf}D1n@P0?*aS(;6^!yF9LiC;41((0elVM8vx$|xEbIUfbRkP0N_@D z9|8OX;C6sJ0qz30A7BN*DuCw!UI6$DKn~z<0DlK~31BV2KLK6?cpYFpz?%RY05$?7 zLNJs9lmk=%Bmss2i~tx3PzA6(z-WM-0IC6Y1sDUc2f$c>y#dCBkVI^Pl&CF~5@!o! zgym%!kvLjT)J~EU8y=Js8w%t^;wm|j_O_hZG)+O&zMv%1E-8rzCz6Et$s&9{y~Jlv zBKT+0G}ExGEX~lwtgNDi*@e0DvzD0(vvQX#Tb!MfOHWFkKfgFTFR9SHI9ESuT9!6@ z@#2D+ZCOq>OOKGugIi1l+z^f?lOnE&?2+t0Qm2#%5Wsa)?Zpj_lfk(3cj&5IXji7k+o zzcjBv-}K)@*+sc6{nsp=W@u4vjw!!j=^e3%K>^X*!YZ1?f`{_VMZh4f_Y=*~pyeLE zBzH+c;fkS&P<-Jft1!2yz+9LkbSur!+>&Lvh51WzmzuH{Ym)QKOXp_`FGX3)HN%!I zDbyr4PZ%uMz#74ySg{!bpB@BS^U@;ovSkH@rrh~i%X15HSG!~7Ov@U!BzqZtYKA_P zU6h}bRb(p6U%G(K!9kjwh1rE!ro!xeQxTn`52&{sTx*`(HQ7RWijV^p@k(H&1=)n!R_X_Da;1``=hQ_L=YI#k{+5i}HkI zwzd6knsl%^E#1#y3-Ls|K zG~vg0w$3^E_>JZFP93vxNrh%}Re#ym$~E`zxf*`9BJ=6DznhwKNUFV@rWLVV$}cBFSaIq91)|Pu;s+0$%kH=eYIfl!b@wPG8N>! zSrT1RRZdDPpSa2I-r!z5<&C=6Z|wfFvBG(8F8?4>&1^GwtX9hQ_le8fm?_Cq=I zbMx9b<7tv|OH75?Ii{?loQ1hdvhUET17mys7@AmQDm3Sq%#clCK~8Q_Q9&Veh`=Pi z*kBm)MsFkc4ozNYGA+x>T{?eRLH<%a0WMvTTez$+e`!lISQ`@FnUK~}x3%L99R@fS z=4Q{&Exe0@x0tLA#cnZen+u%;7?$RmiVF%C-9@QePS=KFx16}mqnx%Vw+Ij4Z7*{0 zByC{wpy~WZ&^=c#DnN&3%cEy{~Q zBKXOuM8HQQJ_iNNm&2B27Z&9&U67SqSXkhXHg}l`CQt7tOq9#8Oort#EQ?_|3}i4Y ze|cmtpZxj+ybtuxf5eh(Q_jNN!r}QvStUh9`oM543^DmjmMx|yO-s!3MAJ8m2xC#R z&=L7XSw)X5&c730Z@e}$XJT&2vOtlW}i`GwiIV*USbo1`z6 zeq{c#Ecp4imJK2@jV8AQkMFG^Y+65b_Y` z_YZgDBc*3gu+ z8BIxRXy&&W&HP|!G>MA~igOFIObfG@wt=$1=yyPPXBq>e-vQyBsSS)C1mVyHg}K?L zyCAw*f;%E@1L4gQ+!1LTh;No4aDw%WpD{jR|1Zo3aRKkW1KxWz%hgj;MLF3^m--EOoF6ZRPIu+!?xmTR z^DYr-^1S2xRX*=BA9+L)SVnP86Y2A=@R3&}VqGbG-pPRcLVeynctd^OB|iA2;y2vq zT^8^z50Ia5`8xQ#D}3maiskctC&jk%yodVKmn@(jJ)c2?1`YCkmjrzMSA&+o<)Ov9 z+iS{Sl3QRlWd&J){a@z4!Ao;ZzPKJT7cR>wSiCsam6dp7Ug6w&Mpihf{MFc&HoshB&G=>zBd2- zUp*v!2|U!#|No*Kxr%QIWs^`S%6;t?l_;bV5=-vLksQk&d{T5sj*@dLNr$W>H@jQP z&4#k>#X6GPVt4KJAHToHV;=9B*F0ax%)I6`^Pcy5zo{!F>W}wTd74ki9UI^ff;^S& zdfuyvB^}(6_g*LJOt7_L8S9+X!_KJMSSxQrD%$wG+zRs0c>2DTtb;3J3$A68E%$LD zY(EJy-RnUk&EeR`f^#BL31>CZ6OU$i`#VRUt-oNi_YcAHUW;AcAGd^SZuLL!E%)eF zIW5D&(Cm#A`~5nhzs&C^9=ZKcs{Tnap8=~2qxEgbXC>w9^mydzA=`h)7TMxXhWDcx z@IwnJ+Rm@|D{p^Ze7R36_FZYKx4Zkz^2wg}=Iil{9h;`)+M=eu2_gGW50ATEG15a? zf9n;z`mL9fTb$U5MAkltLRaYr`Csqv9hod<)jkQgt&LarepSJ-dJt&a^i_3S-0YB2 z779Ij=t$Y_+wn%6$Na2bW$thp4$I<7`(4l5 zx{~BL?_w|A;d)D<>Sp=}`D`cfy8Pj(!Se_9UL@h)n>#$xI&${S^J9CD$SdsKCp)Hk zxGqnl{Gh5++feoL?jh@5jSIwX<=ID~G2`P|;&Oq*=jP^EwJ+CF2m_6?^~-^H z=Q|6EA&X<-uh&|8(u;mIYZFV1?q=lcA^W-X@>lA(p(=EXlHa*$hC`kSIX}FyB(?gh z>ssraZt691;m(tz6*f-Tm5Euz$inYhEArD$>-6PVkM4#)fiUyXg?eZpp5y4ep3%m^ zE4y%orIGBWgRvSZ80^f?uW|-zus?khX5a0zIiw&}>yKN~wfB$#-;#Q~TILMRMqBM& zJxWZR-NGjm5sIuhsW;Crc+1pg9I-6)RG#R)P-`QjdI#F8tZ}2)VaR2u(CyNNs8e=p zr9r9d;sMF)&Of5wv=mao2DbZQZu;Hci)EE-F>{i0wsXhFUnlX7d8yfA{=IPGS-p`s z2#e|L{QO6M&3|KMkFMXB!L@IR2sPXt;xpvh-jLDBPkDMs%u?>6Y2DAGZKW%JyPGNt z42Zz2Uwahu$BHE`%BN@Yf9vja$vgpH`SpZ92Zht7ZSe$N^KcH8y73cpF8XZCQbF^- zBErVz1m5si{k_G}sLlbQy=wz7H2bHtqVXIwZYibmr?1orsIA-ZWkV*lFY12GOROp`CJ?L z->1gA53i`Dh>5>QJym!~BfahLlyZ6KgCpf$tw&uluIzbxrTdD_i-W_qsVSMGD(S5S z|GW0%D3U>NDZ4l&&8P$qY(_QaKRL&`MiR@tqGx~oP5PUZxYzS>$z%2lA47>AeYQ-O%T zGGnW&vlb5%-W@GW{dc*eh4JdJR!jZ)1ZU>%j;y4Mi{8_bgGs;2jeB0^y_^0lpyK2C zIMrKN{*BH9#&h#SMELJpjx7lhyYyR+&+lC(?CEhSK{~oemg7zxKJsJD_u8P0qcsQe z;7o8?$MJffQSWP}(9JALtWVMEwrpNLR=;*4|h5tQ*l)jDfmh*Wfn98;6n(&Gc`rk2S&&MBk zStr@-yX6V}7vHMW;YyF0Z)*DAqKW?t&nA&J$9-1+I01W(>S8$iM%k(bWDhs%+u;Wy@g~e!8Dj^#TH%=sYjF-S11-8ocr4Zrsf+4`S)lQs#51 z!0PVqyrUG2g5FRp@=d-L9Cm2E5`51}!6hSCEB3!s?Og%t;*Ov4(ZBAR7bo2uGHzPC zb?-;%h`-?n5cljynb%}aw;aDm1D0Jwd-#Dsp@22NZmdmS!xdTmUQ$Nl& z)_mJtvr{q2i^;ipHIg?uk^iI1E86d8!$R)ObU*26qvkpz@Da-Lw5^7wiw7uCYbl6@ z;DPI%A^wO6dwh>)HD)Z@UIC%UxM07YBXmdp?iW(n%=jZQD6!H(C7tkt%pHHiO8MQm zwm8$WB+eziStgw9SSWk~5)8UA6tR8E5vJBKMdH zQhg@BJZjfmNsLj@$b@z^hq+cK$v~i@JA-1Uc9!#6u?Fysh4OXsSk_AOW2ql_cq4zZ znb#3+0LOQ+KAOAkF}ySUy3TFiRW#Ab6uK$)dtpp zUoKyHl03g_20dhdn^{2ZiL#s>l4_3H?K3p6uo5T7>RH&3 z*R&Xc6A23s*OAe@|IPiEaaDc5Q=G^r5$UlahrgpDIw?Yl zWn{F9-dgXIcCXQXd`Pc_oI`wNy&Eg(ew*WwlVHSjh0p&dlg6a68tosL>BL2Eq%>L8 zEplJ}Wee|VR{D3GuVrm;uceYvF#Ln@^Y|({Op!?#=xE_nHq}vZto~D+(O;U1kEP<< z**`wXv3G*npR{5Bpu>-@?e^r-`y#*>XZ>(v4qh?fID>I~`LjPFY&rfS6;rx|i0Hf0 zIft-X#+<}(b;+{YC&DmC*7(ye)NQXCL}0&->i^4PP5sm!YsX+>=Mt2N>EZQo`c$D` ze%?x(VpC%9u`%P>+%W#qY(9T_D%REN&zFCMGZDA!{MS;#aA&PBr^0R~ew&qo!wL_r zugKZ2xK0vw&5lBsSW79|DSEuSw`n;z35w5guV84~i4+YOXDO4W)W{qSk9`(GMsPe^ zGgXwHXp$FRvc}@8MW!Q-v547&`XBw&h7ry~V+uU(e8>4jG=Gbd_#ov1!7s1W8g=~< zIp@}J!x1xcuF+EVbDI%V68Dy&8BNY@&1dQBL0Z%vn5(o9<~UZNsBRy-qsR!)PiZua zzx&pohWXq#cO<=&L@HIWHW52q6ZiPBqFR=6N1W(mMUB?Ok3YPge5iQhL)_!~$^Y0V zjxHTddYu$^C@F5?=-b1S4?om!m*-+mU3UAkvGz}s+Bj=!ILpZ=rNHeSouW+4%`Xiw z<_Pn7ZU$((j-03iLv!NN@-i+JG^*n!Hn{)&6ZP^`m25&4yWD=@I61F^`jg^Dc89@G zXVZ1_OH50lbyW^^2(m05&0n3VzJx^mr6vAO;s5p>Y1moNzQo*^yq{9@?@4QhQ0C4S z^M)$+9FG-_$qkR1{B&Zj<00?ln|rWb#mkW%O*0~0*`s$yOoz4tQ$mK!Gjm{Fx@&n4!kj}ysUfZpdx|bF_vW9%}xd^w``%6kzX^F~JFXgS(NcipFgoDh%(ScTq&N^nSC3b$bPyyn1Lw z2-S}JP||cUH@+y3@_^9OfSq#}LW?-VO^sVke6;sxgc&?ttjBKtcLuE+q1ZNHGS}l2 z^P5$-IDa)JX*fufLE#oMnorM-D1EB8(x(31Cz`p`k(s&FLit=z=0kbi#7B`F{{8R) z9}cwv%cHsv^KtxnOr;3I(!HLy>mS(YTmDJQ1x%Swc z5lq1_I<~%!6)d{nk($ohL7Yj$JM!(}Q}d6A?3KkSPaA3MoCAaLnd~`w!eg}i*672E zV84oB%fZyyQWcR>6??Byk@6+KvL#EG6oKNF)BQA5KTWUSOK1LM(#HPwXT~`Pb>j}| zCLGkw*nr_SU{5xbnm>t@{yS5=g}QEjk1fIQ45^S0Qj1M&?C@PxWyoW^qNu2XU?JX& znicf%60=Li;r=;ilIV-;cO%;plkYakv(W~LT|QR}=(!!<2+M-ho=*Q;U&jN8+AC2l zzIZG7z@S@6221DjGwKur+Mzuz2-)pn<*oa%qZ zy?ssb>G4VIP~q1+{T>b+7J0YF;_FK?SEcF|y7Oge;YgHjogzY!&Dj!4S0TxH>Z$Our@1;V#gExZ ztd%^!?&+Ce#adO=YqyD|cci84-^*cgAK&ptR0Q+EJ;%HnXwV5ck;?T2zjMm(Ka> z_jd~y7i5leXf#9U@$>b)1V7gS`yfqr7F#8`;HmBTSgO@|dzxp#cPD-b8BHkl16>*9 zMJ%HZdeEc|etQHZg;j+Sz74cA*EWlD*e9`336h}okKK3sEO7p2q7shxzz5GYR~;Q- z9`$0=pV4@Uw5ZQ3QP@Yq&ZgI0PEGhXVjE_rdt!PXHn`ruQhnho559DL&ll*INh_Xx zb8z7aF%_j`g{ME0wIycls}#Q2VAJ##{5w554G4OuAnli@_79u44=5F89eLYBY=r(( z`gkQJ(xE6k@P3(rL-Wwfpi>I$mONLh{Ar(3U5BJ@yN-=!{JUx;n;xZ{$z$X*~V zKEm@>|1HTa?vJQjs&AY>GaP$|)8fWRQQEEVY#O<;DU}$^|1-g_nUC+We4DsRNDNvI z8`wld@LJH)kChb6bMY4VMe}ExT=3FpF^jIg82#k6a1DI?wuaf zXv&`EFIOlXPc?aAl;MJ?^YTwhUo@Y3(~{PU&s6NjeK`f&!wU+Sqi8-oBwnuHP%<5H z5RX$37B7b<5Le|5vAcZD?J-UBzAE1jFSxoBbtQaDsnOg#3Nd=8eHGm}!XDT6MGE5}nu2c@isz-m9edKrq0_w#s?<#Ycfx8v(mrklQ4`3FO2O_>3UA={$hq=?B<`!k; z`@ODuJ&o{KZV4WE;QCvuKR1LtGVs^Us9mY7>SQx)e7NGU!NZhw34Dhaj`LZQax78@ zI!zf!t`CjfRdyIUJwMQe%J4&u?q~l)jP7f;n_|yY57fBT9QXSn+_ImoGSd(PdpuhH z1YzF6+$Z_OT>Yu8@#c48eeg+@&D#sAgv9PAwj&Q*ugM3Js{NvadQTisRjTk>{y8=g z`}g|*9rdoZ;l$(P94Ds|%OL8&6WV7V?`#kZ>ZgRqHTQEr5BI6`>u&CZ zOPzRzE)}maUs8Kw;9<$6n)Uhxx^n_|o3CiOO+E?95)z1)zQje*lE z4)G&uscnuKJWe=|lSQnhlG_IvoG9wn{0rW?Rla%Qdc7nE*~s?@j?D-n_tH;|areV| zS2+}QdOmyw&hMrcWeiW^TmF@aBO6PlS}1s6TqK96q*rW<-VYVElod_zQ`{Gry*`K1Oz z*Zd`SIT3}j^Tl_vt}>=8yX^Eb+0 z2Dy71Rw-&`RNwkCFg*Rm`Dxb)ED?2r&uv&Us&Kh;uKKajlZukPVlQuLYFu|L{&=Bu zhpSspcBOB<(^7Y&U;Ilu$yJ4!%3MlJgTd6sWq0XW{jR`=lz%Th`(LtniGeqv*yDjkPRSo9{tuwGZg>hnSPJW3cb(JuL-K&Fe3ok2d+|rM#K@i|rV!wrfTo z_C)S&`rD_C4Htb^4?{iguCtDM;TO{OxKFAy97Joj57gItCuE@# zdoIY3H*%`~G5N@zi;I(43rh75QZk-aj{Q`rd^Fl_bz5#YP%h=G{elv#H@~bgYW2dR z7mY>9WB)W+noO0NqAfs8J>*itcSC2N4|vu`=XRrVExi(#C&QkNQ-il zoPieo$RoIxo-+6PXr-3buxF1B)<0=6&QA%yvXJ3sW{2SInujXZJZX{tUu;r}-l52$ z6H0UI15K!Rx?X;Zld0X0%zs)b$e6~;rReEx-V1_PLF=)<}4R%uzGI%n5>o8uMzNLWIMWQn)gPckoc$J47ek~D|`=?AFG_ta6vsj32 zR;An@AK^h=xx+~XbCauD1s}$Z2AXcb+|^f2aFm@5nAXqmiQlK(JCL@kb*6ZE_rT~b z`VH`oF?TjS#sELNVv<4eY{>7J4|Ufb-?-(jJrQvP@3b0o9A6OK7*FYGfVIq@1;Vz> z@bl5!3<^2gjXY0j2%g+fbT_2eeR8wvPmP!#|Gm_(IlkfV9=jTI0I$9>ltW2JE;h}7 zY}lOL&~vw+jR;MAwg53GZmQ+5I8se4`h$ZfCdrxi_J6}^&xab@Q@_pcaL3U=)3sOr zf73Pac>0zw{wfmvgi?*nYn#_{_oJI6rc{+S9p*LEG_`P$0f{~wBr4a)UG`j*;ti5Is@^!x2GXSiMKc;+c=8j<>K>-Z^W z{yAaA(pC?li&&oT9P;1W8<9tJ2fm&Y&T-$`aD5`Nxp{cCQW>LmuJD`llU|~O9C~1R z(NdLqnx^R!k`}_G&Y%^R{fa+YLH&4=7jX}!rd5;(sm&Dn-#*f7{gpMxLY(KCLiP71 zC;znw9O499!)HX&QPPb2Nn@GgWQJha|A;?$t**i0mfOH0T6Ocqn(w1(bnvovk4w9& zs>!(#*yXqRbDQ5}VlTk1-TLsGSp4J971+(m>upvxsAH@(naW->O&hZ#$*%Yxs5XlB zYQpcL@*RuRgM>4WR5-!Z(jR$gc#SfLwPYKPYFAO%Bl0_z-m$RK=}p^<3r#qVx;iXRSmB8%*W2j^k>eR-y)RfpSBt=>@W+;=rr&M%)dl zSWQgh^vc^_bs1%Ee(iMV`%^eX$HDiSnETV01KN1v9dA-j;b40bLu(g^Uk?atpdX$) zAmzArG-`j*I{vXygC`QF9uS+eMz2b#^a!S&O)sJ~q*Y#`40;I-q4sjMa=u|7Oa7Ik z_7q*A^Ll$}+$cl-voP1fKggIyykh_=fw-LD{1nMHqK~<|DrEN8rm4E5IaUc8S-@Uw zE)na06NAyYy0@{OXa)a%_3vnOzwf&t>gu8%CZvs$*JARH5#Eh#XCe9P0un~2S4G~N z8ZQS(wAOd0ixf%wklxtvO7Hpc#zglE^gvU)bx5A%ICew!afgYuKXWG}LNC;I&(_|H z7ue}Da;r{Ls7{06T4ySB;D%!o@54QN;q_~4Rzv+J088UTE0J#BLwrO_`{_f7jA`Nl8Y^TXMamLZDdteSF7c z!e4})P-e@)s+ut>!dA%XhZqv()GXFR%ojf2EVdf4dOk)&=)DI1NkG8(CnM#Vq9Q*X z(u6G~45ll2^I#OSIU*lx$W;;=yShcT6QcYOI|)}ePZ6MJa6|&ehX8}zJGoOHZ_*GM z!smaAog^AHCJ0>2;PmQ+y5;VslOH)2?aC7(VrU7*DfnHpSuA;R^o5E~&cfT8B{o(WKov6lNt z$zc|q{8zk30`Oz3F9GB4ffZQm5HFH}D&JM1#@H^21@FbK;{Rl9SPRi66J8mfdM{uE z;-y6BMPO6>rB;ZA4M9t2L_z%r>c~}3$X*+QyKv2Mz}J4sQpo?q)aO&A#jx*aGd%;* zjp&;9dz5E#ytCy`>#9=CghuuNu8vEZLjHwQ1@hzFKshZdLEuOR>XgvPUQjoGNm0nZ zV2aTSiE0r$Nj*{F^l-`P!|+9f`eT+&mHqqs0{3*L=KrB}N#aGvOY> z`=Nlls8d-uG${?PCp4m{K7|~UbHb-flMi@8td634<;QtIT}76H&)6$#H02Aw30}4Yibiwhd?1Y(oHF_G2_Phe zoa+x!*IO_{f z4-jGUDsYQu1Uj*mnE@cGvfJ0lYi4UP2kd%89GWhS|6C#mX#?nuBytvD;&M;FiyI7 zMbf+t#zr_A1P7L(Zl8olb{bYw=+YzETfD{2OG2+cPEp$+A=?v2Q+F8RtI1;Ml5&7{ zau>=20^Prc^u^3r3NbIwRpZ7@=}wvSAP79k#fGY zV)?_TOP2jd8A3%ZVvMkw_Cwypp+moE^hKkIZv076eYlEU4LwlOVsl=?Vo_HY6mSX& zcN_2QE=PpyzRi!COjw|9ps=hF!1(QuH~+zzR^G+?ms|4os*kYn5*C|^k`{|}_uSA~ zqJijO$SKi5tQX)L471o=ZV?+Kuihkg2`jTh07};oNT@WM`X!;DHVA!E zswZX%<|=7%kZ~Uv#Shwj8-oGzuqQaY{UWe5oCwe z*OyD-!l;CyS(=eDTlM>v>woyz8ny^JVaP8a_c`}e7ms_y?%FPdTtc}gbob_QZDhri z%3x{8IaDG(7W%POP;-)W_oF>GNC^6iRDI=NpUyC;T7%F;*$BwkdHrYniz_&_L0{PG ztdPpzMaZhG5L>`F-*-y9_>s`(Lhc_8MY_OApV3Jdk2}EG9tE|Fyvsn%Yn5(0v%z2$ z?Ddzlkj$MhFtQl@0u1H>Ri(njQTxKOoj#2`} zH-k-R(u55meBZ!s5Ex8yHUwN$5qUcaNwV#$zI$%rP7F3kw`!tyxr}#!85~$KiaKqm ziuK;d)Bu_b%FWTI?Nzb&_6-21$K%~$7I}OMa64#@`IyK7{FHsGU=E0l%X#L5BDuv= z_HBYx;Gg>if!p*jaK4iMUEDQ78y=c~tOy};WPRzR($$7^^X(Z`h)QNWYNud)CGrEVx zgC5B)aU-%)o^z*R-xu+%&(;N0UhtfJ;&H$rqMB*D$kQup6rcDnz+CF{gEXP$qpUKQ z@mbKykoISE0a^yW-aoKvvI1P<1`}T4^7AHye2=oSTu7xrZt$i# zbR|Cxm$wsTpgc3{J+MkqF+7O@0Lyoq6S}U!a&$T5FT2DG1nv#@j&;-iva#njPxndaEQKYikMIR%_ASIf z$9Lb$!@RHhO2>(Av>a?;{D#>Eeb1AAm2lTQMCLZ`y@4{@ z*I;5v_LP`Dbwq81bt?TidfLu zFKlb*FVx=56aW#gY+GT$vgOrxEH=e*o}+u!y!rR1(IfAJEH=LYnqlSoQboOODsu_W(?#Ka4R@5zISKVMX*ZJ4f69s;QFOL$40`0n! z%~@2S{!#O$c7cw_nc0Yb=L?h7r`h!~74Vep;I^#rz zwxSp1gx5D#Y~@2gB}R2Sa(6&I5Gy#bk&}uBX)f+#zoK!?ISSC<(WK!-JyvNmTOR{W zuGS;mq^T$%>}m6XsMzG?%WH^$e!myZ*u$*HS8%m_ADsF57Ufde$TV|TXNT*+>BDRJT*z-$Oz}rLy5~9a~)r0W$}yv7vp9;;wsWp;F2!`-lG= zduG(uq8sWXQ@-p8Qh-c|H8;gT%ozLBnsaD6HY*`F#7m}LWR&Ne{+!;Dm9UVm>Wyu% zZsqMrf6jg6D;5B21pGK}nUw3b+%`4kS$iqzdij6e`#}7RGEGL%K@e0yX^EXQ`>R7l*Kk1hzk72l5o}eJDUa(EltJ-6JsUwAU;V~ibe5a(l67SKzt&8JMtU#cJD+t z7#4kO2?$hP0D|+AUE(+c$n0=}DYgK_vI&EUZmPG;ZJr>Aav|H;HvmfmScEsg9tZxW zT?OP`2TYm3@fr>WDg}O;ZL*0>L#A2JLaT{gJI)UzjPS4I>_%u;=Pb=XuY;L)<*ViK zr&&}_ncMu1Ad3ZT5i(P3WO|hsTW$RTeFDTU!~~1m7kkNKlLq>qk)1G1b>hZ}nZ0I; z{gKWhSt_BG48*Fj@3v0LMt7?4Yk=#B0oO@aD;tVXiv6@DFB{#g!Y>A7V?aI&(vkE~ z_Uvc%9Fq4>qBFN#tf83c^a-IGPchpf2FsM=ZpnyPIMbwi}05zM|jJW^IMMyUl^_&0KgUiPz9+_?WFTR zVke-etA#zzKm^O&#XPY7Fk7v8C$ZaeFy$*)p?-m2T)B7|F&CZ;;{T1|Z}=&zL8*iP z!{#mia$BVg16QJ?YkrPb46^7>sXC~jiEakrxn(F}A>^yrAl2J+{mK?KNVXj62Ue1w zK-gy>#$fnO)~TgM5Ex9s;t&PE%jE}!k8zhlgr|A|a0mcXB8@K2VQ~PC8J@VN%8#>c z#r$WRgo)5!c?~Xi^jDtSwxX4)#CotdB+YKg-sL%fXyXNhw%kd4Sh9EnA!+6bsMdgb z6;O-7YC|4K_-lAgh&+_=msl*EUm?~LQY@@ClrVx#v#lXt%mJPT4*{NL2s{l@Di(#Q z0AAS!yb>D-yz(6IN}{fqJ|BST)SQHD>>ya7p@4~a3oxZ@GXb~9JONA;;P(8sBfmNG zfICG0(YrO1yj!LVOELVd+ASwprsEv(i$Zjh+6WhGC>8+=83J4RM8NkE!1)0(w=vm3 z2Q~}n02>|TE7c6ny_^qP=zP~ae5?^{YLzR+U}(R>U1k&S$S$$=V=TJJz}~T0_1~OJ zz)V~Cn;B{uAS?qyJ&@_TjVKq3f{g=0EFg$*6S8rD7u9P2fyKDLZxy><`c+4fHL2l1)x1ql}wivZMiwkOg3{H;97G0hJ1XaCMsi27*utxaR>kbrfi_ z2jh<$Oc*G#wRMI6x<1!eBJ8}qrNn2WIV5l=kCt4iwXK=0#p5o|R(whmA&?<%Q=08RAi+3ezW}V(nHqWl7+ymeK*$3G!j6e<1n|y= ztV1I#MNq>~7mdPv1vS_I3!QCYis^%YKmqFm(0pGE2wF zVgw*6+mN3CvIfLb|Ed2*o!iC&mnOJxXBZ%Z0h#3$kU8b>{ROcPfQ7fYIzZ;(c4pYV zm8S$(X0KwvBCrJ_(X6^RmWX@K6#@iVPQn6oUA7$C3Q(Q^WwlM%0EA9J2m=IlK)`Jy z+5sT|5d5|Y+lX%aR?J%<=LjIqauXI1E3)Od1$A%!Ht`}5uFV!3Bu)atCqM`U1Uw+v zuL9O4Aj=l8eZ>5SvRp-1tUpH(9mPVZN6)kp!v1@XPT!%-elG@=dzplV9Cgvb>I=Ke zL$bg@g)6B13@ZJ>RqISEEdP*q2&h*FxO9O32&($QwSJq&dUrWh1qi$Yu=SwATo!EW zZ2-~qOe+Ql2%7+T5O6YV0Z|(e`GEKg5JirN4nkiY^2S~UtVMu$U-pL-qV4^kOP`I; z(oM{-t?bRlrSB@$&&G)}Z_=6+pgqjH$@pK)7zG4^rm0VeZ#MkR)JP6_x0Lb&Ky;zvzwiGk;)N z;gOPh@Ra_`^l(SVkxb-)kcgI)OzF~ho6%LysyVb;-ix68W-^5-t8w2r`IH+ida1*9GhcMk23*ig%{6ePc4T1U3WRY9&mIW@p%<@n-h~veZ7jf%{iY; zJ;FNGwLz?t`r7yp6J*vqOx+*38IniUdaAj#tcOXwbLz^?S*YG{wWzZx~LFB?~l*3sH(z6D*14d^DTTVo8z z;BOm)GiT`+oNwaZo91DI*ql*bm=kU$8+Kfu@F$Z0G?43MnrE-s#Y?`8x=B;N{VcKV zL`dLF`fp}`8iQjty9*z7r;B~TLYM!pnYfURRqQew4rW}v$uiexHAdATu6&Sm&q)}UjCnu7!zoVY&vJf{W5zBrp~f{mM+!(^r$^sa5(LW(Xi7zGNesrT#K`yq0o5IRXQ%CG>2&u<=S7xIOZ3*>i;2tk!bD_yu zI~i_Av;V~$Q^1x_{h_e0QP@tnJOWmrb0vo8--SS!F7@T#-m}IX#_UsO^FR^+DITOg zEsM?jAQibLERah@2c@e-2XO&=%AvRRl*2m?dt+laZQM! zZj|m=NhsWEk|m`p5yAzd+nb=Nko?V+xg9G{6Uj&7{LE1X0%o%lpJhpBr4i{6H6-(d z*f>%ecM+l;%|r>lT9^J0S$QWa#NG;A-iGUD% zH9x^tk3%Y9P75+gP12VjbaPICm`8jfGy?+r8aZO9>zp)t$j$FDt523>kplBO5_e7s z6Dr7T?H#2EP6~wJdYR|XbWyZTpfcpxZdzwT4D6ngr5;Z!8SY9W_b}fmz%S9rf0%SV z9x54HvMT4#d7ywzZAKKYX8LnPlZn@8+I`FpecrBQ;uV_JZH}V?wz3&fuu8ejIhstg zqv0vrM+slIj}pohum#Q3cdLeh9HV67Ia6&@4cg00)aUI<#$KaA`@pAtcw*Zp62SB#{q4hv>oi;+^N|AFnuen= z<@7M+&BPC@+5wyn1^(k^;-^)70B2qSevU@{#Wd8%d}_AuV^-^7wjznNE$^@TLw7$d zv^aZd6}4lE_4`2~0_Ok;>Cht@ybO}XDrY{7g#?9G1%-2NDF`##|Ee!%6)H^3@e zAv$RP6{K>}L3qfXa_qOm-tfW0-peS}sQZc79>A6c*n9w+CSY?q4pvwfunt!PmNL;n zq9H^@G=UOp!fZ+~ckO1itNTz@>3NTgxoy&mP56np_5I_b3$dw=g8?YXG z%5gwH0$lmO4to=~6PVQe)N`$~@*WRos0H1>nRtD^{SVV@PQ3#BB8}R|98};Fnt>D6 zD!}b&@Lx=p0`W8r{+szgfp~!i?`8f};FmRP_b@~B*ijYD+JDwv-ml{PId_v80X%qS zh(6ur&0NJ5no|Jhb~13uKz&SJGqxy;UzE-9Qy{w2;1s5$0{_AI{L+&XRdL$poR)nn zFA@>A1QhooOhTfkGH;O7q=}t^gw++CGs#z)I3h^cSkcrPH7#v#l&e*0EFCn7=whRry$`&M!isU8BvSf;kt zxU@9Ca3^POBJVh}qX|2GfTn~g*jf7SUmjy$Qs2H94Jp{U$NwN1O&Ylgm*=CI>>2%~4*$daK}|uKZ)-aTigTZG`(NP|wpCznE1DRJ-j1wMOvxKbdMp8xBN?BvYMe47!osm|;9upY_ZdY?S=h z;DIF~QopC9ZNM4TyEbU?YN9{q&Gupi;!U1DCdW56<=0f70liRJkH3@?kwvz#4Dj-Ac;3Qk_6GQ zXhUQRHLC*qkxT86(84rmmQb)YsQoumDKLIR6|NyNk_|*{)bUwap`4 z0;D%;hi6)*t#p=5uB5~C(I8P6(oCb=Q zr+jzDx!CX;59la^T1I%d5b35WTwBC!yN5U+rJ{`h z*r#?{z@s(|kt(DFtim`3+d`ZRrYJLUR={SyUNsC-?6iiPjcZ8*#ls9oNN9A&#@5g) zAtig0&d^4J!L)%$T$c?$B%CA*1`CU0pM-EeOjS?CsRIGjY_=+d^L7f`C14K*fbY7L z0vRv;rO$_lllrU^f0nRR{B{V4L}3w1(Q4L7NGxpk4nZ5(E0KKA2?Q;unBX2&M7~Hq z7!QIw;gsk#4VEy{;}&SMBdht$>$0?vG!Zo*n5soREc*5G+HpFG4y>qdZ~5=^rM4D2 zNgR~a*FGM4er4?ooiqi8Wq4{>IKIk;;HDIP612Z@jlCltoq=MTty}?O*)t4jLAECA z8FG9YfTcU5b_wQXaK0hOUu+k0SwBTTa|k~r zjvU_rr9k@VfB*NmRq0h4=yeBH{+ZWBX>b$ihSVcJP|z24d${^v?eI(uK5Ya>%QPTH`6f(#R|IR zebQxBxR!K79#Dj2O`P$lNh2PT?gTT7_m-o2W?V)UeptHmlFVD87S@G#FokXAG=*;^ z&QDm)Sk3q$nV;!Sv(&37)p`T$9ZZ!K58PS_tfDl>5HW~wYQVGcYFtQIgu<(w^>#A7 zmHHeiyW>Fq2|2nKog`wNDA)0mW6KIVK?a)Td5P@ya?-!iFGvoTI{1_$Y?Os-7eLUmwDGm2hy|As)`0Vtih+_?YDW2 z`GLDbnZ1?R>gjlLniQgbb9tEszfZ#1@QG`rEnvILH#xxrBghH}3Ygj8DEct&b(-|v zI7uKoQG8nY_02Y?|HWwo(RhUaZb5~ktcN?tI{=^J-t2@pH5)>J08<0_%FKh8%C8I4 zs9zvKmq5h6k(3x$lU6NGq5wJS;$JLJ2dWZd1qQamgwlgZ<=1&>RG=~)6vrNHD!*<_ zTfPi201E*T@y1K^?}sVrqYx_SXzb;Q@!g@NY4CRtR3-p>KIm3{U6BTV3qj$4v%kN5 zQ1H_Wl&t`BJ38Hbvs-YN4Z#_L0VWUvCt7!hzDrwnhg5+Tg<24LPt@o}8}up!vpx6& z-&d8#qgAmM0s|mGqn5w7DUW-rVr>MN#y}F`0Y>>XE^QeB!EA>v56{b@``=C3YeR@? zVvLQp@!fCSaX}YlmN;3;7G3<8M@Cr6+nM|$XR+4>m@0ERwfTR^#~@g>gM?6)=gx8b zyQYkXZ{c_dsg_`47r~m?8CQ7VeLd&FPSOSA&U>sU;&Iy3Ivvwi|AXjGuV5_0Vzo7I z?h!n2qhF5u;=yN&I7{hFVqNGR(a=}3|8zfvqD4cU$JY%1*PH-JJa+lOM+U?d9L} zydwJQ9dlMZ-IC-zU4t%zBwUq>s_UPa7Tj%Z+!?`g5_pA)eLufD^4eAL)7*?ExfA^B0w3=6YgP74Q%^u7uSijAHrbuu>y=3YB@sD}uMP?xFuDGi z$NfICdweDDGr8eA2V@F5w2x{@2uQiQVH`ZeKy&|0!%t{Q{y*B@1gfd5`4?r5$Rr@5 zGNfA>M8wz*%n)q{L{wB%lqn#sI6+Wk5|S|3&<;o|3Mxo!Ct6Vgf(9gHfJQz=iL^>0 zQ-X+53FH8h1Tx(^{r&y!z5jLZT5qlQ-ddJtSJkiT>|J}GJ)M1swkfMo`KWmu5G6+% zchAnsbIIpizDd}nb$^GcS-tX_&g(_%>#NL+Ru9hpahf}GbrE_oTKxttxS6YK;X<3a zdSdpE2|V7f#GkWT7Vx}@OEX0ej?Ji^|C?ITT-Y(+wM|sqygRPIN|Q7Y3K!Nxq_Otd z8O<%E1TF!bMY^`VJwvWKZaYjd9b*^Z89FQ^VblNgDelfB#J=WhcGW^FOQ ziNopCK%{G%MCnRv#s4UGRG8Q1s5zO!yn|D~5!rQwz_sqg?WDv}1SaNw<2P zie$!_^PPvb4UD(V&X&65zgWzhj2e?KXAdmmO?^GJPXej168yciP4k4?hQ7Y3NIN`F z`1-FQg%#$Kw&|-#a`drn^MuuRmz=eB- z&4Hj>TV=0>_I+ft@HJF)&>41&OTKf&1hpJk;824v~3y0~XgGruTHQ z`uT_J>u;2Ppe{X+(+RlyapF1rc4h0R%ZSxMfI#(~53a5DE;sT&5?r^s zNH=TyIcg3Z3mf}9JF)I#g>~HQ!a(h|jq2+k9_*vdejPMkdp7Az+uf|#JCoGVvORj| zL!P9Pj~zGnj2gqvA-L!`FCuS0w#nRc``FpDZ_cbHw&Gkm7U?*MtQc-YKOLcNDji_qnhs-@A#}*|l(urHt z|7YJGJp|J5}ZD-fiXK;}n z6f*Ap?e7QNWAiCF2l`I(bV}|(vyL!|D2HZTA$|K(Xxf9Gti+L3p(o|pk9Cg(oRqJ5 z9CxnaMXX=`+j2XDj@@0NvhJ9e=qn$%5B>1QWiDvd~*7^9KYZFS| z>4d`LLfCE;QM6zk{*m4TK+_)c<06u-n*#KjO+QVKjzf?um6p_dE`pBjqkWe zSHJIpx;Ae?SVqR&`pCU>pTm-wx~VSe(eAOBXvPPLiNM-mG(@R-Y}w4#+pogDeK64y zL)2{KXQ;3bNsN?pZBqZeiW4LJ*~@l^QR9v{clCe1Kw(O!x=ZURaK@S%q4@hsDa7(! zH?M^~{6f0bkY#SrzfD>C_)Rl=Wh=|7+}_}>D@{f}Laow&=0cNQEguef-v6FizE-X* zT|WI_WbY1U2TSzDb+6H!7&kjHa5pi(|hgikq$>gGElv`t^tJL8Inxzj$ zOO_ecNLHyaW`x$C#R1QGu2XI~#OT*vEo1mVW&&yP+{DU9{`+5??3(JkN-sPFyZ=o* z*5+FE{%e!CHxDRR52)H#4ioO~)hvHCU2>@FyJ|4tTYU30FCDL&AVVhSCg$f8Uu60C zDGhY%+gmX666yJ7D}?rD*cf)28KEO912%mk`a}c6D}-b-!SC8;Y4XJen`dR-`g=m+`5va=3DFf^ulOwx++|cK99ZqW*&O=^MXb#a}xVn?QE-gH)jCE;X)e5koRd0;D_*&)2+*C)&#O=SS%8)aJ7S)><^&Mjq z=K?gzzM2P6+Q=pu?_@b;>pYKUUi!@sc+pfK96x);`r(!HUoRR@N@OR?+t&WJ3KnTT z)1hPOTZ^CVf3W>F%h0o4w06q+vhwg*%FhNxq`{4O+Vh-bdzOf-Mf4QJ$n7$((LT^>xB4qxjk#Ue)mCmnS%Z#<0R#$D{e1qvwtVN z;Ke_El;EV>FTGM&i;YW5i_3^R38&o{gJa2M6N=Q3b$yCMR+U_fzo*|$b2d3`YG+eYcz>8j z|M?+*eMfT+!Mdl*1NQ}z3U&2JK4W_ba}OVR&y7djk|Iaf-c!#Qb> ztO4k&$m}Ulc1(WEfgw2jsSXw}0{1z4V9b^3f_Kzn;zE3>Y|JL8oq4Zo| zFCdJboAq_-aNwC)gn-mQ8g20qxpiV!zj}QE<<5(A)}IrDjVEQS;6W_HsEQV^*`kht z?fy4$`J~7d8v080mVye|!gt(1EmVV%sl^oDWyC^J zTo$JnP<^|4SP!1FzFxH!)xLh*6q4etX{}P0`nnsK;IwuNlX9Id4b@V|)7p1+yg{Ca}?V6bVl&AWg2|C)$mV#7rm@z)V}>FGfv z9%kGbTT=k9YkqqcdJxT!5PIEr1^vv^&pdeYzLoxW#|#UI563bND$D1yxR`!2r9g6f zEdNO6?!k%qf-Qp?hm|nKU3^CUI?%qy(dShx%SU~p05)vlh0)Oh?ENv(Vdd0(O7=6t z#~Ohh{^vm)Pkv!OrQjK%V(iu`^@aj$#TfmN^7=*Mj_Ie9_61Pg&Igq(^EFqV;qQ%c z4=UFcP}U3*{+5TXBAxsP>pDH!=_B6XN1s zFi#du1wW*|$fnL_^>>Gv9^IAcFrMUv)PBIz$u1c3b|r17=S6n>89}sax2f{39QQ!b zo-MEvIFAQ-A^9Izb?PM;^-g8=zX(HY!kGZCN-dbsEZ( zE&>lp)AOt$5RnZYz?7Iiw|e>d-~8EGyFj$Y;K5e&n`S>nZ#grIG*7qdt{VGn)S%;; zw?-qEeSPVb@GR!z&!1kNs_!`GurTnV1N{3j@Zy6_@v<)m8ZT@@1rHot_qtYgg&leL z;1@^Ne`5mwo}@%f{FGe9l_{pDdfF7e>Ozr5rRcbNtV2@;qy+9Gg8uX2~^2j+_JU@>Q_lDLg=A$J(Vd*eN>&0_;U(!*T25-j`wSd z$=VUlUFS%G#sgssM4C@+cOAQr+;Qwy)ve1I0lE&Xs7~`5nANeTrC4CFN0)S}Lx5RZ z;Mh$`Skg(Z2Rj@vEdY1={h&~$HBSKsur1Cg0S_Ypmd5q-{uMYMSv>##N(>v%IAx>c)hHl={2GgyKM3(j~( z4&6rJa5IQ!Z>+P%Sd6p*P3i__mU!QGOku70;k1k!7*vX@GD=P)P_GkCgfB)_#`ym1CK&-x(?a(i|P|R2Dh6Kw2?o*+EF^v@$woew0 zxtON;yY8=1sy*08p^hve(GLmy!r%W=kietB9TFu_I?YQclnlNZCO1NYP!1kzbpjaz z9C#ej4P;Q(gGa8Z!x&iu9#bJG>dUAjXRy~r9sLA}P}ET`*qcHA$rY%h>)>bt9N`y% zqwA=nEvO?iuot3^3?U&wi-rb2AFYKWkf1?E)W4!7S_)=;U{4`|8Ez(^U!!KIy$Rf( z?hU`C0w8gGf-Kf9NDX zo*;FrK#H9WJ}{_{E#LzS@lgv`-&Cb$uT%UE*KVMvK+~&lk`98|TAbRMV!@OuCo3X}>I3`7LGe9$q0)Iixl9KfZ4eA^G5{tJFTNbv-609yI` zK`cBq_&FQv3gM~2!qXH0&qOdhQL#FKYdR){$O-u{O=o%{+Y3*WZ|fde$i^B_^px9? z3&O(eLLG{2=1RGxFqTc#!y2h)%RP|_PFpTs*I!$?7db8DW(Vs~>@%0kjf5d=f*y6I zIsiE&#AOF#DDyH6=SC?X!=`Sa6tg~3!YA3mX zZJndB%QTnc+19xl%S=N#i(QhVvB{h#4;Qv`G`dV3Wju0OD9NJfXmIkwNGgYy#lkS> zC@I2Wwg5vgQ)|l&5HpTP4n>b?sEkEk38`5`ZO!aVS9zSUhmFSwOx5~wQv}CJ&7tTs zjg&`_KA`}9KS47m6DLmZ%l5Icxdnnj(_KU?X591uF^dSGz6L~ZiSv>+se6P`^q=%24V zfw&9fvgrDFONO0%uW*FJHITsHA4&^Ak~luuR80RoWhSyzXq}a+&zi-sk*^o_ac~9_ zZL(onFcQSc$d(yMbjkD52t(ttSD)I{%=ZQ?HK|-Gvza)~Bwig3MD7c#SZ3}r(Y41F z1M2#YLt3JBQO`3E3#bld)Cn0WGOBMf{k;IIn3QbEQCq#!;F%qdBM96WreZiV?4^P* z8!s58pPt0nKBgRafJgpRNo&+MZb`Wy!af$bbYYLbRZrEZlLJOl3nugJA5*qJpbTzT z`0Z1bp6_O@>|zc5sq(K;#|MlM?1u%%-jX$YDE#e;(AMcx>|^|*E|&GQ%x<#m$C@Pj zEH!ege8tL?jv1fv$KNI;oVmWjV*1wklO6FjNgLKujOBZVTtXT$*HYeuV9&jHLSHO9 z!_s7yc~>;IxzY)^(Xk{_&IEb)D$By@WVy3=fbnMbCb?+rv+V9$my*b_1jz0 zfY#|Z=esE&BEMDh_fVc~R|L0BuPE%M&Kl-=AJ#PNp-8tYiegn>0VAxr!(6|^l&}YQ z$)Bo{Sk+X(2>0Biwe4fg;RhP0Z`SscW%#y^y?UzF06))W3qhPhANyl*Ag z$ubrwwN;k`{Nh~1&%=eTY{BWN#q#<}XxlV>Lh9S5NV}e%$!fYySyZ(9?o>s9u#}BA z5E!cs<#Ui=4n2orz%)@NAtORUmPAWqk?AZC6*jV21_BeciQFC`a%4Fa4AV@RfvAM| zEUcEsT=|1MSeVbI7~qZ7Mrkt=4%heT;thPY;nk&HaCWE;%{WS*u{g~??XfMfZ1B+M z|6f}7UB>xI=0;yuuWLBP{!#NJHRu5XTU_L)6N9_mkIqX(AEw6Z5TMYl~9*WGr$^?-Q=%VC9vixO_2;XR*Nz> zbGE!lILM*uQgzf8^34d3E%IU%yDTGSX+qM~7m|t#lNCL}O140sV5Ihk{-coXkxQ9b z*bzqb-bR`D; zb_`4!_iP^vH?0V=s$vm#4ooZXkl=E z!6hnmg=RU!)cpI%!0S|1=C+Sj_{h&M=d$qJ2~Nhp^<$4hw*%2 z@-KSw7GYr)ex|>LvL=E%m2og&jpo?r!aU}%sBi&AXZpVl9E~)ZD`zsiHY4xOA}3V=NC}%@K+#tQ3u!ql19cpX8!S_GDB{7^ z7^qW4!$H|o7&)G!(N_}@I$NWwc9;7IHTo3melAU)A{gjYASN9=!Pf%|zv1)L&WUz4 zR^`^zY@)8lHq%FLE%aft^aO@#EBR7{#!1bk=rS?NaHL5n$d>48>@)FlGa-fzbw5LG zDgP0na?ElyI`%oG*AisxLhaxzQMNNDM0lC)nj5N3n^|raW#VfRWyi>SQ(2m0pMXz! z*aJTtm+fIIl0JJ))KL|&OIy4ivbkAF-Pu%=e)A4ImSIzt^ix`}ob*Ls)h-;AVp#J# zSO(L)T!D_i@uSAgUv;r|81a zE7|dxrLVdyJR&U9a8wkmQrA-xi#!zi2-TVTD&hcCq)3c`E?|}%C+yesmY?h%*|qdo zhX1$9T%Mk6K>aqCY@S9!EQQJ)$N^-^J)i9QnVzS+%ldg*JT+?mo-Ou60u=Z%*ZR`4~6txfg#yC({5Csh0XMYHnNa|#b9+| z0+EKqah$VRTK-l_$F$xKEsZ67tENve>9}g7N;fU65{PnfiDlR+m=bW>B8{1PnJ)6> z$PmIHW2Vu{Rr(>CY!*7+=L@kMiR6Gh6Q7&pkJ0ETgAf{Yei{R1xSS!))@YGuDdXhz ztgO=V1nA?;eD$N|LEp9t`6|>O?29sDn3g5kep?}I%k?-lVY3Er)c?!%p5VNRc41ku zup*nTjkg@-dI=+ir6MfLTJOr z>j;e1E^>DS$A+1W3AAA!w71W}>S*+PGoFpWfe?13x9>@1#pR4=wo?tcI)r^1_`A{u z7v%z3)SD8%ss`ra_%29Pz!aI#4vAwRk&#aKQM_TQyW*lnqlRV)D}#8#K3N+qI#}m% zH3}}whgnsSutX=;WvB!u)~s?=0&`}D#rr;-GvRw;~S+?NV z0w8gyo3~JgP{@|xFGyTPi`NMWJZgOptkH!JbPDS?YMG0RmdC6_C)x zK}mb2EE-u3U=%lH(Wc0UH40q@K{x~|t`wGL0?4972$_BaD(WC4!chrY72~L67!njT zF3+JDR%m&+kf5U_d=H7ss6+sXR1||2br(orCeBxB&`4E6nJdvqp|vAHC8dx!f=2TK zDnVn{h)PflT1^@wD6$z8nFlHjT0H_-*pY)#3EBX5Kmw131qTTaG^}*6!lIrFAz_31 zL8}LgdZt056e2!+^sREPl(ItZEDUGk^#wE4^Pu%}uhT+G6c8Ri2#*R4C1^H6-k7bt!Sln9H4r~{P@K_V2DpdqSSy(96XWULZ7Ll{e{k~&Jg2xul1x1rra zz23l}(f0wbJZRFIEl^Xi`Jm~VO0yAzbwBvibU>&i5Dz@s@JMLz(C12mmg72PUx6l? zAc2RnQvQSl1`S>=DuF_4Hb5B6(1Z+a9q5Ykn&D|_Bb5QE-I(rcPTlqCurxfg3rw!V-7fF-6e62^PI5 z_8-ZZV+#JlWmwpPFDJ)NHHL6g18~CQlO3Em)#Z;JVcJX*cCQxhRJrcvShyw z>^E3#ZvvGWv_#h7-4_*VQQ|xKaOkhR=cyTF|E7Mwk3r(XQtIW8*o zHn;F9ywgk&9psv@Er+Kg;~dGwiyNCvzYXVLF)*>3<*OT|7iCQLg%Qa>Xu^Sy6!iM% z`f71=O0r6FJhbuV3>SHz@D)4QfM}|o;cMFd2zI!HWg+bF9O}&enaY(&*ZDrrS7t45 z?CkwS-JZ&_6LZT4kk3cn%<&(+DjZ>Rb%)fs#% zs92v_pFveI9fGQ`D*SZkL+K&)O8nDz>Wi9-*uKNm(O}uF@DZE>rvTMFwK1wXqd9}B zzHq;RiZZVG2tMMbYL(!lQeBCMZIXucXMq ztW~`aH4D~IQU9k|f1zgWniACPD{c~UtdVNaFqTZUqh{gia1_|U>P3NVnnDyfKtljX zR1nb|Usi8IJ)YN`M^!_#an#48290;9q7uzMSPLqbD?ij`v_!}TiJ$NZSw#ll?$F2~dKT1~lrl(ikhaX14<)3BxEL#Q^mU1c%O%JO@wvw+#Dmj>Jg0BBuWhy$w(r1~%1QV7rS%Mkr z45XAzG=PZiMtayp3`MT=#oBqJC$Ru5~co+Y1wFAzIkFO_A}8yqnBwUuMmcF@VWv6wU;~v zoeySF44IZnS0qwM$d$mv7}m3NVFpK|Q&=Rq0U`RYeSsS)4E}#veBhd6Y6P(KI3JxqBv~XH9L-LX|w?r(%JEiUbS=QNDvnVV>J8dmu$+pS%Ffe1+3LS-agj?9bdc>Jzi?kI;5vMe_B%7{<*Jn7& z?+G8WgLR1}WbZT^WCgn?hicewn(4+UFV|N|g>kv5T6hd&p}awOoz2yi7?b_etPvx2 zV-8_Pzlm}IGAgvrm1(i`7|!xL!X|b`u1uR{4BG=kLKT~)B{3sA%C(S6SQisa{AXk? zlg~ni*)$AH+;!y=4m2h!rTfsh$k6EJNE1=g*EyY@t&K=L#2y$YRte7B;rKhjRUN78nZ@EK{#!1p(n zwopH-)=ADD_nm$^G%vPXtm@&7?BQOy zyvig}y)^r@7f18ID{;b1I@+2-4q(13GYv(Je*05?7L2$|Sbgg&U*32_BE2*5%9ZoBdJ#&}S&nVSpJTm+l#g>LI7g9}C9@{~ZiDa%?yYW;ipV^k8nIi#{5; zup!I|*25bre?gWbA?#p%yb0|7u3&TZ@J7m`ND`Z?k2izOUL!V6k2OQN4+&!9^d%~ZP5Qw zbd-Te1)FL>F@SA+5u1vkXhRo=&td7Qm&2|-MTcUgT!r9sHTueAgp~uE^d1N+SEH+> z3N<>=XN3zj+7uh59iqu$`E-sP;RrASEw#D)K!x+G3WO|KktkFAd3(yXSEXKjhzWa> zy()i5=%lh(o0=7sx2NVSZT=0JgF*}?w2Pm75DBMG(s=O`1~fGe3~W&IaHK_)i$r|S9 ziT5<`{IzhHIU2-HCZNdbP{R-t|Ei2&i^Ry{tl>v`5haeor%SYX`wi>Wo7j_~I#n!- zMAhZ2VVYh9#c^}8{AmNN{r?$QIPI#i$uFiS;IHBlRzG1#P}c(ov+W$0j@OdinA#Wul7BA@JJb6(>B4u1D1G zpU*H!3rAAm6@?GX03>?-^B6{Hp-2L}kjTiA=}GiQ$@X_PV-Y6w#EKS0l5B8=VIkMS z*S`pnZ*Knolwqra|L4EqFr6rt1tM58F7$RZs|xw&;xF)(XHEzwUbQH`FrzkJ)2_DZ zJ~DTzb};6%dfNB|)70tJs;$8{%(Pkd$_+>_qkkVPtm7&$mzuMa7{;C{<#*Ss?8XRe#fzlzhCC~PaR3@h(LH8YqTG| z20I-(FbCLy(1q%HzeBsTSh~#lu(g$(Nb%3|pW5KrHWE1T)3@jJEQ*1Mn6EBD_w}^} zMruEJK}BVowTSjRHTVsD(@XpNHoGz_RF|fW<&6X;ErAzMgY19ywDgF^Q99%WFv>1R zzVBx-{N!Hf@QIPkguOnqw6c1cTeeS%OPK)E!LprJ{Xwz%hRF`0`j1LrQ;VgobV9-h zCXNd8s+ad_uD;eZ9@qSa3n3q! znq0qYBBe>dSaY7HN5N!T$)6k2HP+LWmqYO%B#UXs{^GH{B-ylG<^CTux`YZww>bqn zDq`LrRZNj~rBeJdqp<8Ln;V)Rzj^$uS@@Zlqi%bRza$yelu1U3c@y~T3HoYH$YbQ=!wb}1KDOGOOWXdga_w9kHiz)tun`)n3eI(w*g0GF#fJ4LSuxFlr$^XOjScK{~ zk-xuvqlx>h(IF)@G*ZsJnb>UqEd*xls{6kta8plO`0l^I1|3!MV9dJfjgBF!U`+XE z?3|6ZmaEskk5uP>MMtW~-?j4ZgKdb-_mTMP_hEW-fySB=qI ztpD!w%zwtvwC@)8%)Sq>Cf^6nyFY#(eap1ID+~Uk{OP+=?|Y7l(477=_F8=R>hd3v z(|1(Tg71baQDqL5weY4CrMFR>mf-Tmtm zQEBGz)4%Z_Mu#6|)-P?(AAX&gbZxr+U17aq+FS6HS>@SA@+&1qa$m?W;}0eH+lAjI zlM~hpCRO?W3a?ZUTGu`I@Tq+2ccd4cs>(wX)&KKl0Mm3-LjM>ppx#UVt54wZFFF&y z4PLt#T8SE2)FL7YdqXK%?lE;Ba{OEKGT)|cis@fUo0lDpof^0wH#=`&UNPnOqv3P& z;@t$l`_?Wq=GHN`k{baKH}&k}-d|(Viifa{J=S?K8SNg9+@;1XwQd^E_kS!i_SwVq zO5YkYw>);r`T6-@WB8rpZqJj9T9Al#{Fao(#w}ZmiCfA;=jMs_GTq)cfI)aUl|lvs z;*{w5QZQ&8$5uveo1167hw1nJ@iODaF!lQJ=H_LL*W<1ejaGRv9_^_PIPi3K3CoL> z5i>W1?)xC+Sj^n0qv;Rfi>es@U?`1W^AM?jCy?Cd)44lYQghb2k!iPD-F( z;d!s)_yWV0(Y=9H8BWHyj!nl^b1n1y9$kzGzOszr;QD;h7uZ^0uPtM&1oo0)OB8@Z zm&fpZfPLX)toQ}aSGArR*pG@=#qd2qoN1X?5(nZ}r(#$S9C&Y>jA{ScbiC=QVT&42 zyk#+I`*&X))^{?-pvG@b4eSCj7S41PD>E)09>PcCXtCSJ=9EHSX6~(V2Ow6iy`_e1!4!m7fc=mgoynF55_BSIXYgqq%v2jUcH zsXT^s3WKu>wJ8>vOQ6e#_fZB|Gxh(nLiwN|7QIyr%%nu6w<<)>U$|CT61GK&ehbc? zfR|HWeJid_-Fm8dd|tj1-s@H5vK}x#40dQy)~7!kn^<#s;@rKNc#liOj~OxDLkg`6 z+$EO|QgCZ+d)g5t{uSqoh|{g=4H zv7OyFRs9dvDM$dqz$Rr202jiw@E6DKfCE5a6cFdw-3ELc@NK}i0q+dFGw{y9I|E+< zdV<6vVkZXUv-~+6s*7{z9tN^G0JPts zI~Pm>H^3Q0phG}=fzpB21MLUe1(Xc51t=aUa>G8nWDexg8ggk3xh#QPmH=M@JUsZ_ zp}>a%9}0XZ@I2so!1I9T0q+642k;)idjL-do(?=6cslT@z^4MA3VbT?GT>#v%Yc^w zZw9;>@Mgf90pIe#LCrWqy>L+SJJ1!NOF(5n7lEz;6$6z6T>!cYbQ!1!s1yi-C;?k6 z*kZvJ3$|FW#eyws>B3I`l?&mR*9JJ^b#9%)4I5$t70UP}=^9jZVtR&?@{)^44!N2R-9{`S$e#QrNUi z{0V8h8ETzhcqS^+R-J}QJ3A}Sw$M+;@Y@Ec=`noXK=3-+Qd6vD(^F67^Uv>E2V!r5 z0p1Gu%m~x~*R;&`15$xXdD7;@KU>-Yz<}a(GWnSN6l%cT06cXr>c9zaobRP<_(zJO zsJ5u|SCq&7gPM=>b1d@;Ju}0cj03!tcQ(&Ge>^SQu%*+KT5j0#lPSf^GB4JSoZxNT z=B2z0+ElqV&e+*A^MI4Fv$rz%>awzr$X@tgjD)U;@oXK)XDloGio6HOCxo{=#XS~!BJWHx{O^^y2L2bNsV`94yk1W2 zO8m$QZs=9K6TIA5hePQF5VQvzJYu+4Kjdiqt0fC+ddK&0ypr?VJ26`IkiJ&Kf zo(Os(=!u{wf}RL^BIqTcmw;XZdbGVsKraEk1oRTnV?mDvJr?v>(C1%WxP87XZ5&qiPg>@NC3*gM{g^zUERV&4l z8|!YWUO_AR6@*y2{ zZ(YXCoj3jVF7AxFxASJxCg90HPa(YluCI2SmWJJdXDi6Dd$@R09nbahP6nm&QyR6H z_>p_`Q1B-*i>~BlkgKc-$LiFI8gk1mDgNA~?z`Ztn}+ZcNNKs0_Gej5hhfW$FMkqu zYQBw=fAx6oh3A!KYwltd37WcI*S#{)IZA^n2|sOe51G?|^=JzRWnA-ATrOpo`q+qq zvipI+z(1k!RzEdqpXh|=VNFCmRWLQGHv37UCraI}?vX_{S_P6b`m7~U4xRnCpc>+! z8fZ`r{_8D9NKj7-s6!d<;z8^-hfe?MjW?09=vw0J0BIvN?fuf=~zOnm~X6${d7+Q2&Kc|5&Jh|EC+rdxn2*omdnC@r(ds zK^$Wsj<+C=Hz0i*C=mEJz#q5+2ht&~;g>em(U)94NZhr!vmXuo769}BAO!#;0Pq1o zDgY!q0nh+|AOP?HkN|)_0Av6_h5}Fz6#yXKb2zR@{^*<5H{~LoUcRB}{B2u_$4Av_ zs|p_h_2ZC#aGO=&w~5qDD99-&$Z04@5fs@O8g;PC#e>u^D9l4B`bhws1He@P)B+$5 z09+Ih4geYe$NZS`wF1KMO)!~o1;H&q?g3;Upk&Z2 z1)+2We1|=Vq$3Qsd@eK9g_vG1;$J(I3u-n=<>__uWBmg<78+?YjSU# z@F_*REa^u$YigZK*fA>QY53ivf)eka1gc@)AIqeZ0!5|AZ&PIXNqarK@#th>qqsV* z%W>h=i22W??^g`Blg5rkQAwvH8VoFp$;pkN1 zy9ImqO-aYqJK9-`Wc!N=d)3EE!kM=itmg63c7>~(S-XV0xc$gwS*Ye~o9)_$tM`3e#E;>66Gao(_Httq-BsctDeTl{VSRwF03kSF9!$7=^mNI_vs6}z7we@|ar z+|C>dU#cj65+QwRyBgJ|*?h)8xI!lNQMiFe*4 z5k$Hm;{O05cRniO*fpA_99<;l7gWc3aL)JX_@vl~`F7Q@EzxbGd3KG~DPn(q4JNuR zujPC}mR*Kk%25X~e-Xc?vpP05y6su>`GQ(Z z<9{@t#Mf3-TS{ZB#VrZ^e7|b5j2NucOBRC{w`lY8bF0nrqcNr}6Mm;ejj1;kQ{{Y{T=(__N9|`5h?e0r>i2r4yI*pXne~X=v+FPlvWp{va@d@&J!XB zX$DX_!Sa8h)r>Zowb5-=P**d3QWlE&TdHH}o}fN%Bkr-QCbmQiM)OFG*3uDwJ{=P+ z$ZKI1WRWuTr11{oo<+U%&T8U+tL;Mz#D6>R?>wW+Yc+q`s3Zsax7#+AC#I43c8 z37`7D8lMzR`P8g_nX9@g>Ak97y@J@>vEib5jl&ieK*FU)^85qCF;VH@o8j zDD-`5=cgPn5x)%MUrnxFF&q=;&h9vR>iT=In3rph`7#@uck@*3Q+qoe61s3-G3j2MBG!yL&c`DiIpW=Th8iF;!B^jXqZKF_5G1s0}- zQa1>@U@^p)z8K}8zhmBk`V2RLo^ zFPsO=sz(u0H+TRa{sjUjQ~-7I@GA7&uh5=52JC{+o_jC!+}!|i2gqX-avdNe02z)3 zNB}^*uiwVzcQTVxeEn~chCe{woOjZO6U&5nZO)^ zFdv37boU$3hCxldOSp^1{9XJ3JOsT`1QA}2#v2AY<~uZ`CTNrwLP+O$Lf|dXaQ_9m zRmq@x1+fiJLPgCWdVB&z@GBxC;YU!>GgO44Mo>`(D&l}B8AV-3MRBOe5n5T-yOWtO zn8~%!CK@4+evsi|=<&mGklAT;z~@0`$&lGem?Xq!0Yn#?jm<9&;+|-LVfL9QQgGrPQU@tROB(Mf?wP@-2f)MI%q++u*_bHY;n`Xu z?(yW)$Dn%Q;caGa$sv^*E8O*^@r%VhEBW*c8VNnFKnm4|9NYz>#>LzoPnqE@uXs^7iSl-^|ykKua z`crgn_jQQ*_xSuF=8N&1jFSROOin-RRgxTz?fwZuHnFkiOiRLtK4CC<&&7hB-B-m1^EP`93nVYbjV zo{H%nP+7+8X&DH0YOcQ9f^lfBE^eW1Iu#S2Z?^eVOk_Uc`iz#7UQ0FhHF3+m3hCFp zR5w2?d+FKXvedL?Up|&#n>T3}#qu<^@n)ah`bVuhSB~9_rhT}up z_Y+I^F3sraJ^sFDPH}txle!4$lgmSo=nvfh5(|)Ufb^h{et?()Bn5@Q#DESHgQgMG z3rq}%jVJ^r20bun^h;4l$v-jlcOGsFud5{46}B7u9<&`k$?tWJa?fR=*btRos)vw*?ZJaWhz<-w!6DrA#Bx$82dy2o# z;J*uq4h?9of<2u&>a7@j8=HLoSCuVB;bkvP(is)4<8uS6sYNmP3O0G`uc|Twg_oT) z$v`aH%;)Z{rq;&bMQm~hD8K?MP0|*NN~@_xF?eeZd1;<1LPyasTbeXaEIQ8TT6L%* z3>6JCrAe#AqWOI8<7(<~G@jQ&PRLUA&QLTMN|RQIMRWMvht<@cXgs}zJPHc1Fp?&D zh(-2%Zc{Z?5sjC%knOWnzB3f*Go%yC#BnneUslomy1A!XZmBkZO3TE%uHr3K>}@^% zo}1aeAOEJfo!kWjLhaq5N7TnlN>mTx8^m#upc#fS;3~}PYxw}32ADguHfJQxrVVEQ+$Yde)n12O9EIry-Um7; z?s-&H1R}8*M2)DZ3Kf;2qEQfKprUeARDy~IL8O4HWD z)LYT`fEM!kY?ZB%!pl^eu4_}z)9#}rrhh-luQfGSg1*m>cs7E|3f323L@Z;K>NOtyXl0f> z2AS3Cngpkl45JJgGvRZ*`3!@!E%1TqW6p36PnVm8`_~jnMpmWv&bJDx!?aqAI09`s z{q1%P+}^Z zP2{WVGFq0OmTuT@F|r2Ifj~vT-v$2F3y1E~lE6CpqN0Puy-uC|_rV|;0HpwU0)Pw)F6IgSmdD+xI{S(Mj$?LKkn5>@v^D(QTaY^g!E13Vm*jt9h6@2TSjk^SQ0t9z= zhu{$0HMnbVcL^Tc9fBrUaQ8rmgy7J)L*ov!bN=VvIdf+|%(rSbz5CfubyctRuHU<= zvON&~t`tB`3qh1<09gtTFjfFaiY$ilWCh@Q4Pi4duV{AxfR&9f>=o{x-MK$AyceSf z^~tzWSLosrwso@5r7f`T^4w^=*2C|bM!c7!QMvO8X!|+2^Mc-L6cl70vvYBYHm}bH zT>9gFe;-N8nptStKK^fL$ntOa^WRYT-;l`q2k_R_jL8}H6^DPrz<)y#vwuU^$(>v8 zh=2D=())L>*?;d+|93s%zdk16-=&ZL?oDL#@Be)s-4K!ngG5(*U>->O`2`E*=6=#o z2MzaX@)b{=-~!$*HN-+#G5i1$0F)&L{NFaAGl+$7VuS${zyl*dT*BDlP2qcpfQQzA zS^?&6-J!0GYDY0I5los_^ruUshVmIx{oNaF$k&aadKgo*9?Sqyz?=CQFu(GLyTGiY z_Fx1E2dsVyIg9Z46nciZ4%b5%KzSDgR85iku|g*s5L?_$OkZYr}bSqa)P^PQ@xoT@JFIhS6**m(0d{h8fmd%IChZ6t*->WuQew%KPrqwLz zYE3D$LiGsZm7ll`E(v7QHf=+7`G@fQqpkiAllcDzWm_ROVMl@W&`;q1wljG235SWN zee$Q@FZ_>3d;((J#|{FBA1WVyXnbF1xGDM?+!N0K_K2?$KDk4K0Fv+)sTU^zbf*o0 z>u*4$gb%{FGlQ;&V!;5`J|O@sj1F4|1=0M2Wnlr6EdkW9-vzFh9B|wIhrF&|f7QJc z1@{s@VL@)g#gWCxo~WR2AXwqzuz&?l9^ek;LX!}KVFSkFY+tgf)eK!GaD$Ug1q)U)Z7LkXOWDG{7?#+@~7?tS%gYSJVa^qNW%x zYy8j=r{{PuH0Q@NQf7+{Gk%6t7 z9x4q1sL6jm(TD$m=>x7|#0FRs{4Nq;C;wl*mzF+<@OcDr%>OU1%l~K-@E;c6#{)_L zsRVdCar`d)J3B~SzZ#MY+#11?GW2`j@_)0@KJ?JbKH+e0nE&@=7eF$@ZejmHqdum< zWdFnLdr_b4p$>gW;r|mHRe|t_ufqm0-#J0NL)KBm(4U;4{{3fgy_8Qd07Dub4uApw z=??L~Ir=on{~+j5ATwcV|HaP(bD7p(3H-Lb(%dOQe*ZTzA3*S5Q}~MhUmL;^`02@Pir366c+y43R zV9*QIog9QR+~t2k@c%3p>;Gx@kpKV34!Mj7^E4mItQcKzLVLUG6Wk8Xx4Lca8K zL$9l0p97%w5Iev&%G>Ag-(ID87+~Hg0!91(myO~H9{L{gxgQS7;)4RX!Eyi70|ri< zxC^}t;f@i)+OPH>toJ`n9sW5d?iL~Bz*;RtTSIvgflfpAfQjn`JxKxJBw?sGQZEtU z3;(Z94&kPVYxtjD+#kA%*0CP`Yn`TwnclU-Y4vVq+9ayKDrJeJaVVsHdkJ=b)vbOC zM$uf<;?!2wPIIZrcn2T6ZEZEP(^;yO2Tg6a%4&AQI?>~8#IoW9{yqd#hDju5FIk^P8c)w@! z>!jqkf!XE=y{JJ?X zyG)wH=sdc)lDj0_3s2MNobx$HQ`gp2Kl)c}gIt`s_;U@X>UQ}&I)4nV*hOX6@3MKc z{TN+wcriQWzRg9N3b$_e9ZTTA%9WccwJ!6WO5jS${k4n2JtAT^l2bV)aM?`kQoxBj z^}XV2wrv4-+SH}>H{X6`PWGJY-6ZQA-*IJr_FUp!eD2>*<5OG>Ig7iz+@nv6Q@p{P zms3a9J@;Sr&DJB!Yq?%| zzy9pB{_Hzb%lpcGH1%lRec$KEL7DS;m*)F;fFob7+7!WM^`gBP_wv-9b?5!SF^6eR z{x0+P$pEKMxh_)_mvxH{J=~8|x7NM){bU^CIpMqX9%E0An7O9Pwh4Q_qdq9?GfIAp z4XL_|UpKX{FS_kbmcE|OK~cMM)|yOMXKwBNy}CNq+)P9pz>_|*CQaU5y6X-Q-YZoo ziSOs`zDYk?lj`{);a?7i`P;mgsy8|QRwig?cn#&=HS-g~KOIi;Pg~BXp-X-?ekWbu zyKdGNO_0vW8cMzE=f{O-j*j!syw2I69e#vdz7VdoQDW=Kbb<=l!L-NxMk9*Zui@`Tg5` z+Wgvl+x)$Ky!{5dI=ec%{k#0T#eHslZ~d`+u>1zQqr2X$4X)9wm9EL3ak`}6w(~Ff z50Gw&9(=woxES$O^WW;W=|Wliz9w@f=#qNd#lPs^pS#(;uX6peuX1T}QQ^<-&)ucl zmAzKjrN8!d&GC%aCGpnArT&)CrQo)MAE<1#_4yC_|9;GE13z}QjXg%UEj(7X4LxSI z{dsI_oARGDJbfND+~_{3yIMQf@qNA4@jvr(=(_D{S$pmBT6dJ=5j1wzu}_49z9_w!H24TzLEWnEWQ_Tx#Y?{H7kJC(-Q4ze26xNJpH^USf>*7%+&#T3XIo;x(VpT$gvgEWhL3T7AHBlJhVh?xloWfmn1hyWffG_s%COudmv zkBkN8A&jv@t6TEO}em|Sp{MqSh-)WKf0^Bii!2A)ZU+}F9QG%G6 zX(QzVB^d}4p49J7paC(mChtu?>nAw}*36OY-U5rX6Jk-5I7WY`O0Qg6T@%j<$kv3UeFw*!K*9 zfxh)YMh9Vq%k`B)I61IIFbhCxVU>NqA;eG?BKQKhnQ+3scnB?&%Lkzg)da2~oWCy@ z!U_fau3czraA)CIebEpaDCZq~0IC>VVK{qVCWINvdxsc+)&sX5PT7|Pp@#x}R-RB{ zld<5Xu;HbVBcz65&#bFGG zZc3dO-F<*%ph`zpM5hf+l^QSF{(#Crn~ti8Q64%gbx?Hm0g-_w9c2RDD)gJwV$tyj zOa}UNvF+hewb7)aF>{rx~% z#k!5v622r&UX=KOzKZ(~!Xc_xc!#uTQNaiHD*iu6hiKQ~57KZ&q2RZ+96azOs2Jf< z(lkXWU?{@q zo7hq|Qwo8|BQPalz~=kNo_Iot2vVcPxL}2SJWmoKxctblA`h_dKCI`P4tV3JdI{ZP z2e8*Zq9<+#!fMp1gm<#wchr4?7 z03R6DBVkGfx(Sse3Nt4PRVNB}%L-A*3bV@!)z1p|)eDi;3$xM-)z%C5S_n~D2yMC47Fs#*8*%{ES|D~{62U|q0Hfb|WAoi;`PjFo8}r~|O1c#ZaG=q_;ACNV z^pP#-!{HsXf?hx#P5a|GZkabCp+JL@E<_Ww z&I<#ihG_mi(hU`gmecx!pRPX1eFQ#}ZQq=p3oiJ4guCF@?k8yzOpe362mOPvt=YS< z3gFJ7MQJ&4F;f!1^Xc?4he_YTo_4s6T=TuSm-~UlKaH!NBnDTrcT&mK( z9P=0~e<1zJiyp-E>M;H!1lwg{4$nFx8@&O&>*k{*!5CbqjDozmLp~-Ifu#+h>8HIw zN*a(0W}c&Qy$i}%W^FFy&a8H|yd!_you$%UdSj;`|NK&eo)oDtYDXwNIr%+l2|K}$ z)d0pH02)^Yy$oPy_y~mRCsX;*e=2tiUaFu!2ED0RFnvG z8oalDu=_cpNg!2hLh{TA0X5h|eYdt&FaJr?-z{2Ip-~D3m$-kpxhf?QNdSY`nSof#g z1@w+Cdu-bjtzuvp89B}7>ZsTIr4Y%3)Zo>$k3Brtw7;QuQd~yW1=6;@y4HWzn<>ck zA}1XrR_wLji5S7^CBG`vAl?@wM!5m5XZzt3b(MgtU-#qk8E+~O(#D4cD%@c2pEorJ zolAC&Q_4{PMsRuRY`;N}l7Q)<=<00Yuy1~~8R*t!GS*-vt{6E3lc-b>0lMVb6%v` zeU%gtu%gJBj5#)y$$31we)H=)ZGb`j)z35cR;jtuiFDFX6F+j1xC z2dA@VF+6V%%a2ehtzx6w%gHEXlOk;Sc2fL(IY6o*?GRLQ^+Gla=b-#2kz?N>oX4hw z?os!PLa6X-Y_g0zxXmQi<^)c{7aN2_!}c^*K`WU`9hA~~T(}d&vn{hP$V;C}ReYBB zQtvwbEBt68ve3a}T4yg|?@1{U48naX5EwcwlNgu}m^gE;?lCQY3HpKI36V!z)$OO#jH5^G z(=%OP?6dDMFs>#;`5OCvo^ww7!kNLg#1Zm`YULCLFY1v2@-Jsxj3Iauu#hnM5IHP% zP!A@dL|D(~VnCyGBlhEHF0eVN&z z#AZp6k~c3y*1%(o!jn^c+as?~hNnTo7@jUWLA8^DDlc1xqd{C9c1NY1VlVGihNyvC z9r@?|;ajg1Kl#8im|1MQ2%h&jZ&luaYzZa`__2DNLz`s`sOnPq; zsLI=vq0QnSM0v{jy%kL{k#{M>nk77lzLG^SAeh7nIoM6OG5)bB5o*j^{%H4s5HoHcf?*Zt{N(@Wgv z?w0+Aq$);S=*gAb*W9b_jq~!21 zs&^p41Tx7)>d|D0Z2@;!!Pq=0RT`V*@ABC0n1V@05^U6&$&+LF+f42lKN43YoT=NA zm&eGr+1#;yB#B5+P$wmij^S=IUZDFXc1f5}Hzd!Gk#0LdFSp4rDDFc7WW=Zn!_Sc9 z7N=a$EwICho+|qUH6Gj;p4tj*r++zUB^8$7)YESe4#hSG^@_cC{2U3o=DL0ID0drq zjq{;wdvSa+rRV;YgFZVY#!Fo-eWvPn2wQpSDZT>d);}}$rg%^WUfic$NoUSHKGk%dzL53ma8+&_ z;UI*qS3FPQ^3`AyS+o7JnhS@(#yG68)y`ct*TQW4Wr68;CU5LUtvwaE~gTJ?R6G5!6kk>9*IqSxMV3E4y` zEK>;%Qz>dq3CRO*SkOe$ZnX67uym<;JHF<|VEa2f=;+r%SW%woxp|Zau`RMWKGq8% zOs7z3gGt?Y0qZ}PpB@V5q!xOV@BR{jOrr-|b7Gb=nOCdodoPN6y4`jgN)hc#2<%Jw z4kbPoH>uC~#f6W^0>?K0g1438d6Pq=5=JMRRy_U-&sLEKKZismyh8SO@xd>2+xI-U zImAE1tYyC!Fa9F4RplYfA^jP?D|=ad{|nYuvKiZeh&7BrHXdP5os2c~p~T##VPIlh zbaIY4@7mQAX`s6g?CNoN_N&spdlB{NCXxBwbE++4GmilxYkY?EWGOy4&X%^B%K+h8 z`fJG?_|O)kna%*M?(<*CqmpazgDqS$)e^E(0uWf1`~>gXqBYYlp*nqTm0T`)u@!C> z1)|KDPg26A#^8Ee{$}ANxRcl$DgV+yFhDLfivvMt45k!PsWiBFpTko?2$noHQA)1# zBe-c_z*9sBCO<}1ioR46T)ofZDFno!vC~pEr5@lP`y!rV9U$WvHYvhVC2;vZm#1I{ ztZ{6;ly0d5xMg3+Q?vtSHO5(rztj+1x6kJ(+yS>5dn)B!>JRST7xNVN1Bu2^NWp;z z_upJG_@QISB$d*G)Akv!c>EAW;}MJZz?VS$O6`ZzonRu_P%;lb+Q+z}^F!Z&AFLXc!{31~MwlqjN~ zD6E($YJ(^=g(&hDQMm8YBlsp5dCcO)>``7f=!Ik{OnRfZQGCoCqrZP$$M7;MBsMEz zJS(g^E9xLCG&?JDF$*p}a(HCZ%&o~sFMtIm16wJAb|lqIp~+IuodqESM=7#=WY)~C z$y3jd1uo;wWQ5hoH#7YvN4-x#dW$<5xifNM=GzpY7gP(uGu|cxJ*Qes9m22CbE70?7)|f> zKGvfA#dC<_9W^jxZPL+msKxk8a5=hUe$s@gCs&L6m-r~mYq-OFwTVJct(NdF=~4Lg z@Pqkt6U>5yBQ_rqX&AB!e3By#BU`r46hshYkt&(vGCpzx0QG~ z%xSpQe7T8yLDiA4m2^4$WcbGXu?cQL@)(;SgnT5?Os?sp-rG-PKo&lvYF^pIy`ay6 zEF7Ib%4SB`q_kjljQR<`Gs<|>*^Ix*aKY&q^Allb^y(;u8CH|r!pCEj8$ACg(NPmK z_9op0hhvNz0{`glQ86>hCbb2dW3(H5I9E!tAu6(wH)O+{WTPl~LyUPN#CgMld7}tM zL$pRC_(sFLMxz)jL#!(!BEHZ-R1w+& zRJG5Q{l7O4pjSSKA~XdkGYK~R-!~Vb$3B=M^aW@$pZEGNH}9cOJ}_NxO_13W2>atV zhoPH3C@X~Qv6%x(TUKGend37DC%5pSaX#gc#|a<&6|9Ch-NCP0ywDs0(4PUAB0fxz zmn*0$etz(13j-SEL(|2%2JaHbKbX743eE6g?&4iTbcui5I)UB*nLN!J%2|SUf9K{Z z^wbBdi++t+;Cao5vWtBU>nsVY4{0+T+JA=~z#xWBnV8fkw^<7Pbw?DyB8Ewsq}E5j znFbxd!wX;%!zfIg>9g7V4qdz>3t$t&DokSUBixLK4&UJfF!rFECIW%>=2z(49Z3Ld z52h(_EGJ?BO%KX?f=hqf<}&o;4l{th2W|cHS^w?kqbq13iLwuCGa3qd;s}BlkE0xf zJKwrPd3qPb)LvV8&V8pZf-D|gI0~FG8}z0(!gQnoqI>Re=kC=9N7DNF!7_VD&`2-D)GdSv z{SiCdoDdoG?ky}GHtfU8Q30m}N41%+bP$hzg@hK6I2tc!mI`_!95(dRLq9DDAN8X7Vq1(is7K%|C zqS?en0q#Ie&6yG*ulSB86_+t4U51I8Hzi75sf=b8mpCRthK`y$C2~yBlI9yO2#6~b zwyE85ePg<0#Hhv9Lm1@os8Mlck>@YdP{T`P^fD=_+})R)_B2PQ2NPMU{~)!BNkylDd1Njbd6vqMi>$ zh=b#e$&q0#;Zu)xO{6@+xsG{=UO5VFNP&Nw2K1ga67t(fy6cnfOI*eqpbstTOnF$Y8F7Id8PSt?Uh zyEvCI_d~E2R828@$}ChFIFm6uL#P(CO>ufEwNyqPWe%}k>-9Zvk7B`RcYN5xp`T^k z%y89FT|aU+MY<*x#z#M%p>JF)D?W{n1&}u71DnaafKcNI_QuDg*$ad?xfszQ3Jdn8 zvs|(pTqNLyyGoH3hC(Oy$sbi0e!&;gHfM{&|j%bQkT~o3mJ~Vt0?1pm$=C zjDdOqnD`H9=U*12L1kDdsn{rKs{9c$3JF8wP~MIFN>Ot~>@|9Lc!g9vg|y;TqEuSJ zRC<~?ToUu^p>95QE@K?|P*2lnl~TO7sW=Cs1#Kx0y`i0TQF7JDKR%5-xH-fj_s-kX zu&E5$372n0OzQjylHS&4N)L?ldlGuK6XL2)W~xpRvP-73OW`|s`!S_yT)@(Zi-NdN zS%U5zZc6OE0L9yi~1b%z&BC6i60 z8%_Q=?zZg%#PBJ3GOBcy$(rMK+n%$_hLmS9Y$|uA?`2qP(+PzkKUsw~z7cVc5pOHI z)9I5j;G_0Xco&FK5zzW=w3?Wo`&a+GlN6cpq)D|}a7`)S*fsx)rF1<0g`Yz7Ik+6N zdk1gxFo-S!V`rB?KtG`OHL{*~#*`4gVdf>qp5M{FTx1qSVX_?V4UpQotUeRE1dF@i zcP}b<6L)2bP|Ijpw7JN$CtRvB6>1>@>9FHg#>Iq z)pZ4tr|4t2uugcC5ii~`IjWi)4@6({t)USkbtt_N(z11c1S%7Y6^=QEb5A*5$kE8D zeckT3Wl^*IxEk~RDurfKU~Ocas@^|FaNEdzP3?0`FxHwz;zO6zUA`LI+rg#Rm;x*+ zp&k9!O^U#om`91V0>c#Xc`4}SHw;ptg3qYHmW=Ak2oWhdaC)Q6oA`o-Sf+qxCXH|`ew+4!%Qv!1(S)WUjejh6 zoArXvH@Zt{jpi&3Yb<)3=7RG+B0y1$rZA0tEOVRrg7-cuK&gjjJ&kfKX`B9n`#$nX z5jGtQK?55>6FE|YC{hz%Rs&B~6Ma~NY*-VPRs)At6SZ7}q+AoxN`t^k6O)MmKQ~T# zxO`Lnyc%9his{XlEJZ2W@>KQlYCJ7PCj2isiqhrfv+4)c=vwcYaKB_vNLiJCQ(vqm z(^6$3{E|B%y;FXneqRl%C0T>5oy8=DUmmAET#b{?uARyx`=w&ygH^S=mTwKLc1n$m zc16vHAT8}067BpN$+ys`UFHT5Y1`QiC;@c_?>XiTDAoTJn#XJu+`P$@|ER zV^@24-c%CVK*L9=&nVY9{m-ZH(s{3=8e3K8f8gz@d1G^wRf;P#epej;YB?Qme2&V` z;$4l)s{22%_Eaq~2Fk3(85)ySJAY8^X|jhCws#EHVY+a!3J-E)Rk*_&cz8W|6gS3&{0ZffxOQ>bS@D*sdW14ZGW*6t$v2wl$%2>3Gl)i3a`_zvga;5aD7T~oK`P8UvUKXI`H!h1ahxrXBqyAT(HW4wWkMA zBS>|YZL3%YJJ|(ykgpa11%oo-U-<`Yp1K{RtNEvrw`Kmnx(~!WO*<%83n?V9%8-7A zA5dL=@FNnEk9^&qbEId=_kK-x?fzb7uqm|1IT;B%(?vUw zy|Mt3ymXWI?3KD;<^%03dq0fs3=_GAN`5fufy$LNkn??6d+$=|4Wx(pS8RU#-O+1G zXQk2_D{7QQShLalpa+h?2r)&C1$^n1mtaBKldbQVu5E62@K)QgJL0m?)oF;1p`oZ!aKic_Yo;L?md|5(E{mvyL& zQ9-8}U;Xos`61VJ)`K!!1=a5uyD1*?9Il^PyUJ)4w7=u*em0vgalN2}nm;aao@8Sx z%T?h1&OR9MwCdno&8ARRt04THdvJ-%6+@I)?DAS7STad=DS>%S@%=0 z)>PkP^ru+NGq@(RcBW9RX}`zm|Ex9t%XO4>J%wmZ^F4NP%F(=)YdPy=3e%eYd;H?h zWAhuX$E;_d(EQdT2E}Y3s5~%BaDdDzku!A44JbaR3J&L4PjlF0zuhJCDEQH5WXT3F zCd^aXyCfd@07PQx%-NPLJY~E~;Zf+@Ct^v#nUqaGrMXLdndjTzWog3Mkj+13xJ!On zU^g0ICdO5mH8VxH%M8~j#xf?wGDXcYVZkzu!!oYH@{@~Y(w$`nwRTLgc8aNX!oGHz zq;}k(_NUN-o}(ilCTZs9(GeTmMwCSvM+-ib+;o)@IvdSK#ziehdp?ZZ43*Ie8}3Hp zMP)~8KD68~KS!)>JQ@WTjU1i%uyQkhj_%r^H6koZ0nd+Yn9e#vV58L79w6lonDBFr-m|ZvU(4@U+@95QvXqX11<<>`yUWqQkM*4WfTq_wbtaS)=!&|8d|A3=k&{iCGsmsx8_ad)y#ArUnl8Sg$v_EP5aN z-@rYlJP!p~_cog9hg@z*U~ZaWZhXMpa!rKDCvMs%Zs;X$`KUrXd{ll9U9&YXJMj~utnITGJw3|2{3hiY^Tx^1wVM^oWn;IT=?af9)Y@$GEbIfX! z%R|4t)`*WyI5T{5d}q_$!?(T5NQ_NfH-vc%e-qV1w!OrNvtB?q>~crZy}W(ah`63b zH<5Wp8^YxNrG3H(e>&;wg!WdA2XA|h5o5 z_6#HDdfxdchsk@7llB`UqrnI^YBNJPJZ4R@xX15U3mv^S&_LDDq9sE-0j&bEY5uV(Ycd9 zw{|_y1jH$CmwX0}L>OVx;RxO1+lN?z!zh zR|uS$+deN(pFlpjcebytP&l)33Wif=Wc0Z#&(YwlLOP+J36r|RYubks4!8~!r?{AsoI8q zFN}$rP^?kUuU{_%!Pk`7r+G<@C*ob*D0i*V$}&%{$1ey4UYiD&yL($p-0wQd$VsOE z?mbj2dl7cLePu6U5k?U^)$mT^C>P=AKA`SkI2r z+U>}D3)cHww)xLUV`zW`u&S9R+Uyy^-#Yd1X zM(=T-6khOxbHoP=cfx^Q?Y@98meM<9y4wKNy?1!>dO-|M>m6R-J%f7R`#%M~z`Q00 z4~g#gIdw18NF8AI~{x5K^DX&ApyS-3TUkT_N2^btRD*I-Zt5b8f z>dx}#(mf>VqTa|XAI@`&&EcW=SVCNOIuqrt|N9TO>-cBl-2tzx=hQjX_btD}SDH#* zS17$zv#`TotstCtg@{ziu(V)UnnqZ9C@ed27=wHm3qu%_Z5SI-7^7Yot3ZUFlp|Fl zwr&jl5FrjSN~DaG1yyXamOR}%LJefbNG&OQs?W(f^7LhdT*$El&NQ zUqyX~q8({3eX55Xa_7lL6G{U1USWQ@r7QXh+B0jh_NhtL3-HBv{)q4+ac z2THhvauSItC0CpV*59Z0#P2{^jiiuLE6xNP?$cc11677dm;nj%WDY$dYIOW4l)=b1 z1M=qS90o)*3HT!@TahROGUllq`dQS<_!TI>BZ&u;%`-R*vuLL9cTp}Q5v2UhiyP(j zSXka-9BGLLT5T%bKBxIu1h z)Lo!ICd5QWijqpv@xyXq?Em8+ooK?Qf0n*ibSfnWbnp zYFt&?*;cTfQQIPx2go<-UDevzMX)JQlOje3a5t)<%06rWpn}>EF+V`MQ3qA^VGqC- zLoJM$86e#F3W^bUEIrfgrP7%MQqfQVPPV`jgP05 zF?GxNpus|$K`X)WLQh5L+B90J8WR#^y@z0E6rd0 zquA?VL<{Mrlm$IyM!q+>aX)1w9obs34dd#D{#uYW)$Oyl;x5ON4<%aAHKk?gAG3UV z(;2rqbXvktf$tY1I&5Nrw2=iiJf_*jd5rrp9Apvf7Qzq@H!KO1hhhY@v;e8m)h$9m zgN!zjAaIy-Q_n4jLzRUlk&r$HcUWQ5vZ+KsHi1?ZpE>qA!p_3Vtz(~l8rvrB`_SSh zSyPT}oX7Ctrbttifa!K5!lsm4O1qvBH5-0r?Bp>1rlQ-IyRRsz&V2 z*!=IaF6i98x67_DIiulQbhb;cFrMOg$NLX;Z;H9~`bdZ{P~gA~4Q{?Uukukw$4iQ* zA4=O~Ja6`SFT#u%3vyKzVK>2MkIR$+wX?wX;h)zagXV{hs6i{(E^%!`%bVoq^*(A{ z>|)rIaY;j?o4DuIcgg{5J=msk4MX#rq~~>assZdl*y3@8Lo=I%=U1jAJCgSPF(GO?h$fK0Y zXjm}DrfVtE(PnDMGnQ*<*fV}k*HNS|&*YLPE?3sDW{gkQo}jbJbe9(_H_~usOiI_C zpx?T0p5`*G^_q{8Bcdfj_QR z!=#;7qr_X5qrqC;swG#$JePK;gi#iyK~vrIN5-CsH!VkrwJbw}xw_@gdwb@4rIWH7 z4W#PQKMIE|UMU@ltM7uVJO4-n5<;q6A3fs%LrZI(VdW7=NZ(D|wXtm=&?>X_hcxU`-`ZQYtH- z<+A(HEM>r0m#U-WP}VXlWY^s+xy0a<%BN&lRyWIM*V!z+#CVeWNy)#gdsfV@*Hc1> zfjkwqY;g9?L6xU6YI>p)eOcNp<3Y3Mdm&~7g}t)NS%iZUKu2IPPN`R%FFVo@2EYx? z4%*d>Q+e-l|JlHUP$1)fCz??puU2j|>v0fyrQt{0ov|kGQtmzLe-M794rJFEKqgHq zag!oRoN7*-qE4LVmYuASoobhzqMx1StDh{ZpK7I_qOG6iwV153nCi4hHJbWy(rvrl zT|}@aPePS}J{5OTVY|$oOYjH4S1?wlYEIg1H@gc7cIQb>GuWhZPwH>iy7LKk=1EU8 z?xlK6`fhi*iwX7u`~?GHD%zy%c8NRZk9H%en=eWe<=eCF#6N0{RN2^dlbI*JY)`o3 zFRIlu>85?16}>IJ_VSL$`z$k*4vcFiRbN?3y^P-h&%-gR!a25;P%D^vTvD) zA_Z$w%IL(__W1?8Z;6OP0gGBn<;3sp0{{T25K$^%ok`i7xZJ+Kfb}izk~d*tPsyB^ z+}^oB^(_ZvP1c5#`H7?L>kCBU`;Gbv(jAoxYv1@T?KL`=Oz$z_9pejU-=r?xHTttm ztTCh=Y4?x-Juzy^FG=H}7jA&`sUb#Nm@zYEv-9>oFTkYdEf5WkXYMdxXy4}q823=E zr@M@|?Fe5O-xma!2E7$eryNh(p})|)&j#WXs@`kwihi`=fSy`r zsq>9N|BGYX*C1nhQQ3rJMNHbtRHgB{ZS@PL`}8M8m?W;K)gNNVjPwX!q=3qJjD`$j z4W4EkGcBHJd6|YHV_mxX1k+CXg(5W zka2pwB7b@3tn@)OumG3?(|Z)f%X_&bh^x>w5SgXZizhg&+PS2Ns}nTdGk;8Pnh>z+ z;*!j+Qr4hj)=aOS;IZo9lFqK4(y(UsNdGY*V%76aLcfYdgMe8ny?lbp>c=-J{pwl` z9cG90mI)!N?r)NdRgM~b%!cW86MR;k-=r6-fn1r{KfQZG%&OO2La>TV12%mSsQOj8 zE2C&7GSjE0O)%~>yT2Fw3eUKgemQ}#Q{t`wtOE6Vrup%^7BGl@} zxT>nS>UPDdGR5lViK^O(>Mo|L5~k{JHB~h=)gAU#753GwhaWyxH_Zvy8}Sy9n5q=f zY2jAK&b_nO;LXl40#s!!&Fbno9(x1c{2Y^?Mb=u})!B0__By<|ImUpd@UQvO~kT zyk2L%%3;py&<_C2)mO`$b=s;7=bR2dc||KB_NjVhb{MXfo@(DBbRO$sRUyqu+lTlG z+`Yv3X^B=K){M^K_TSRaX&xT9xXo1A%)PzN^D_a|X)PE?s-J#$iHUYY_52)Z4S&3= zrq{r2u2Zb7?D$!M(KYi%P{5MgHr305z)N)g%*`$KKrm|-NJ=O2^>}f-7gP6PG~ z{Dt-DDY32o!}P3d>sDI)%M%K@pzQi|@JsN9XVYuI!*9MT{^c6}3nZ7Xz2V|}>j*P9 z&%(T*l`A|!r-x@R-*aJ}{_Wwj`78GBTpvMc;6g%6Fd3;aw0-CT>ZI%$sn zQ1d$b!6>k}N6WOjVUGXM@H+p&1^5ExW*AQv@BDGM`_Up|V8U9M zVai;D{|D7BvV|I`tYqmJF&Ezh)eQ{;ySfA&9p=g}^Gvq*Es6$Kb#XVw;>|S%ymcKq z(!kel*51LZxx+xTuII0WLly5ViGxaWg#mZnkH1n5)h)9I4o=OjIlX^X9U8pALiYL1 z(*}ffU;nDaC*JJr4I4bG=too?Ma>>johEI#M z0%QKYElrF1k}W`V>5x`_o~N?~aj55(sr;?5)oig_^27jH+j8@QvdVw{-L>^-@m&gV z3T^#hSjPG{!xq%2Wmv&FuVc&HqP=7fKwvtCm38xcwxlg8OV${mR$Idsr=?F$(XE=x zPQ9NbgsaGBL2o65Ysr5l+K)C%oU{WF zS#|!bs)J4QcZ1|ls=^J%U^e^A=E)`elbTN|o%O3=XZyD1#_j#Qi5PWehKc41yJQc?c zW_r@U9BL?s%06DmoeyS?r43}9dNeCN%sZ@o&+8p<^680LpZ${TuKYPwlO&_UVf`CdIsyg%WL-p)U$kP!434&y2f)(n4{5(4#K4tGoCzff#P2CLmGM-Ecg zZ0}7u98$`2*)Mr7X!Sm|%Ay9=1j#$S*YOTEd^HyIJ3V{&dLBIU5)FM6KJRw0l)-uK zym?hSaG7}3wYuit|BARTCR8OYR7)dN^HHcCSEyQ3sE%9ctA|hnT1S;qM=f(ljYCI0 zX-BnTN1ZTGKXDXIq|i;O9G%DAN4b{qvj8e6T51*a^P2mN*IIt|qMr+Nk_28o{rp73 z3)F$y$=~n$`qz$rpG2bzG=cKT-^+d9>j1x??hum?>}7<1qtd1L_t^TZR3seUc$wDKu|lO2fcm`dfIcHz z4V|}NQJz|tHHBBNmrc%!I&YpX9KVx$x$qt(p8O#Ag+H+@yiSB#ygxSshC0Ko`mYN% z)Cac>Qt?rj*dT)bgsslhy;{BqADI6*t@ZxZdANFY>W8&D><#9h?iMW$`V;hVe}=)Y zeEqld!}OEiLHD(o-};BtB%fDt7uU+;K>qGmo);R2YnXL|pgQD7>pr#p;34|xXQdZ7 zsgqFxSQ{(`$5)7H+u8aS)?JT>HB1=@r(@=fVqA8l@H_uu>VqvqKnLd)|G`=7BX;g> z!+j#tVI^=n=RVxENFMMtM;0%=Bbd#zApQjesOT>D;DSOvRP)>iZK0iJSf#3&_{x811GANEN ziV_R%?jD@r?!kiwcXuZQ*8o8W2qCyj(81k(Aiy9Q+$FfXGdthz*4F;m+8?j(?fdSV z8oG;~e)pVnJ3R2>gEJ}8u@bBy!7Zu}GxYxMQt@9ma&hf@_(G6NO;2Oh2I)g~^R@_s zuclOa=iXQmG5p5UL(R|QjeJteK%p()^4p$#kJ)rh#gDj`n6?(>hGWykzw#H7LX$Qi zDWp$O<@FneqpzGUIDKo*Ut3FMpOTDbrX)7#^UhyxB@PB#(_&6#{My#bBb&+K@yP&tv17%jG-;SPBN#hC+ zO7h(!&LD7a-m%cu1I5?sd}z4f$$i*z3XjK@`*ASl@buJluNz5dVyKAJJ2?0NgBP{K;pwCUb7y;l;Ml@m6{ry?G)vFs znk!WF{$A*4TYs-LM8X^H;9bYoD=Y3AWkAgzjKhRZUpjP=_yGQY)j{jW%qObnwR3-J zJ>JSr*`w&o2A}X=%R^LgW|NMYZ&F|=Xj6!SR29nM{>}B%yVs%+=|+3+P4&l=c2^7B67?qP5q>FzQBI6E;`a8I$kx>y<{CF9qz-fC!R>c%ztn`X{NzPm8R@Gs>)N5;y*Ft+U{QgRp$2a%#+{M7 z2zFaFza&Wu=?dU}+N!KRkW}7*GQTdJaY4zhp#CqCP^p?&sM;q7MqYdhWk87nFGG9s zfRbYguNH+Pph-cLp*y)BCZyoyr7#2l6$BYNlLto~|M7mI@CS4$NHX+(?qhKvhiG&oi6q{CN9Appoy;4E(WJW}pF z%XdV91&C5$D6XFwa&Y43%c9@}q$#i$H_w0^oF6Do0e1>0#lfOQ3$;@X+119wbrWbz0=KM2>loM(d64Zy8H4&(QONUec9lcesd+)U&tfIlEY z>q;JQhT8Q2}EgK!!woP&cRJg9uF7>;lp+n69#TTZawlUz#NF&y1IVSz}s=a8@yB_9F| zl|tJo@f;I&&EbLD1j56~fJAn>Jp0=mU}zl$oX2pRlL=o9g%BVc#JSVrInw3~!+j`l z0MQ_Zo%+imKPPd%JPIyAI*5Iz`4Z&k+{L#}K?6tvG4C{94nH`-l_sHO{Xol(iOtH0 z&5l&g`lXx=_>-0MCp(-q>nCe=Tt!w^MRt^9R+?irHeVVVTs>IW&V(=T@E=1@W}m79 z6E8uw@eY%?6V5r8i!F&yJ?P2+(t02)qmxa)DVXTfRy`Fdz$ z+ZcCfuP0EIIR_?Zf}7=c&TIyY+L<=y8E&{(2=Y^8CV-jjv>P**R$&k`KMY0&3)&e& zHeBpmgv2ta!0LAPFuZ;4#Lh=3Fhc@tX6N3Rw6t(ye)|iG7WbPzD89ZO_gtzI|@h&P~WSLkw)X=jN5vzOZV4CWMoL z0+zK4^IsIVq83QX{I=(L9qIp9+%`{eD#IR33j^@iyDZH3xiZti?0dS`S^jHXmh1fP znXO>4J=5zv{|y+P&rg$?1ZLjTzRrAHh2d%ZFw6`rv}b&s`?&sM5yCH(nGfdL(Q6_LgkC?qG6+Gs)TldAN z9k{AT&0d>2HReuKhi>#8IG~4DRjxb1=9XF)1gitGRyFB@*ql=v$Bc=9aWF1rgYNKE zW2Mm?@JJ7$mkaMq=#5lI5+C#B2b@Y1P1QuVO0H|8*_4Pu3t8K(-W)e zp6fqy@NN(_HU-w`2~~B@4IVk(HUt<41AFwOs(J<{D>$b#FD+ZSHn$kAR8zrrOX3`6uT}T=jBR^-7fMa+>Q3wpd#5NSy0P z{m$~`$%7AqSYhs{x(kf-u>9xbpAWj&@7ytU*Rp!Z^5Myi53*Qs?w?5)7zbi`>Ey%* zTdXX2Xv}uM<$BToG{`5UGYqzIvLR`SUz9(!^6~79JatZQQd#F6$`4Fv4)i~)lR;>t}WchG*wwR98I4?9FuV9@-`7m_WuMN352{mS~aGs?3uy;1E zf!v&*S58kD^a490)@EQtik8kr(^EGeUzmCVa%Owq^1K*)8sZZg7zW#$+2FK9FUp=; z-g!JH3Jg#?CN(IoSfAA22?usb^yfKfG%&AdpH$rO2X?@y7LHR5_A6c|?RVmVJ>7j~ z4qOc+D=H_yVeFfj=2bJx+9p`XkyC*?qrlwm^>qvPCZVP5Q_efR!0hg|b<6W6-=)q| zi955v{O*k&YpOb&<>(W*=QNS(=2|mfNng;A4?{$Bgbl4T#-{WB3z_p@(QgtWr+z~u@cirx| z(cr$~d(wF)@!a#;7vdn*K(nH8Qg+Ap-2OTc;@I0@zT$ooYWhU_q>bKbU$oyXBuB_@ zS33+%{B(;=(%5|qt;qf3Wjq)#yDhAQp z0((_PSP5mffC>=d?SZ{cCoC8J?*~iK4h-kRpQO zM@4!?D@A-oEk$0%FN)}jpA^{?ofOFxjTA){0~C=J6%?5i?G%X>^%Mma56lLyTdiTVm;AlG;q8Z8<(h=dl zh+PR^iC&3ZiJ=Rli=vC5i^U1YiN=Y1M)nRS9B*MJFY3ekW!kQezQ^2c`$X#*PqBzU}E@5^b~$nc2p@QPV#fNlj2 zbP};~ZDDPNX18BU4R=E3UM5~O|SXz3&n#Rj^w}addl1Q)jQ-q z^On&5kg(o`w|CF*3Z$WDP^F!z*ZU@D(i7DF82aVqt^EqRWX+BF)_G`1GQ3QO5u)-~ zdkgLT0CjkI^Qj2^wR8U4NbDtz;b9^1GswXjz%x&34-kq2SQQUtSo|V4Bjy_a&P$NM zTfAD%%|w<8vMC-b7jyy`S;u|0pQXT3DCU{Vuu~Pv0+4}Jt0AWo2$b!Po)+nj;rsvVGDkF1r#m$WKD0AysHJL3WrI^#d%Jrjf} zwh{sXYM^dVFz6LzS3K-NhC^x$KuM?u$$|z!3?RXs&(@un8TEsHtBa1}mM6S<{6-07 zfU<-&5Fe-!M7<-jl|vZNGDBy}fu zCsRylP4LBZq~u!{NTiSoWws!%ns&_yl@9?28iWQ;zLX^j?&PQY>`3gq_BK)kTjX#{ z@~e~6kkL@&ljf6`0U#iI5ZR8`4#tkk4*QPt4)8MJvidUj5@jcF2W3ZbCkgftrUB9b z`6H5AlFOFzVH8iq`}5JvfAhBK0TMj7zp-b~T-)mr_qhQ1jt6RNpwPQoEB(ga1$*ac zsd0DiNa%i|dE!PdQ)uA%(|8Uv#JM;3#cTfM$?Q$A<#k~hdV3c-c|ZQLP?x_eCD75^ zk`IO04MV9Or@-sx?9kiO$=;kfXxI1NJ&^qbX6XFX6x8rB`1S34A{n-$K7V`F zdRq>9@)~=0+PmHkZ3*T2_q0OY`{OOJcjk5DedzH+_vzE^RU>og+Vx641p0QpAw^yb zJu`bFe|}4Od*<99nL0iXy}E35fli%$4efq|8g^bnu^zkg5h+Z&h@(z#RHef>Iqv+?Z9@?pG}8G82e z(9QYQJ#yaga{Of}6xOc&L$_r;;C%i8+|iu zMix6ygpVmKc!iv;Pfz;8?iZg=5PiafN7WmW7DrA9?pVc!)f=Z4`H#u&M4rQg|MXay zH#VM7+;Ki9zJ9yK@B=?dJb!x~eH)#um#WWS^lzbs6W$_MtntDqTaDi!+yn>vp{yrA zU#Y*KpN+h>r=oaJm=jKC`fmLnrV-A+18OP9PsFMsN({Xu_tntqH&CCRv? zJ?jU9JSy(Qq<#6WjPwh%u3sAeY`b#wFO<7}YV7HDWz|{>bfsx*d3WUrT_{MVYV1J# z3G(~xjqI-sg9Lk%r?$NO&HBV8^SL&KF24ui^=5MIsXTB7v6_R@uZ?AV#-Pw;;A8MhNKa;~2T5p{`xees^$Xn_cWC4W zRUMrLMd&a0{iI8(7tfv)sea!}W`Fk3I4Q6Y^2y%Rh5aM-8)ax-Z=d-;uFLdCv!0~$ zeUt~8keJ>9^WECZg-41PZmEHdf9{vXFRpLc=`W-klyxGTrXe}mtKbzsvCyR6DXC3n zKb5}d7e;7I=!Dc({+0F%KNOI^m4D6kkp9B{CLlH5yR~t3{?OZcZ6f)`Oxb(Cb}Z$o z(HZojJ<@x-k{WvT7HS;QY55X*ZBS&I1_fUwy_~ytb3pZXw+U$r;KQ+r3pU@aZz56^ zFg$!@ZbNwKqXFW=2_9gYZhmS*uZeQrG(wF$?t??745uaiNK4r9QRo2M5*J&dfcXYN zOir5d1{oeZCfp(BvF!bwIm`71mnX@f-vI*JGzxwp*GWpSj6FeFmf`JB6rmg-A@& ztg4Z`EYav0NU7Xpl?CxXoyxx%l|Nu)e&OlHn0-y1HIHM~c$FHxb{^8!K;&l&W>bA; z?iP9dIgi8_g6M4b5pyDZDfIm=$XquBd*Zu4Hw|&0S{*KNKNuH#tL{PT3BT=K+CYQK z!uXb+L1EL1#d}~ldK=YQ*jyd*{D7!K)U5~e>O0@TD3$ji=eO6r%7Sl$l=pq5p+!A` zP+OI==WM>CkVQ<+-nKXI+xC!%W)H&;u=^SZ?EY$!HvZ-RdC;p(9md()iIu*4pA!1^ zJUD*Ut4RH_#@WWvTPFU{+Pm0$k@`kh9uaW+{YfVS88Wx9ErW}+PKqR|Aj6LY-@itR zWO)FGQi43p5}+j>fDhM$qAYz8tb~9i6~-tn4zIkKK=Tp*YhTI*UWqhm2&OvR3sR2s zg|%>G*OYDNK!Hqv$A+_#PI#}({-r0@qHBW1&C?V zq-h8ithgNSuvGdf*x~9BQ1!y1h&B`E!VD0@1f=Vb`GKDo))!I35~SXel{MPzQM4p#~)5(`F!$KmEX;=6=^z$G{5Dr3!C;BKN6} zM7y8lbrk7Bp4~G%QBVtARP>t_i55Cx?&f#>WUY&j%#k|+C4>VrXg#D#pZZB4(y|f1 zzC}4oC#UchWFVW7s*d$xKxi>#mB}KvXs7EaSW&PBl|*UpXoIqRnlSd^^>3^J6#N~83|xA85ZnlY9Wf+ z!4Gq2?a+N4a?wJh;z|Dp*B_*Xg5*VuiJ?RlX^H({MOT4nKJhNRSV;nR;vLq=kAP`z zk^v9OifHbMcjg@Qx0~_)xKZy*;0L&Ig6e0uO!LsN=p`!@ zWZ+QMMe%<`nTSpl{?7kVaU$9S$ee(i_%5$qru19X_ku0{za{+c;y4W7HZge-Q4^84 za^&s8ND`6EyOJj^41k=p7|MAq8JG*`O}0a7=rG)ojn|BQhOOyKb>^&tw^4E0yKil= zv(mKdih?Qa%ZN7L?zjzsyRx*BpUCNO-DlFAl2VvQ*{V~;Wwk5?msGU26nNp?7-eY@ zv47BUqcIIKjz(hoeYY84ERRzDfzZyS z;A>EJ4kDErEz2JfT8D719+k-o9qE)D#J+Ut5uYo%gGE!wWiWo}VH?R;aT!SjDvh7~ z7sE-)WDnaG7sDFLzn!=!HB!h?N3`We`2O+Fc#>QWbB(frNti2idGRNI>SVwZSRj|c z_q!{T;hL!3{ZO6ik*QJcE~}oZWv8z1d*5%k;O2_#h|(o)`KOn!Hh-~Jo{c4jZw4c z#UN!}ky;fZ`(6Z%&kT7#&UJsBzGH&Lu*pHpZ5a7OWfzV?$oaz(50sKgT-z!Syl2C~Z8SI*d;vQ$ ztAKSs)K-T6TqTe6%Ggah#)m8Ue#bI3WFr4RimU&;ed zNL<+^X2>_LP0<(X^TFE7Bw+&kEtiubL~Kas!FopZ{()ewMNMAW{_&u9WuWyp$&XyK zibusa&fek0w^iPKJOSnEoL(QsUH2o z#YVOJtkB{8VYYXAkNifZ6wn>gdMtL6`}Cn(H`FLpVWYUW#=Js1NG1uw+Ea2qcYlm> ztADfbH8gkI()57v)!RKto1{aCdam<;aAU^WJ8tA_Mc|I-YsOiE{?You{LWYRu21(M z9|^O2&^_!FP-z^XbtLK^uls3fOm`n%foRmx`a^17(YENep@jT-jAe&VNL3kZ9ZGllS%TC-gtz-k@f-7NmpX?-y+Id; zWLjdHI7pIILw~(aLW?&Z*4_;ec?erIDp&rWvL!rBQHtad>fFb6j&` za0nR^8xb3R;=Jax?7)#=1Y; zX9#+FlzYCpKHP>(?SIM-k<@>@xo)2<%h#yWkjlq}1-fAwH+P5ojZ^!E`N5Ls4=z_r zr(U&FZuzc~oxw$-H^)Dw3(ce1#cqy0bfZJ4YL2ICWoxltMN7OX*LkX~p^1)E7^29& zCks3!*1d^UqCF5#_Yr%sv*QPsk#4GuL*Z%PwsY!@;-0{{$Ch)m4U!<7C+b_O#fs3f zCiPb_tP`E-LxZx2+(hqy?v#pwJ9XLGn2zl^cIr;6Vy<5`1^4I;@m|&tuUEat)2q&L z_w)^>Uegdx*pikfSODx^W-bI(3XP$~GeS~0z)M3V-y+(g+9H^tE3%Gsmn(~5r+=Y; zVF2R6SAJ0AyAbS z{gzr+d)JM{o@PS?Ys7BY2!;(YWDv3sIsmH)W|?5)4g-L7LPJX7Cu`wi@x{Vrb2Clo z1?QROG86*kgciTKKlko%y(T^O9*3@OoNnxGoI&%T&u=sj`4`Y>XbDvDjpjLY8(INn zg+ku)AM-Dvt56Im*K6+;bQubS3cYPSh3-R9py#il7tk4~#+%e*{=G(c_Ycg9%}C=v z<~@BBMOYD(qY*(YVU|WMrDVm;>l^MI-A*CVeOx?i{_ke zjUoh1vuj=7FOao5vNtmxL`4$G2&p1-$?0L5WndOMSPtXH{n?b}(!<1FML`N)9Lcli zoziB_hBM1RFI;lflfaG1=1Rr@4bgP6>N*kR#ESTgrE%dPP{ARWDf-#Vi!iDVW-TNt`ar;~Z zf5BnXA$cune)P!LXHA<6SG*oT(8DmxKr}NLJ^Do)S8PBPxvf;XLn;_|n1P5*IdatZ zt$p*mJdnDJo8)7CbA1?-ofXWi=&TT)za9D~TS=J}*{GKqdO~7_xh~xd=ur?DQ z1&D$&C>-JT%_2h>DYS$__4KI2j2HdS26zvf7}6em&v2+caA6_)VFMev&2Di~fkP2VSvvF&eyB_w{F}l($b}}qIV@|*JB5E7SFZx@w8}`}a!3>3d;jZ+B z890T0KLuddzdy;4;bBwoKICwawV;eyKX9i~f(&FW&^Oct{Vxeq|ulrm4qof)g$3xj_l$9CA!_X^K_6v(k4>A`Sq!w|E^MZw$)lgY8*W+oj<;mKg$ zF>12JHIL8b$%yvq!(ER+jJonruVX*&NAua)5-01trWPj~^kZMHBN8j#48z7|5tcz= zX7S?{_2U&R#(L)tnmpJnRo0?083pz5cjS=s&nU)T-k7JqD)7j)bSAYOKBo^OGktaz!IiL_0x*KYNr1bJT?%=B_&CZuMfSSUtP@ zu-j_vnjgE*zWT|eF%Lj2HFU6@Akc&P?w|U}aIV9?I$%>B0Q14Q!e+VE21B_9L&o(P zV)YrVR%pIfXzs&ktFZ)r>}g+^)2{S#MstOeTdl}^t;pPmznl%BpA9Lm#-^^urnD1O zwGmXc6F9dKv@#5zmRocBT5-A$pB}_I4@XbKdiU&$lI3eY{;Vg`ryo{){50z+W*!^X z9E7L7#Xb`&V=+jp1VW)Dqi7?b@MAyw$b2@S7lf4ifErMf;>qP(Sx2PLU_oULxDDb& z5WIN5IJ!_oaPQG4k+VsC_D8;+$XmQz{5T=3)smfQM@Bb7C_oQxSjdm>$S*^PVN)jr zLw!fevoBw`KYuo;f zOJskgwn(ONg#zb6ml$oh8r$f{PA$z$-KQ6XmHR*r`(~G7XF8VbZgPExL1coLoT$R_ zwS7xL7^0V+sNs|4?<{|WYU0XSGrkxWg@>dqs^DYx<027v!HaLVcfen0sTaO|{eZna zmtTAv9`@sSj%IhaTtg&KHr7g_q_6lt#UF(eA;p&96$@shYWX*p(eH&nP}E5g{J9Ag z28e@}QixxocI$RycGbqEmBR5n#MUF`asR7-RA~f1!&OcfzMXIhu#guKN(2D^TF>nd z)Z-Q(#3n@;$S36$Xc6eBA`GzyY&%Cl=%`9rN@YzwL@}eEHn*m6#VP+5e&(SnMP@LW z{%dLEAqogP>}M!o^+PHd#2o&bK_<@b=W~(J?-d^U_oc!Q8b z$J`A=y-&9v%}>z-p$9J~%>5nnX7VP|&<~^=Y~{X0Iy6%9pJ8hs@$2+Qr||uipT09% zd{ROXmBshaR6;PrK{Fuy873=>Uq{1e5vtUOMu%nq%lC#EnxA3Xuq-1bgh^E8zDzna zVJSv3oSjv4UAMrg@ln~rtt|2Tzj1gWxigB~@2T~9RBfKvxcZUwG z4Psq(fkzVbPct;{5H2anst=wz-!EwEvdsSES(*?P6$Rxc%p*n%pa=L2&;@7%^i?%a z5GCMrMLdjarLE+3RpFP@;FcjLF4_z(8V@d7JuaFj zF4`q78X7KIFs+s$K?O&wj-DJF2EFcaa^TSYd(cyq$i8M`3sWEk~@!or|w z(%0a|V`I}KpWx18F;m+GYtxO>fUc^gxwYnM=fH*gj-Cwx63K&rqT^^&4WHNY;}KJg zt(2O4ANdFWG^UUACQuB|dsS&m-^JpSnLE-zpu{A#yGGr8J@fMO^7B${>wW8n1&zi3 z#8wFU?drKsXB+KqCT=iVdT&=ZrwM`pt=C0<>?kyXR zy(>L4J%2*-gB#auH>@_CLKl0$J!?IKJ&>O9b*IqfH$ZUGtN(NSUHa+s3CcRC(c%0_E`U8o&&HDun5@X~1)l<Hp^CgrJy+s3 zxgxMMMDq5b38yqSH*N982GXd8#fJ@kuvB;jp4$(D|Kxd%=h*N4Xz%et+*6p!<@5cs zN^q?X785&P72kOLcK!Hr^yqzEHbv7>{$(a?Se7`QqsQ~l-}j1XeVmu$$REbd1%sE? z#+f*3O?#{#=Z$gJ1NP$-^-oOduUc+W1ND0vt}ezLtM+Sp+`t6RMhig=Oo6A1&BM;@ z^VCLxcBf0tHfxB-iM7t=t)=blkA-_E^W(Rt$DM0S&y(e1&ub!AlPSIeZW)c1*HL9c zU2R))SkXc+bz2$~HH!`_q)qkbAV7i$MY?;J^Ns`sqMTC=pKqN5v8;UKC_b3pm_OcR zhT}@Ukp&lAq{$!uxyTTJ2e!&_AeJvORK*2b6*&;^78%Z#dv%u+fQ!_DBnd@^{BgHd z9S+2h;Q$_O{`gF*Zc>&kd0fBA+ikZQ4&r#@A-x$6YGSZewgd5seB&Zr*0A~vhfl2C z3|rPPq{vX5A#0d=h9i#zy#0QL<1Wsw-kd*vVXobb5)Zr`W5AUdXXmK{B+=r>V4aWO zDKexaIhK!iAU2P&yZj9^v38fu4#c5auBRjx@8?mfvu^2*2lbkc^x|(nANw3z&r{8h zREt$F7*))TAGu<+JQ;`?h#3V}=K}Q&UV(3VRRVoRHk>VK2FwO3)dbbH^Iu?k=btd8 z;}T4H(K2t~T&)fCo)2)2Xr2*WUtU@s?wIP>c#69fIL@B;1&#n04Am5k-h=ml&R_oA3smmh{<-I?eBE1O$mIy%%VO+$3a>M#Z+Q#T zDYY5}hV5>9hke3A8NKnyEK1tG+@fADys2~%ko;7u^F;cac{kv|v~=5fF4w;ydW&uE z;uDVlw`gV+i4((`BmIikZ1Iy{WoHcD)NV$lPI{L~`+j~On|W1sGlf45tKR;w@o&@E zozfQ6snF6R3U$hhw%@-E1HKqq>rYUY<}nq|nhJe-rIjNbk|y-aL*JoA-=;&yr$v8~ z=10Bd$FKe(UzML26J@Zgk;E(^dE+;=Ba}2E-gD*mXNM-qUR?6hZ*T`C3FYfv1Ndu|3#pAu&t%Xh`R0v%8_$nfLb@T$CAHoS993w^KwO+F3pwz|qQ-ls{hJ zr6T<{9Wp*G@{=?$;Ogo_Ji>W{!^MYq`11w>m_a;m@Voe+0(agZxoNuRZ*&Q3VEjh{ zb*zB!h%ma!{#vI^f0fH<2yt7cURRu>CHB-RdXd#9R_{N_^9kNmeEN`Cy*VXe^bq^D zF05ChDJ7obcft|*YzLC_*!y9WZQ0A@2e}|N^;pO@pQl0)9jwDfZ0&G#=J*xv8Bz4G zNWHmV6J)!5v81VS+tjnRO+SaA?A^fY_77opYNGr2#%=!@`j(i+kI^V{Rf|lMv4{v; z@Sf@}MEgS#+du~*oH(y-iF(~tE_JlX>TT`IA}7l#VFvYBuWdR{g&ZQB*v29?SW`*- zq!`)l9BDs;9Gyedq!`Gyh^M+Z$0RD1c#uvI+d2X9@7`Jt$zYyc4BhANU#UJsKBs

    $mcQ(9 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

    s%9)A735?cxE1gdovI_nCNbxnGs+6DNy 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"~K$1WxVN=A6}@8DlEg&QbR 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

    S~j$kX5XJLOoEq{j1bybvCVbz4G7oTV? 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

    EN7jd&YuXtkpf}p^0xMfh`INaRw zwF(g}tJ9{8IJdXZ{h}B#_yguR+^TZ-vVFyztsb~#l-%HlO)X=dg;kt}=BNtKLR|Pd z1Nb_M$9?6|Q5^UC_z@CBlX}TjPVE`^3XdZU#;As5_@23Eq02TRNhf5iIvtE zz82@wgb2Eddo;IqpWOa5g_fiNJmLS$MK>y z;A6FJ%LKbN?!C0w=zh(_>i+P)tBc({Pr6r^c@E6KP!hiP*$lUURTnO`W$j;`{fBiY zWkG?@xjzrQl=pTHRNfcL|2#N#ZkVT-VAc|RuW3HwKs1N+I-nD?@xnDWlzX5CU3~=c zpvBDgZ*>#YM)YK$<`iCxrH%`aos_%c{GY+atFL3xPFtQ-U2AJ1Y%Hn`j(YWE-8l>{ z?tVIxTsD7O*uK!n`2(wNL?ld50EH0~|k5cY^GKjP$F91MRut@m|GzPR=wZXvb9_czhp7mi&q zxkX_6lochv+=DikLQyYn?a_OLnA#ioyILDyBA;l*MbCs@A8b}#Ydg^lF3i)~w;oxR zhCht8Q(ZcH0*S!K-e~RHh1!8d=4XP?-%C*F$5yoV&0T$=h?X%Ivr$zg<|>(f_Z?l8 zttTfsAB6O~FU{+>oJDE>=R&r9k$zLg)aG8|Ea=*X-?0UTRy6tX3w15Oh!_Q@Aphr* za7u9N)m?$DCDvTS?n~vJ$OV64*IH@GN#MvyL~L)#YPXh+iqGb3Lhw~A~bG3KRF8zjT{PS(ti9OHHO&>+4C^z_s<>+u)u}u29YHI#Mi0BPmsl|-C`#sM2U5;Iz|FnePwvwA znW&O0eBv=DkDbCER5cH@`Q2_Icg0RDEKA4d{U!<&_m$wMpt6s-an{eO?xu}hre*xr z!8l<}@H*Y9dL`6vstuY_tZfOA&>yr_v^t3*FyTc+HT^-8_V_7m@>JSR?;>0!0`2fII$xc^>-n>>@^BO;`LHT#yJ2z!4T$MwIjb(eQ-q`t;;XT1rel+Eetoz*la zTC4SuZ~JL_Jazf;Q<_^g4;6RNGbyix%}p;e!48B^JjLpDu7$^Ag0PG$V^0hh1s6?Kw@iM`@TASH zX)~`KKzjYHDfv5ufgUbu8Kqg

    %pUkXjunB5<$4EBbR%A2^jpUt)sA@0h069?@4> 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 iC8a^jc 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

    PRKJPAl=JWn}yXydri#n*fgYvfX zz?JiM^8rtczaH?4i(06v6djJWunBMpOlipX$llwLuKmyCC>^zgSS5RFmx}RKYWWZ2KukT>M z@D%;Nlz#4}pD!_BxcKkx($0VPukQjX*K$2n-Am>A{O^$K6JB!7^^$9LAXKFdK;I9z zaM81UF|K=m2d>+_a832bg`g@J!0;o0;kyCodo0x>%p`goa{vi*eCRvLrSA-K-_-|@ z5X87+>IJ@ngMv}>z~Q^dZlWgTOOeD%b#)o zd@kv)7sfd2e@22betnB-{F?JKwx#nN+uE)nV_VyQc8_hTW$>O48SMP|%4P6ZFBu44 zGI-5P25bGu;3Y2^tfn$}J4g)awl7;tL;isr9p8DCnR=DH;q3zG(qPot< zar`;=vdj#NF$@miG9ZnDW@#F?NwD0JB(90=I4Pz{1ohpYC??jJG@?;PX%djccH&Lu z6KDg(G;*&otvW<8CV;qrYrr*4`*F~;y)a1{0dbDX+~4cmbBCFM!I)3p-@jmH&hnh+ zJo|ahb4~+3i9jC)e%juw(#o6wy0wk>)9p*Gh@Y?i_JR6$Q9#?=pZVL4Zbkeb)Zgst z-^W7G;w+VJry!~u#*c#^O5-1^ zxcK;j|8DiwI>5Uw+`8^nQwlu~hzdbNTSMTl_QL-={{GMpf2IBK_u2(o|HOyCqCotq zHB$)w*7d_*fr`HuhePoBWYQq#hKa$rTcYA_$slyJFa#c6`Vn||tREg`_QS&?{qSHO z1P>4O!^3114-?~p@sNAxAZKbrgYj^eiif)f!Gkdb9wz<>JVf=wLu5ZZu>J5LpAU@( zd_EWtSI-B_6dxXvb)oUV^^+@?S&E0t=Y#Rk#85o^^SmO5Cy};fF0y_;#QI|beS0); z{m0JJ^`GsPC;m484~NbNK{olg=UjmGg)v-|@2S zyt<0o(8~M&DorUdCj{2Y%{iXBL24ejR&cm`72xO3)4CSP=MXO!p_Wi@&imfQZ;J%% zVv*QR`a}V4O9iE-)zvS(j$}mZk{!I{b@Z=)AQvHfJ)3hb_gR|bxC?;K0nlG%LCn;^ z$|^)<`Tv|pJcQXSPoGz7(X(;l$@7Rea{koHG?9TCJ%GMP{p|n?)@!L??$i#3S%kUb~99b?{gH5Cai1vkUQHa1SY#KwyS=MjH#*~BRifX(8=)6sI- z5eGI)$}2DX^QkVZRq~e}JdgM!0DaRmuqP;UB#8R+h`+{ysA0{!div%tsB;VxbI&7Q zUN$Lc4l?&2{^3>TSvWCZo^y1b3?*jW>x<$X9bBOOeN9ZeFEIy0)>HEA6xe>K=&kYxP*G34vMacdymJz>V zkqBSG3KxrZXusQLY0rXMSq4EK0=TUR?3Yu)&VbFb@1pGJ8qVR}2x?q$9G2rKA2pmq zeDB&vh3>hJ2y!E(HM0MooI`vU;U}-`e1Y(-w_d5MnfGqJNh8aX2!H1e`>+e zv5nP>(Ev*Qkg9Li&R6nVzaV=MC)SYVXJTW2O{+#4gnO6DIH#^JOuR2qL}-D$E%tIr|6iHUP-K~t)M_|ke7tR1XYJhpj( zXZ9PTJjWt9JUbllF&&3zYXM(e55h$q;EPP0Qp0e|y_~RV3<$+Kz=dkvn-@aVD&qRd z(YXwjqjS$uIa;EQaayU_6DRhrohEe8H48o2jn$8yL;Aqa1Sg{z;5|9}g`R9AbkAjk z-nFdI+er5$?tM-uWVG%B0M^3wAQb8V=Pd$zaRlJUi2mt9y9i$1VmQ2vi4Usj_^WkM z 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 LR)`7I5>@b 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%0A64K|eWg3#}pd+@kABp16f70rIU* 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 literal 581121 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/ALmDp1M}ZLoZ)5)DC;>+QfF)gVze&b{!RR*R$7P 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

    O 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 UB>w(?00030|FW`-*jRQQ0B#ZGMgRZ+ literal 630278 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�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 z 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